@atlaskit/smart-card 32.7.0 → 32.7.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 (476) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/analytics.spec.yaml +63 -9
  3. package/dist/cjs/classNames.js +14 -82
  4. package/dist/cjs/extractors/action/extract-invoke-copy-link-action.js +53 -0
  5. package/dist/cjs/extractors/action/extract-invoke-download-action.js +57 -0
  6. package/dist/cjs/extractors/action/extract-invoke-preview-action.js +78 -0
  7. package/dist/cjs/extractors/action/extract-invoke-view-action.js +60 -0
  8. package/dist/cjs/extractors/action/extractDownloadActionProps.js +4 -0
  9. package/dist/cjs/extractors/action/extractPreviewActionProps.js +4 -0
  10. package/dist/cjs/extractors/action/extractViewActionProps.js +4 -0
  11. package/dist/cjs/extractors/common/actions/extractActions.js +1 -67
  12. package/dist/cjs/extractors/flexible/actions/extract-copy-link-action.js +12 -1
  13. package/dist/cjs/extractors/flexible/actions/extract-download-action.js +12 -1
  14. package/dist/cjs/extractors/flexible/actions/extract-preview-action.js +12 -1
  15. package/dist/cjs/extractors/flexible/actions/extract-view-action.js +3 -0
  16. package/dist/cjs/extractors/flexible/actions/index.js +40 -3
  17. package/dist/cjs/extractors/flexible/extract-state.js +19 -5
  18. package/dist/cjs/extractors/flexible/index.js +22 -8
  19. package/dist/cjs/i18n/cs.js +2 -4
  20. package/dist/cjs/i18n/da.js +2 -4
  21. package/dist/cjs/i18n/de.js +2 -4
  22. package/dist/cjs/i18n/en.js +2 -4
  23. package/dist/cjs/i18n/en_GB.js +2 -4
  24. package/dist/cjs/i18n/en_ZZ.js +2 -4
  25. package/dist/cjs/i18n/es.js +8 -10
  26. package/dist/cjs/i18n/fi.js +5 -7
  27. package/dist/cjs/i18n/fr.js +2 -4
  28. package/dist/cjs/i18n/hu.js +2 -4
  29. package/dist/cjs/i18n/it.js +2 -4
  30. package/dist/cjs/i18n/ja.js +8 -10
  31. package/dist/cjs/i18n/ko.js +2 -4
  32. package/dist/cjs/i18n/nb.js +2 -4
  33. package/dist/cjs/i18n/nl.js +2 -4
  34. package/dist/cjs/i18n/pl.js +2 -4
  35. package/dist/cjs/i18n/pt_BR.js +2 -4
  36. package/dist/cjs/i18n/ru.js +2 -4
  37. package/dist/cjs/i18n/sv.js +2 -4
  38. package/dist/cjs/i18n/th.js +2 -4
  39. package/dist/cjs/i18n/tr.js +8 -10
  40. package/dist/cjs/i18n/uk.js +2 -4
  41. package/dist/cjs/i18n/vi.js +2 -4
  42. package/dist/cjs/i18n/zh.js +2 -4
  43. package/dist/cjs/i18n/zh_TW.js +2 -4
  44. package/dist/cjs/state/hooks/use-invoke-client-action/index.js +56 -17
  45. package/dist/cjs/state/hooks-external/useSmartLinkActions.js +22 -3
  46. package/dist/cjs/utils/analytics/LinkAnalyticsContext.js +7 -2
  47. package/dist/cjs/utils/analytics/analytics.js +1 -1
  48. package/dist/cjs/utils/mocks.js +4 -1
  49. package/dist/cjs/view/BlockCard/components/Action.js +1 -58
  50. package/dist/cjs/view/BlockCard/index.js +29 -218
  51. package/dist/cjs/view/BlockCard/views/flexible/FlexibleResolvedView.js +1 -0
  52. package/dist/cjs/view/BlockCard/views/flexible/unresolved-view/index.js +1 -0
  53. package/dist/cjs/view/CardWithUrl/component.js +2 -5
  54. package/dist/cjs/view/EmbedModal/index.js +72 -51
  55. package/dist/cjs/view/FlexibleCard/components/actions/copy-link-action/index.js +65 -32
  56. package/dist/cjs/view/FlexibleCard/components/actions/download-action/index.js +36 -28
  57. package/dist/cjs/view/FlexibleCard/components/actions/preview-action/index.js +40 -32
  58. package/dist/cjs/view/FlexibleCard/components/elements/lozenge/lozenge-action/lozenge-action-error/index.js +13 -6
  59. package/dist/cjs/view/FlexibleCard/components/utils.js +4 -0
  60. package/dist/cjs/view/FlexibleCard/index.js +11 -1
  61. package/dist/cjs/view/HoverCard/components/HoverCardContent.js +1 -0
  62. package/dist/cjs/view/LinkUrl/index.js +1 -1
  63. package/dist/es2019/classNames.js +12 -10
  64. package/dist/es2019/extractors/action/extract-invoke-copy-link-action.js +29 -0
  65. package/dist/es2019/extractors/action/extract-invoke-download-action.js +31 -0
  66. package/dist/es2019/extractors/action/extract-invoke-preview-action.js +57 -0
  67. package/dist/es2019/extractors/action/extract-invoke-view-action.js +34 -0
  68. package/dist/es2019/extractors/action/extractDownloadActionProps.js +5 -0
  69. package/dist/es2019/extractors/action/extractPreviewActionProps.js +5 -0
  70. package/dist/es2019/extractors/action/extractViewActionProps.js +5 -0
  71. package/dist/es2019/extractors/common/actions/extractActions.js +1 -55
  72. package/dist/es2019/extractors/flexible/actions/extract-copy-link-action.js +11 -0
  73. package/dist/es2019/extractors/flexible/actions/extract-download-action.js +12 -0
  74. package/dist/es2019/extractors/flexible/actions/extract-preview-action.js +12 -0
  75. package/dist/es2019/extractors/flexible/actions/extract-view-action.js +4 -0
  76. package/dist/es2019/extractors/flexible/actions/index.js +48 -3
  77. package/dist/es2019/extractors/flexible/extract-state.js +17 -5
  78. package/dist/es2019/extractors/flexible/index.js +17 -6
  79. package/dist/es2019/i18n/cs.js +2 -4
  80. package/dist/es2019/i18n/da.js +2 -4
  81. package/dist/es2019/i18n/de.js +2 -4
  82. package/dist/es2019/i18n/en.js +2 -4
  83. package/dist/es2019/i18n/en_GB.js +2 -4
  84. package/dist/es2019/i18n/en_ZZ.js +2 -4
  85. package/dist/es2019/i18n/es.js +8 -10
  86. package/dist/es2019/i18n/fi.js +5 -7
  87. package/dist/es2019/i18n/fr.js +2 -4
  88. package/dist/es2019/i18n/hu.js +2 -4
  89. package/dist/es2019/i18n/it.js +2 -4
  90. package/dist/es2019/i18n/ja.js +8 -10
  91. package/dist/es2019/i18n/ko.js +2 -4
  92. package/dist/es2019/i18n/nb.js +2 -4
  93. package/dist/es2019/i18n/nl.js +2 -4
  94. package/dist/es2019/i18n/pl.js +2 -4
  95. package/dist/es2019/i18n/pt_BR.js +2 -4
  96. package/dist/es2019/i18n/ru.js +2 -4
  97. package/dist/es2019/i18n/sv.js +2 -4
  98. package/dist/es2019/i18n/th.js +2 -4
  99. package/dist/es2019/i18n/tr.js +8 -10
  100. package/dist/es2019/i18n/uk.js +2 -4
  101. package/dist/es2019/i18n/vi.js +2 -4
  102. package/dist/es2019/i18n/zh.js +2 -4
  103. package/dist/es2019/i18n/zh_TW.js +2 -4
  104. package/dist/es2019/state/hooks/use-invoke-client-action/index.js +91 -43
  105. package/dist/es2019/state/hooks-external/useSmartLinkActions.js +21 -3
  106. package/dist/es2019/utils/analytics/LinkAnalyticsContext.js +3 -0
  107. package/dist/es2019/utils/analytics/analytics.js +1 -1
  108. package/dist/es2019/utils/mocks.js +4 -1
  109. package/dist/es2019/view/BlockCard/components/Action.js +1 -48
  110. package/dist/es2019/view/BlockCard/index.js +27 -163
  111. package/dist/es2019/view/BlockCard/views/flexible/FlexibleResolvedView.js +1 -0
  112. package/dist/es2019/view/BlockCard/views/flexible/unresolved-view/index.js +1 -0
  113. package/dist/es2019/view/CardWithUrl/component.js +2 -5
  114. package/dist/es2019/view/EmbedModal/index.js +41 -20
  115. package/dist/es2019/view/FlexibleCard/components/actions/copy-link-action/index.js +31 -16
  116. package/dist/es2019/view/FlexibleCard/components/actions/download-action/index.js +20 -12
  117. package/dist/es2019/view/FlexibleCard/components/actions/preview-action/index.js +25 -17
  118. package/dist/es2019/view/FlexibleCard/components/elements/lozenge/lozenge-action/lozenge-action-error/index.js +14 -7
  119. package/dist/es2019/view/FlexibleCard/components/utils.js +4 -0
  120. package/dist/es2019/view/FlexibleCard/index.js +12 -1
  121. package/dist/es2019/view/HoverCard/components/HoverCardContent.js +1 -0
  122. package/dist/es2019/view/LinkUrl/index.js +1 -1
  123. package/dist/esm/classNames.js +12 -10
  124. package/dist/esm/extractors/action/extract-invoke-copy-link-action.js +46 -0
  125. package/dist/esm/extractors/action/extract-invoke-download-action.js +50 -0
  126. package/dist/esm/extractors/action/extract-invoke-preview-action.js +71 -0
  127. package/dist/esm/extractors/action/extract-invoke-view-action.js +53 -0
  128. package/dist/esm/extractors/action/extractDownloadActionProps.js +5 -0
  129. package/dist/esm/extractors/action/extractPreviewActionProps.js +5 -0
  130. package/dist/esm/extractors/action/extractViewActionProps.js +5 -0
  131. package/dist/esm/extractors/common/actions/extractActions.js +1 -65
  132. package/dist/esm/extractors/flexible/actions/extract-copy-link-action.js +11 -0
  133. package/dist/esm/extractors/flexible/actions/extract-download-action.js +12 -0
  134. package/dist/esm/extractors/flexible/actions/extract-preview-action.js +12 -0
  135. package/dist/esm/extractors/flexible/actions/extract-view-action.js +4 -0
  136. package/dist/esm/extractors/flexible/actions/index.js +42 -5
  137. package/dist/esm/extractors/flexible/extract-state.js +19 -5
  138. package/dist/esm/extractors/flexible/index.js +19 -8
  139. package/dist/esm/i18n/cs.js +2 -4
  140. package/dist/esm/i18n/da.js +2 -4
  141. package/dist/esm/i18n/de.js +2 -4
  142. package/dist/esm/i18n/en.js +2 -4
  143. package/dist/esm/i18n/en_GB.js +2 -4
  144. package/dist/esm/i18n/en_ZZ.js +2 -4
  145. package/dist/esm/i18n/es.js +8 -10
  146. package/dist/esm/i18n/fi.js +5 -7
  147. package/dist/esm/i18n/fr.js +2 -4
  148. package/dist/esm/i18n/hu.js +2 -4
  149. package/dist/esm/i18n/it.js +2 -4
  150. package/dist/esm/i18n/ja.js +8 -10
  151. package/dist/esm/i18n/ko.js +2 -4
  152. package/dist/esm/i18n/nb.js +2 -4
  153. package/dist/esm/i18n/nl.js +2 -4
  154. package/dist/esm/i18n/pl.js +2 -4
  155. package/dist/esm/i18n/pt_BR.js +2 -4
  156. package/dist/esm/i18n/ru.js +2 -4
  157. package/dist/esm/i18n/sv.js +2 -4
  158. package/dist/esm/i18n/th.js +2 -4
  159. package/dist/esm/i18n/tr.js +8 -10
  160. package/dist/esm/i18n/uk.js +2 -4
  161. package/dist/esm/i18n/vi.js +2 -4
  162. package/dist/esm/i18n/zh.js +2 -4
  163. package/dist/esm/i18n/zh_TW.js +2 -4
  164. package/dist/esm/state/hooks/use-invoke-client-action/index.js +56 -17
  165. package/dist/esm/state/hooks-external/useSmartLinkActions.js +22 -3
  166. package/dist/esm/utils/analytics/LinkAnalyticsContext.js +7 -2
  167. package/dist/esm/utils/analytics/analytics.js +1 -1
  168. package/dist/esm/utils/mocks.js +4 -1
  169. package/dist/esm/view/BlockCard/components/Action.js +1 -54
  170. package/dist/esm/view/BlockCard/index.js +29 -164
  171. package/dist/esm/view/BlockCard/views/flexible/FlexibleResolvedView.js +1 -0
  172. package/dist/esm/view/BlockCard/views/flexible/unresolved-view/index.js +1 -0
  173. package/dist/esm/view/CardWithUrl/component.js +2 -5
  174. package/dist/esm/view/EmbedModal/index.js +73 -52
  175. package/dist/esm/view/FlexibleCard/components/actions/copy-link-action/index.js +65 -32
  176. package/dist/esm/view/FlexibleCard/components/actions/download-action/index.js +36 -28
  177. package/dist/esm/view/FlexibleCard/components/actions/preview-action/index.js +40 -32
  178. package/dist/esm/view/FlexibleCard/components/elements/lozenge/lozenge-action/lozenge-action-error/index.js +13 -6
  179. package/dist/esm/view/FlexibleCard/components/utils.js +4 -0
  180. package/dist/esm/view/FlexibleCard/index.js +11 -1
  181. package/dist/esm/view/HoverCard/components/HoverCardContent.js +1 -0
  182. package/dist/esm/view/LinkUrl/index.js +1 -1
  183. package/dist/types/classNames.d.ts +12 -10
  184. package/dist/types/common/analytics/generated/analytics.types.d.ts +63 -2
  185. package/dist/types/common/analytics/types.d.ts +2 -0
  186. package/dist/types/extractors/action/extract-invoke-copy-link-action.d.ts +3 -0
  187. package/dist/types/extractors/action/extract-invoke-download-action.d.ts +3 -0
  188. package/dist/types/extractors/action/extract-invoke-preview-action.d.ts +11 -0
  189. package/dist/types/extractors/action/extract-invoke-view-action.d.ts +3 -0
  190. package/dist/types/extractors/action/extractDownloadActionProps.d.ts +4 -0
  191. package/dist/types/extractors/action/extractPreviewActionProps.d.ts +5 -1
  192. package/dist/types/extractors/action/extractViewActionProps.d.ts +4 -0
  193. package/dist/types/extractors/action/types.d.ts +9 -0
  194. package/dist/types/extractors/common/actions/extractActions.d.ts +0 -8
  195. package/dist/types/extractors/common/actions/types.d.ts +0 -9
  196. package/dist/types/extractors/flexible/actions/extract-copy-link-action.d.ts +6 -0
  197. package/dist/types/extractors/flexible/actions/extract-download-action.d.ts +6 -0
  198. package/dist/types/extractors/flexible/actions/extract-preview-action.d.ts +6 -0
  199. package/dist/types/extractors/flexible/actions/extract-view-action.d.ts +3 -0
  200. package/dist/types/extractors/flexible/actions/index.d.ts +21 -4
  201. package/dist/types/extractors/flexible/extract-state.d.ts +5 -2
  202. package/dist/types/extractors/flexible/index.d.ts +1 -1
  203. package/dist/types/i18n/cs.d.ts +1 -3
  204. package/dist/types/i18n/da.d.ts +1 -3
  205. package/dist/types/i18n/de.d.ts +1 -3
  206. package/dist/types/i18n/en.d.ts +1 -3
  207. package/dist/types/i18n/en_GB.d.ts +1 -3
  208. package/dist/types/i18n/en_ZZ.d.ts +1 -3
  209. package/dist/types/i18n/es.d.ts +1 -3
  210. package/dist/types/i18n/fi.d.ts +1 -3
  211. package/dist/types/i18n/fr.d.ts +1 -3
  212. package/dist/types/i18n/hu.d.ts +1 -3
  213. package/dist/types/i18n/it.d.ts +1 -3
  214. package/dist/types/i18n/ja.d.ts +1 -3
  215. package/dist/types/i18n/ko.d.ts +1 -3
  216. package/dist/types/i18n/nb.d.ts +1 -3
  217. package/dist/types/i18n/nl.d.ts +1 -3
  218. package/dist/types/i18n/pl.d.ts +1 -3
  219. package/dist/types/i18n/pt_BR.d.ts +1 -3
  220. package/dist/types/i18n/ru.d.ts +1 -3
  221. package/dist/types/i18n/sv.d.ts +1 -3
  222. package/dist/types/i18n/th.d.ts +1 -3
  223. package/dist/types/i18n/tr.d.ts +1 -3
  224. package/dist/types/i18n/uk.d.ts +1 -3
  225. package/dist/types/i18n/vi.d.ts +1 -3
  226. package/dist/types/i18n/zh.d.ts +1 -3
  227. package/dist/types/i18n/zh_TW.d.ts +1 -3
  228. package/dist/types/state/flexible-ui-context/types.d.ts +9 -3
  229. package/dist/types/state/hooks/use-invoke/types.d.ts +7 -1
  230. package/dist/types/state/hooks/use-invoke-client-action/index.d.ts +2 -2
  231. package/dist/types/state/hooks/use-invoke-client-action/types.d.ts +24 -2
  232. package/dist/types/state/hooks/use-resolve/index.d.ts +1 -0
  233. package/dist/types/utils/analytics/click.d.ts +1 -1
  234. package/dist/types/view/BlockCard/components/Action.d.ts +0 -4
  235. package/dist/types/view/BlockCard/index.d.ts +2 -17
  236. package/dist/types/view/BlockCard/types.d.ts +1 -6
  237. package/dist/types/view/Card/index.d.ts +1 -1
  238. package/dist/types/view/EmbedModal/index.d.ts +4 -0
  239. package/dist/types/view/EmbedModal/types.d.ts +7 -0
  240. package/dist/types/view/FlexibleCard/components/actions/action/action-stack-item/action-button.d.ts +1 -1
  241. package/dist/types/view/FlexibleCard/components/elements/lozenge/lozenge-action/lozenge-action-error/index.d.ts +1 -1
  242. package/dist/types/view/FlexibleCard/components/elements/lozenge/lozenge-action/lozenge-action-error/types.d.ts +6 -0
  243. package/dist/types/view/FlexibleCard/components/utils.d.ts +4 -1
  244. package/dist/types/view/FlexibleCard/index.d.ts +1 -1
  245. package/dist/types/view/FlexibleCard/types.d.ts +12 -3
  246. package/dist/types/view/HoverCard/components/CustomPopupContainer.d.ts +1 -1
  247. package/dist/types-ts4.5/classNames.d.ts +12 -10
  248. package/dist/types-ts4.5/common/analytics/generated/analytics.types.d.ts +63 -2
  249. package/dist/types-ts4.5/common/analytics/types.d.ts +2 -0
  250. package/dist/types-ts4.5/extractors/action/extract-invoke-copy-link-action.d.ts +3 -0
  251. package/dist/types-ts4.5/extractors/action/extract-invoke-download-action.d.ts +3 -0
  252. package/dist/types-ts4.5/extractors/action/extract-invoke-preview-action.d.ts +11 -0
  253. package/dist/types-ts4.5/extractors/action/extract-invoke-view-action.d.ts +3 -0
  254. package/dist/types-ts4.5/extractors/action/extractDownloadActionProps.d.ts +4 -0
  255. package/dist/types-ts4.5/extractors/action/extractPreviewActionProps.d.ts +5 -1
  256. package/dist/types-ts4.5/extractors/action/extractViewActionProps.d.ts +4 -0
  257. package/dist/types-ts4.5/extractors/action/types.d.ts +9 -0
  258. package/dist/types-ts4.5/extractors/common/actions/extractActions.d.ts +0 -8
  259. package/dist/types-ts4.5/extractors/common/actions/types.d.ts +0 -9
  260. package/dist/types-ts4.5/extractors/flexible/actions/extract-copy-link-action.d.ts +6 -0
  261. package/dist/types-ts4.5/extractors/flexible/actions/extract-download-action.d.ts +6 -0
  262. package/dist/types-ts4.5/extractors/flexible/actions/extract-preview-action.d.ts +6 -0
  263. package/dist/types-ts4.5/extractors/flexible/actions/extract-view-action.d.ts +3 -0
  264. package/dist/types-ts4.5/extractors/flexible/actions/index.d.ts +21 -4
  265. package/dist/types-ts4.5/extractors/flexible/extract-state.d.ts +5 -2
  266. package/dist/types-ts4.5/extractors/flexible/index.d.ts +1 -1
  267. package/dist/types-ts4.5/i18n/cs.d.ts +1 -3
  268. package/dist/types-ts4.5/i18n/da.d.ts +1 -3
  269. package/dist/types-ts4.5/i18n/de.d.ts +1 -3
  270. package/dist/types-ts4.5/i18n/en.d.ts +1 -3
  271. package/dist/types-ts4.5/i18n/en_GB.d.ts +1 -3
  272. package/dist/types-ts4.5/i18n/en_ZZ.d.ts +1 -3
  273. package/dist/types-ts4.5/i18n/es.d.ts +1 -3
  274. package/dist/types-ts4.5/i18n/fi.d.ts +1 -3
  275. package/dist/types-ts4.5/i18n/fr.d.ts +1 -3
  276. package/dist/types-ts4.5/i18n/hu.d.ts +1 -3
  277. package/dist/types-ts4.5/i18n/it.d.ts +1 -3
  278. package/dist/types-ts4.5/i18n/ja.d.ts +1 -3
  279. package/dist/types-ts4.5/i18n/ko.d.ts +1 -3
  280. package/dist/types-ts4.5/i18n/nb.d.ts +1 -3
  281. package/dist/types-ts4.5/i18n/nl.d.ts +1 -3
  282. package/dist/types-ts4.5/i18n/pl.d.ts +1 -3
  283. package/dist/types-ts4.5/i18n/pt_BR.d.ts +1 -3
  284. package/dist/types-ts4.5/i18n/ru.d.ts +1 -3
  285. package/dist/types-ts4.5/i18n/sv.d.ts +1 -3
  286. package/dist/types-ts4.5/i18n/th.d.ts +1 -3
  287. package/dist/types-ts4.5/i18n/tr.d.ts +1 -3
  288. package/dist/types-ts4.5/i18n/uk.d.ts +1 -3
  289. package/dist/types-ts4.5/i18n/vi.d.ts +1 -3
  290. package/dist/types-ts4.5/i18n/zh.d.ts +1 -3
  291. package/dist/types-ts4.5/i18n/zh_TW.d.ts +1 -3
  292. package/dist/types-ts4.5/state/flexible-ui-context/types.d.ts +9 -3
  293. package/dist/types-ts4.5/state/hooks/use-invoke/types.d.ts +7 -1
  294. package/dist/types-ts4.5/state/hooks/use-invoke-client-action/index.d.ts +2 -2
  295. package/dist/types-ts4.5/state/hooks/use-invoke-client-action/types.d.ts +24 -2
  296. package/dist/types-ts4.5/state/hooks/use-resolve/index.d.ts +1 -0
  297. package/dist/types-ts4.5/utils/analytics/click.d.ts +1 -1
  298. package/dist/types-ts4.5/view/BlockCard/components/Action.d.ts +0 -4
  299. package/dist/types-ts4.5/view/BlockCard/index.d.ts +2 -17
  300. package/dist/types-ts4.5/view/BlockCard/types.d.ts +1 -6
  301. package/dist/types-ts4.5/view/Card/index.d.ts +1 -1
  302. package/dist/types-ts4.5/view/EmbedModal/index.d.ts +8 -0
  303. package/dist/types-ts4.5/view/EmbedModal/types.d.ts +7 -0
  304. package/dist/types-ts4.5/view/FlexibleCard/components/actions/action/action-stack-item/action-button.d.ts +1 -1
  305. package/dist/types-ts4.5/view/FlexibleCard/components/elements/lozenge/lozenge-action/lozenge-action-error/index.d.ts +1 -1
  306. package/dist/types-ts4.5/view/FlexibleCard/components/elements/lozenge/lozenge-action/lozenge-action-error/types.d.ts +6 -0
  307. package/dist/types-ts4.5/view/FlexibleCard/components/utils.d.ts +4 -1
  308. package/dist/types-ts4.5/view/FlexibleCard/index.d.ts +1 -1
  309. package/dist/types-ts4.5/view/FlexibleCard/types.d.ts +12 -3
  310. package/dist/types-ts4.5/view/HoverCard/components/CustomPopupContainer.d.ts +1 -1
  311. package/package.json +4 -1
  312. package/dist/cjs/extractors/block/index.js +0 -96
  313. package/dist/cjs/extractors/common/actions/extractPreviewAction.js +0 -106
  314. package/dist/cjs/view/BlockCard/actions/AuthorizeAction.js +0 -22
  315. package/dist/cjs/view/BlockCard/actions/DownloadAction.js +0 -21
  316. package/dist/cjs/view/BlockCard/actions/PreviewAction.js +0 -35
  317. package/dist/cjs/view/BlockCard/actions/RetryAction.js +0 -35
  318. package/dist/cjs/view/BlockCard/actions/ViewAction.js +0 -21
  319. package/dist/cjs/view/BlockCard/components/ActionIcon.js +0 -57
  320. package/dist/cjs/view/BlockCard/components/ActionList.js +0 -78
  321. package/dist/cjs/view/BlockCard/components/CollaboratorList.js +0 -52
  322. package/dist/cjs/view/BlockCard/components/Content.js +0 -45
  323. package/dist/cjs/view/BlockCard/components/ContentFooter.js +0 -41
  324. package/dist/cjs/view/BlockCard/components/ContentHeader.js +0 -45
  325. package/dist/cjs/view/BlockCard/components/Emoji.js +0 -33
  326. package/dist/cjs/view/BlockCard/components/Link.js +0 -31
  327. package/dist/cjs/view/BlockCard/components/Name.js +0 -61
  328. package/dist/cjs/view/BlockCard/components/Provider.js +0 -57
  329. package/dist/cjs/view/BlockCard/components/Thumbnail.js +0 -62
  330. package/dist/cjs/view/BlockCard/components/UnresolvedText.js +0 -24
  331. package/dist/cjs/view/BlockCard/views/ErroredView.js +0 -91
  332. package/dist/cjs/view/BlockCard/views/ForbiddenView.js +0 -121
  333. package/dist/cjs/view/BlockCard/views/NotFoundView.js +0 -82
  334. package/dist/cjs/view/BlockCard/views/ResolvedView.js +0 -143
  335. package/dist/cjs/view/BlockCard/views/ResolvingView.js +0 -57
  336. package/dist/cjs/view/BlockCard/views/UnauthorizedView.js +0 -72
  337. package/dist/cjs/view/BlockCard/views/styled.js +0 -18
  338. package/dist/cjs/view/CardWithData/component.js +0 -66
  339. package/dist/cjs/view/CardWithData/types.js +0 -5
  340. package/dist/cjs/view/common/Byline.js +0 -52
  341. package/dist/cjs/view/common/Metadata.js +0 -56
  342. package/dist/cjs/view/common/MetadataList.js +0 -43
  343. package/dist/es2019/extractors/block/index.js +0 -86
  344. package/dist/es2019/extractors/common/actions/extractPreviewAction.js +0 -91
  345. package/dist/es2019/view/BlockCard/actions/AuthorizeAction.js +0 -9
  346. package/dist/es2019/view/BlockCard/actions/DownloadAction.js +0 -11
  347. package/dist/es2019/view/BlockCard/actions/PreviewAction.js +0 -23
  348. package/dist/es2019/view/BlockCard/actions/RetryAction.js +0 -8
  349. package/dist/es2019/view/BlockCard/actions/ViewAction.js +0 -11
  350. package/dist/es2019/view/BlockCard/components/ActionIcon.js +0 -51
  351. package/dist/es2019/view/BlockCard/components/ActionList.js +0 -63
  352. package/dist/es2019/view/BlockCard/components/CollaboratorList.js +0 -42
  353. package/dist/es2019/view/BlockCard/components/Content.js +0 -36
  354. package/dist/es2019/view/BlockCard/components/ContentFooter.js +0 -32
  355. package/dist/es2019/view/BlockCard/components/ContentHeader.js +0 -39
  356. package/dist/es2019/view/BlockCard/components/Emoji.js +0 -26
  357. package/dist/es2019/view/BlockCard/components/Link.js +0 -24
  358. package/dist/es2019/view/BlockCard/components/Name.js +0 -54
  359. package/dist/es2019/view/BlockCard/components/Provider.js +0 -51
  360. package/dist/es2019/view/BlockCard/components/Thumbnail.js +0 -58
  361. package/dist/es2019/view/BlockCard/components/UnresolvedText.js +0 -18
  362. package/dist/es2019/view/BlockCard/views/ErroredView.js +0 -78
  363. package/dist/es2019/view/BlockCard/views/ForbiddenView.js +0 -104
  364. package/dist/es2019/view/BlockCard/views/NotFoundView.js +0 -71
  365. package/dist/es2019/view/BlockCard/views/ResolvedView.js +0 -121
  366. package/dist/es2019/view/BlockCard/views/ResolvingView.js +0 -46
  367. package/dist/es2019/view/BlockCard/views/UnauthorizedView.js +0 -60
  368. package/dist/es2019/view/BlockCard/views/styled.js +0 -10
  369. package/dist/es2019/view/CardWithData/component.js +0 -43
  370. package/dist/es2019/view/common/Byline.js +0 -44
  371. package/dist/es2019/view/common/Metadata.js +0 -49
  372. package/dist/es2019/view/common/MetadataList.js +0 -34
  373. package/dist/esm/extractors/block/index.js +0 -89
  374. package/dist/esm/extractors/common/actions/extractPreviewAction.js +0 -99
  375. package/dist/esm/state/reducers/types.js +0 -1
  376. package/dist/esm/view/BlockCard/actions/AuthorizeAction.js +0 -15
  377. package/dist/esm/view/BlockCard/actions/DownloadAction.js +0 -14
  378. package/dist/esm/view/BlockCard/actions/PreviewAction.js +0 -30
  379. package/dist/esm/view/BlockCard/actions/RetryAction.js +0 -28
  380. package/dist/esm/view/BlockCard/actions/ViewAction.js +0 -14
  381. package/dist/esm/view/BlockCard/components/ActionIcon.js +0 -50
  382. package/dist/esm/view/BlockCard/components/ActionList.js +0 -69
  383. package/dist/esm/view/BlockCard/components/CollaboratorList.js +0 -44
  384. package/dist/esm/view/BlockCard/components/Content.js +0 -38
  385. package/dist/esm/view/BlockCard/components/ContentFooter.js +0 -34
  386. package/dist/esm/view/BlockCard/components/ContentHeader.js +0 -38
  387. package/dist/esm/view/BlockCard/components/Emoji.js +0 -25
  388. package/dist/esm/view/BlockCard/components/Link.js +0 -24
  389. package/dist/esm/view/BlockCard/components/Name.js +0 -54
  390. package/dist/esm/view/BlockCard/components/Provider.js +0 -50
  391. package/dist/esm/view/BlockCard/components/Thumbnail.js +0 -57
  392. package/dist/esm/view/BlockCard/components/UnresolvedText.js +0 -17
  393. package/dist/esm/view/BlockCard/views/ErroredView.js +0 -87
  394. package/dist/esm/view/BlockCard/views/ForbiddenView.js +0 -113
  395. package/dist/esm/view/BlockCard/views/NotFoundView.js +0 -78
  396. package/dist/esm/view/BlockCard/views/ResolvedView.js +0 -135
  397. package/dist/esm/view/BlockCard/views/ResolvingView.js +0 -49
  398. package/dist/esm/view/BlockCard/views/UnauthorizedView.js +0 -68
  399. package/dist/esm/view/BlockCard/views/styled.js +0 -10
  400. package/dist/esm/view/CardWithData/component.js +0 -59
  401. package/dist/esm/view/CardWithData/types.js +0 -1
  402. package/dist/esm/view/common/Byline.js +0 -45
  403. package/dist/esm/view/common/Metadata.js +0 -48
  404. package/dist/esm/view/common/MetadataList.js +0 -35
  405. package/dist/types/extractors/block/index.d.ts +0 -10
  406. package/dist/types/extractors/block/types.d.ts +0 -13
  407. package/dist/types/extractors/common/actions/extractPreviewAction.d.ts +0 -14
  408. package/dist/types/state/reducers/types.d.ts +0 -4
  409. package/dist/types/view/BlockCard/actions/AuthorizeAction.d.ts +0 -2
  410. package/dist/types/view/BlockCard/actions/DownloadAction.d.ts +0 -4
  411. package/dist/types/view/BlockCard/actions/PreviewAction.d.ts +0 -27
  412. package/dist/types/view/BlockCard/actions/RetryAction.d.ts +0 -2
  413. package/dist/types/view/BlockCard/actions/ViewAction.d.ts +0 -4
  414. package/dist/types/view/BlockCard/components/ActionIcon.d.ts +0 -12
  415. package/dist/types/view/BlockCard/components/ActionList.d.ts +0 -10
  416. package/dist/types/view/BlockCard/components/CollaboratorList.d.ts +0 -18
  417. package/dist/types/view/BlockCard/components/Content.d.ts +0 -18
  418. package/dist/types/view/BlockCard/components/ContentFooter.d.ts +0 -12
  419. package/dist/types/view/BlockCard/components/ContentHeader.d.ts +0 -19
  420. package/dist/types/view/BlockCard/components/Emoji.d.ts +0 -10
  421. package/dist/types/view/BlockCard/components/Link.d.ts +0 -11
  422. package/dist/types/view/BlockCard/components/Name.d.ts +0 -21
  423. package/dist/types/view/BlockCard/components/Provider.d.ts +0 -11
  424. package/dist/types/view/BlockCard/components/Thumbnail.d.ts +0 -13
  425. package/dist/types/view/BlockCard/components/UnresolvedText.d.ts +0 -11
  426. package/dist/types/view/BlockCard/views/ErroredView.d.ts +0 -19
  427. package/dist/types/view/BlockCard/views/ForbiddenView.d.ts +0 -35
  428. package/dist/types/view/BlockCard/views/NotFoundView.d.ts +0 -26
  429. package/dist/types/view/BlockCard/views/ResolvedView.d.ts +0 -46
  430. package/dist/types/view/BlockCard/views/ResolvingView.d.ts +0 -18
  431. package/dist/types/view/BlockCard/views/UnauthorizedView.d.ts +0 -19
  432. package/dist/types/view/BlockCard/views/styled.d.ts +0 -5
  433. package/dist/types/view/CardWithData/component.d.ts +0 -5
  434. package/dist/types/view/CardWithData/types.d.ts +0 -15
  435. package/dist/types/view/common/Byline.d.ts +0 -13
  436. package/dist/types/view/common/Metadata.d.ts +0 -13
  437. package/dist/types/view/common/MetadataList.d.ts +0 -12
  438. package/dist/types-ts4.5/extractors/block/index.d.ts +0 -10
  439. package/dist/types-ts4.5/extractors/block/types.d.ts +0 -13
  440. package/dist/types-ts4.5/extractors/common/actions/extractPreviewAction.d.ts +0 -14
  441. package/dist/types-ts4.5/state/reducers/types.d.ts +0 -4
  442. package/dist/types-ts4.5/view/BlockCard/actions/AuthorizeAction.d.ts +0 -2
  443. package/dist/types-ts4.5/view/BlockCard/actions/DownloadAction.d.ts +0 -4
  444. package/dist/types-ts4.5/view/BlockCard/actions/PreviewAction.d.ts +0 -27
  445. package/dist/types-ts4.5/view/BlockCard/actions/RetryAction.d.ts +0 -2
  446. package/dist/types-ts4.5/view/BlockCard/actions/ViewAction.d.ts +0 -4
  447. package/dist/types-ts4.5/view/BlockCard/components/ActionIcon.d.ts +0 -12
  448. package/dist/types-ts4.5/view/BlockCard/components/ActionList.d.ts +0 -10
  449. package/dist/types-ts4.5/view/BlockCard/components/CollaboratorList.d.ts +0 -18
  450. package/dist/types-ts4.5/view/BlockCard/components/Content.d.ts +0 -18
  451. package/dist/types-ts4.5/view/BlockCard/components/ContentFooter.d.ts +0 -12
  452. package/dist/types-ts4.5/view/BlockCard/components/ContentHeader.d.ts +0 -19
  453. package/dist/types-ts4.5/view/BlockCard/components/Emoji.d.ts +0 -10
  454. package/dist/types-ts4.5/view/BlockCard/components/Link.d.ts +0 -11
  455. package/dist/types-ts4.5/view/BlockCard/components/Name.d.ts +0 -21
  456. package/dist/types-ts4.5/view/BlockCard/components/Provider.d.ts +0 -11
  457. package/dist/types-ts4.5/view/BlockCard/components/Thumbnail.d.ts +0 -13
  458. package/dist/types-ts4.5/view/BlockCard/components/UnresolvedText.d.ts +0 -11
  459. package/dist/types-ts4.5/view/BlockCard/views/ErroredView.d.ts +0 -19
  460. package/dist/types-ts4.5/view/BlockCard/views/ForbiddenView.d.ts +0 -35
  461. package/dist/types-ts4.5/view/BlockCard/views/NotFoundView.d.ts +0 -26
  462. package/dist/types-ts4.5/view/BlockCard/views/ResolvedView.d.ts +0 -46
  463. package/dist/types-ts4.5/view/BlockCard/views/ResolvingView.d.ts +0 -18
  464. package/dist/types-ts4.5/view/BlockCard/views/UnauthorizedView.d.ts +0 -19
  465. package/dist/types-ts4.5/view/BlockCard/views/styled.d.ts +0 -5
  466. package/dist/types-ts4.5/view/CardWithData/component.d.ts +0 -5
  467. package/dist/types-ts4.5/view/CardWithData/types.d.ts +0 -15
  468. package/dist/types-ts4.5/view/common/Byline.d.ts +0 -13
  469. package/dist/types-ts4.5/view/common/Metadata.d.ts +0 -13
  470. package/dist/types-ts4.5/view/common/MetadataList.d.ts +0 -12
  471. /package/dist/cjs/{extractors/block → common/analytics}/types.js +0 -0
  472. /package/dist/cjs/{state/reducers → extractors/action}/types.js +0 -0
  473. /package/dist/es2019/{extractors/block → common/analytics}/types.js +0 -0
  474. /package/dist/es2019/{state/reducers → extractors/action}/types.js +0 -0
  475. /package/dist/{es2019/view/CardWithData → esm/common/analytics}/types.js +0 -0
  476. /package/dist/esm/extractors/{block → action}/types.js +0 -0
