@atlaskit/smart-card 26.59.1 → 26.61.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 (164) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/dist/cjs/extractors/common/icon/extractIcon.js +19 -1
  3. package/dist/cjs/extractors/common/icon/index.js +7 -0
  4. package/dist/cjs/extractors/embed/index.js +26 -1
  5. package/dist/cjs/extractors/flexible/actions/extract-ai-summary-action.js +2 -2
  6. package/dist/cjs/extractors/flexible/icon/extract-jsonld-data-icon.js +33 -4
  7. package/dist/cjs/state/hooks/use-ai-summary/ai-summary-service/index.js +2 -1
  8. package/dist/cjs/utils/{get-is-ai-summary-enabled.js → ai-summary.js} +21 -1
  9. package/dist/cjs/utils/analytics/analytics.js +1 -1
  10. package/dist/cjs/view/BlockCard/views/flexible/utils/index.js +8 -0
  11. package/dist/cjs/view/CardWithUrl/component-lazy/LazyIntersectionObserverCard.js +4 -51
  12. package/dist/cjs/view/EmbedCard/components/ExpandedFrame.js +2 -0
  13. package/dist/cjs/view/EmbedCard/components/styled.js +5 -1
  14. package/dist/cjs/view/FlexibleCard/components/actions/action/action-icon/index.js +0 -3
  15. package/dist/cjs/view/FlexibleCard/components/actions/ai-summary-action/ai-summary-action-component.js +22 -14
  16. package/dist/cjs/view/FlexibleCard/components/actions/ai-summary-action/utils.js +32 -0
  17. package/dist/cjs/view/FlexibleCard/components/actions/follow-action/goal-icon/index.js +1 -1
  18. package/dist/cjs/view/FlexibleCard/components/actions/follow-action/projects-icon/index.js +1 -1
  19. package/dist/cjs/view/FlexibleCard/components/blocks/action-block/action-footer/index.js +67 -0
  20. package/dist/cjs/view/FlexibleCard/components/blocks/action-block/index.js +23 -3
  21. package/dist/cjs/view/FlexibleCard/components/blocks/ai-summary-block/ai-state-indicator/ai-state-done.js +1 -1
  22. package/dist/cjs/view/FlexibleCard/components/blocks/ai-summary-block/ai-state-indicator/ai-state-error.js +5 -24
  23. package/dist/cjs/view/FlexibleCard/components/blocks/ai-summary-block/resolved/index.js +4 -4
  24. package/dist/cjs/view/FlexibleCard/components/{blocks/ai-summary-block/ai-event-error-viewed/index.js → common/ai-summary/ai-event-error-viewed.js} +1 -1
  25. package/dist/cjs/view/FlexibleCard/components/{blocks/ai-summary-block/ai-state-indicator → common/ai-summary}/ai-learn-more-anchor.js +1 -1
  26. package/dist/cjs/view/FlexibleCard/components/{blocks/ai-summary-block/ai-motion-wrapper → common/motion-wrapper}/index.js +3 -3
  27. package/dist/cjs/view/FlexibleCard/components/common/motion-wrapper/types.js +5 -0
  28. package/dist/cjs/view/HoverCard/components/HoverCardContent.js +2 -2
  29. package/dist/cjs/view/HoverCard/components/views/resolved/index.js +1 -7
  30. package/dist/cjs/view/HoverCard/utils.js +1 -1
  31. package/dist/cjs/view/LinkUrl/index.js +1 -1
  32. package/dist/cjs/view/common/ai-icon/index.js +23 -20
  33. package/dist/cjs/view/common/ai-summary/index.js +1 -0
  34. package/dist/es2019/extractors/common/icon/extractIcon.js +21 -1
  35. package/dist/es2019/extractors/common/icon/index.js +1 -0
  36. package/dist/es2019/extractors/embed/index.js +28 -2
  37. package/dist/es2019/extractors/flexible/actions/extract-ai-summary-action.js +1 -1
  38. package/dist/es2019/extractors/flexible/icon/extract-jsonld-data-icon.js +34 -3
  39. package/dist/es2019/state/hooks/use-ai-summary/ai-summary-service/index.js +1 -0
  40. package/dist/es2019/utils/ai-summary.js +25 -0
  41. package/dist/es2019/utils/analytics/analytics.js +1 -1
  42. package/dist/es2019/view/BlockCard/views/flexible/utils/index.js +8 -0
  43. package/dist/es2019/view/CardWithUrl/component-lazy/LazyIntersectionObserverCard.js +2 -44
  44. package/dist/es2019/view/EmbedCard/components/ExpandedFrame.js +2 -0
  45. package/dist/es2019/view/EmbedCard/components/styled.js +8 -2
  46. package/dist/es2019/view/FlexibleCard/components/actions/action/action-icon/index.js +0 -3
  47. package/dist/es2019/view/FlexibleCard/components/actions/ai-summary-action/ai-summary-action-component.js +21 -13
  48. package/dist/es2019/view/FlexibleCard/components/actions/ai-summary-action/utils.js +24 -0
  49. package/dist/es2019/view/FlexibleCard/components/actions/follow-action/goal-icon/index.js +1 -1
  50. package/dist/es2019/view/FlexibleCard/components/actions/follow-action/projects-icon/index.js +1 -1
  51. package/dist/es2019/view/FlexibleCard/components/blocks/action-block/action-footer/index.js +61 -0
  52. package/dist/es2019/view/FlexibleCard/components/blocks/action-block/index.js +19 -4
  53. package/dist/es2019/view/FlexibleCard/components/blocks/ai-summary-block/ai-state-indicator/ai-state-done.js +1 -1
  54. package/dist/es2019/view/FlexibleCard/components/blocks/ai-summary-block/ai-state-indicator/ai-state-error.js +3 -22
  55. package/dist/es2019/view/FlexibleCard/components/blocks/ai-summary-block/resolved/index.js +4 -4
  56. package/dist/es2019/view/FlexibleCard/components/{blocks/ai-summary-block/ai-event-error-viewed/index.js → common/ai-summary/ai-event-error-viewed.js} +1 -1
  57. package/dist/es2019/view/FlexibleCard/components/{blocks/ai-summary-block/ai-state-indicator → common/ai-summary}/ai-learn-more-anchor.js +1 -1
  58. package/dist/es2019/view/FlexibleCard/components/{blocks/ai-summary-block/ai-motion-wrapper → common/motion-wrapper}/index.js +2 -2
  59. package/dist/es2019/view/HoverCard/components/HoverCardContent.js +1 -1
  60. package/dist/es2019/view/HoverCard/components/views/resolved/index.js +1 -7
  61. package/dist/es2019/view/HoverCard/utils.js +1 -1
  62. package/dist/es2019/view/LinkUrl/index.js +1 -1
  63. package/dist/es2019/view/common/ai-icon/index.js +104 -99
  64. package/dist/es2019/view/common/ai-summary/index.js +1 -0
  65. package/dist/esm/extractors/common/icon/extractIcon.js +19 -1
  66. package/dist/esm/extractors/common/icon/index.js +1 -0
  67. package/dist/esm/extractors/embed/index.js +27 -2
  68. package/dist/esm/extractors/flexible/actions/extract-ai-summary-action.js +1 -1
  69. package/dist/esm/extractors/flexible/icon/extract-jsonld-data-icon.js +33 -3
  70. package/dist/esm/state/hooks/use-ai-summary/ai-summary-service/index.js +2 -1
  71. package/dist/esm/utils/{get-is-ai-summary-enabled.js → ai-summary.js} +20 -0
  72. package/dist/esm/utils/analytics/analytics.js +1 -1
  73. package/dist/esm/view/BlockCard/views/flexible/utils/index.js +8 -0
  74. package/dist/esm/view/CardWithUrl/component-lazy/LazyIntersectionObserverCard.js +3 -50
  75. package/dist/esm/view/EmbedCard/components/ExpandedFrame.js +2 -0
  76. package/dist/esm/view/EmbedCard/components/styled.js +5 -1
  77. package/dist/esm/view/FlexibleCard/components/actions/action/action-icon/index.js +0 -3
  78. package/dist/esm/view/FlexibleCard/components/actions/ai-summary-action/ai-summary-action-component.js +22 -14
  79. package/dist/esm/view/FlexibleCard/components/actions/ai-summary-action/utils.js +25 -0
  80. package/dist/esm/view/FlexibleCard/components/actions/follow-action/goal-icon/index.js +1 -1
  81. package/dist/esm/view/FlexibleCard/components/actions/follow-action/projects-icon/index.js +1 -1
  82. package/dist/esm/view/FlexibleCard/components/blocks/action-block/action-footer/index.js +60 -0
  83. package/dist/esm/view/FlexibleCard/components/blocks/action-block/action-footer/types.js +1 -0
  84. package/dist/esm/view/FlexibleCard/components/blocks/action-block/index.js +23 -4
  85. package/dist/esm/view/FlexibleCard/components/blocks/ai-summary-block/ai-state-indicator/ai-state-done.js +1 -1
  86. package/dist/esm/view/FlexibleCard/components/blocks/ai-summary-block/ai-state-indicator/ai-state-error.js +5 -24
  87. package/dist/esm/view/FlexibleCard/components/blocks/ai-summary-block/resolved/index.js +4 -4
  88. package/dist/esm/view/FlexibleCard/components/{blocks/ai-summary-block/ai-event-error-viewed/index.js → common/ai-summary/ai-event-error-viewed.js} +1 -1
  89. package/dist/esm/view/FlexibleCard/components/{blocks/ai-summary-block/ai-state-indicator → common/ai-summary}/ai-learn-more-anchor.js +1 -1
  90. package/dist/esm/view/FlexibleCard/components/{blocks/ai-summary-block/ai-motion-wrapper → common/motion-wrapper}/index.js +2 -2
  91. package/dist/esm/view/FlexibleCard/components/common/motion-wrapper/types.js +1 -0
  92. package/dist/esm/view/HoverCard/components/HoverCardContent.js +1 -1
  93. package/dist/esm/view/HoverCard/components/views/resolved/index.js +1 -7
  94. package/dist/esm/view/HoverCard/utils.js +1 -1
  95. package/dist/esm/view/LinkUrl/index.js +1 -1
  96. package/dist/esm/view/common/ai-icon/index.js +23 -20
  97. package/dist/esm/view/common/ai-summary/index.js +1 -0
  98. package/dist/types/extractors/common/icon/index.d.ts +1 -0
  99. package/dist/types/extractors/embed/index.d.ts +3 -3
  100. package/dist/types/extractors/flexible/actions/extract-ai-summary-action.d.ts +3 -3
  101. package/dist/types/state/hooks/use-ai-summary/ai-summary-service/index.d.ts +1 -1
  102. package/dist/types/state/hooks/use-ai-summary/ai-summary-service/types.d.ts +1 -1
  103. package/dist/types/state/hooks/use-ai-summary/index.d.ts +1 -1
  104. package/dist/types/utils/ai-summary.d.ts +8 -0
  105. package/dist/types/view/BlockCard/views/flexible/utils/index.d.ts +2 -2
  106. package/dist/types/view/CardWithUrl/component-lazy/LazyIntersectionObserverCard.d.ts +1 -4
  107. package/dist/types/view/EmbedCard/components/ExpandedFrame.d.ts +2 -2
  108. package/dist/types/view/EmbedCard/components/styled.d.ts +1 -0
  109. package/dist/types/view/EmbedCard/views/ResolvedView.d.ts +1 -1
  110. package/dist/types/view/FlexibleCard/components/actions/action/action-icon/index.d.ts +1 -1
  111. package/dist/types/view/FlexibleCard/components/actions/action/types.d.ts +11 -1
  112. package/dist/types/view/FlexibleCard/components/actions/ai-summary-action/ai-summary-action-component.d.ts +3 -3
  113. package/dist/types/view/FlexibleCard/components/actions/ai-summary-action/utils.d.ts +3 -0
  114. package/dist/types/view/FlexibleCard/components/actions/follow-action/goal-icon/index.d.ts +1 -1
  115. package/dist/types/view/FlexibleCard/components/actions/follow-action/projects-icon/index.d.ts +1 -1
  116. package/dist/types/view/FlexibleCard/components/blocks/action-block/action-footer/index.d.ts +3 -0
  117. package/dist/types/view/FlexibleCard/components/blocks/action-block/action-footer/types.d.ts +8 -0
  118. package/dist/types/view/FlexibleCard/components/blocks/action-block/index.d.ts +1 -1
  119. package/dist/types/view/FlexibleCard/components/blocks/ai-summary-block/ai-state-indicator/ai-state-error.d.ts +1 -1
  120. package/dist/types/view/FlexibleCard/components/common/motion-wrapper/index.d.ts +4 -0
  121. package/dist/types/view/FlexibleCard/components/{blocks/ai-summary-block/ai-motion-wrapper → common/motion-wrapper}/types.d.ts +1 -1
  122. package/dist/types/view/HoverCard/components/HoverCardContent.d.ts +2 -2
  123. package/dist/types/view/HoverCard/components/views/resolved/index.d.ts +3 -3
  124. package/dist/types/view/common/ai-summary/index.d.ts +1 -1
  125. package/dist/types-ts4.5/extractors/common/icon/index.d.ts +1 -0
  126. package/dist/types-ts4.5/extractors/embed/index.d.ts +3 -3
  127. package/dist/types-ts4.5/extractors/flexible/actions/extract-ai-summary-action.d.ts +3 -3
  128. package/dist/types-ts4.5/state/hooks/use-ai-summary/ai-summary-service/index.d.ts +1 -1
  129. package/dist/types-ts4.5/state/hooks/use-ai-summary/ai-summary-service/types.d.ts +1 -1
  130. package/dist/types-ts4.5/state/hooks/use-ai-summary/index.d.ts +1 -1
  131. package/dist/types-ts4.5/utils/ai-summary.d.ts +8 -0
  132. package/dist/types-ts4.5/view/BlockCard/views/flexible/utils/index.d.ts +2 -2
  133. package/dist/types-ts4.5/view/CardWithUrl/component-lazy/LazyIntersectionObserverCard.d.ts +1 -4
  134. package/dist/types-ts4.5/view/EmbedCard/components/ExpandedFrame.d.ts +2 -2
  135. package/dist/types-ts4.5/view/EmbedCard/components/styled.d.ts +1 -0
  136. package/dist/types-ts4.5/view/EmbedCard/views/ResolvedView.d.ts +1 -1
  137. package/dist/types-ts4.5/view/FlexibleCard/components/actions/action/action-icon/index.d.ts +1 -1
  138. package/dist/types-ts4.5/view/FlexibleCard/components/actions/action/types.d.ts +11 -1
  139. package/dist/types-ts4.5/view/FlexibleCard/components/actions/ai-summary-action/ai-summary-action-component.d.ts +3 -3
  140. package/dist/types-ts4.5/view/FlexibleCard/components/actions/ai-summary-action/utils.d.ts +3 -0
  141. package/dist/types-ts4.5/view/FlexibleCard/components/actions/follow-action/goal-icon/index.d.ts +1 -1
  142. package/dist/types-ts4.5/view/FlexibleCard/components/actions/follow-action/projects-icon/index.d.ts +1 -1
  143. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/action-block/action-footer/index.d.ts +3 -0
  144. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/action-block/action-footer/types.d.ts +8 -0
  145. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/action-block/index.d.ts +1 -1
  146. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/ai-summary-block/ai-state-indicator/ai-state-error.d.ts +1 -1
  147. package/dist/types-ts4.5/view/FlexibleCard/components/common/motion-wrapper/index.d.ts +4 -0
  148. package/dist/types-ts4.5/view/FlexibleCard/components/{blocks/ai-summary-block/ai-motion-wrapper → common/motion-wrapper}/types.d.ts +1 -1
  149. package/dist/types-ts4.5/view/HoverCard/components/HoverCardContent.d.ts +2 -2
  150. package/dist/types-ts4.5/view/HoverCard/components/views/resolved/index.d.ts +3 -3
  151. package/dist/types-ts4.5/view/common/ai-summary/index.d.ts +1 -1
  152. package/package.json +9 -9
  153. package/dist/es2019/utils/get-is-ai-summary-enabled.js +0 -5
  154. package/dist/types/utils/get-is-ai-summary-enabled.d.ts +0 -2
  155. package/dist/types/view/FlexibleCard/components/blocks/ai-summary-block/ai-motion-wrapper/index.d.ts +0 -4
  156. package/dist/types-ts4.5/utils/get-is-ai-summary-enabled.d.ts +0 -2
  157. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/ai-summary-block/ai-motion-wrapper/index.d.ts +0 -4
  158. /package/dist/cjs/view/FlexibleCard/components/blocks/{ai-summary-block/ai-motion-wrapper → action-block/action-footer}/types.js +0 -0
  159. /package/dist/es2019/view/FlexibleCard/components/blocks/{ai-summary-block/ai-motion-wrapper → action-block/action-footer}/types.js +0 -0
  160. /package/dist/{esm/view/FlexibleCard/components/blocks/ai-summary-block/ai-motion-wrapper → es2019/view/FlexibleCard/components/common/motion-wrapper}/types.js +0 -0
  161. /package/dist/types/view/FlexibleCard/components/{blocks/ai-summary-block/ai-event-error-viewed/index.d.ts → common/ai-summary/ai-event-error-viewed.d.ts} +0 -0
  162. /package/dist/types/view/FlexibleCard/components/{blocks/ai-summary-block/ai-state-indicator → common/ai-summary}/ai-learn-more-anchor.d.ts +0 -0
  163. /package/dist/types-ts4.5/view/FlexibleCard/components/{blocks/ai-summary-block/ai-event-error-viewed/index.d.ts → common/ai-summary/ai-event-error-viewed.d.ts} +0 -0
  164. /package/dist/types-ts4.5/view/FlexibleCard/components/{blocks/ai-summary-block/ai-state-indicator → common/ai-summary}/ai-learn-more-anchor.d.ts +0 -0
