@atlaskit/smart-card 23.3.0 → 23.4.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 (418) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/dist/cjs/constants.js +7 -2
  3. package/dist/cjs/extractors/common/actions/extractActions.js +3 -0
  4. package/dist/cjs/extractors/flexible/actions/extract-download-action.js +26 -0
  5. package/dist/cjs/extractors/flexible/actions/extract-preview-action.js +36 -0
  6. package/dist/cjs/extractors/flexible/actions/extract-view-action.js +26 -0
  7. package/dist/cjs/extractors/flexible/index.js +9 -0
  8. package/dist/cjs/messages.js +15 -0
  9. package/dist/cjs/state/flexible-ui-context/index.js +15 -2
  10. package/dist/cjs/version.json +1 -1
  11. package/dist/cjs/view/{BlockCard/utils → EmbedCard}/constants.js +4 -4
  12. package/dist/cjs/view/EmbedCard/views/ForbiddenView.js +1 -1
  13. package/dist/cjs/view/EmbedCard/views/NotFoundView.js +1 -1
  14. package/dist/cjs/view/EmbedCard/views/UnauthorisedView.js +23 -5
  15. package/dist/cjs/view/EmbedCard/views/UnresolvedView.js +9 -5
  16. package/dist/cjs/view/FlexibleCard/components/actions/action/download-action/index.js +110 -0
  17. package/dist/cjs/view/FlexibleCard/components/actions/action/download-action/types.js +5 -0
  18. package/dist/cjs/view/FlexibleCard/components/actions/action/preview-action/index.js +167 -0
  19. package/dist/cjs/view/FlexibleCard/components/actions/action/preview-action/types.js +5 -0
  20. package/dist/cjs/view/FlexibleCard/components/actions/action/view-action/index.js +92 -0
  21. package/dist/cjs/view/FlexibleCard/components/actions/action/view-action/types.js +5 -0
  22. package/dist/cjs/view/FlexibleCard/components/actions/index.js +26 -2
  23. package/dist/cjs/view/FlexibleCard/components/actions/utils.js +51 -2
  24. package/dist/cjs/view/FlexibleCard/components/blocks/action-group/index.js +19 -13
  25. package/dist/cjs/view/FlexibleCard/components/blocks/utils.js +9 -4
  26. package/dist/cjs/view/FlexibleCard/components/elements/media/index.js +1 -1
  27. package/dist/cjs/view/FlexibleCard/index.js +6 -3
  28. package/dist/cjs/view/common/Icon.js +25 -13
  29. package/dist/es2019/constants.js +5 -0
  30. package/dist/es2019/extractors/common/actions/extractActions.js +1 -2
  31. package/dist/es2019/extractors/flexible/actions/extract-download-action.js +13 -0
  32. package/dist/es2019/extractors/flexible/actions/extract-preview-action.js +23 -0
  33. package/dist/es2019/extractors/flexible/actions/extract-view-action.js +13 -0
  34. package/dist/es2019/extractors/flexible/index.js +7 -1
  35. package/dist/es2019/messages.js +15 -0
  36. package/dist/es2019/state/flexible-ui-context/index.js +8 -1
  37. package/dist/es2019/version.json +1 -1
  38. package/dist/es2019/view/{BlockCard/utils → EmbedCard}/constants.js +2 -2
  39. package/dist/es2019/view/EmbedCard/views/ForbiddenView.js +1 -1
  40. package/dist/es2019/view/EmbedCard/views/NotFoundView.js +1 -1
  41. package/dist/es2019/view/EmbedCard/views/UnauthorisedView.js +19 -5
  42. package/dist/es2019/view/EmbedCard/views/UnresolvedView.js +9 -5
  43. package/dist/es2019/view/FlexibleCard/components/actions/action/download-action/index.js +66 -0
  44. package/dist/es2019/view/FlexibleCard/components/actions/action/download-action/types.js +1 -0
  45. package/dist/es2019/view/FlexibleCard/components/actions/action/preview-action/index.js +104 -0
  46. package/dist/es2019/view/FlexibleCard/components/actions/action/preview-action/types.js +1 -0
  47. package/dist/es2019/view/FlexibleCard/components/actions/action/view-action/index.js +46 -0
  48. package/dist/es2019/view/FlexibleCard/components/actions/action/view-action/types.js +1 -0
  49. package/dist/es2019/view/FlexibleCard/components/actions/index.js +23 -2
  50. package/dist/es2019/view/FlexibleCard/components/actions/utils.js +48 -2
  51. package/dist/es2019/view/FlexibleCard/components/blocks/action-group/index.js +12 -9
  52. package/dist/es2019/view/FlexibleCard/components/blocks/utils.js +9 -4
  53. package/dist/es2019/view/FlexibleCard/components/elements/media/index.js +1 -1
  54. package/dist/es2019/view/FlexibleCard/index.js +7 -4
  55. package/dist/es2019/view/common/Icon.js +31 -13
  56. package/dist/esm/constants.js +5 -0
  57. package/dist/esm/extractors/common/actions/extractActions.js +1 -2
  58. package/dist/esm/extractors/flexible/actions/extract-download-action.js +15 -0
  59. package/dist/esm/extractors/flexible/actions/extract-preview-action.js +23 -0
  60. package/dist/esm/extractors/flexible/actions/extract-view-action.js +15 -0
  61. package/dist/esm/extractors/flexible/index.js +7 -1
  62. package/dist/esm/messages.js +15 -0
  63. package/dist/esm/state/flexible-ui-context/index.js +9 -0
  64. package/dist/esm/version.json +1 -1
  65. package/dist/esm/view/{BlockCard/utils → EmbedCard}/constants.js +2 -2
  66. package/dist/esm/view/EmbedCard/views/ForbiddenView.js +1 -1
  67. package/dist/esm/view/EmbedCard/views/NotFoundView.js +1 -1
  68. package/dist/esm/view/EmbedCard/views/UnauthorisedView.js +19 -5
  69. package/dist/esm/view/EmbedCard/views/UnresolvedView.js +9 -5
  70. package/dist/esm/view/FlexibleCard/components/actions/action/download-action/index.js +96 -0
  71. package/dist/esm/view/FlexibleCard/components/actions/action/download-action/types.js +1 -0
  72. package/dist/esm/view/FlexibleCard/components/actions/action/preview-action/index.js +136 -0
  73. package/dist/esm/view/FlexibleCard/components/actions/action/preview-action/types.js +1 -0
  74. package/dist/esm/view/FlexibleCard/components/actions/action/view-action/index.js +77 -0
  75. package/dist/esm/view/FlexibleCard/components/actions/action/view-action/types.js +1 -0
  76. package/dist/esm/view/FlexibleCard/components/actions/index.js +23 -2
  77. package/dist/esm/view/FlexibleCard/components/actions/utils.js +45 -2
  78. package/dist/esm/view/FlexibleCard/components/blocks/action-group/index.js +19 -13
  79. package/dist/esm/view/FlexibleCard/components/blocks/utils.js +9 -4
  80. package/dist/esm/view/FlexibleCard/components/elements/media/index.js +1 -1
  81. package/dist/esm/view/FlexibleCard/index.js +7 -4
  82. package/dist/esm/view/common/Icon.js +27 -13
  83. package/dist/types/constants.d.ts +4 -0
  84. package/dist/types/extractors/common/__mocks__/jsonld.d.ts +112 -0
  85. package/dist/types/extractors/common/actions/extractActions.d.ts +1 -0
  86. package/dist/types/extractors/flexible/actions/extract-download-action.d.ts +3 -0
  87. package/dist/types/extractors/flexible/actions/extract-preview-action.d.ts +3 -0
  88. package/dist/types/extractors/flexible/actions/extract-view-action.d.ts +3 -0
  89. package/dist/types/messages.d.ts +1 -1
  90. package/dist/types/state/flexible-ui-context/index.d.ts +76 -0
  91. package/dist/types/state/flexible-ui-context/types.d.ts +32 -0
  92. package/dist/types/view/BlockCard/actions/PreviewAction.d.ts +2 -2
  93. package/dist/types/view/{BlockCard/utils → EmbedCard}/constants.d.ts +1 -1
  94. package/dist/types/view/EmbedCard/types.d.ts +1 -0
  95. package/dist/types/view/EmbedModal/index.d.ts +20 -2
  96. package/dist/types/view/EmbedModal/types.d.ts +1 -2
  97. package/dist/types/view/FlexibleCard/components/actions/action/download-action/index.d.ts +4 -0
  98. package/dist/types/view/FlexibleCard/components/actions/action/download-action/types.d.ts +8 -0
  99. package/dist/types/view/FlexibleCard/components/actions/action/preview-action/index.d.ts +5 -0
  100. package/dist/types/view/FlexibleCard/components/actions/action/preview-action/types.d.ts +15 -0
  101. package/dist/types/view/FlexibleCard/components/actions/action/view-action/index.d.ts +5 -0
  102. package/dist/types/view/FlexibleCard/components/actions/action/view-action/types.d.ts +8 -0
  103. package/dist/types/view/FlexibleCard/components/actions/index.d.ts +21 -0
  104. package/dist/types/view/FlexibleCard/components/blocks/types.d.ts +50 -3
  105. package/dist/types/view/FlexibleCard/components/blocks/utils.d.ts +1 -1
  106. package/dist/types/view/FlexibleCard/types.d.ts +6 -0
  107. package/dist/types/view/common/Icon.d.ts +2 -1
  108. package/package.json +2 -10
  109. package/report.api.md +30 -2
  110. package/tmp/api-report-tmp.d.ts +25 -3
  111. package/dist/types-ts4.0/__fixtures__/flexible-ui-data-context.d.ts +0 -3
  112. package/dist/types-ts4.0/__tests_external__/index.d.ts +0 -6
  113. package/dist/types-ts4.0/__tests_external__/page-objects/BaseCard.d.ts +0 -16
  114. package/dist/types-ts4.0/__tests_external__/page-objects/BlockCard.d.ts +0 -6
  115. package/dist/types-ts4.0/__tests_external__/page-objects/EmbedCard.d.ts +0 -6
  116. package/dist/types-ts4.0/__tests_external__/page-objects/InlineCard.d.ts +0 -6
  117. package/dist/types-ts4.0/__tests_external__/test-cases/card.d.ts +0 -3
  118. package/dist/types-ts4.0/__tests_external__/test-cases/embed.d.ts +0 -3
  119. package/dist/types-ts4.0/__tests_external__/test-cases/inline.d.ts +0 -3
  120. package/dist/types-ts4.0/__tests_external__/test-cases/types.d.ts +0 -5
  121. package/dist/types-ts4.0/classNames.d.ts +0 -11
  122. package/dist/types-ts4.0/client/index.d.ts +0 -1
  123. package/dist/types-ts4.0/constants.d.ts +0 -187
  124. package/dist/types-ts4.0/extractors/block/index.d.ts +0 -9
  125. package/dist/types-ts4.0/extractors/block/types.d.ts +0 -12
  126. package/dist/types-ts4.0/extractors/common/__mocks__/jsonld.d.ts +0 -234
  127. package/dist/types-ts4.0/extractors/common/__mocks__/render.d.ts +0 -2
  128. package/dist/types-ts4.0/extractors/common/actions/extractActions.d.ts +0 -4
  129. package/dist/types-ts4.0/extractors/common/actions/extractPreviewAction.d.ts +0 -9
  130. package/dist/types-ts4.0/extractors/common/byline/extractByline.d.ts +0 -3
  131. package/dist/types-ts4.0/extractors/common/context/extractAccessContext.d.ts +0 -7
  132. package/dist/types-ts4.0/extractors/common/context/index.d.ts +0 -1
  133. package/dist/types-ts4.0/extractors/common/detail/extractAttachmentCount.d.ts +0 -4
  134. package/dist/types-ts4.0/extractors/common/detail/extractCommentCount.d.ts +0 -4
  135. package/dist/types-ts4.0/extractors/common/detail/extractDownloadUrl.d.ts +0 -2
  136. package/dist/types-ts4.0/extractors/common/detail/extractProgrammingLanguage.d.ts +0 -4
  137. package/dist/types-ts4.0/extractors/common/detail/extractSubscriberCount.d.ts +0 -4
  138. package/dist/types-ts4.0/extractors/common/detail/index.d.ts +0 -9
  139. package/dist/types-ts4.0/extractors/common/detail/types.d.ts +0 -5
  140. package/dist/types-ts4.0/extractors/common/icon/extractFileFormat.d.ts +0 -2
  141. package/dist/types-ts4.0/extractors/common/icon/extractIcon.d.ts +0 -14
  142. package/dist/types-ts4.0/extractors/common/icon/extractIconFromDocument.d.ts +0 -4
  143. package/dist/types-ts4.0/extractors/common/icon/extractIconFromTask.d.ts +0 -3
  144. package/dist/types-ts4.0/extractors/common/icon/index.d.ts +0 -4
  145. package/dist/types-ts4.0/extractors/common/icon/priority.d.ts +0 -4
  146. package/dist/types-ts4.0/extractors/common/lozenge/extractLozenge.d.ts +0 -3
  147. package/dist/types-ts4.0/extractors/common/lozenge/extractState.d.ts +0 -3
  148. package/dist/types-ts4.0/extractors/common/lozenge/extractTag.d.ts +0 -3
  149. package/dist/types-ts4.0/extractors/common/lozenge/extractTaskStatus.d.ts +0 -3
  150. package/dist/types-ts4.0/extractors/common/lozenge/extractTaskType.d.ts +0 -7
  151. package/dist/types-ts4.0/extractors/common/lozenge/index.d.ts +0 -5
  152. package/dist/types-ts4.0/extractors/common/lozenge/types.d.ts +0 -8
  153. package/dist/types-ts4.0/extractors/common/lozenge/utils.d.ts +0 -4
  154. package/dist/types-ts4.0/extractors/common/meta/extractIsTrusted.d.ts +0 -2
  155. package/dist/types-ts4.0/extractors/common/primitives/extractSummary.d.ts +0 -2
  156. package/dist/types-ts4.0/extractors/common/primitives/extractTitleTextColor.d.ts +0 -2
  157. package/dist/types-ts4.0/extractors/common/primitives/extractVisitUrl.d.ts +0 -2
  158. package/dist/types-ts4.0/extractors/common/primitives/index.d.ts +0 -2
  159. package/dist/types-ts4.0/extractors/common/title-prefix/extractTitlePrefix.d.ts +0 -5
  160. package/dist/types-ts4.0/extractors/common/title-prefix/index.d.ts +0 -1
  161. package/dist/types-ts4.0/extractors/constants.d.ts +0 -12
  162. package/dist/types-ts4.0/extractors/embed/index.d.ts +0 -3
  163. package/dist/types-ts4.0/extractors/flexible/collaboratorGroup/index.d.ts +0 -4
  164. package/dist/types-ts4.0/extractors/flexible/extract-preview.d.ts +0 -4
  165. package/dist/types-ts4.0/extractors/flexible/extract-priority.d.ts +0 -4
  166. package/dist/types-ts4.0/extractors/flexible/icon/extract-document-type-icon.d.ts +0 -3
  167. package/dist/types-ts4.0/extractors/flexible/icon/extract-file-formatIcon.d.ts +0 -3
  168. package/dist/types-ts4.0/extractors/flexible/icon/extract-icon-renderer.d.ts +0 -4
  169. package/dist/types-ts4.0/extractors/flexible/icon/extract-jira-task-icon.d.ts +0 -3
  170. package/dist/types-ts4.0/extractors/flexible/icon/extract-jsonld-data-icon.d.ts +0 -4
  171. package/dist/types-ts4.0/extractors/flexible/icon/extract-provider-icon.d.ts +0 -4
  172. package/dist/types-ts4.0/extractors/flexible/icon/extract-url-icon.d.ts +0 -4
  173. package/dist/types-ts4.0/extractors/flexible/icon/index.d.ts +0 -17
  174. package/dist/types-ts4.0/extractors/flexible/icon/types.d.ts +0 -6
  175. package/dist/types-ts4.0/extractors/flexible/index.d.ts +0 -5
  176. package/dist/types-ts4.0/extractors/flexible/latest-commit/index.d.ts +0 -2
  177. package/dist/types-ts4.0/extractors/flexible/utils.d.ts +0 -13
  178. package/dist/types-ts4.0/extractors/hover/extractMetadata.d.ts +0 -3
  179. package/dist/types-ts4.0/extractors/index.d.ts +0 -14
  180. package/dist/types-ts4.0/extractors/inline/index.d.ts +0 -6
  181. package/dist/types-ts4.0/hooks.d.ts +0 -2
  182. package/dist/types-ts4.0/i18n/cs.d.ts +0 -71
  183. package/dist/types-ts4.0/i18n/da.d.ts +0 -71
  184. package/dist/types-ts4.0/i18n/de.d.ts +0 -71
  185. package/dist/types-ts4.0/i18n/en.d.ts +0 -71
  186. package/dist/types-ts4.0/i18n/en_GB.d.ts +0 -71
  187. package/dist/types-ts4.0/i18n/en_ZZ.d.ts +0 -38
  188. package/dist/types-ts4.0/i18n/es.d.ts +0 -71
  189. package/dist/types-ts4.0/i18n/et.d.ts +0 -94
  190. package/dist/types-ts4.0/i18n/fi.d.ts +0 -71
  191. package/dist/types-ts4.0/i18n/fr.d.ts +0 -71
  192. package/dist/types-ts4.0/i18n/hu.d.ts +0 -71
  193. package/dist/types-ts4.0/i18n/index.d.ts +0 -35
  194. package/dist/types-ts4.0/i18n/is.d.ts +0 -70
  195. package/dist/types-ts4.0/i18n/it.d.ts +0 -71
  196. package/dist/types-ts4.0/i18n/ja.d.ts +0 -71
  197. package/dist/types-ts4.0/i18n/ko.d.ts +0 -71
  198. package/dist/types-ts4.0/i18n/languages.d.ts +0 -27
  199. package/dist/types-ts4.0/i18n/nb.d.ts +0 -71
  200. package/dist/types-ts4.0/i18n/nl.d.ts +0 -71
  201. package/dist/types-ts4.0/i18n/pl.d.ts +0 -71
  202. package/dist/types-ts4.0/i18n/pt_BR.d.ts +0 -71
  203. package/dist/types-ts4.0/i18n/pt_PT.d.ts +0 -94
  204. package/dist/types-ts4.0/i18n/ro.d.ts +0 -70
  205. package/dist/types-ts4.0/i18n/ru.d.ts +0 -71
  206. package/dist/types-ts4.0/i18n/sk.d.ts +0 -94
  207. package/dist/types-ts4.0/i18n/sv.d.ts +0 -71
  208. package/dist/types-ts4.0/i18n/th.d.ts +0 -71
  209. package/dist/types-ts4.0/i18n/tr.d.ts +0 -71
  210. package/dist/types-ts4.0/i18n/uk.d.ts +0 -71
  211. package/dist/types-ts4.0/i18n/vi.d.ts +0 -71
  212. package/dist/types-ts4.0/i18n/zh.d.ts +0 -71
  213. package/dist/types-ts4.0/i18n/zh_TW.d.ts +0 -71
  214. package/dist/types-ts4.0/in-product.d.ts +0 -1
  215. package/dist/types-ts4.0/index.d.ts +0 -22
  216. package/dist/types-ts4.0/messages.d.ts +0 -8
  217. package/dist/types-ts4.0/model/invoke-handler.d.ts +0 -3
  218. package/dist/types-ts4.0/model/invoke-opts.d.ts +0 -17
  219. package/dist/types-ts4.0/ssr.d.ts +0 -6
  220. package/dist/types-ts4.0/state/actions/constants.d.ts +0 -6
  221. package/dist/types-ts4.0/state/actions/index.d.ts +0 -12
  222. package/dist/types-ts4.0/state/actions/types.d.ts +0 -2
  223. package/dist/types-ts4.0/state/analytics/index.d.ts +0 -3
  224. package/dist/types-ts4.0/state/analytics/types.d.ts +0 -9
  225. package/dist/types-ts4.0/state/analytics/ufoExperiences.d.ts +0 -7
  226. package/dist/types-ts4.0/state/analytics/useSmartLinkAnalytics.d.ts +0 -195
  227. package/dist/types-ts4.0/state/config/index.d.ts +0 -2
  228. package/dist/types-ts4.0/state/flexible-ui-context/index.d.ts +0 -8
  229. package/dist/types-ts4.0/state/flexible-ui-context/types.d.ts +0 -165
  230. package/dist/types-ts4.0/state/helpers.d.ts +0 -16
  231. package/dist/types-ts4.0/state/hooks/index.d.ts +0 -2
  232. package/dist/types-ts4.0/state/hooks/usePrefetch.d.ts +0 -1
  233. package/dist/types-ts4.0/state/hooks/useSmartLink.d.ts +0 -50
  234. package/dist/types-ts4.0/state/hooks-external/useSmartLinkActions.d.ts +0 -49
  235. package/dist/types-ts4.0/state/hooks-external/useSmartLinkReload.d.ts +0 -19
  236. package/dist/types-ts4.0/state/index.d.ts +0 -5
  237. package/dist/types-ts4.0/state/reducers/types.d.ts +0 -4
  238. package/dist/types-ts4.0/state/renderers/index.d.ts +0 -2
  239. package/dist/types-ts4.0/state/store/index.d.ts +0 -3
  240. package/dist/types-ts4.0/state/types.d.ts +0 -1
  241. package/dist/types-ts4.0/types.d.ts +0 -20
  242. package/dist/types-ts4.0/utils/analytics/__mocks__/analytics.d.ts +0 -2
  243. package/dist/types-ts4.0/utils/analytics/analytics.d.ts +0 -32
  244. package/dist/types-ts4.0/utils/analytics/index.d.ts +0 -4
  245. package/dist/types-ts4.0/utils/analytics/types.d.ts +0 -93
  246. package/dist/types-ts4.0/utils/flexible.d.ts +0 -5
  247. package/dist/types-ts4.0/utils/index.d.ts +0 -12
  248. package/dist/types-ts4.0/utils/jsonld.d.ts +0 -3
  249. package/dist/types-ts4.0/utils/mocks.d.ts +0 -75
  250. package/dist/types-ts4.0/utils/performance.d.ts +0 -8
  251. package/dist/types-ts4.0/utils/test-utils.d.ts +0 -4
  252. package/dist/types-ts4.0/utils/token.d.ts +0 -16
  253. package/dist/types-ts4.0/utils/types.d.ts +0 -14
  254. package/dist/types-ts4.0/view/BlockCard/actions/AuthorizeAction.d.ts +0 -2
  255. package/dist/types-ts4.0/view/BlockCard/actions/DownloadAction.d.ts +0 -8
  256. package/dist/types-ts4.0/view/BlockCard/actions/ForbiddenAction.d.ts +0 -2
  257. package/dist/types-ts4.0/view/BlockCard/actions/PreviewAction.d.ts +0 -30
  258. package/dist/types-ts4.0/view/BlockCard/actions/RetryAction.d.ts +0 -2
  259. package/dist/types-ts4.0/view/BlockCard/actions/ViewAction.d.ts +0 -8
  260. package/dist/types-ts4.0/view/BlockCard/components/Action.d.ts +0 -13
  261. package/dist/types-ts4.0/view/BlockCard/components/ActionIcon.d.ts +0 -12
  262. package/dist/types-ts4.0/view/BlockCard/components/ActionList.d.ts +0 -7
  263. package/dist/types-ts4.0/view/BlockCard/components/CollaboratorList.d.ts +0 -15
  264. package/dist/types-ts4.0/view/BlockCard/components/Content.d.ts +0 -9
  265. package/dist/types-ts4.0/view/BlockCard/components/ContentFooter.d.ts +0 -9
  266. package/dist/types-ts4.0/view/BlockCard/components/ContentHeader.d.ts +0 -10
  267. package/dist/types-ts4.0/view/BlockCard/components/Emoji.d.ts +0 -7
  268. package/dist/types-ts4.0/view/BlockCard/components/Frame.d.ts +0 -16
  269. package/dist/types-ts4.0/view/BlockCard/components/Link.d.ts +0 -8
  270. package/dist/types-ts4.0/view/BlockCard/components/Name.d.ts +0 -12
  271. package/dist/types-ts4.0/view/BlockCard/components/Provider.d.ts +0 -8
  272. package/dist/types-ts4.0/view/BlockCard/components/Thumbnail.d.ts +0 -10
  273. package/dist/types-ts4.0/view/BlockCard/components/UnresolvedText.d.ts +0 -8
  274. package/dist/types-ts4.0/view/BlockCard/index.d.ts +0 -14
  275. package/dist/types-ts4.0/view/BlockCard/types.d.ts +0 -25
  276. package/dist/types-ts4.0/view/BlockCard/utils/constants.d.ts +0 -3
  277. package/dist/types-ts4.0/view/BlockCard/utils/handlers.d.ts +0 -2
  278. package/dist/types-ts4.0/view/BlockCard/views/ErroredView.d.ts +0 -14
  279. package/dist/types-ts4.0/view/BlockCard/views/ForbiddenView.d.ts +0 -23
  280. package/dist/types-ts4.0/view/BlockCard/views/NotFoundView.d.ts +0 -17
  281. package/dist/types-ts4.0/view/BlockCard/views/ResolvedView.d.ts +0 -34
  282. package/dist/types-ts4.0/view/BlockCard/views/ResolvingView.d.ts +0 -9
  283. package/dist/types-ts4.0/view/BlockCard/views/UnauthorizedView.d.ts +0 -19
  284. package/dist/types-ts4.0/view/Card/index.d.ts +0 -5
  285. package/dist/types-ts4.0/view/Card/types.d.ts +0 -37
  286. package/dist/types-ts4.0/view/CardWithData/component.d.ts +0 -5
  287. package/dist/types-ts4.0/view/CardWithData/loader.d.ts +0 -9
  288. package/dist/types-ts4.0/view/CardWithData/types.d.ts +0 -15
  289. package/dist/types-ts4.0/view/CardWithUrl/component-lazy/LazyFallback.d.ts +0 -4
  290. package/dist/types-ts4.0/view/CardWithUrl/component-lazy/LazyIntersectionObserverCard.d.ts +0 -3
  291. package/dist/types-ts4.0/view/CardWithUrl/component-lazy/LazyLazilyRenderCard.d.ts +0 -3
  292. package/dist/types-ts4.0/view/CardWithUrl/component-lazy/index.d.ts +0 -3
  293. package/dist/types-ts4.0/view/CardWithUrl/component.d.ts +0 -3
  294. package/dist/types-ts4.0/view/CardWithUrl/loader.d.ts +0 -3
  295. package/dist/types-ts4.0/view/CardWithUrl/types.d.ts +0 -29
  296. package/dist/types-ts4.0/view/EmbedCard/EmbedResizeMessageListener.d.ts +0 -15
  297. package/dist/types-ts4.0/view/EmbedCard/components/ExpandedFrame.d.ts +0 -23
  298. package/dist/types-ts4.0/view/EmbedCard/components/Frame.d.ts +0 -7
  299. package/dist/types-ts4.0/view/EmbedCard/components/ImageIcon.d.ts +0 -9
  300. package/dist/types-ts4.0/view/EmbedCard/components/styled.d.ts +0 -45
  301. package/dist/types-ts4.0/view/EmbedCard/index.d.ts +0 -3
  302. package/dist/types-ts4.0/view/EmbedCard/types.d.ts +0 -46
  303. package/dist/types-ts4.0/view/EmbedCard/views/ErroredView.d.ts +0 -9
  304. package/dist/types-ts4.0/view/EmbedCard/views/ForbiddenView.d.ts +0 -13
  305. package/dist/types-ts4.0/view/EmbedCard/views/NotFoundView.d.ts +0 -11
  306. package/dist/types-ts4.0/view/EmbedCard/views/ResolvedView.d.ts +0 -27
  307. package/dist/types-ts4.0/view/EmbedCard/views/UnauthorisedView.d.ts +0 -12
  308. package/dist/types-ts4.0/view/EmbedCard/views/UnresolvedView.d.ts +0 -18
  309. package/dist/types-ts4.0/view/EmbedModal/components/analytics/index.d.ts +0 -5
  310. package/dist/types-ts4.0/view/EmbedModal/components/analytics/types.d.ts +0 -6
  311. package/dist/types-ts4.0/view/EmbedModal/components/embed-content/index.d.ts +0 -5
  312. package/dist/types-ts4.0/view/EmbedModal/components/embed-content/types.d.ts +0 -6
  313. package/dist/types-ts4.0/view/EmbedModal/components/error-boundary/index.d.ts +0 -4
  314. package/dist/types-ts4.0/view/EmbedModal/components/link-info/index.d.ts +0 -4
  315. package/dist/types-ts4.0/view/EmbedModal/components/link-info/link-info-button/index.d.ts +0 -4
  316. package/dist/types-ts4.0/view/EmbedModal/components/link-info/link-info-button/types.d.ts +0 -9
  317. package/dist/types-ts4.0/view/EmbedModal/components/link-info/styled.d.ts +0 -4
  318. package/dist/types-ts4.0/view/EmbedModal/components/link-info/types.d.ts +0 -13
  319. package/dist/types-ts4.0/view/EmbedModal/constants.d.ts +0 -2
  320. package/dist/types-ts4.0/view/EmbedModal/index.d.ts +0 -4
  321. package/dist/types-ts4.0/view/EmbedModal/types.d.ts +0 -31
  322. package/dist/types-ts4.0/view/FlexibleCard/components/actions/action/action-button/index.d.ts +0 -5
  323. package/dist/types-ts4.0/view/FlexibleCard/components/actions/action/action-button/types.d.ts +0 -8
  324. package/dist/types-ts4.0/view/FlexibleCard/components/actions/action/action-dropdown-item/index.d.ts +0 -4
  325. package/dist/types-ts4.0/view/FlexibleCard/components/actions/action/action-dropdown-item/types.d.ts +0 -8
  326. package/dist/types-ts4.0/view/FlexibleCard/components/actions/action/action-icon/index.d.ts +0 -5
  327. package/dist/types-ts4.0/view/FlexibleCard/components/actions/action/action-icon/types.d.ts +0 -7
  328. package/dist/types-ts4.0/view/FlexibleCard/components/actions/action/index.d.ts +0 -13
  329. package/dist/types-ts4.0/view/FlexibleCard/components/actions/action/types.d.ts +0 -48
  330. package/dist/types-ts4.0/view/FlexibleCard/components/actions/index.d.ts +0 -20
  331. package/dist/types-ts4.0/view/FlexibleCard/components/actions/utils.d.ts +0 -4
  332. package/dist/types-ts4.0/view/FlexibleCard/components/blocks/action-group/index.d.ts +0 -11
  333. package/dist/types-ts4.0/view/FlexibleCard/components/blocks/action-group/types.d.ts +0 -37
  334. package/dist/types-ts4.0/view/FlexibleCard/components/blocks/block/index.d.ts +0 -12
  335. package/dist/types-ts4.0/view/FlexibleCard/components/blocks/element-group/index.d.ts +0 -15
  336. package/dist/types-ts4.0/view/FlexibleCard/components/blocks/element-group/types.d.ts +0 -10
  337. package/dist/types-ts4.0/view/FlexibleCard/components/blocks/footer-block/index.d.ts +0 -11
  338. package/dist/types-ts4.0/view/FlexibleCard/components/blocks/footer-block/types.d.ts +0 -10
  339. package/dist/types-ts4.0/view/FlexibleCard/components/blocks/index.d.ts +0 -5
  340. package/dist/types-ts4.0/view/FlexibleCard/components/blocks/metadata-block/index.d.ts +0 -11
  341. package/dist/types-ts4.0/view/FlexibleCard/components/blocks/metadata-block/types.d.ts +0 -26
  342. package/dist/types-ts4.0/view/FlexibleCard/components/blocks/preview-block/index.d.ts +0 -10
  343. package/dist/types-ts4.0/view/FlexibleCard/components/blocks/preview-block/types.d.ts +0 -8
  344. package/dist/types-ts4.0/view/FlexibleCard/components/blocks/snippet-block/index.d.ts +0 -10
  345. package/dist/types-ts4.0/view/FlexibleCard/components/blocks/snippet-block/types.d.ts +0 -8
  346. package/dist/types-ts4.0/view/FlexibleCard/components/blocks/title-block/errored/index.d.ts +0 -12
  347. package/dist/types-ts4.0/view/FlexibleCard/components/blocks/title-block/index.d.ts +0 -16
  348. package/dist/types-ts4.0/view/FlexibleCard/components/blocks/title-block/resolved/index.d.ts +0 -9
  349. package/dist/types-ts4.0/view/FlexibleCard/components/blocks/title-block/resolving/index.d.ts +0 -11
  350. package/dist/types-ts4.0/view/FlexibleCard/components/blocks/title-block/types.d.ts +0 -92
  351. package/dist/types-ts4.0/view/FlexibleCard/components/blocks/types.d.ts +0 -300
  352. package/dist/types-ts4.0/view/FlexibleCard/components/blocks/utils.d.ts +0 -13
  353. package/dist/types-ts4.0/view/FlexibleCard/components/common/atlaskit-icon/index.d.ts +0 -4
  354. package/dist/types-ts4.0/view/FlexibleCard/components/common/atlaskit-icon/types.d.ts +0 -6
  355. package/dist/types-ts4.0/view/FlexibleCard/components/common/image-icon/index.d.ts +0 -5
  356. package/dist/types-ts4.0/view/FlexibleCard/components/common/image-icon/types.d.ts +0 -7
  357. package/dist/types-ts4.0/view/FlexibleCard/components/common/loading-skeleton/index.d.ts +0 -5
  358. package/dist/types-ts4.0/view/FlexibleCard/components/common/loading-skeleton/types.d.ts +0 -16
  359. package/dist/types-ts4.0/view/FlexibleCard/components/container/index.d.ts +0 -16
  360. package/dist/types-ts4.0/view/FlexibleCard/components/container/layered-link/index.d.ts +0 -10
  361. package/dist/types-ts4.0/view/FlexibleCard/components/container/layered-link/types.d.ts +0 -12
  362. package/dist/types-ts4.0/view/FlexibleCard/components/container/types.d.ts +0 -25
  363. package/dist/types-ts4.0/view/FlexibleCard/components/elements/avatar-group/index.d.ts +0 -12
  364. package/dist/types-ts4.0/view/FlexibleCard/components/elements/avatar-group/types.d.ts +0 -21
  365. package/dist/types-ts4.0/view/FlexibleCard/components/elements/badge/index.d.ts +0 -18
  366. package/dist/types-ts4.0/view/FlexibleCard/components/elements/badge/types.d.ts +0 -17
  367. package/dist/types-ts4.0/view/FlexibleCard/components/elements/date-time/index.d.ts +0 -12
  368. package/dist/types-ts4.0/view/FlexibleCard/components/elements/date-time/types.d.ts +0 -16
  369. package/dist/types-ts4.0/view/FlexibleCard/components/elements/icon/index.d.ts +0 -11
  370. package/dist/types-ts4.0/view/FlexibleCard/components/elements/icon/types.d.ts +0 -27
  371. package/dist/types-ts4.0/view/FlexibleCard/components/elements/index.d.ts +0 -129
  372. package/dist/types-ts4.0/view/FlexibleCard/components/elements/link/index.d.ts +0 -11
  373. package/dist/types-ts4.0/view/FlexibleCard/components/elements/link/types.d.ts +0 -35
  374. package/dist/types-ts4.0/view/FlexibleCard/components/elements/lozenge/index.d.ts +0 -11
  375. package/dist/types-ts4.0/view/FlexibleCard/components/elements/lozenge/types.d.ts +0 -13
  376. package/dist/types-ts4.0/view/FlexibleCard/components/elements/media/index.d.ts +0 -11
  377. package/dist/types-ts4.0/view/FlexibleCard/components/elements/media/types.d.ts +0 -17
  378. package/dist/types-ts4.0/view/FlexibleCard/components/elements/text/index.d.ts +0 -11
  379. package/dist/types-ts4.0/view/FlexibleCard/components/elements/text/types.d.ts +0 -17
  380. package/dist/types-ts4.0/view/FlexibleCard/components/elements/types.d.ts +0 -24
  381. package/dist/types-ts4.0/view/FlexibleCard/components/elements/utils.d.ts +0 -3
  382. package/dist/types-ts4.0/view/FlexibleCard/components/types.d.ts +0 -6
  383. package/dist/types-ts4.0/view/FlexibleCard/components/utils.d.ts +0 -15
  384. package/dist/types-ts4.0/view/FlexibleCard/index.d.ts +0 -10
  385. package/dist/types-ts4.0/view/FlexibleCard/types.d.ts +0 -113
  386. package/dist/types-ts4.0/view/FlexibleCard/utils.d.ts +0 -7
  387. package/dist/types-ts4.0/view/HoverCard/components/HoverCardComponent.d.ts +0 -4
  388. package/dist/types-ts4.0/view/HoverCard/components/HoverCardContent.d.ts +0 -9
  389. package/dist/types-ts4.0/view/HoverCard/components/HoverCardLoadingView.d.ts +0 -4
  390. package/dist/types-ts4.0/view/HoverCard/components/SnippetOrPreview.d.ts +0 -4
  391. package/dist/types-ts4.0/view/HoverCard/index.d.ts +0 -3
  392. package/dist/types-ts4.0/view/HoverCard/styled.d.ts +0 -12
  393. package/dist/types-ts4.0/view/HoverCard/types.d.ts +0 -45
  394. package/dist/types-ts4.0/view/HoverCard/utils.d.ts +0 -3
  395. package/dist/types-ts4.0/view/InlineCard/ErroredView/index.d.ts +0 -21
  396. package/dist/types-ts4.0/view/InlineCard/ForbiddenView/index.d.ts +0 -25
  397. package/dist/types-ts4.0/view/InlineCard/Frame/index.d.ts +0 -16
  398. package/dist/types-ts4.0/view/InlineCard/Frame/styled.d.ts +0 -8
  399. package/dist/types-ts4.0/view/InlineCard/Icon.d.ts +0 -4
  400. package/dist/types-ts4.0/view/InlineCard/IconAndTitleLayout/index.d.ts +0 -19
  401. package/dist/types-ts4.0/view/InlineCard/IconAndTitleLayout/styled.d.ts +0 -13
  402. package/dist/types-ts4.0/view/InlineCard/ResolvedView/index.d.ts +0 -30
  403. package/dist/types-ts4.0/view/InlineCard/ResolvingView/index.d.ts +0 -18
  404. package/dist/types-ts4.0/view/InlineCard/ResolvingView/styled.d.ts +0 -14
  405. package/dist/types-ts4.0/view/InlineCard/UnauthorisedView/index.d.ts +0 -20
  406. package/dist/types-ts4.0/view/InlineCard/index.d.ts +0 -9
  407. package/dist/types-ts4.0/view/InlineCard/styled.d.ts +0 -9
  408. package/dist/types-ts4.0/view/InlineCard/types.d.ts +0 -21
  409. package/dist/types-ts4.0/view/LinkView/index.d.ts +0 -8
  410. package/dist/types-ts4.0/view/SmartLinkEvents/useSmartLinkEvents.d.ts +0 -2
  411. package/dist/types-ts4.0/view/__mocks__/intersection-observer.d.ts +0 -26
  412. package/dist/types-ts4.0/view/__mocks__/intersection-observer.mock.d.ts +0 -12
  413. package/dist/types-ts4.0/view/common/Byline.d.ts +0 -10
  414. package/dist/types-ts4.0/view/common/Icon.d.ts +0 -11
  415. package/dist/types-ts4.0/view/common/Metadata.d.ts +0 -10
  416. package/dist/types-ts4.0/view/common/MetadataList.d.ts +0 -9
  417. package/dist/types-ts4.0/view/common/utils.d.ts +0 -5
  418. package/dist/types-ts4.0/view/types.d.ts +0 -29