@@ -26,6 +26,7 @@ const UnresolvedView = ({
26
26
  onAuthorize: onAuthorize,
27
27
  onClick: onClick,
28
28
  onError: onError,
29
+ origin: "smartLinkCard",
29
30
  testId: testId,
30
31
  ui: FlexibleCardUiOptions,
31
32
  url: url
@@ -196,6 +196,7 @@ function Component({
196
196
  cardState: cardState,
197
197
  onAuthorize: services.length && handleAuthorize || undefined,
198
198
  onClick: handleClickWrapper,
199
+ origin: "smartLinkCard",
199
200
  renderers: renderers,
200
201
  ui: ui,
201
202
  showHoverPreview: showHoverPreview,
@@ -246,17 +247,13 @@ function Component({
246
247
  authFlow: config && config.authFlow,
247
248
  cardState: state,
248
249
  handleAuthorize: services.length && handleAuthorize || undefined,
249
- handleErrorRetry: handleRetry,
250
- handleInvoke: handleInvoke,
251
250
  handleFrameClick: handleClickWrapper,
252
251
  analytics: analytics,
253
252
  isSelected: isSelected,
254
253
  onResolve: onResolve,
255
254
  onError: onError,
256
255
  testId: testId,
257
- actionOptions: actionOptions,
258
- platform: platform,
259
- enableFlexibleBlockCard: true
256
+ actionOptions: actionOptions
260
257
  });
261
258
  case 'embed':
262
259
  return /*#__PURE__*/React.createElement(EmbedCard, {
@@ -1,9 +1,12 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
1
2
  import React, { useCallback, useRef, useState } from 'react';
2
3
  import ModalDialog, { ModalBody, ModalTransition } from '@atlaskit/modal-dialog';
4
+ import { fg } from '@atlaskit/platform-feature-flags';
3
5
  import { useThemeObserver } from '@atlaskit/tokens';
4
- import { ActionName, CardDisplay } from '../../constants';
6
+ import { ActionName, CardDisplay, SmartLinkSize } from '../../constants';
5
7
  import useInvokeClientAction from '../../state/hooks/use-invoke-client-action';
6
8
  import { downloadUrl, getPreviewUrlWithTheme, openUrl } from '../../utils';
9
+ import Icon from '../FlexibleCard/components/elements/icon';
7
10
  import withAnalytics from './components/analytics';
8
11
  import EmbedContent from './components/embed-content';
9
12
  import withErrorBoundary from './components/error-boundary';
@@ -15,11 +18,14 @@ const toWidth = size => size === EmbedModalSize.Large ? MAX_MODAL_SIZE : MIN_MOD
15
18
  const EmbedModal = ({
16
19
  analytics,
17
20
  download,
21
+ invokeDownloadAction,
18
22
  extensionKey,
23
+ fireEvent,
19
24
  icon,
20
25
  iframeName,
21
26
  isSupportTheming,
22
27
  isTrusted = false,
28
+ linkIcon,
23
29
  onClose,
24
30
  onOpen,
25
31
  onResize,
@@ -29,14 +35,16 @@ const EmbedModal = ({
29
35
  src,
30
36
  testId = 'smart-embed-preview-modal',
31
37
  title,
32
- url
38
+ url,
39
+ invokeViewAction
33
40
  }) => {
34
41
  const defaultWidth = toWidth(size);
35
42
  const [isOpen, setIsOpen] = useState(showModal);
36
43
  const [width, setWidth] = useState(defaultWidth);
37
44
  const openAt = useRef();
38
45
  const invoke = useInvokeClientAction({
39
- analytics
46
+ analytics,
47
+ fireEvent
40
48
  });
41
49
  const handleOnOpenComplete = useCallback(() => {
42
50
  openAt.current = Date.now();
@@ -68,21 +76,29 @@ const EmbedModal = ({
68
76
  const themeState = useThemeObserver();
69
77
  let previewUrl = src;
70
78
  const handleOnViewActionClick = useCallback(() => {
71
- invoke({
72
- actionType: 'ViewAction',
73
- actionFn: async () => openUrl(url),
74
- display: CardDisplay.EmbedPreview,
75
- extensionKey
76
- });
77
- }, [extensionKey, invoke, url]);
79
+ if (fg('platform-smart-card-migrate-embed-modal-analytics')) {
80
+ invokeViewAction && invoke(invokeViewAction);
81
+ } else {
82
+ invoke({
83
+ actionType: 'ViewAction',
84
+ actionFn: async () => openUrl(url),
85
+ display: CardDisplay.EmbedPreview,
86
+ extensionKey
87
+ });
88
+ }
89
+ }, [extensionKey, invoke, url, invokeViewAction]);
78
90
  const handleOnDownloadActionClick = useCallback(() => {
79
- invoke({
80
- actionType: ActionName.DownloadAction,
81
- actionFn: async () => downloadUrl(download),
82
- display: CardDisplay.EmbedPreview,
83
- extensionKey
84
- });
85
- }, [download, extensionKey, invoke]);
91
+ if (fg('platform-smart-card-migrate-embed-modal-analytics')) {
92
+ invokeDownloadAction && invoke(invokeDownloadAction);
93
+ } else {
94
+ invoke({
95
+ actionType: ActionName.DownloadAction,
96
+ actionFn: async () => downloadUrl(download),
97
+ display: CardDisplay.EmbedPreview,
98
+ extensionKey
99
+ });
100
+ }
101
+ }, [download, invokeDownloadAction, extensionKey, invoke]);
86
102
  if (previewUrl && isSupportTheming) {
87
103
  previewUrl = getPreviewUrlWithTheme(previewUrl, themeState);
88
104
  }
@@ -94,10 +110,15 @@ const EmbedModal = ({
94
110
  testId: testId,
95
111
  width: width
96
112
  }, /*#__PURE__*/React.createElement(LinkInfo, {
97
- icon: icon,
113
+ icon: fg('platform-smart-card-migrate-embed-modal-analytics') ? linkIcon ? {
114
+ icon: /*#__PURE__*/React.createElement(Icon, _extends({}, linkIcon, {
115
+ size: SmartLinkSize.Large
116
+ })),
117
+ isFlexibleUi: true
118
+ } : undefined : icon,
98
119
  providerName: providerName,
99
- onViewButtonClick: url ? handleOnViewActionClick : undefined,
100
- onDownloadButtonClick: download ? handleOnDownloadActionClick : undefined,
120
+ onViewButtonClick: fg('platform-smart-card-migrate-embed-modal-analytics') ? invokeViewAction ? handleOnViewActionClick : undefined : url ? handleOnViewActionClick : undefined,
121
+ onDownloadButtonClick: fg('platform-smart-card-migrate-embed-modal-analytics') ? invokeDownloadAction ? handleOnDownloadActionClick : undefined : download ? handleOnDownloadActionClick : undefined,
101
122
  onResizeButtonClick: handleOnResizeClick,
102
123
  size: width,
103
124
  title: title,
@@ -2,6 +2,7 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import React, { useCallback, useState } from 'react';
3
3
  import { FormattedMessage } from 'react-intl-next';
4
4
  import LinkIcon from '@atlaskit/icon/core/migration/link';
5
+ import { fg } from '@atlaskit/platform-feature-flags';
5
6
  import { ActionName } from '../../../../../constants';
6
7
  import { messages } from '../../../../../messages';
7
8
  import { useFlexibleUiAnalyticsContext, useFlexibleUiContext } from '../../../../../state/flexible-ui-context';
@@ -20,22 +21,36 @@ const CopyLinkAction = ({
20
21
  const data = context === null || context === void 0 ? void 0 : (_context$actions = context.actions) === null || _context$actions === void 0 ? void 0 : _context$actions[ActionName.CopyLinkAction];
21
22
  const [tooltipMessage, setTooltipMessage] = useState(messages.copy_url_to_clipboard);
22
23
  const onClick = useCallback(() => {
23
- if (data && data.url) {
24
- invoke({
25
- actionType: ActionName.CopyLinkAction,
26
- actionFn: async () => {
27
- var _data$url;
28
- await navigator.clipboard.writeText((_data$url = data.url) !== null && _data$url !== void 0 ? _data$url : '');
29
- setTooltipMessage(messages.copied_url_to_clipboard);
30
- },
31
- // These values have already been set in analytics context.
32
- // We only pass these here for ufo experience.
33
- display: analytics === null || analytics === void 0 ? void 0 : analytics.display,
34
- extensionKey: analytics === null || analytics === void 0 ? void 0 : analytics.extensionKey
35
- });
36
- }
37
- if (onClickCallback) {
38
- onClickCallback();
24
+ if (fg('platform-smart-card-migrate-embed-modal-analytics')) {
25
+ if (data !== null && data !== void 0 && data.invokeAction) {
26
+ invoke({
27
+ ...data.invokeAction,
28
+ actionFn: async () => {
29
+ var _data$invokeAction;
30
+ await ((_data$invokeAction = data.invokeAction) === null || _data$invokeAction === void 0 ? void 0 : _data$invokeAction.actionFn());
31
+ setTooltipMessage(messages.copied_url_to_clipboard);
32
+ }
33
+ });
34
+ onClickCallback === null || onClickCallback === void 0 ? void 0 : onClickCallback();
35
+ }
36
+ } else {
37
+ if (data && data.url) {
38
+ invoke({
39
+ actionType: ActionName.CopyLinkAction,
40
+ actionFn: async () => {
41
+ var _data$url;
42
+ await navigator.clipboard.writeText((_data$url = data.url) !== null && _data$url !== void 0 ? _data$url : '');
43
+ setTooltipMessage(messages.copied_url_to_clipboard);
44
+ },
45
+ // These values have already been set in analytics context.
46
+ // We only pass these here for ufo experience.
47
+ display: analytics === null || analytics === void 0 ? void 0 : analytics.display,
48
+ extensionKey: analytics === null || analytics === void 0 ? void 0 : analytics.extensionKey
49
+ });
50
+ }
51
+ if (onClickCallback) {
52
+ onClickCallback();
53
+ }
39
54
  }
40
55
  }, [analytics, data, invoke, onClickCallback]);
41
56
  return data ? /*#__PURE__*/React.createElement(Action, _extends({
@@ -2,6 +2,7 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import React, { useCallback } from 'react';
3
3
  import { FormattedMessage } from 'react-intl-next';
4
4
  import DownloadIcon from '@atlaskit/icon/core/migration/download';
5
+ import { fg } from '@atlaskit/platform-feature-flags';
5
6
  import { ActionName } from '../../../../../constants';
6
7
  import { messages } from '../../../../../messages';
7
8
  import { useFlexibleUiAnalyticsContext, useFlexibleUiContext } from '../../../../../state/flexible-ui-context';
@@ -20,20 +21,27 @@ const DownloadAction = ({
20
21
  });
21
22
  const data = context === null || context === void 0 ? void 0 : (_context$actions = context.actions) === null || _context$actions === void 0 ? void 0 : _context$actions[ActionName.DownloadAction];
22
23
  const onClick = useCallback(() => {
23
- if (data !== null && data !== void 0 && data.downloadUrl) {
24
- invoke({
25
- actionType: ActionName.DownloadAction,
26
- actionFn: async () => download(data === null || data === void 0 ? void 0 : data.downloadUrl),
27
- // These values have already been set in analytics context.
28
- // We only pass these here for ufo experience.
29
- display: analytics === null || analytics === void 0 ? void 0 : analytics.display,
30
- extensionKey: analytics === null || analytics === void 0 ? void 0 : analytics.extensionKey
31
- });
32
- if (onClickCallback) {
33
- onClickCallback();
24
+ if (fg('platform-smart-card-migrate-embed-modal-analytics')) {
25
+ if (data !== null && data !== void 0 && data.invokeAction) {
26
+ invoke(data.invokeAction);
27
+ onClickCallback === null || onClickCallback === void 0 ? void 0 : onClickCallback();
28
+ }
29
+ } else {
30
+ if (data !== null && data !== void 0 && data.downloadUrl) {
31
+ invoke({
32
+ actionType: ActionName.DownloadAction,
33
+ actionFn: async () => download(data === null || data === void 0 ? void 0 : data.downloadUrl),
34
+ // These values have already been set in analytics context.
35
+ // We only pass these here for ufo experience.
36
+ display: analytics === null || analytics === void 0 ? void 0 : analytics.display,
37
+ extensionKey: analytics === null || analytics === void 0 ? void 0 : analytics.extensionKey
38
+ });
39
+ if (onClickCallback) {
40
+ onClickCallback();
41
+ }
34
42
  }
35
43
  }
36
- }, [analytics, data === null || data === void 0 ? void 0 : data.downloadUrl, invoke, onClickCallback]);
44
+ }, [analytics, data, invoke, onClickCallback]);
37
45
  const isStackItem = props.as === 'stack-item';
38
46
  const label = isStackItem ? messages.download_file : messages.download;
39
47
  const tooltipMessage = isStackItem ? messages.download_description : messages.download;
@@ -2,6 +2,7 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import React, { useCallback } from 'react';
3
3
  import { FormattedMessage } from 'react-intl-next';
4
4
  import MediaServicesActualSizeIcon from '@atlaskit/icon/core/migration/grow-diagonal--media-services-actual-size';
5
+ import { fg } from '@atlaskit/platform-feature-flags';
5
6
  import { ActionName } from '../../../../../constants';
6
7
  import { messages } from '../../../../../messages';
7
8
  import { useFlexibleUiAnalyticsContext, useFlexibleUiContext } from '../../../../../state/flexible-ui-context';
@@ -20,23 +21,30 @@ const PreviewAction = ({
20
21
  });
21
22
  const data = context === null || context === void 0 ? void 0 : (_context$actions = context.actions) === null || _context$actions === void 0 ? void 0 : _context$actions[ActionName.PreviewAction];
22
23
  const onClick = useCallback(() => {
23
- if (data) {
24
- invoke({
25
- actionType: ActionName.PreviewAction,
26
- actionFn: async () => openEmbedModalWithFlexibleUiIcon({
27
- download: data === null || data === void 0 ? void 0 : data.downloadUrl,
28
- extensionKey: analytics === null || analytics === void 0 ? void 0 : analytics.extensionKey,
29
- analytics,
30
- ...data
31
- }),
32
- // These values have already been set in analytics context.
33
- // We only pass these here for ufo experience.
34
- display: analytics === null || analytics === void 0 ? void 0 : analytics.display,
35
- extensionKey: analytics === null || analytics === void 0 ? void 0 : analytics.extensionKey
36
- });
37
- }
38
- if (onClickCallback) {
39
- onClickCallback();
24
+ if (fg('platform-smart-card-migrate-embed-modal-analytics')) {
25
+ if (data !== null && data !== void 0 && data.invokeAction) {
26
+ invoke(data.invokeAction);
27
+ onClickCallback === null || onClickCallback === void 0 ? void 0 : onClickCallback();
28
+ }
29
+ } else {
30
+ if (data) {
31
+ invoke({
32
+ actionType: ActionName.PreviewAction,
33
+ actionFn: async () => openEmbedModalWithFlexibleUiIcon({
34
+ download: data === null || data === void 0 ? void 0 : data.downloadUrl,
35
+ extensionKey: analytics === null || analytics === void 0 ? void 0 : analytics.extensionKey,
36
+ analytics,
37
+ ...data
38
+ }),
39
+ // These values have already been set in analytics context.
40
+ // We only pass these here for ufo experience.
41
+ display: analytics === null || analytics === void 0 ? void 0 : analytics.display,
42
+ extensionKey: analytics === null || analytics === void 0 ? void 0 : analytics.extensionKey
43
+ });
44
+ }
45
+ if (onClickCallback) {
46
+ onClickCallback();
47
+ }
40
48
  }
41
49
  }, [analytics, data, invoke, onClickCallback]);
42
50
  const isStackItem = props.as === 'stack-item';
@@ -14,6 +14,7 @@ import { R50, R500 } from '@atlaskit/theme/colors';
14
14
  import { useAnalyticsEvents } from '../../../../../../../common/analytics/generated/use-analytics-events';
15
15
  import { messages } from '../../../../../../../messages';
16
16
  import { useFlexibleUiAnalyticsContext } from '../../../../../../../state/flexible-ui-context';
17
+ import useInvokeClientAction from '../../../../../../../state/hooks/use-invoke-client-action';
17
18
  import useResolve from '../../../../../../../state/hooks/use-resolve';
18
19
  import { getFormattedMessage, openEmbedModalWithFlexibleUiIcon } from '../../../../utils';
19
20
  import { contentStyles, dropdownItemGroupStyles, linkStyles, textStyles } from './styled';
@@ -22,6 +23,7 @@ const LozengeActionError = ({
22
23
  errorMessage,
23
24
  testId,
24
25
  maxLineNumber = MAX_LINE_NUMBER,
26
+ invokePreviewAction,
25
27
  url,
26
28
  previewData
27
29
  }) => {
@@ -30,7 +32,8 @@ const LozengeActionError = ({
30
32
  } = useAnalyticsEvents();
31
33
  const reload = useResolve();
32
34
  const analytics = useFlexibleUiAnalyticsContext();
33
- const isPreviewAvailable = previewData && previewData.src !== undefined;
35
+ const invoke = useInvokeClientAction({});
36
+ const isPreviewAvailable = fg('platform-smart-card-migrate-embed-modal-analytics') ? invokePreviewAction !== undefined : previewData && previewData.src !== undefined;
34
37
  const handlePreviewClose = useCallback(() => {
35
38
  if (url) {
36
39
  reload(url, true);
@@ -43,13 +46,17 @@ const LozengeActionError = ({
43
46
  } else {
44
47
  analytics === null || analytics === void 0 ? void 0 : analytics.ui.smartLinkLozengeActionErrorOpenPreviewClickedEvent();
45
48
  }
46
- return openEmbedModalWithFlexibleUiIcon({
47
- ...previewData,
48
- analytics,
49
- onClose: handlePreviewClose
50
- });
49
+ if (fg('platform-smart-card-migrate-embed-modal-analytics')) {
50
+ invokePreviewAction && invoke(invokePreviewAction);
51
+ } else {
52
+ return openEmbedModalWithFlexibleUiIcon({
53
+ ...previewData,
54
+ analytics,
55
+ onClose: handlePreviewClose
56
+ });
57
+ }
51
58
  }
52
- }, [analytics, handlePreviewClose, isPreviewAvailable, previewData, fireEvent]);
59
+ }, [analytics, handlePreviewClose, isPreviewAvailable, invoke, invokePreviewAction, previewData, fireEvent]);
53
60
  const content = useMemo(() => {
54
61
  return jsx(Fragment, null, jsx("div", {
55
62
  css: contentStyles
@@ -198,6 +198,10 @@ export const getTruncateStyles = (maxLines, lineHeight = '1rem', wordBreak = 'br
198
198
  export const hasWhiteSpace = str => {
199
199
  return str.search(/\s/) >= 0;
200
200
  };
201
+
202
+ /**
203
+ * TODO: Remove on cleanup of platform-smart-card-migrate-embed-modal-analytics
204
+ */
201
205
  export const openEmbedModalWithFlexibleUiIcon = ({
202
206
  linkIcon,
203
207
  ...props
@@ -1,8 +1,10 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import React, { useEffect, useMemo } from 'react';
3
+ import { useAnalyticsEvents } from '../../common/analytics/generated/use-analytics-events';
3
4
  import { SmartLinkStatus } from '../../constants';
4
5
  import { FlexibleUiAnalyticsContext, FlexibleUiContext, FlexibleUiOptionContext } from '../../state/flexible-ui-context';
5
6
  import { useAISummaryConfig } from '../../state/hooks/use-ai-summary-config';
7
+ import useResolve from '../../state/hooks/use-resolve';
6
8
  import Container from './components/container';
7
9
  import { getContextByStatus, getRetryOptions } from './utils';
8
10
 
@@ -22,6 +24,7 @@ const FlexibleCard = ({
22
24
  onClick,
23
25
  onError,
24
26
  onResolve,
27
+ origin,
25
28
  renderers,
26
29
  showAuthTooltip,
27
30
  showHoverPreview,
@@ -33,6 +36,10 @@ const FlexibleCard = ({
33
36
  }) => {
34
37
  var _details$meta2;
35
38
  const aiSummaryConfig = useAISummaryConfig();
39
+ const resolve = useResolve();
40
+ const {
41
+ fireEvent
42
+ } = useAnalyticsEvents();
36
43
  const {
37
44
  status: cardType,
38
45
  details
@@ -40,13 +47,17 @@ const FlexibleCard = ({
40
47
  const status = cardType;
41
48
  const context = useMemo(() => getContextByStatus({
42
49
  aiSummaryConfig,
50
+ appearance,
51
+ fireEvent,
43
52
  response: details,
44
53
  id,
54
+ origin,
45
55
  renderers,
56
+ resolve,
46
57
  actionOptions,
47
58
  status,
48
59
  url
49
- }), [aiSummaryConfig, details, id, renderers, actionOptions, status, url]);
60
+ }), [aiSummaryConfig, appearance, details, fireEvent, id, origin, renderers, actionOptions, resolve, status, url]);
50
61
  const retry = getRetryOptions(url, status, details, onAuthorize);
51
62
  const {
52
63
  title
@@ -153,6 +153,7 @@ const HoverCardContent = ({
153
153
  cardState: cardState,
154
154
  onClick: onClick,
155
155
  onResolve: onResolve,
156
+ origin: 'smartLinkPreviewHoverCard',
156
157
  renderers: renderers,
157
158
  actionOptions,
158
159
  ui: flexibleUiOptions,
@@ -10,7 +10,7 @@ import LinkWarningModal from './LinkWarningModal';
10
10
  import { useLinkWarningModal } from './LinkWarningModal/hooks/use-link-warning-modal';
11
11
  const PACKAGE_DATA = {
12
12
  packageName: "@atlaskit/smart-card",
13
- packageVersion: "32.7.0",
13
+ packageVersion: "32.7.2",
14
14
  componentName: 'linkUrl'
15
15
  };
16
16
  const Anchor = withLinkClickedEvent('a');
@@ -1,11 +1,13 @@
1
- export { contentFooterClassName } from './view/BlockCard/components/ContentFooter';
2
- export { metadataListClassName } from './view/common/MetadataList';
3
- export { blockCardResolvingViewClassName } from './view/BlockCard/views/ResolvingView';
4
- export { blockCardResolvedViewClassName, blockCardResolvedViewByClassName } from './view/BlockCard/views/ResolvedView';
5
- export { blockCardForbiddenViewClassName, blockCardForbiddenViewLinkClassName } from './view/BlockCard/views/ForbiddenView';
1
+ export var contentFooterClassName = 'smart-link-content-footer';
2
+ export var metadataListClassName = 'smart-link-metadata-list';
3
+ export var blockCardResolvingViewClassName = 'block-card-resolving-view';
4
+ export var blockCardResolvedViewClassName = 'block-card-resolved-view';
5
+ export var blockCardResolvedViewByClassName = 'block-card-resolved-view-by';
6
+ export var blockCardForbiddenViewClassName = 'block-card-forbidden-view';
7
+ export var blockCardForbiddenViewLinkClassName = 'block-card-forbidden-view-link';
6
8
  export { blockCardIconImageClassName } from './view/common/Icon';
7
- export { blockCardContentClassName } from './view/BlockCard/components/Content';
8
- export { blockCardContentHeaderClassName } from './view/BlockCard/components/ContentHeader';
9
- export { blockCardContentHeaderNameClassName } from './view/BlockCard/components/Name';
10
- export { blockCardNotFoundViewClassName } from './view/BlockCard/views/NotFoundView';
11
- export { blockCardErroredViewClassName } from './view/BlockCard/views/ErroredView';
9
+ export var blockCardContentClassName = 'block-card-content';
10
+ export var blockCardContentHeaderClassName = 'block-card-content-header';
11
+ export var blockCardContentHeaderNameClassName = 'block-card-content-header-name';
12
+ export var blockCardNotFoundViewClassName = 'block-card-not-found-view';
13
+ export var blockCardErroredViewClassName = 'block-card-errored-view';
@@ -0,0 +1,46 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ import { extractLink } from '@atlaskit/link-extractors';
4
+ import { ActionName, CardAction } from '../../index';
5
+ import { getDefinitionId, getExtensionKey, getResourceType } from '../../state/helpers';
6
+ import { canShowAction } from '../../utils/actions/can-show-action';
7
+ export var extractInvokeCopyLinkAction = function extractInvokeCopyLinkAction(_ref) {
8
+ var actionOptions = _ref.actionOptions,
9
+ appearance = _ref.appearance,
10
+ id = _ref.id,
11
+ response = _ref.response;
12
+ if (!canShowAction(CardAction.CopyLinkAction, actionOptions)) {
13
+ return;
14
+ }
15
+ var data = response.data;
16
+ var url = extractLink(data);
17
+ if (!url) {
18
+ return;
19
+ }
20
+ return {
21
+ actionFn: function () {
22
+ var _actionFn = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
23
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
24
+ while (1) switch (_context.prev = _context.next) {
25
+ case 0:
26
+ return _context.abrupt("return", navigator.clipboard.writeText(url));
27
+ case 1:
28
+ case "end":
29
+ return _context.stop();
30
+ }
31
+ }, _callee);
32
+ }));
33
+ function actionFn() {
34
+ return _actionFn.apply(this, arguments);
35
+ }
36
+ return actionFn;
37
+ }(),
38
+ actionSubjectId: 'copyLink',
39
+ actionType: ActionName.CopyLinkAction,
40
+ definitionId: getDefinitionId(response),
41
+ display: appearance,
42
+ extensionKey: getExtensionKey(response),
43
+ id: id,
44
+ resourceType: getResourceType(response)
45
+ };
46
+ };
@@ -0,0 +1,50 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ import { ActionName, CardAction } from '../../index';
4
+ import { getDefinitionId, getExtensionKey, getResourceType } from '../../state/helpers';
5
+ import { downloadUrl as download } from '../../utils';
6
+ import { canShowAction } from '../../utils/actions/can-show-action';
7
+ import { getActionsFromJsonLd } from '../common/actions/extractActions';
8
+ import { extractDownloadUrl } from '../common/detail';
9
+ export var extractInvokeDownloadAction = function extractInvokeDownloadAction(_ref) {
10
+ var actionOptions = _ref.actionOptions,
11
+ appearance = _ref.appearance,
12
+ id = _ref.id,
13
+ response = _ref.response;
14
+ if (!canShowAction(CardAction.DownloadAction, actionOptions)) {
15
+ return;
16
+ }
17
+ var data = response.data;
18
+ var downloadActionExists = getActionsFromJsonLd(data).find(function (action) {
19
+ return action['@type'] === 'DownloadAction';
20
+ });
21
+ if (downloadActionExists) {
22
+ var downloadUrl = extractDownloadUrl(data);
23
+ return {
24
+ actionFn: function () {
25
+ var _actionFn = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
26
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
27
+ while (1) switch (_context.prev = _context.next) {
28
+ case 0:
29
+ return _context.abrupt("return", download(downloadUrl));
30
+ case 1:
31
+ case "end":
32
+ return _context.stop();
33
+ }
34
+ }, _callee);
35
+ }));
36
+ function actionFn() {
37
+ return _actionFn.apply(this, arguments);
38
+ }
39
+ return actionFn;
40
+ }(),
41
+ actionSubjectId: 'downloadDocument',
42
+ actionType: ActionName.DownloadAction,
43
+ definitionId: getDefinitionId(response),
44
+ display: appearance,
45
+ extensionKey: getExtensionKey(response),
46
+ id: id,
47
+ resourceType: getResourceType(response)
48
+ };
49
+ }
50
+ };
@@ -0,0 +1,71 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ import { extractLink, extractPreview as extractPreviewData, extractProvider, extractTitle } from '@atlaskit/link-extractors';
4
+ import { ActionName, CardAction } from '../../index';
5
+ import { getDefinitionId, getExtensionKey, getResourceType } from '../../state/helpers';
6
+ import { canShowAction } from '../../utils/actions/can-show-action';
7
+ import { openEmbedModal } from '../../view/EmbedModal/utils';
8
+ import { extractIsSupportTheming } from '../common/meta/extractIsSupportTheming';
9
+ import { extractIsTrusted } from '../common/meta/extractIsTrusted';
10
+ import { extractLinkIcon } from '../flexible/icon';
11
+ import { extractInvokeDownloadAction } from './extract-invoke-download-action';
12
+ import { extractInvokeViewAction } from './extract-invoke-view-action';
13
+ export var extractInvokePreviewAction = function extractInvokePreviewAction(param) {
14
+ var _extractPreviewData;
15
+ var actionOptions = param.actionOptions,
16
+ display = param.appearance,
17
+ fireEvent = param.fireEvent,
18
+ onClose = param.onClose,
19
+ id = param.id,
20
+ origin = param.origin,
21
+ response = param.response;
22
+ if (!canShowAction(CardAction.PreviewAction, actionOptions)) {
23
+ return;
24
+ }
25
+ var data = response.data;
26
+ var meta = response.meta;
27
+ var src = (_extractPreviewData = extractPreviewData(data, 'web')) === null || _extractPreviewData === void 0 ? void 0 : _extractPreviewData.src;
28
+ if (src) {
29
+ var url = extractLink(data);
30
+ return {
31
+ actionFn: function () {
32
+ var _actionFn = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
33
+ var _extractProvider;
34
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
35
+ while (1) switch (_context.prev = _context.next) {
36
+ case 0:
37
+ return _context.abrupt("return", openEmbedModal({
38
+ fireEvent: fireEvent,
39
+ invokeDownloadAction: extractInvokeDownloadAction(param),
40
+ isSupportTheming: extractIsSupportTheming(meta),
41
+ isTrusted: extractIsTrusted(meta),
42
+ linkIcon: extractLinkIcon(response),
43
+ providerName: (_extractProvider = extractProvider(data)) === null || _extractProvider === void 0 ? void 0 : _extractProvider.text,
44
+ onClose: onClose,
45
+ origin: origin,
46
+ src: src,
47
+ title: extractTitle(data),
48
+ url: url,
49
+ invokeViewAction: extractInvokeViewAction(param, true)
50
+ }));
51
+ case 1:
52
+ case "end":
53
+ return _context.stop();
54
+ }
55
+ }, _callee);
56
+ }));
57
+ function actionFn() {
58
+ return _actionFn.apply(this, arguments);
59
+ }
60
+ return actionFn;
61
+ }(),
62
+ actionSubjectId: 'invokePreviewScreen',
63
+ actionType: ActionName.PreviewAction,
64
+ definitionId: getDefinitionId(response),
65
+ display: display,
66
+ extensionKey: getExtensionKey(response),
67
+ id: id,
68
+ resourceType: getResourceType(response)
69
+ };
70
+ }
71
+ };