@@ -1,108 +1,113 @@
1
1
  import React from 'react';
2
2
  import SVG from '@atlaskit/icon/svg';
3
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
3
4
  import { B200, B400 } from '@atlaskit/theme/colors';
4
5
  /**
5
6
  * The bulk of this file is originally from
6
7
  * https://bitbucket.org/atlassian/barrel/src/master/ui/platform/ui-kit/ai
7
8
  * with modifications
8
9
  */
9
- const AiIcon = props => /*#__PURE__*/React.createElement(SVG, props, /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("linearGradient", {
10
- id: "ai_icon_lg0",
11
- x1: "21",
12
- y1: "12",
13
- x2: "17.5",
14
- y2: "12",
15
- gradientUnits: "userSpaceOnUse"
16
- }, /*#__PURE__*/React.createElement("stop", {
17
- offset: "0.270833",
18
- stopColor: `var(--ds-icon-accent-blue, ${B200})`,
19
- color: `var(--ds-icon-accent-blue, ${B200})`
20
- }), /*#__PURE__*/React.createElement("stop", {
21
- offset: "1",
22
- stopColor: `var(--ds-text-accent-blue, ${B400})`,
23
- color: `var(--ds-text-accent-blue, ${B400})`
24
- })), /*#__PURE__*/React.createElement("linearGradient", {
25
- id: "ai_icon_lg1",
26
- x1: "12.5",
27
- y1: "3",
28
- x2: "12.5",
29
- y2: "6.5",
30
- gradientUnits: "userSpaceOnUse"
31
- }, /*#__PURE__*/React.createElement("stop", {
32
- offset: "0.1875",
33
- stopColor: `var(--ds-icon-accent-blue, ${B200})`,
34
- color: `var(--ds-icon-accent-blue, ${B200})`
35
- }), /*#__PURE__*/React.createElement("stop", {
36
- offset: "1",
37
- stopColor: `var(--ds-text-accent-blue, ${B400})`,
38
- color: `var(--ds-text-accent-blue, ${B400})`
39
- })), /*#__PURE__*/React.createElement("linearGradient", {
40
- id: "ai_icon_lg2",
41
- x1: "6.82996",
42
- y1: "12",
43
- x2: "3.32996",
44
- y2: "12",
45
- gradientUnits: "userSpaceOnUse"
46
- }, /*#__PURE__*/React.createElement("stop", {
47
- stopColor: `var(--ds-text-accent-blue, ${B400})`,
48
- color: `var(--ds-text-accent-blue, ${B400})`
49
- }), /*#__PURE__*/React.createElement("stop", {
50
- offset: "0.791667",
51
- stopColor: `var(--ds-icon-accent-blue, ${B200})`,
52
- color: `var(--ds-icon-accent-blue, ${B200})`
53
- })), /*#__PURE__*/React.createElement("linearGradient", {
54
- id: "ai_icon_lg3",
55
- x1: "12.5",
56
- y1: "17",
57
- x2: "12.5",
58
- y2: "21",
59
- gradientUnits: "userSpaceOnUse"
60
- }, /*#__PURE__*/React.createElement("stop", {
61
- stopColor: `var(--ds-text-accent-blue, ${B400})`,
62
- color: `var(--ds-text-accent-blue, ${B400})`
63
- }), /*#__PURE__*/React.createElement("stop", {
64
- offset: "0.802083",
65
- stopColor: `var(--ds-icon-accent-blue, ${B200})`,
66
- color: `var(--ds-icon-accent-blue, ${B200})`
67
- }))), /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("path", {
68
- fillRule: "evenodd",
69
- clipRule: "evenodd",
70
- d: "M17.17 12C17.17 11.4477 17.6177 11 18.17 11H20C20.5523 11 21 11.4477 21 12C21 12.5523 20.5523 13 20 13H18.17C17.6177 13 17.17 12.5523 17.17 12Z",
71
- fill: "url(#ai_icon_lg0)"
72
- }), /*#__PURE__*/React.createElement("path", {
73
- fillRule: "evenodd",
74
- clipRule: "evenodd",
75
- d: "M12 3C12.5523 3 13 3.44772 13 4V5.83C13 6.38228 12.5523 6.83 12 6.83C11.4477 6.83 11 6.38228 11 5.83V4C11 3.44772 11.4477 3 12 3Z",
76
- fill: "url(#ai_icon_lg1)"
77
- }), /*#__PURE__*/React.createElement("path", {
78
- fillRule: "evenodd",
79
- clipRule: "evenodd",
80
- d: "M3 12C3 11.4477 3.44772 11 4 11H5.83C6.38228 11 6.83 11.4477 6.83 12C6.83 12.5523 6.38228 13 5.83 13H4C3.44772 13 3 12.5523 3 12Z",
81
- fill: "url(#ai_icon_lg2)"
82
- }), /*#__PURE__*/React.createElement("path", {
83
- fillRule: "evenodd",
84
- clipRule: "evenodd",
85
- d: "M12 17.17C12.5523 17.17 13 17.6177 13 18.17V20C13 20.5523 12.5523 21 12 21C11.4477 21 11 20.5523 11 20V18.17C11 17.6177 11.4477 17.17 12 17.17Z",
86
- fill: "url(#ai_icon_lg3)"
87
- }), /*#__PURE__*/React.createElement("path", {
88
- fillRule: "evenodd",
89
- clipRule: "evenodd",
90
- d: "M14.2929 14.2929C14.6835 13.9024 15.3166 13.9024 15.7071 14.2929L19.7071 18.2929C20.0977 18.6834 20.0977 19.3166 19.7071 19.7071C19.3166 20.0976 18.6835 20.0976 18.2929 19.7071L14.2929 15.7071C13.9024 15.3166 13.9024 14.6834 14.2929 14.2929Z",
91
- fill: `var(--ds-icon-accent-blue, ${B200})`
92
- }), /*#__PURE__*/React.createElement("path", {
93
- fillRule: "evenodd",
94
- clipRule: "evenodd",
95
- d: "M19.7071 4.29289C20.0977 4.68342 20.0977 5.31658 19.7071 5.70711L15.7071 9.70711C15.3166 10.0976 14.6835 10.0976 14.2929 9.70711C13.9024 9.31658 13.9024 8.68342 14.2929 8.29289L18.2929 4.29289C18.6835 3.90237 19.3166 3.90237 19.7071 4.29289Z",
96
- fill: `var(--ds-icon-accent-blue, ${B200})`
97
- }), /*#__PURE__*/React.createElement("path", {
98
- fillRule: "evenodd",
99
- clipRule: "evenodd",
100
- d: "M4.29289 4.29289C4.68342 3.90237 5.31658 3.90237 5.70711 4.29289L9.70711 8.29289C10.0976 8.68342 10.0976 9.31658 9.70711 9.70711C9.31658 10.0976 8.68342 10.0976 8.29289 9.70711L4.29289 5.70711C3.90237 5.31658 3.90237 4.68342 4.29289 4.29289Z",
101
- fill: `var(--ds-icon-accent-blue, ${B200})`
102
- }), /*#__PURE__*/React.createElement("path", {
103
- fillRule: "evenodd",
104
- clipRule: "evenodd",
105
- d: "M9.70711 14.2929C10.0976 14.6834 10.0976 15.3166 9.70711 15.7071L5.70711 19.7071C5.31658 20.0976 4.68342 20.0976 4.29289 19.7071C3.90237 19.3166 3.90237 18.6834 4.29289 18.2929L8.29289 14.2929C8.68342 13.9024 9.31658 13.9024 9.70711 14.2929Z",
106
- fill: `var(--ds-icon-accent-blue, ${B200})`
107
- })));
10
+ const AiIcon = props => {
11
+ const iconColor = getBooleanFF('platform.linking-platform.smart-card.hover-card-action-redesign') ? "var(--ds-icon, #44546F)" : `var(--ds-icon-accent-blue, ${B200})`;
12
+ const textColor = getBooleanFF('platform.linking-platform.smart-card.hover-card-action-redesign') ? "var(--ds-icon, #44546F)" : `var(--ds-text-accent-blue, ${B400})`;
13
+ return /*#__PURE__*/React.createElement(SVG, props, /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("linearGradient", {
14
+ id: "ai_icon_lg0",
15
+ x1: "21",
16
+ y1: "12",
17
+ x2: "17.5",
18
+ y2: "12",
19
+ gradientUnits: "userSpaceOnUse"
20
+ }, /*#__PURE__*/React.createElement("stop", {
21
+ offset: "0.270833",
22
+ stopColor: iconColor,
23
+ color: iconColor
24
+ }), /*#__PURE__*/React.createElement("stop", {
25
+ offset: "1",
26
+ stopColor: textColor,
27
+ color: textColor
28
+ })), /*#__PURE__*/React.createElement("linearGradient", {
29
+ id: "ai_icon_lg1",
30
+ x1: "12.5",
31
+ y1: "3",
32
+ x2: "12.5",
33
+ y2: "6.5",
34
+ gradientUnits: "userSpaceOnUse"
35
+ }, /*#__PURE__*/React.createElement("stop", {
36
+ offset: "0.1875",
37
+ stopColor: iconColor,
38
+ color: iconColor
39
+ }), /*#__PURE__*/React.createElement("stop", {
40
+ offset: "1",
41
+ stopColor: textColor,
42
+ color: textColor
43
+ })), /*#__PURE__*/React.createElement("linearGradient", {
44
+ id: "ai_icon_lg2",
45
+ x1: "6.82996",
46
+ y1: "12",
47
+ x2: "3.32996",
48
+ y2: "12",
49
+ gradientUnits: "userSpaceOnUse"
50
+ }, /*#__PURE__*/React.createElement("stop", {
51
+ stopColor: textColor,
52
+ color: textColor
53
+ }), /*#__PURE__*/React.createElement("stop", {
54
+ offset: "0.791667",
55
+ stopColor: iconColor,
56
+ color: iconColor
57
+ })), /*#__PURE__*/React.createElement("linearGradient", {
58
+ id: "ai_icon_lg3",
59
+ x1: "12.5",
60
+ y1: "17",
61
+ x2: "12.5",
62
+ y2: "21",
63
+ gradientUnits: "userSpaceOnUse"
64
+ }, /*#__PURE__*/React.createElement("stop", {
65
+ stopColor: textColor,
66
+ color: textColor
67
+ }), /*#__PURE__*/React.createElement("stop", {
68
+ offset: "0.802083",
69
+ stopColor: iconColor,
70
+ color: iconColor
71
+ }))), /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("path", {
72
+ fillRule: "evenodd",
73
+ clipRule: "evenodd",
74
+ d: "M17.17 12C17.17 11.4477 17.6177 11 18.17 11H20C20.5523 11 21 11.4477 21 12C21 12.5523 20.5523 13 20 13H18.17C17.6177 13 17.17 12.5523 17.17 12Z",
75
+ fill: "url(#ai_icon_lg0)"
76
+ }), /*#__PURE__*/React.createElement("path", {
77
+ fillRule: "evenodd",
78
+ clipRule: "evenodd",
79
+ d: "M12 3C12.5523 3 13 3.44772 13 4V5.83C13 6.38228 12.5523 6.83 12 6.83C11.4477 6.83 11 6.38228 11 5.83V4C11 3.44772 11.4477 3 12 3Z",
80
+ fill: "url(#ai_icon_lg1)"
81
+ }), /*#__PURE__*/React.createElement("path", {
82
+ fillRule: "evenodd",
83
+ clipRule: "evenodd",
84
+ d: "M3 12C3 11.4477 3.44772 11 4 11H5.83C6.38228 11 6.83 11.4477 6.83 12C6.83 12.5523 6.38228 13 5.83 13H4C3.44772 13 3 12.5523 3 12Z",
85
+ fill: "url(#ai_icon_lg2)"
86
+ }), /*#__PURE__*/React.createElement("path", {
87
+ fillRule: "evenodd",
88
+ clipRule: "evenodd",
89
+ d: "M12 17.17C12.5523 17.17 13 17.6177 13 18.17V20C13 20.5523 12.5523 21 12 21C11.4477 21 11 20.5523 11 20V18.17C11 17.6177 11.4477 17.17 12 17.17Z",
90
+ fill: "url(#ai_icon_lg3)"
91
+ }), /*#__PURE__*/React.createElement("path", {
92
+ fillRule: "evenodd",
93
+ clipRule: "evenodd",
94
+ d: "M14.2929 14.2929C14.6835 13.9024 15.3166 13.9024 15.7071 14.2929L19.7071 18.2929C20.0977 18.6834 20.0977 19.3166 19.7071 19.7071C19.3166 20.0976 18.6835 20.0976 18.2929 19.7071L14.2929 15.7071C13.9024 15.3166 13.9024 14.6834 14.2929 14.2929Z",
95
+ fill: iconColor
96
+ }), /*#__PURE__*/React.createElement("path", {
97
+ fillRule: "evenodd",
98
+ clipRule: "evenodd",
99
+ d: "M19.7071 4.29289C20.0977 4.68342 20.0977 5.31658 19.7071 5.70711L15.7071 9.70711C15.3166 10.0976 14.6835 10.0976 14.2929 9.70711C13.9024 9.31658 13.9024 8.68342 14.2929 8.29289L18.2929 4.29289C18.6835 3.90237 19.3166 3.90237 19.7071 4.29289Z",
100
+ fill: iconColor
101
+ }), /*#__PURE__*/React.createElement("path", {
102
+ fillRule: "evenodd",
103
+ clipRule: "evenodd",
104
+ d: "M4.29289 4.29289C4.68342 3.90237 5.31658 3.90237 5.70711 4.29289L9.70711 8.29289C10.0976 8.68342 10.0976 9.31658 9.70711 9.70711C9.31658 10.0976 8.68342 10.0976 8.29289 9.70711L4.29289 5.70711C3.90237 5.31658 3.90237 4.68342 4.29289 4.29289Z",
105
+ fill: iconColor
106
+ }), /*#__PURE__*/React.createElement("path", {
107
+ fillRule: "evenodd",
108
+ clipRule: "evenodd",
109
+ d: "M9.70711 14.2929C10.0976 14.6834 10.0976 15.3166 9.70711 15.7071L5.70711 19.7071C5.31658 20.0976 4.68342 20.0976 4.29289 19.7071C3.90237 19.3166 3.90237 18.6834 4.29289 18.2929L8.29289 14.2929C8.68342 13.9024 9.31658 13.9024 9.70711 14.2929Z",
110
+ fill: iconColor
111
+ })));
112
+ };
108
113
  export default AiIcon;