@@ -69,7 +69,7 @@ const Media = ({
69
69
  return jsx("div", {
70
70
  css: [styles, overrideCss],
71
71
  "data-smart-element": name,
72
- "data-smart-element-media": true,
72
+ "data-smart-element-media": type,
73
73
  "data-testid": testId
74
74
  }, jsx(ImageIcon, {
75
75
  testId: `${testId}-image`,
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import React, { useEffect } from 'react';
3
3
  import { SmartLinkStatus } from '../../constants';
4
4
  import Container from './components/container';
5
- import { FlexibleUiContext } from '../../state/flexible-ui-context';
5
+ import { FlexibleUiAnalyticsContext, FlexibleUiContext } from '../../state/flexible-ui-context';
6
6
  import { getContextByStatus, getRetryOptions } from './utils';
7
7
  /**
8
8
  * This represents a Flexible Card: a link represented by a card with metadata.
@@ -21,7 +21,8 @@ const FlexibleCard = ({
21
21
  ui,
22
22
  url,
23
23
  onClick,
24
- testId
24
+ testId,
25
+ analytics
25
26
  }) => {
26
27
  const {
27
28
  status: cardType,
@@ -60,7 +61,9 @@ const FlexibleCard = ({
60
61
  break;
61
62
  }
62
63
  }, [onError, onResolve, status, title, url]);
63
- return /*#__PURE__*/React.createElement(FlexibleUiContext.Provider, {
64
+ return /*#__PURE__*/React.createElement(FlexibleUiAnalyticsContext.Provider, {
65
+ value: analytics
66
+ }, /*#__PURE__*/React.createElement(FlexibleUiContext.Provider, {
64
67
  value: context
65
68
  }, /*#__PURE__*/React.createElement(Container, _extends({
66
69
  testId: testId
@@ -68,7 +71,7 @@ const FlexibleCard = ({
68
71
  onClick: onClick,
69
72
  retry: retry,
70
73
  status: status
71
- }), children));
74
+ }), children)));
72
75
  };
73
76
 
74
77
  export default FlexibleCard;
@@ -1,15 +1,42 @@
1
1
  /** @jsx jsx */
2
- import { jsx } from '@emotion/react';
2
+ import { css, jsx } from '@emotion/react';
3
3
  import React from 'react';
4
4
  import ImageLoader from 'react-render-image';
5
5
  import LinkIcon from '@atlaskit/icon/glyph/link';
6
6
  import { gs } from './utils';
7
7
  export const blockCardIconImageClassName = 'block-card-icon-image';
8
+
9
+ const getImageStyles = isFlexibleUi => {
10
+ if (isFlexibleUi) {
11
+ return;
12
+ }
13
+
14
+ return css`
15
+ height: ${gs(2)};
16
+ width: ${gs(2)};
17
+ `;
18
+ };
19
+
20
+ const getSpanStyles = isFlexibleUi => {
21
+ if (isFlexibleUi) {
22
+ return;
23
+ }
24
+
25
+ return css`
26
+ height: ${gs(2.5)};
27
+ width: ${gs(2)};
28
+ display: flex;
29
+ align-items: center;
30
+ justify-content: center;
31
+ `;
32
+ };
33
+
8
34
  export const Icon = ({
9
35
  url,
10
36
  icon,
11
37
  defaultIcon,
12
- testId = 'block-card-icon'
38
+ testId = 'block-card-icon',
39
+ isFlexibleUi = false
13
40
  }) => {
14
41
  const placeholder = defaultIcon || jsx(LinkIcon, {
15
42
  label: "link",
@@ -19,23 +46,14 @@ export const Icon = ({
19
46
  const image = url && jsx(ImageLoader, {
20
47
  src: url,
21
48
  loaded: jsx("img", {
22
- css: {
23
- height: gs(2),
24
- width: gs(2)
25
- },
49
+ css: getImageStyles(isFlexibleUi),
26
50
  src: url,
27
51
  "data-testid": `${testId}-image`
28
52
  }),
29
53
  errored: placeholder
30
54
  });
31
55
  return jsx("span", {
32
- css: {
33
- height: gs(2.5),
34
- width: gs(2),
35
- display: 'flex',
36
- alignItems: 'center',
37
- justifyContent: 'center'
38
- },
56
+ css: getSpanStyles(isFlexibleUi),
39
57
  "data-testid": testId,
40
58
  className: blockCardIconImageClassName
41
59
  }, icon || image || placeholder);
@@ -1,6 +1,8 @@
1
+ export var CONTENT_URL_SECURITY_AND_PERMISSIONS = 'https://support.atlassian.com/confluence-cloud/docs/insert-links-and-anchors/#Smart-links';
1
2
  /**
2
3
  * The alignment of Flexible UI component.
3
4
  */
5
+
4
6
  export var SmartLinkAlignment;
5
7
  /**
6
8
  * The direction of Flexible UI components. It establish the main-axis
@@ -140,6 +142,9 @@ export var ActionName;
140
142
  (function (ActionName) {
141
143
  ActionName["DeleteAction"] = "DeleteAction";
142
144
  ActionName["EditAction"] = "EditAction";
145
+ ActionName["PreviewAction"] = "PreviewAction";
146
+ ActionName["ViewAction"] = "ViewAction";
147
+ ActionName["DownloadAction"] = "DownloadAction";
143
148
  ActionName["CustomAction"] = "CustomAction";
144
149
  })(ActionName || (ActionName = {}));
145
150
 
@@ -67,7 +67,7 @@ var getServerActionProps = function getServerActionProps(jsonLd, action, handler
67
67
  };
68
68
  };
69
69
 
70
- var getActionsFromJsonLd = function getActionsFromJsonLd(jsonLd) {
70
+ export var getActionsFromJsonLd = function getActionsFromJsonLd(jsonLd) {
71
71
  var actions = jsonLd && jsonLd['schema:potentialAction'];
72
72
 
73
73
  if (!actions) {
@@ -80,7 +80,6 @@ var getActionsFromJsonLd = function getActionsFromJsonLd(jsonLd) {
80
80
 
81
81
  return actions;
82
82
  };
83
-
84
83
  export function extractActions(jsonLd, handler) {
85
84
  var actions = getActionsFromJsonLd(jsonLd);
86
85
  var clientActions = actions.filter(isClientAction);
@@ -0,0 +1,15 @@
1
+ import { getActionsFromJsonLd } from '../../common/actions/extractActions';
2
+ import { extractDownloadUrl } from '../../common/detail';
3
+ export var extractDownloadAction = function extractDownloadAction(data) {
4
+ var downloadActionExists = getActionsFromJsonLd(data).find(function (action) {
5
+ return action['@type'] === 'DownloadAction';
6
+ });
7
+
8
+ if (downloadActionExists) {
9
+ return {
10
+ downloadUrl: extractDownloadUrl(data)
11
+ };
12
+ }
13
+
14
+ return undefined;
15
+ };
@@ -0,0 +1,23 @@
1
+ import { extractDownloadUrl } from '../../common/detail';
2
+ import { extractPreview as extractPreviewData } from '@atlaskit/linking-common';
3
+ import { extractLink, extractProvider, extractTitle } from '@atlaskit/linking-common/extractors';
4
+ import { extractLinkIcon } from '../icon';
5
+ export var extractPreviewAction = function extractPreviewAction(response) {
6
+ var _extractPreviewData;
7
+
8
+ var data = response.data;
9
+ var src = (_extractPreviewData = extractPreviewData(data, 'web')) === null || _extractPreviewData === void 0 ? void 0 : _extractPreviewData.src;
10
+
11
+ if (src) {
12
+ var _extractProvider;
13
+
14
+ return {
15
+ downloadUrl: extractDownloadUrl(data),
16
+ providerName: (_extractProvider = extractProvider(data)) === null || _extractProvider === void 0 ? void 0 : _extractProvider.text,
17
+ src: src,
18
+ title: extractTitle(data),
19
+ linkIcon: extractLinkIcon(response),
20
+ url: extractLink(data)
21
+ };
22
+ }
23
+ };
@@ -0,0 +1,15 @@
1
+ import { extractLink } from '@atlaskit/linking-common/extractors';
2
+ import { getActionsFromJsonLd } from '../../common/actions/extractActions';
3
+ export var extractViewAction = function extractViewAction(data) {
4
+ var viewActionExists = getActionsFromJsonLd(data).find(function (action) {
5
+ return action['@type'] === 'ViewAction';
6
+ });
7
+
8
+ if (viewActionExists) {
9
+ return {
10
+ viewUrl: extractLink(data)
11
+ };
12
+ }
13
+
14
+ return undefined;
15
+ };
@@ -3,11 +3,14 @@ import { extractLozenge } from '../common/lozenge';
3
3
  import { extractLinkIcon } from './icon';
4
4
  import { extractAttachmentCount, extractCommentCount, extractCreatedBy, extractModifiedBy, extractProgrammingLanguage, extractSubscriberCount, extractViewCount, extractReactCount, extractVoteCount, extractSourceBranch, extractTargetBranch, extractDueOn } from './utils';
5
5
  import { extractPersonsUpdatedBy } from './collaboratorGroup';
6
- import { extractPersonCreatedBy, extractLink, extractTitle, extractDateUpdated, extractDateCreated } from '@atlaskit/linking-common/extractors';
6
+ import { extractPersonCreatedBy, extractTitle, extractDateUpdated, extractDateCreated, extractLink } from '@atlaskit/linking-common/extractors';
7
7
  import extractPriority from './extract-priority';
8
8
  import extractProviderIcon from './icon/extract-provider-icon';
9
9
  import extractPreview from './extract-preview';
10
10
  import { extractLatestCommit } from './latest-commit';
11
+ import { extractPreviewAction } from './actions/extract-preview-action';
12
+ import { extractDownloadAction } from './actions/extract-download-action';
13
+ import { extractViewAction } from './actions/extract-view-action';
11
14
 
12
15
  var extractFlexibleUiContext = function extractFlexibleUiContext(response, renderers) {
13
16
  if (!response) {
@@ -27,6 +30,9 @@ var extractFlexibleUiContext = function extractFlexibleUiContext(response, rende
27
30
  createdBy: extractCreatedBy(data),
28
31
  createdOn: extractDateCreated(data),
29
32
  dueOn: extractDueOn(data),
33
+ previewAction: extractPreviewAction(response),
34
+ viewAction: extractViewAction(data),
35
+ downloadAction: extractDownloadAction(data),
30
36
  latestCommit: extractLatestCommit(data),
31
37
  linkIcon: extractLinkIcon(response, renderers),
32
38
  modifiedBy: extractModifiedBy(data),
@@ -70,6 +70,16 @@ export var messages = defineMessages({
70
70
  defaultMessage: 'To show a preview of this link, connect your {context} account.',
71
71
  description: 'Shown when a user does not have access to a link, but can connect their external account to view the link on card view. Displayed in byline.'
72
72
  },
73
+ connect_unauthorised_account_action: {
74
+ id: 'fabric.linking.connect_unauthorised_account_action',
75
+ defaultMessage: 'Connect to {context}',
76
+ description: 'Shown on a button to connect user external account to their Atlassian account.'
77
+ },
78
+ connect_unauthorised_account_description: {
79
+ id: 'fabric.linking.connect_unauthorised_account_description',
80
+ defaultMessage: 'Connect {context} to Atlassian to view more details from your work and collaboration from one place.',
81
+ description: 'Shown when a user does not have access to a link, but can connect their external account to view the link on card view.'
82
+ },
73
83
  could_not_load_link: {
74
84
  id: 'fabric.linking.couldnt_load_link',
75
85
  defaultMessage: "We couldn't load this link for an unknown reason.",
@@ -125,6 +135,11 @@ export var messages = defineMessages({
125
135
  defaultMessage: 'Join {context} to view this issue',
126
136
  description: 'Allows the user join the product or service immediately'
127
137
  },
138
+ learn_more_about_smart_links_security: {
139
+ id: 'fabric.linking.learn_more_about_smart_links_security',
140
+ defaultMessage: 'Learn more about smart link security and permissions.',
141
+ description: 'An anchor link to redirect user to a page about smart link security and permissions.'
142
+ },
128
143
  loading: {
129
144
  id: 'fabric.linking.loading',
130
145
  defaultMessage: 'Loading...',
@@ -7,4 +7,13 @@ import { useContext, createContext } from 'react';
7
7
  export var FlexibleUiContext = /*#__PURE__*/createContext(undefined);
8
8
  export var useFlexibleUiContext = function useFlexibleUiContext() {
9
9
  return useContext(FlexibleUiContext);
10
+ };
11
+ /**
12
+ * This provides the data that will be used by Smart Links Flexible UI to populate it's
13
+ * underlying elements.
14
+ */
15
+
16
+ export var FlexibleUiAnalyticsContext = /*#__PURE__*/createContext(undefined);
17
+ export var useFlexibleUiAnalyticsContext = function useFlexibleUiAnalyticsContext() {
18
+ return useContext(FlexibleUiAnalyticsContext);
10
19
  };
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "23.3.0",
3
+ "version": "23.4.0",
4
4
  "sideEffects": false
5
5
  }
@@ -1,4 +1,4 @@
1
1
  var CDN_BASE_URL = 'https://smart-links-cdn.us-east-1.prod.public.atl-paas.net';
2
2
  export var LockImage = "".concat(CDN_BASE_URL, "/lock.svg");
3
- export var CelebrationImage = "".concat(CDN_BASE_URL, "/celebration.svg");
4
- export var NotFoundImage = "".concat(CDN_BASE_URL, "/not_found.svg");
3
+ export var NotFoundImage = "".concat(CDN_BASE_URL, "/not_found.svg");
4
+ export var UnauthorisedImage = "".concat(CDN_BASE_URL, "/unauth.svg");
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { EmbedCardUnresolvedView } from './UnresolvedView';
3
- import { LockImage } from '../../BlockCard/utils/constants';
3
+ import { LockImage } from '../constants';
4
4
  import { ExpandedFrame } from '../components/ExpandedFrame';
5
5
  import { ImageIcon } from '../components/ImageIcon';
6
6
  export var EmbedCardForbiddenView = function EmbedCardForbiddenView(_ref) {
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { EmbedCardUnresolvedView } from './UnresolvedView';
3
- import { NotFoundImage } from '../../BlockCard/utils/constants';
3
+ import { NotFoundImage } from '../constants';
4
4
  import { ExpandedFrame } from '../components/ExpandedFrame';
5
5
  import { ImageIcon } from '../components/ImageIcon';
6
6
  export var EmbedCardNotFoundView = function EmbedCardNotFoundView(_ref) {
@@ -1,9 +1,15 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
1
2
  import React from 'react';
3
+ import { FormattedMessage } from 'react-intl-next';
2
4
  import { EmbedCardUnresolvedView } from './UnresolvedView';
3
- import { CelebrationImage } from '../../BlockCard/utils/constants';
5
+ import { UnauthorisedImage } from '../constants';
4
6
  import { ExpandedFrame } from '../components/ExpandedFrame';
5
7
  import { ImageIcon } from '../components/ImageIcon';
8
+ import { messages } from '../../../messages';
9
+ import { CONTENT_URL_SECURITY_AND_PERMISSIONS } from '../../../constants';
6
10
  export var EmbedCardUnauthorisedView = function EmbedCardUnauthorisedView(_ref) {
11
+ var _context$image;
12
+
7
13
  var link = _ref.link,
8
14
  context = _ref.context,
9
15
  isSelected = _ref.isSelected,
@@ -25,16 +31,24 @@ export var EmbedCardUnauthorisedView = function EmbedCardUnauthorisedView(_ref)
25
31
  onClick: onClick,
26
32
  testId: testId
27
33
  }, /*#__PURE__*/React.createElement(EmbedCardUnresolvedView, {
28
- image: CelebrationImage,
34
+ image: (_context$image = context === null || context === void 0 ? void 0 : context.image) !== null && _context$image !== void 0 ? _context$image : UnauthorisedImage,
29
35
  title: "connect_link_account_card_name",
30
- description: "connect_link_account_card_description",
36
+ description: "connect_unauthorised_account_description",
31
37
  context: context && context.text,
32
38
  button: {
33
39
  appearance: 'primary',
34
- text: 'connect_link_account_card',
40
+ text: 'connect_unauthorised_account_action',
35
41
  testId: 'connect-account'
36
42
  },
37
43
  onClick: onAuthorise,
38
44
  testId: testId
39
- }));
45
+ }, /*#__PURE__*/React.createElement(FormattedMessage, _extends({}, messages.connect_unauthorised_account_description, {
46
+ values: {
47
+ context: context === null || context === void 0 ? void 0 : context.text
48
+ }
49
+ })), ' ', /*#__PURE__*/React.createElement("a", {
50
+ href: CONTENT_URL_SECURITY_AND_PERMISSIONS,
51
+ target: "_blank",
52
+ "data-testid": "".concat(testId, "-learn-more")
53
+ }, /*#__PURE__*/React.createElement(FormattedMessage, messages.learn_more_about_smart_links_security))));
40
54
  };
@@ -14,7 +14,8 @@ export var EmbedCardUnresolvedView = function EmbedCardUnresolvedView(_ref) {
14
14
  button = _ref.button,
15
15
  context = _ref.context,
16
16
  onClick = _ref.onClick,
17
- testId = _ref.testId;
17
+ testId = _ref.testId,
18
+ children = _ref.children;
18
19
  return jsx("div", {
19
20
  css: {
20
21
  display: 'flex',
@@ -30,14 +31,16 @@ export var EmbedCardUnresolvedView = function EmbedCardUnresolvedView(_ref) {
30
31
  css: {
31
32
  height: gridSize(14),
32
33
  marginBottom: gridSize(4)
33
- }
34
+ },
35
+ "data-testid": "".concat(testId, "-unresolved-image")
34
36
  }), jsx("span", {
35
37
  css: {
36
38
  fontSize: gridSize(2.5),
37
39
  marginBottom: gridSize(1.5),
38
40
  width: gridSize(50),
39
41
  textAlign: 'center'
40
- }
42
+ },
43
+ "data-testid": "".concat(testId, "-unresolved-title")
41
44
  }, jsx(FormattedMessage, _extends({}, messages[title], {
42
45
  values: {
43
46
  context: context
@@ -49,8 +52,9 @@ export var EmbedCardUnresolvedView = function EmbedCardUnresolvedView(_ref) {
49
52
  textAlign: 'center',
50
53
  width: gridSize(50),
51
54
  lineHeight: gridSize(3)
52
- }
53
- }, jsx(FormattedMessage, _extends({}, messages[description], {
55
+ },
56
+ "data-testid": "".concat(testId, "-unresolved-description")
57
+ }, children !== null && children !== void 0 ? children : jsx(FormattedMessage, _extends({}, messages[description], {
54
58
  values: {
55
59
  context: context
56
60
  }
@@ -0,0 +1,96 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _extends from "@babel/runtime/helpers/extends";
3
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
5
+
6
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7
+
8
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
9
+
10
+ import React from 'react';
11
+ import Action from '../index';
12
+
13
+ var DownloadAction = function DownloadAction(props) {
14
+ var appearance = props.appearance,
15
+ asDropDownItem = props.asDropDownItem,
16
+ downloadUrl = props.downloadUrl,
17
+ _onClick = props.onClick,
18
+ testId = props.testId,
19
+ url = props.url;
20
+
21
+ if (downloadUrl && url) {
22
+ var action = _objectSpread(_objectSpread({}, props), {}, {
23
+ onClick: function onClick() {
24
+ downloadFunction({
25
+ url: downloadUrl
26
+ });
27
+
28
+ if (_onClick) {
29
+ _onClick();
30
+ }
31
+ }
32
+ });
33
+
34
+ return /*#__PURE__*/React.createElement(Action, _extends({}, action, {
35
+ appearance: appearance,
36
+ asDropDownItem: asDropDownItem,
37
+ testId: testId
38
+ }));
39
+ } else {
40
+ return null;
41
+ }
42
+ };
43
+
44
+ function downloadFunction(_x) {
45
+ return _downloadFunction.apply(this, arguments);
46
+ }
47
+
48
+ function _downloadFunction() {
49
+ _downloadFunction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
50
+ var url, isIE11, isSafari, iframeName, link, iframe;
51
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
52
+ while (1) {
53
+ switch (_context.prev = _context.next) {
54
+ case 0:
55
+ url = _ref.url;
56
+
57
+ if (url) {
58
+ _context.next = 3;
59
+ break;
60
+ }
61
+
62
+ return _context.abrupt("return");
63
+
64
+ case 3:
65
+ isIE11 = !!window.MSInputMethodContext && !!document.documentMode;
66
+ isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
67
+ iframeName = 'media-download-iframe';
68
+ link = document.createElement('a');
69
+ iframe = document.getElementById(iframeName);
70
+
71
+ if (!iframe) {
72
+ iframe = document.createElement('iframe');
73
+ iframe.style.display = 'none';
74
+ iframe.id = iframeName;
75
+ iframe.name = iframeName;
76
+ document.body.appendChild(iframe);
77
+ }
78
+
79
+ link.href = url;
80
+ link.download = url;
81
+ link.target = isIE11 || isSafari ? '_blank' : iframeName;
82
+ document.body.appendChild(link);
83
+ link.click();
84
+ document.body.removeChild(link);
85
+
86
+ case 15:
87
+ case "end":
88
+ return _context.stop();
89
+ }
90
+ }
91
+ }, _callee);
92
+ }));
93
+ return _downloadFunction.apply(this, arguments);
94
+ }
95
+
96
+ export default DownloadAction;
@@ -0,0 +1,136 @@
1
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
+ import _extends from "@babel/runtime/helpers/extends";
4
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
5
+ var _excluded = ["popupMountPointId"];
6
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
7
+
8
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
9
+
10
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
11
+
12
+ import React from 'react';
13
+ import Action from '../index';
14
+ import ReactDOM from 'react-dom';
15
+ import { IntlProvider } from 'react-intl-next';
16
+ import { useFlexibleUiAnalyticsContext } from '../../../../../../state/flexible-ui-context';
17
+ import { useSmartLinkAnalytics } from '../../../../../../state';
18
+ import Icon from '../../../elements/icon';
19
+
20
+ var PreviewAction = function PreviewAction(props) {
21
+ var appearance = props.appearance,
22
+ asDropDownItem = props.asDropDownItem,
23
+ testId = props.testId,
24
+ _onClick = props.onClick,
25
+ linkIcon = props.linkIcon,
26
+ src = props.src,
27
+ url = props.url,
28
+ title = props.title,
29
+ providerName = props.providerName,
30
+ downloadUrl = props.downloadUrl;
31
+ var defaultAnalytics = useSmartLinkAnalytics(url, function () {});
32
+ var analytics = useFlexibleUiAnalyticsContext() || defaultAnalytics;
33
+ var EmbedIcon = {
34
+ icon: /*#__PURE__*/React.createElement(Icon, linkIcon),
35
+ isFlexibleUi: true
36
+ };
37
+
38
+ if (src && url) {
39
+ var embedModal = function embedModal() {
40
+ return previewFunction({
41
+ popupMountPointId: 'twp-editor-preview-iframe',
42
+ showModal: true,
43
+ iframeName: 'twp-editor-preview-iframe',
44
+ onClose: function onClose() {},
45
+ download: downloadUrl,
46
+ icon: EmbedIcon,
47
+ providerName: providerName || 'Preview',
48
+ src: src,
49
+ title: title,
50
+ url: url,
51
+ analytics: analytics,
52
+ origin: 'smartLinkCard'
53
+ });
54
+ };
55
+
56
+ var action = _objectSpread(_objectSpread({}, props), {}, {
57
+ onClick: function onClick() {
58
+ embedModal();
59
+
60
+ if (_onClick) {
61
+ _onClick();
62
+ }
63
+ }
64
+ });
65
+
66
+ return /*#__PURE__*/React.createElement(Action, _extends({}, action, {
67
+ appearance: appearance,
68
+ asDropDownItem: asDropDownItem,
69
+ testId: testId
70
+ }));
71
+ } else {
72
+ return null;
73
+ }
74
+ };
75
+ /*
76
+ Explanatory note:
77
+ Actions don't have access to the react tree of whatever is rendered them
78
+ (and this concept is fraught inside editor anyway) so we want to ensure
79
+ it is mounting to a new unique place. This function manages that, including
80
+ creating an element if it doesn't exist, as well as tidying up the react tree
81
+ (but not the element) upon closing the modal.
82
+
83
+ This may strike you as really uncomfortable as you read it, so I wanted to note
84
+ that a) this was discussed and agreed upon, and b) it's definitely odd, and if
85
+ you find an elegant solution around this, you should definitely feel free to
86
+ refactor it.
87
+ */
88
+
89
+
90
+ export function previewFunction(_x) {
91
+ return _previewFunction.apply(this, arguments);
92
+ }
93
+
94
+ function _previewFunction() {
95
+ _previewFunction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
96
+ var popupMountPointId, rest, popupMountPoint, Modal;
97
+ return _regeneratorRuntime.wrap(function _callee$(_context2) {
98
+ while (1) {
99
+ switch (_context2.prev = _context2.next) {
100
+ case 0:
101
+ popupMountPointId = _ref.popupMountPointId, rest = _objectWithoutProperties(_ref, _excluded);
102
+ popupMountPoint = document.getElementById(popupMountPointId);
103
+
104
+ if (!popupMountPoint) {
105
+ popupMountPoint = document.createElement('div');
106
+ popupMountPoint.id = popupMountPointId;
107
+ popupMountPoint.setAttribute('data-testid', 'preview-modal');
108
+ document.body.appendChild(popupMountPoint);
109
+ }
110
+
111
+ _context2.next = 5;
112
+ return import('../../../../../EmbedModal');
113
+
114
+ case 5:
115
+ Modal = _context2.sent;
116
+ ReactDOM.render( /*#__PURE__*/React.createElement(IntlProvider, {
117
+ locale: "en"
118
+ }, /*#__PURE__*/React.createElement(Modal.default, _extends({}, rest, {
119
+ onClose: function onClose(_context) {
120
+ if (popupMountPoint) {
121
+ ReactDOM.unmountComponentAtNode(popupMountPoint);
122
+ }
123
+ }
124
+ }))), popupMountPoint);
125
+
126
+ case 7:
127
+ case "end":
128
+ return _context2.stop();
129
+ }
130
+ }
131
+ }, _callee);
132
+ }));
133
+ return _previewFunction.apply(this, arguments);
134
+ }
135
+
136
+ export default PreviewAction;