@@ -13,6 +13,7 @@ const AISummaryCSSStyles = css({
13
13
  fontSize: '0.75rem',
14
14
  lineHeight: '1rem',
15
15
  wordWrap: 'break-word',
16
+ wordBreak: 'break-word',
16
17
  whiteSpace: 'normal',
17
18
  WebkitUserSelect: 'text',
18
19
  MozUserSelect: 'text',
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
2
3
  import ProjectIcon from '@atlaskit/icon/glyph/people-group';
3
4
  import CommitIcon from '@atlaskit/icon-object/glyph/commit/16';
4
5
  import PullRequestIcon from '@atlaskit/icon-object/glyph/pull-request/16';
@@ -11,6 +12,7 @@ import { extractFileFormat } from './extractFileFormat';
11
12
  import { extractIconFromDocument } from './extractIconFromDocument';
12
13
  import { extractIconFromTask } from './extractIconFromTask';
13
14
  import { extractTaskType } from '../lozenge/extractTaskType';
15
+ import { prioritiseIcon } from './prioritiseIcon';
14
16
  export var extractIcon = function extractIcon(jsonLd) {
15
17
  var priority = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'type';
16
18
  var type = jsonLd['@type'];
@@ -87,6 +89,22 @@ var extractIconByType = function extractIconByType(type, opts) {
87
89
  case 'atlassian:Task':
88
90
  return extractIconFromTask(opts);
89
91
  default:
90
- return opts.provider && opts.provider.icon;
92
+ return getBooleanFF('platform.linking-platform.smart-card.standardise-smart-link-icon-behaviour') ? extractDefaultIcon(opts) : opts.provider && opts.provider.icon;
91
93
  }
94
+ };
95
+
96
+ /**
97
+ * Choose which icon to show when the type is not recognized.
98
+ */
99
+ var extractDefaultIcon = function extractDefaultIcon(opts) {
100
+ var _opts$provider;
101
+ var provider = opts.provider;
102
+ var providerId = provider === null || provider === void 0 ? void 0 : provider.id;
103
+ return prioritiseIcon({
104
+ providerId: providerId,
105
+ fileFormatIcon: undefined,
106
+ documentTypeIcon: undefined,
107
+ urlIcon: opts.icon,
108
+ providerIcon: (_opts$provider = opts.provider) === null || _opts$provider === void 0 ? void 0 : _opts$provider.icon
109
+ });
92
110
  };
@@ -1,4 +1,5 @@
1
1
  export { extractFileFormat } from './extractFileFormat';
2
+ export { prioritiseIcon } from './prioritiseIcon';
2
3
  export { extractIcon } from './extractIcon';
3
4
  export { extractIconFromDocument } from './extractIconFromDocument';
4
5
  export { extractIconFromTask } from './extractIconFromTask';
@@ -1,9 +1,11 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
3
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
- import { extractLink, extractTitle, extractProvider, extractPreview } from '@atlaskit/link-extractors';
4
+ import { extractLink, extractTitle, extractProvider, extractProviderIcon, extractPreview, extractUrlFromIconJsonLd } from '@atlaskit/link-extractors';
5
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
5
6
  import { extractIsTrusted } from '../common/meta/extractIsTrusted';
6
7
  import { extractIsSupportTheming } from '../common/meta/extractIsSupportTheming';
8
+ import { prioritiseIcon } from '../common/icon';
7
9
  var extractEmbedPreview = function extractEmbedPreview(jsonLd, platform, iframeUrlType) {
8
10
  var preview = extractPreview(jsonLd, platform, iframeUrlType);
9
11
  if (preview && preview.src) {
@@ -12,11 +14,34 @@ var extractEmbedPreview = function extractEmbedPreview(jsonLd, platform, iframeU
12
14
  });
13
15
  }
14
16
  };
17
+ function generateContext(jsonLd) {
18
+ var provider = extractProvider(jsonLd);
19
+ if (!provider) {
20
+ return undefined;
21
+ }
22
+
23
+ // If no icon is supplied, return existing context
24
+ if (!jsonLd.icon) {
25
+ return provider;
26
+ }
27
+ var generator = jsonLd.generator;
28
+ var icon = prioritiseIcon({
29
+ providerId: generator && typeof generator !== 'string' && generator['@type'] !== 'Link' ? generator['@id'] : undefined,
30
+ fileFormatIcon: undefined,
31
+ documentTypeIcon: undefined,
32
+ urlIcon: extractUrlFromIconJsonLd(jsonLd.icon),
33
+ // We still attempt to follow the icon priority function even if no generator (and therefore provider icon) is defined
34
+ providerIcon: generator && typeof generator !== 'string' && generator['@type'] !== 'Link' && extractProviderIcon(generator.icon)
35
+ });
36
+ return _objectSpread(_objectSpread({}, provider), {}, {
37
+ icon: icon ? icon : provider.icon
38
+ });
39
+ }
15
40
  export var extractEmbedProps = function extractEmbedProps(jsonLd, meta, platform, iframeUrlType) {
16
41
  return {
17
42
  link: extractLink(jsonLd) || '',
18
43
  title: extractTitle(jsonLd),
19
- context: extractProvider(jsonLd),
44
+ context: getBooleanFF('platform.linking-platform.smart-card.standardise-smart-link-icon-behaviour') ? generateContext(jsonLd) : extractProvider(jsonLd),
20
45
  preview: extractEmbedPreview(jsonLd, platform, iframeUrlType),
21
46
  isTrusted: extractIsTrusted(meta),
22
47
  isSupportTheming: extractIsSupportTheming(meta)
@@ -1,6 +1,6 @@
1
1
  import { CardAction } from '../../../view/Card/types';
2
2
  import { canShowAction } from '../../../utils/actions/can-show-action';
3
- import { getIsAISummaryEnabled } from '../../../utils/get-is-ai-summary-enabled';
3
+ import { getIsAISummaryEnabled } from '../../../utils/ai-summary';
4
4
  import { extractAri } from '@atlaskit/link-extractors';
5
5
  export var extractAISummaryAction = function extractAISummaryAction(response, url, actionOptions, aiSummaryConfig) {
6
6
  if (!canShowAction(CardAction.AISummaryAction, actionOptions) || !getIsAISummaryEnabled(aiSummaryConfig === null || aiSummaryConfig === void 0 ? void 0 : aiSummaryConfig.isAdminHubAIEnabled, response) || !(aiSummaryConfig !== null && aiSummaryConfig !== void 0 && aiSummaryConfig.product) || !url) {
@@ -9,7 +9,7 @@ import { extractTaskType } from '../../common/lozenge';
9
9
  import { extractTitle } from '@atlaskit/link-extractors';
10
10
  import { extractorPriorityMap as priorityMap } from '../../common/icon/priority';
11
11
  import { IconType } from '../../../constants';
12
- import { prioritiseIcon } from '../../common/icon/prioritiseIcon';
12
+ import { prioritiseIcon } from '../../common/icon';
13
13
  var extractTask = function extractTask(data, label) {
14
14
  var _ref = extractTaskType(data) || {},
15
15
  id = _ref.id,
@@ -123,7 +123,37 @@ var extractJsonldDataIcon = function extractJsonldDataIcon(data) {
123
123
  label: label || 'Repository'
124
124
  };
125
125
  default:
126
- return providerIcon;
126
+ return getBooleanFF('platform.linking-platform.smart-card.standardise-smart-link-icon-behaviour') ? extractDefaultIcon({
127
+ data: data,
128
+ type: type,
129
+ label: label,
130
+ provider: provider,
131
+ urlIcon: urlIcon,
132
+ providerIcon: providerIcon
133
+ }) : providerIcon;
127
134
  }
128
135
  };
129
- export default extractJsonldDataIcon;
136
+ export default extractJsonldDataIcon;
137
+
138
+ /**
139
+ * Choose which icon to show when the type is not recognized.
140
+ */
141
+ var extractDefaultIcon = function extractDefaultIcon(_ref2) {
142
+ var data = _ref2.data,
143
+ type = _ref2.type,
144
+ label = _ref2.label,
145
+ provider = _ref2.provider,
146
+ urlIcon = _ref2.urlIcon,
147
+ providerIcon = _ref2.providerIcon;
148
+ var documentData = data;
149
+ var fileFormat = documentData === null || documentData === void 0 ? void 0 : documentData['schema:fileFormat'];
150
+ var fileFormatIcon = extractFileFormatIcon(fileFormat);
151
+ var documentTypeIcon = extractDocumentTypeIcon(type, label);
152
+ return prioritiseIcon({
153
+ providerId: provider,
154
+ fileFormatIcon: fileFormatIcon,
155
+ documentTypeIcon: documentTypeIcon,
156
+ urlIcon: urlIcon,
157
+ providerIcon: providerIcon
158
+ });
159
+ };
@@ -208,7 +208,8 @@ export var AISummaryService = /*#__PURE__*/function () {
208
208
  } finally {
209
209
  _iterator4.f();
210
210
  }
211
- case 52:
211
+ return _context2.abrupt("return", this.state);
212
+ case 53:
212
213
  case "end":
213
214
  return _context2.stop();
214
215
  }
@@ -1,7 +1,27 @@
1
1
  import { getBooleanFF } from '@atlaskit/platform-feature-flags';
2
+ import { CONTENT_URL_ACCEPTABLE_USE_POLICY, CONTENT_URL_AI_TROUBLESHOOTING } from '../constants';
3
+ import { messages } from '../messages';
2
4
  export var getIsAISummaryEnabled = function getIsAISummaryEnabled() {
3
5
  var _response$meta;
4
6
  var isAdminHubAIEnabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
5
7
  var response = arguments.length > 1 ? arguments[1] : undefined;
6
8
  return Boolean(getBooleanFF('platform.linking-platform.smart-card.hover-card-ai-summaries') && isAdminHubAIEnabled && (response === null || response === void 0 || (_response$meta = response.meta) === null || _response$meta === void 0 || (_response$meta = _response$meta.supportedFeature) === null || _response$meta === void 0 ? void 0 : _response$meta.includes('AISummary')));
9
+ };
10
+ export var getAISummaryErrorMessage = function getAISummaryErrorMessage(error) {
11
+ switch (error) {
12
+ case 'ACCEPTABLE_USE_VIOLATIONS':
13
+ return {
14
+ message: messages.ai_summary_error_acceptable_use_violation,
15
+ url: CONTENT_URL_ACCEPTABLE_USE_POLICY
16
+ };
17
+ case 'HIPAA_CONTENT_DETECTED':
18
+ return {
19
+ message: messages.ai_summary_error_hipaa_content_detected
20
+ };
21
+ default:
22
+ return {
23
+ message: messages.ai_summary_error_generic,
24
+ url: CONTENT_URL_AI_TROUBLESHOOTING
25
+ };
26
+ }
7
27
  };
@@ -15,7 +15,7 @@ export var ANALYTICS_CHANNEL = 'media';
15
15
  export var context = {
16
16
  componentName: 'smart-cards',
17
17
  packageName: "@atlaskit/smart-card",
18
- packageVersion: "26.59.1"
18
+ packageVersion: "26.61.0"
19
19
  };
20
20
  export var TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
21
21
  TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
@@ -106,6 +106,14 @@ export var getSimulatedBetterMetadata = function getSimulatedBetterMetadata(card
106
106
  name: ElementName.CommentCount
107
107
  }]
108
108
  };
109
+ case 'trello-object-provider':
110
+ return {
111
+ titleMetadata: defaultTitleMetadata,
112
+ topMetadata: [{
113
+ name: ElementName.CollaboratorGroup
114
+ }].concat(baseTopMetadata),
115
+ bottomMetadata: defaultBottomMetadata
116
+ };
109
117
  default:
110
118
  return {
111
119
  titleMetadata: defaultTitleMetadata,
@@ -1,6 +1,5 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
2
  import React, { useCallback, useEffect, useRef, useState } from 'react';
3
- import { getBooleanFF } from '@atlaskit/platform-feature-flags';
4
3
  import { usePrefetch } from '../../../state';
5
4
  import { CardWithUrlContent } from '../component';
6
5
  import { LoadingCardLink } from './LoadingCardLink';
@@ -11,7 +10,8 @@ import { startUfoExperience } from '../../../state/analytics/ufoExperiences';
11
10
  // being compared to. Since the default container is the `document`, we set this
12
11
  // up to check once a Smart Link is within `X` px from the bottom of the viewport.
13
12
  var ROOT_MARGIN_VERTICAL = '360px';
14
- function LazyIntersectionObserverCardLegacy(props) {
13
+ export function LazyIntersectionObserverCard(props) {
14
+ var ref = useRef(null);
15
15
  var _useState = useState(false),
16
16
  _useState2 = _slicedToArray(_useState, 2),
17
17
  isIntersecting = _useState2[0],
@@ -34,49 +34,6 @@ function LazyIntersectionObserverCardLegacy(props) {
34
34
  prefetch();
35
35
  }
36
36
  }, [prefetch, id]);
37
- var onRef = useCallback(function (element) {
38
- if (!element) {
39
- return;
40
- }
41
- var intersectionObserver = new IntersectionObserver(onIntersection, {
42
- rootMargin: "".concat(ROOT_MARGIN_VERTICAL, " 0px ").concat(ROOT_MARGIN_VERTICAL, " 0px")
43
- });
44
- intersectionObserver.observe(element);
45
- return function () {
46
- return intersectionObserver.disconnect();
47
- };
48
- }, [onIntersection]);
49
- var content = isIntersecting ? /*#__PURE__*/React.createElement(CardWithUrlContent, props) : /*#__PURE__*/React.createElement(ComponentObserver, {
50
- ref: onRef
51
- }, /*#__PURE__*/React.createElement(LoadingCardLink, props));
52
- return /*#__PURE__*/React.createElement(Component, {
53
- className: "loader-wrapper"
54
- }, content);
55
- }
56
- function LazyIntersectionObserverCardNext(props) {
57
- var ref = useRef(null);
58
- var _useState3 = useState(false),
59
- _useState4 = _slicedToArray(_useState3, 2),
60
- isIntersecting = _useState4[0],
61
- setIsIntersecting = _useState4[1];
62
- var appearance = props.appearance,
63
- url = props.url,
64
- id = props.id;
65
- var prefetch = usePrefetch(url);
66
- var Component = appearance === 'inline' ? 'span' : 'div';
67
- var ComponentObserver = Component;
68
- var onIntersection = useCallback(function (entries, observer) {
69
- var isVisible = entries.some(function (entry) {
70
- return entry.isIntersecting;
71
- });
72
- if (isVisible) {
73
- startUfoExperience('smart-link-rendered', id);
74
- setIsIntersecting(true);
75
- observer.disconnect();
76
- } else {
77
- prefetch();
78
- }
79
- }, [prefetch, id]);
80
37
  useEffect(function () {
81
38
  if (!ref.current) {
82
39
  return;
@@ -95,8 +52,4 @@ function LazyIntersectionObserverCardNext(props) {
95
52
  return /*#__PURE__*/React.createElement(Component, {
96
53
  className: "loader-wrapper"
97
54
  }, content);
98
- }
99
- export var LazyIntersectionObserverCard = function LazyIntersectionObserverCard(props) {
100
- var Component = getBooleanFF('platform.linking-platform.smart-card.fix-intersection-observer') ? LazyIntersectionObserverCardNext : LazyIntersectionObserverCardLegacy;
101
- return /*#__PURE__*/React.createElement(Component, props);
102
- };
55
+ }
@@ -29,6 +29,7 @@ export var ExpandedFrame = function ExpandedFrame(_ref) {
29
29
  return handleClickCommon(event, onClick);
30
30
  };
31
31
  var handleMouseDown = useMouseDownEvent();
32
+ var isFixEmbedCardBlurEnabled = getBooleanFF('platform.linking-platform.smart-card.fix-embed-card-blurring') ? true : false;
32
33
  var renderHeaderOld = function renderHeaderOld() {
33
34
  return /*#__PURE__*/React.createElement(Header, {
34
35
  className: "embed-header",
@@ -64,6 +65,7 @@ export var ExpandedFrame = function ExpandedFrame(_ref) {
64
65
  return /*#__PURE__*/React.createElement(Content, {
65
66
  "data-testid": "embed-content-wrapper",
66
67
  allowScrollBar: allowScrollBar,
68
+ removeOverflow: isFixEmbedCardBlurEnabled,
67
69
  isInteractive: isInteractive(),
68
70
  frameStyle: frameStyle
69
71
  }, children);
@@ -123,7 +123,11 @@ export var TooltipWrapper = styled.div({
123
123
  // manage scrolling behaviour.
124
124
  // eslint-disable-next-line @atlaskit/design-system/no-styled-tagged-template-expression
125
125
  export var Content = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n ", ";\n border: 1px solid ", ";\n background-color: ", ";\n position: absolute;\n z-index: 1;\n width: 100%;\n transition: box-shadow 0.3s;\n\n > .calc-height > div > div {\n left: unset !important;\n width: unset !important;\n height: unset !important;\n position: initial !important;\n padding-bottom: unset !important;\n }\n > .embed-preview > div {\n margin: 0 auto;\n }\n\n ", "\n\n ", "\n\n ", "\n"])), contentBorderRadius, "var(--ds-border, ".concat(N40, ")"), "var(--ds-surface-raised, white)", function (_ref11) {
126
- var allowScrollBar = _ref11.allowScrollBar;
126
+ var allowScrollBar = _ref11.allowScrollBar,
127
+ removeOverflow = _ref11.removeOverflow;
128
+ if (removeOverflow) {
129
+ return '';
130
+ }
127
131
  return allowScrollBar ? 'overflow: auto;' : 'overflow: hidden;';
128
132
  }, function (_ref12) {
129
133
  var frameStyle = _ref12.frameStyle;
@@ -20,9 +20,6 @@ var getIconStyles = function getIconStyles(isDisabled) {
20
20
  });
21
21
  };
22
22
  var backgroundStyles = css({
23
- backgroundColor: "var(--ds-background-brand-subtlest, #E9F2FF)",
24
- borderRadius: "var(--ds-border-radius-050, 2px)",
25
- color: "var(--ds-icon-brand, #0C66E4)",
26
23
  display: 'inline-block',
27
24
  lineHeight: 0,
28
25
  padding: "var(--ds-space-025, 2px)",
@@ -1,15 +1,18 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["onClick", "url", "ari", "product"];
3
+ var _excluded = ["onClick", "onError", "url", "ari", "product"];
4
4
  import React, { useCallback } from 'react';
5
5
  import { FormattedMessage } from 'react-intl-next';
6
+ import { di } from 'react-magnetic-di';
6
7
  import { messages } from '../../../../../messages';
7
8
  import Action from '../action';
8
9
  import AiIcon from '../../../../common/ai-icon';
9
10
  import { useAnalyticsEvents } from '../../../../../common/analytics/generated/use-analytics-events';
10
11
  import { useAISummary } from '../../../../../state/hooks/use-ai-summary';
12
+ import { getErrorMessage } from './utils';
11
13
  export var AISummaryActionComponent = function AISummaryActionComponent(_ref) {
12
14
  var onClickCallback = _ref.onClick,
15
+ onErrorCallback = _ref.onError,
13
16
  _ref$url = _ref.url,
14
17
  url = _ref$url === void 0 ? '' : _ref$url,
15
18
  _ref$ari = _ref.ari,
@@ -25,26 +28,31 @@ export var AISummaryActionComponent = function AISummaryActionComponent(_ref) {
25
28
  }),
26
29
  status = _useAISummary.state.status,
27
30
  summariseUrl = _useAISummary.summariseUrl;
31
+ var onCompleted = useCallback(function (state) {
32
+ if ((state === null || state === void 0 ? void 0 : state.status) === 'error') {
33
+ onErrorCallback === null || onErrorCallback === void 0 || onErrorCallback(getErrorMessage(state.error));
34
+ }
35
+ }, [onErrorCallback]);
28
36
  var handleActionClick = useCallback(function () {
37
+ var _summariseUrl;
29
38
  fireEvent('ui.button.clicked.aiSummary', {});
30
39
  fireEvent('track.aiInteraction.initiated', {
31
40
  aiFeatureName: 'Smart Links Summary',
32
41
  proactiveAIGenerated: 0,
33
42
  userGeneratedAI: 1
34
43
  });
35
- summariseUrl();
44
+ (_summariseUrl = summariseUrl()) === null || _summariseUrl === void 0 || _summariseUrl.then(onCompleted, onCompleted);
36
45
  onClickCallback === null || onClickCallback === void 0 || onClickCallback();
37
- }, [fireEvent, onClickCallback, summariseUrl]);
38
- if (status === 'ready' || status === 'error') {
39
- return /*#__PURE__*/React.createElement(Action, _extends({
40
- content: /*#__PURE__*/React.createElement(FormattedMessage, messages.ai_summary_action),
41
- icon: /*#__PURE__*/React.createElement(AiIcon, {
42
- label: "Summarise with AI"
43
- }),
44
- onClick: handleActionClick,
45
- testId: "smart-action-ai-summary-action",
46
- tooltipMessage: /*#__PURE__*/React.createElement(FormattedMessage, messages.ai_summary_action_description)
47
- }, props));
48
- }
46
+ }, [fireEvent, onClickCallback, onCompleted, summariseUrl]);
47
+ return /*#__PURE__*/React.createElement(Action, _extends({
48
+ content: /*#__PURE__*/React.createElement(FormattedMessage, messages.ai_summary_action),
49
+ icon: /*#__PURE__*/React.createElement(AiIcon, {
50
+ label: "Summarise with AI"
51
+ }),
52
+ isLoading: status === 'loading',
53
+ onClick: handleActionClick,
54
+ testId: "smart-action-ai-summary-action",
55
+ tooltipMessage: /*#__PURE__*/React.createElement(FormattedMessage, messages.ai_summary_action_description)
56
+ }, props));
49
57
  return null;
50
58
  };