@atlaskit/media-viewer 54.8.21 → 54.8.23

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 (538) hide show
  1. package/CHANGELOG.md +78 -0
  2. package/dist/cjs/ArchiveViewerError.js +28 -0
  3. package/dist/cjs/DownloadButton.js +39 -0
  4. package/dist/cjs/DownloadButtonProps.js +5 -0
  5. package/dist/cjs/DownloadItem.js +66 -0
  6. package/dist/cjs/DownloadItemProps.js +5 -0
  7. package/dist/cjs/ErrorViewDownloadButton.js +31 -0
  8. package/dist/cjs/ItemViewerBase.js +523 -0
  9. package/dist/cjs/MediaViewerError.js +35 -0
  10. package/dist/cjs/ToolbarDownloadButton.js +35 -0
  11. package/dist/cjs/analytics/events/operational/createDownloadFailedEventPayload.js +40 -0
  12. package/dist/cjs/analytics/events/operational/createDownloadSucceededEventPayload.js +31 -0
  13. package/dist/cjs/analytics/events/operational/download.js +1 -57
  14. package/dist/cjs/analytics/events/operational/loadFailed.js +10 -7
  15. package/dist/cjs/analytics/events/operational/previewTooLarge.js +4 -4
  16. package/dist/cjs/analytics/events/operational/previewUnsupported.js +2 -2
  17. package/dist/cjs/analytics/events/operational/zipEntryLoadFailed.js +10 -8
  18. package/dist/cjs/analytics/events/operational/zipEntryLoadSucceeded.js +4 -4
  19. package/dist/cjs/analytics/events/ui/createNavigatedEvent.js +22 -0
  20. package/dist/cjs/analytics/events/ui/downloadButtonClicked.js +2 -2
  21. package/dist/cjs/analytics/events/ui/failedPreviewDownloadButtonClicked.js +4 -4
  22. package/dist/cjs/analytics/events/ui/inputFromSource.js +12 -0
  23. package/dist/cjs/analytics/events/ui/navigated.js +1 -23
  24. package/dist/cjs/analytics/fireAnalytics.js +13 -0
  25. package/dist/cjs/analytics/getFileAttributes.js +33 -0
  26. package/dist/cjs/analytics/index.js +1 -45
  27. package/dist/cjs/analytics/ufoExperiences.js +1 -1
  28. package/dist/cjs/buildImgErrorDiagnostics.js +50 -0
  29. package/dist/cjs/buildVideoErrorDiagnostics.js +66 -0
  30. package/dist/cjs/classifyFailedSrc.js +25 -0
  31. package/dist/cjs/components/{media-viewer.js → media-viewer-base.js} +4 -20
  32. package/dist/cjs/components/media-viewer-error-boundary.js +2 -2
  33. package/dist/cjs/components/media-viewer-with-media-client.js +23 -0
  34. package/dist/cjs/createItemDownloader.js +37 -0
  35. package/dist/cjs/download.js +4 -174
  36. package/dist/cjs/downloadIcon.js +14 -0
  37. package/dist/cjs/errorMessage.js +14 -22
  38. package/dist/cjs/errorMessageWithAnalytics.js +13 -0
  39. package/dist/cjs/errors.js +1 -212
  40. package/dist/cjs/getErrorDetail.js +18 -0
  41. package/dist/cjs/getErrorMessageFromError.js +15 -0
  42. package/dist/cjs/getPrimaryErrorReason.js +10 -0
  43. package/dist/cjs/getRequestMetadata.js +14 -0
  44. package/dist/cjs/getSecondaryErrorReason.js +17 -0
  45. package/dist/cjs/header.js +23 -23
  46. package/dist/cjs/headerWithIntl.js +9 -0
  47. package/dist/cjs/isArchiveViewerError.js +10 -0
  48. package/dist/cjs/isExternalImageItem.js +10 -0
  49. package/dist/cjs/isFileStateItem.js +10 -0
  50. package/dist/cjs/isMediaViewerError.js +10 -0
  51. package/dist/cjs/item-viewer.js +5 -521
  52. package/dist/cjs/list.js +2 -2
  53. package/dist/cjs/media-viewer.js +10 -10
  54. package/dist/cjs/navigation.js +6 -6
  55. package/dist/cjs/noop.js +7 -0
  56. package/dist/cjs/useDownloadButtonDisabledProps.js +18 -0
  57. package/dist/cjs/utils/extractArchiveFolderName.js +10 -0
  58. package/dist/cjs/utils/getFolderParent.js +15 -0
  59. package/dist/cjs/utils/getFormattedFolderName.js +18 -0
  60. package/dist/cjs/utils/getMediaTypeFromFilename.js +12 -0
  61. package/dist/cjs/utils/getMimeTypeFromFilename.js +18 -0
  62. package/dist/cjs/utils/getSelectedIndex.js +14 -0
  63. package/dist/cjs/utils/isMacPrivateFile.js +9 -0
  64. package/dist/cjs/utils/isSameIdentifier.js +16 -0
  65. package/dist/cjs/utils/rejectAfter.js +47 -0
  66. package/dist/cjs/viewers/archiveSidebar/archive-download-button-wrapper.compiled.css +19 -0
  67. package/dist/cjs/viewers/archiveSidebar/archive-download-button-wrapper.js +32 -0
  68. package/dist/cjs/viewers/archiveSidebar/archive-download-button.js +3 -2
  69. package/dist/cjs/viewers/archiveSidebar/archive-item-viewer-wrapper.compiled.css +4 -0
  70. package/dist/cjs/viewers/archiveSidebar/archive-item-viewer-wrapper.js +22 -0
  71. package/dist/cjs/viewers/archiveSidebar/archive-layout.compiled.css +3 -0
  72. package/dist/cjs/viewers/archiveSidebar/archive-layout.js +21 -0
  73. package/dist/cjs/viewers/archiveSidebar/archive-sidebar-file-entry-wrapper.compiled.css +4 -0
  74. package/dist/cjs/viewers/archiveSidebar/archive-sidebar-file-entry-wrapper.js +22 -0
  75. package/dist/cjs/viewers/archiveSidebar/archive-sidebar-folder-entry.js +16 -12
  76. package/dist/cjs/viewers/archiveSidebar/archive-sidebar-folder-wrapper.compiled.css +6 -0
  77. package/dist/cjs/viewers/archiveSidebar/archive-sidebar-folder-wrapper.js +22 -0
  78. package/dist/cjs/viewers/archiveSidebar/archive-sidebar-header.js +5 -3
  79. package/dist/cjs/viewers/archiveSidebar/archive-sidebar-renderer.js +6 -6
  80. package/dist/cjs/viewers/archiveSidebar/archive-sidebar.js +12 -8
  81. package/dist/cjs/viewers/archiveSidebar/archive-viewer-base.js +398 -0
  82. package/dist/cjs/viewers/archiveSidebar/archive-viewer-wrapper.compiled.css +7 -0
  83. package/dist/cjs/viewers/archiveSidebar/archive-viewer-wrapper.js +24 -0
  84. package/dist/cjs/viewers/archiveSidebar/archive.js +5 -424
  85. package/dist/cjs/viewers/archiveSidebar/archiveViewerLoader.js +4 -4
  86. package/dist/cjs/viewers/archiveSidebar/disabled-archive-download-button-wrapper.compiled.css +8 -0
  87. package/dist/cjs/viewers/archiveSidebar/disabled-archive-download-button-wrapper.js +21 -0
  88. package/dist/cjs/viewers/archiveSidebar/get-archive-entries-from-file-state.js +51 -0
  89. package/dist/cjs/viewers/archiveSidebar/separator.compiled.css +7 -0
  90. package/dist/cjs/viewers/archiveSidebar/separator.js +19 -0
  91. package/dist/cjs/viewers/archiveSidebar/sidebar-header-entry.compiled.css +9 -0
  92. package/dist/cjs/viewers/archiveSidebar/sidebar-header-entry.js +20 -0
  93. package/dist/cjs/viewers/archiveSidebar/sidebar-header-icon.compiled.css +4 -0
  94. package/dist/cjs/viewers/archiveSidebar/sidebar-header-icon.js +20 -0
  95. package/dist/cjs/viewers/archiveSidebar/sidebar-header-wrapper.compiled.css +3 -0
  96. package/dist/cjs/viewers/archiveSidebar/sidebar-header-wrapper.js +20 -0
  97. package/dist/cjs/viewers/archiveSidebar/sidebar-item-wrapper.compiled.css +1 -0
  98. package/dist/cjs/viewers/archiveSidebar/sidebar-item-wrapper.js +20 -0
  99. package/dist/cjs/viewers/archiveSidebar/styleWrappers.compiled.css +1 -57
  100. package/dist/cjs/viewers/archiveSidebar/styleWrappers.js +4 -111
  101. package/dist/cjs/viewers/audio.js +12 -12
  102. package/dist/cjs/viewers/base-viewer.js +6 -6
  103. package/dist/cjs/viewers/codeViewer/CodeRendererAdvanced/CodeRendererAdvanced.js +3 -3
  104. package/dist/cjs/viewers/codeViewer/CodeViewRenderer-2.js +12 -0
  105. package/dist/cjs/viewers/codeViewer/CodeViewRenderer.compiled.css +8 -0
  106. package/dist/cjs/viewers/codeViewer/CodeViewRenderer.js +132 -0
  107. package/dist/cjs/viewers/codeViewer/CodeViewWrapper.js +13 -0
  108. package/dist/cjs/viewers/codeViewer/CodeViewerHeaderBar-2.js +12 -0
  109. package/dist/cjs/viewers/codeViewer/CodeViewerHeaderBar.compiled.css +2 -0
  110. package/dist/cjs/viewers/codeViewer/CodeViewerHeaderBar.js +19 -0
  111. package/dist/cjs/viewers/codeViewer/codeViewerRenderer-compiled.compiled.css +1 -10
  112. package/dist/cjs/viewers/codeViewer/codeViewerRenderer-compiled.js +5 -127
  113. package/dist/cjs/viewers/codeViewer/codeViewerRenderer.js +1 -15
  114. package/dist/cjs/viewers/codeViewer/formatMessage.js +20 -0
  115. package/dist/cjs/viewers/codeViewer/getFormat.js +23 -0
  116. package/dist/cjs/viewers/codeViewer/getMsgDate.js +14 -0
  117. package/dist/cjs/viewers/codeViewer/index.js +16 -15
  118. package/dist/cjs/viewers/codeViewer/lineCount.js +10 -0
  119. package/dist/cjs/viewers/codeViewer/{msg-parser.js → msgToText.js} +4 -38
  120. package/dist/cjs/viewers/codeViewer/normaliseLineBreaks.js +9 -0
  121. package/dist/cjs/viewers/codeViewer/parseHeaders.js +18 -0
  122. package/dist/cjs/viewers/codeViewer/util.js +1 -27
  123. package/dist/cjs/viewers/customViewer/customViewer.js +2 -2
  124. package/dist/cjs/viewers/doc/DocViewer.js +234 -0
  125. package/dist/cjs/viewers/doc/doc-viewer.js +7 -230
  126. package/dist/cjs/viewers/doc/index.js +7 -7
  127. package/dist/cjs/viewers/image/index.js +13 -12
  128. package/dist/cjs/viewers/image/interactive-img-component.js +299 -0
  129. package/dist/cjs/viewers/image/interactive-img.js +4 -300
  130. package/dist/cjs/viewers/image/zoom-level-after-resize.js +12 -0
  131. package/dist/cjs/viewers/svg/clientRectangle.js +12 -0
  132. package/dist/cjs/viewers/svg/index.js +16 -14
  133. package/dist/cjs/viewers/svg/naturalSizeRectangle.js +16 -0
  134. package/dist/cjs/viewers/svg/zoomLevelAfterResize.js +12 -0
  135. package/dist/cjs/viewers/video.js +12 -11
  136. package/dist/cjs/zoomControls.js +9 -9
  137. package/dist/es2019/ArchiveViewerError.js +9 -0
  138. package/dist/es2019/DownloadButton.js +29 -0
  139. package/dist/es2019/DownloadButtonProps.js +1 -0
  140. package/dist/es2019/DownloadItem.js +54 -0
  141. package/dist/es2019/DownloadItemProps.js +1 -0
  142. package/dist/es2019/ErrorViewDownloadButton.js +25 -0
  143. package/dist/es2019/ItemViewerBase.js +435 -0
  144. package/dist/es2019/MediaViewerError.js +15 -0
  145. package/dist/es2019/ToolbarDownloadButton.js +29 -0
  146. package/dist/es2019/analytics/events/operational/createDownloadFailedEventPayload.js +35 -0
  147. package/dist/es2019/analytics/events/operational/createDownloadSucceededEventPayload.js +26 -0
  148. package/dist/es2019/analytics/events/operational/download.js +1 -57
  149. package/dist/es2019/analytics/events/operational/loadFailed.js +5 -2
  150. package/dist/es2019/analytics/events/operational/previewTooLarge.js +2 -2
  151. package/dist/es2019/analytics/events/operational/previewUnsupported.js +1 -1
  152. package/dist/es2019/analytics/events/operational/zipEntryLoadFailed.js +5 -3
  153. package/dist/es2019/analytics/events/operational/zipEntryLoadSucceeded.js +2 -2
  154. package/dist/es2019/analytics/events/ui/createNavigatedEvent.js +14 -0
  155. package/dist/es2019/analytics/events/ui/downloadButtonClicked.js +1 -1
  156. package/dist/es2019/analytics/events/ui/failedPreviewDownloadButtonClicked.js +2 -2
  157. package/dist/es2019/analytics/events/ui/inputFromSource.js +6 -0
  158. package/dist/es2019/analytics/events/ui/navigated.js +1 -19
  159. package/dist/es2019/analytics/fireAnalytics.js +7 -0
  160. package/dist/es2019/analytics/getFileAttributes.js +31 -0
  161. package/dist/es2019/analytics/index.js +1 -45
  162. package/dist/es2019/analytics/ufoExperiences.js +1 -1
  163. package/dist/es2019/buildImgErrorDiagnostics.js +34 -0
  164. package/dist/es2019/buildVideoErrorDiagnostics.js +50 -0
  165. package/dist/es2019/classifyFailedSrc.js +19 -0
  166. package/dist/es2019/components/{media-viewer.js → media-viewer-base.js} +2 -18
  167. package/dist/es2019/components/media-viewer-error-boundary.js +1 -1
  168. package/dist/es2019/components/media-viewer-with-media-client.js +16 -0
  169. package/dist/es2019/createItemDownloader.js +22 -0
  170. package/dist/es2019/download.js +2 -161
  171. package/dist/es2019/downloadIcon.js +7 -0
  172. package/dist/es2019/errorMessage.js +8 -16
  173. package/dist/es2019/errorMessageWithAnalytics.js +7 -0
  174. package/dist/es2019/errors.js +1 -167
  175. package/dist/es2019/getErrorDetail.js +13 -0
  176. package/dist/es2019/getErrorMessageFromError.js +7 -0
  177. package/dist/es2019/getPrimaryErrorReason.js +4 -0
  178. package/dist/es2019/getRequestMetadata.js +9 -0
  179. package/dist/es2019/getSecondaryErrorReason.js +13 -0
  180. package/dist/es2019/header.js +16 -16
  181. package/dist/es2019/headerWithIntl.js +3 -0
  182. package/dist/es2019/index.js +12 -1
  183. package/dist/es2019/isArchiveViewerError.js +4 -0
  184. package/dist/es2019/isExternalImageItem.js +2 -0
  185. package/dist/es2019/isFileStateItem.js +2 -0
  186. package/dist/es2019/isMediaViewerError.js +4 -0
  187. package/dist/es2019/item-viewer.js +3 -434
  188. package/dist/es2019/list.js +1 -1
  189. package/dist/es2019/media-viewer.js +7 -7
  190. package/dist/es2019/navigation.js +5 -4
  191. package/dist/es2019/noop.js +1 -0
  192. package/dist/es2019/useDownloadButtonDisabledProps.js +13 -0
  193. package/dist/es2019/utils/extractArchiveFolderName.js +4 -0
  194. package/dist/es2019/utils/getFolderParent.js +9 -0
  195. package/dist/es2019/utils/getFormattedFolderName.js +12 -0
  196. package/dist/es2019/utils/getMediaTypeFromFilename.js +6 -0
  197. package/dist/es2019/utils/getMimeTypeFromFilename.js +12 -0
  198. package/dist/es2019/utils/getSelectedIndex.js +7 -0
  199. package/dist/es2019/utils/isMacPrivateFile.js +3 -0
  200. package/dist/es2019/utils/isSameIdentifier.js +10 -0
  201. package/dist/es2019/utils/rejectAfter.js +12 -0
  202. package/dist/es2019/viewers/archiveSidebar/archive-download-button-wrapper.compiled.css +19 -0
  203. package/dist/es2019/viewers/archiveSidebar/archive-download-button-wrapper.js +23 -0
  204. package/dist/es2019/viewers/archiveSidebar/archive-download-button.js +2 -1
  205. package/dist/es2019/viewers/archiveSidebar/archive-item-viewer-wrapper.compiled.css +4 -0
  206. package/dist/es2019/viewers/archiveSidebar/archive-item-viewer-wrapper.js +15 -0
  207. package/dist/es2019/viewers/archiveSidebar/archive-layout.compiled.css +3 -0
  208. package/dist/es2019/viewers/archiveSidebar/archive-layout.js +14 -0
  209. package/dist/es2019/viewers/archiveSidebar/archive-sidebar-file-entry-wrapper.compiled.css +4 -0
  210. package/dist/es2019/viewers/archiveSidebar/archive-sidebar-file-entry-wrapper.js +15 -0
  211. package/dist/es2019/viewers/archiveSidebar/archive-sidebar-folder-entry.js +10 -6
  212. package/dist/es2019/viewers/archiveSidebar/archive-sidebar-folder-wrapper.compiled.css +6 -0
  213. package/dist/es2019/viewers/archiveSidebar/archive-sidebar-folder-wrapper.js +15 -0
  214. package/dist/es2019/viewers/archiveSidebar/archive-sidebar-header.js +4 -2
  215. package/dist/es2019/viewers/archiveSidebar/archive-sidebar-renderer.js +3 -3
  216. package/dist/es2019/viewers/archiveSidebar/archive-sidebar.js +6 -2
  217. package/dist/es2019/viewers/archiveSidebar/archive-viewer-base.js +304 -0
  218. package/dist/es2019/viewers/archiveSidebar/archive-viewer-wrapper.compiled.css +7 -0
  219. package/dist/es2019/viewers/archiveSidebar/archive-viewer-wrapper.js +14 -0
  220. package/dist/es2019/viewers/archiveSidebar/archive.js +2 -315
  221. package/dist/es2019/viewers/archiveSidebar/archiveViewerLoader.js +2 -2
  222. package/dist/es2019/viewers/archiveSidebar/disabled-archive-download-button-wrapper.compiled.css +8 -0
  223. package/dist/es2019/viewers/archiveSidebar/disabled-archive-download-button-wrapper.js +14 -0
  224. package/dist/es2019/viewers/archiveSidebar/get-archive-entries-from-file-state.js +24 -0
  225. package/dist/es2019/viewers/archiveSidebar/separator.compiled.css +7 -0
  226. package/dist/es2019/viewers/archiveSidebar/separator.js +11 -0
  227. package/dist/es2019/viewers/archiveSidebar/sidebar-header-entry.compiled.css +9 -0
  228. package/dist/es2019/viewers/archiveSidebar/sidebar-header-entry.js +13 -0
  229. package/dist/es2019/viewers/archiveSidebar/sidebar-header-icon.compiled.css +4 -0
  230. package/dist/es2019/viewers/archiveSidebar/sidebar-header-icon.js +13 -0
  231. package/dist/es2019/viewers/archiveSidebar/sidebar-header-wrapper.compiled.css +3 -0
  232. package/dist/es2019/viewers/archiveSidebar/sidebar-header-wrapper.js +13 -0
  233. package/dist/es2019/viewers/archiveSidebar/sidebar-item-wrapper.compiled.css +1 -0
  234. package/dist/es2019/viewers/archiveSidebar/sidebar-item-wrapper.js +13 -0
  235. package/dist/es2019/viewers/archiveSidebar/styleWrappers.compiled.css +1 -57
  236. package/dist/es2019/viewers/archiveSidebar/styleWrappers.js +1 -115
  237. package/dist/es2019/viewers/audio.js +6 -6
  238. package/dist/es2019/viewers/base-viewer.js +4 -4
  239. package/dist/es2019/viewers/codeViewer/CodeRendererAdvanced/CodeRendererAdvanced.js +3 -3
  240. package/dist/es2019/viewers/codeViewer/CodeViewRenderer-2.js +3 -0
  241. package/dist/es2019/viewers/codeViewer/CodeViewRenderer.compiled.css +8 -0
  242. package/dist/es2019/viewers/codeViewer/CodeViewRenderer.js +84 -0
  243. package/dist/es2019/viewers/codeViewer/CodeViewWrapper.js +4 -0
  244. package/dist/es2019/viewers/codeViewer/CodeViewerHeaderBar-2.js +3 -0
  245. package/dist/es2019/viewers/codeViewer/CodeViewerHeaderBar.compiled.css +2 -0
  246. package/dist/es2019/viewers/codeViewer/CodeViewerHeaderBar.js +11 -0
  247. package/dist/es2019/viewers/codeViewer/codeViewerRenderer-compiled.compiled.css +1 -10
  248. package/dist/es2019/viewers/codeViewer/codeViewerRenderer-compiled.js +5 -87
  249. package/dist/es2019/viewers/codeViewer/codeViewerRenderer.js +1 -6
  250. package/dist/es2019/viewers/codeViewer/formatMessage.js +10 -0
  251. package/dist/es2019/viewers/codeViewer/getFormat.js +17 -0
  252. package/dist/es2019/viewers/codeViewer/getMsgDate.js +8 -0
  253. package/dist/es2019/viewers/codeViewer/index.js +9 -8
  254. package/dist/es2019/viewers/codeViewer/lineCount.js +2 -0
  255. package/dist/es2019/viewers/codeViewer/{msg-parser.js → msgToText.js} +2 -29
  256. package/dist/es2019/viewers/codeViewer/normaliseLineBreaks.js +1 -0
  257. package/dist/es2019/viewers/codeViewer/parseHeaders.js +12 -0
  258. package/dist/es2019/viewers/codeViewer/util.js +1 -21
  259. package/dist/es2019/viewers/customViewer/customViewer.js +1 -1
  260. package/dist/es2019/viewers/doc/DocViewer.js +170 -0
  261. package/dist/es2019/viewers/doc/doc-viewer.js +5 -169
  262. package/dist/es2019/viewers/doc/index.js +4 -4
  263. package/dist/es2019/viewers/image/index.js +4 -3
  264. package/dist/es2019/viewers/image/interactive-img-component.js +287 -0
  265. package/dist/es2019/viewers/image/interactive-img.js +2 -292
  266. package/dist/es2019/viewers/image/zoom-level-after-resize.js +6 -0
  267. package/dist/es2019/viewers/svg/clientRectangle.js +8 -0
  268. package/dist/es2019/viewers/svg/index.js +10 -8
  269. package/dist/es2019/viewers/svg/naturalSizeRectangle.js +12 -0
  270. package/dist/es2019/viewers/svg/zoomLevelAfterResize.js +6 -0
  271. package/dist/es2019/viewers/video.js +5 -4
  272. package/dist/es2019/zoomControls.js +7 -7
  273. package/dist/esm/ArchiveViewerError.js +21 -0
  274. package/dist/esm/DownloadButton.js +30 -0
  275. package/dist/esm/DownloadButtonProps.js +1 -0
  276. package/dist/esm/DownloadItem.js +57 -0
  277. package/dist/esm/DownloadItemProps.js +1 -0
  278. package/dist/esm/ErrorViewDownloadButton.js +24 -0
  279. package/dist/esm/ItemViewerBase.js +500 -0
  280. package/dist/esm/MediaViewerError.js +28 -0
  281. package/dist/esm/ToolbarDownloadButton.js +28 -0
  282. package/dist/esm/analytics/events/operational/createDownloadFailedEventPayload.js +34 -0
  283. package/dist/esm/analytics/events/operational/createDownloadSucceededEventPayload.js +25 -0
  284. package/dist/esm/analytics/events/operational/download.js +1 -55
  285. package/dist/esm/analytics/events/operational/loadFailed.js +5 -2
  286. package/dist/esm/analytics/events/operational/previewTooLarge.js +2 -2
  287. package/dist/esm/analytics/events/operational/previewUnsupported.js +1 -1
  288. package/dist/esm/analytics/events/operational/zipEntryLoadFailed.js +5 -3
  289. package/dist/esm/analytics/events/operational/zipEntryLoadSucceeded.js +2 -2
  290. package/dist/esm/analytics/events/ui/createNavigatedEvent.js +16 -0
  291. package/dist/esm/analytics/events/ui/downloadButtonClicked.js +1 -1
  292. package/dist/esm/analytics/events/ui/failedPreviewDownloadButtonClicked.js +2 -2
  293. package/dist/esm/analytics/events/ui/inputFromSource.js +6 -0
  294. package/dist/esm/analytics/events/ui/navigated.js +1 -21
  295. package/dist/esm/analytics/fireAnalytics.js +7 -0
  296. package/dist/esm/analytics/getFileAttributes.js +27 -0
  297. package/dist/esm/analytics/index.js +1 -41
  298. package/dist/esm/analytics/ufoExperiences.js +1 -1
  299. package/dist/esm/buildImgErrorDiagnostics.js +44 -0
  300. package/dist/esm/buildVideoErrorDiagnostics.js +60 -0
  301. package/dist/esm/classifyFailedSrc.js +19 -0
  302. package/dist/esm/components/{media-viewer.js → media-viewer-base.js} +2 -18
  303. package/dist/esm/components/media-viewer-error-boundary.js +1 -1
  304. package/dist/esm/components/media-viewer-with-media-client.js +16 -0
  305. package/dist/esm/createItemDownloader.js +30 -0
  306. package/dist/esm/download.js +2 -170
  307. package/dist/esm/downloadIcon.js +7 -0
  308. package/dist/esm/errorMessage.js +8 -18
  309. package/dist/esm/errorMessageWithAnalytics.js +7 -0
  310. package/dist/esm/errors.js +1 -200
  311. package/dist/esm/getErrorDetail.js +12 -0
  312. package/dist/esm/getErrorMessageFromError.js +9 -0
  313. package/dist/esm/getPrimaryErrorReason.js +4 -0
  314. package/dist/esm/getRequestMetadata.js +8 -0
  315. package/dist/esm/getSecondaryErrorReason.js +11 -0
  316. package/dist/esm/header.js +16 -16
  317. package/dist/esm/headerWithIntl.js +3 -0
  318. package/dist/esm/index.js +12 -1
  319. package/dist/esm/isArchiveViewerError.js +4 -0
  320. package/dist/esm/isExternalImageItem.js +4 -0
  321. package/dist/esm/isFileStateItem.js +4 -0
  322. package/dist/esm/isMediaViewerError.js +4 -0
  323. package/dist/esm/item-viewer.js +3 -503
  324. package/dist/esm/list.js +1 -1
  325. package/dist/esm/media-viewer.js +7 -7
  326. package/dist/esm/navigation.js +5 -4
  327. package/dist/esm/noop.js +1 -0
  328. package/dist/esm/useDownloadButtonDisabledProps.js +12 -0
  329. package/dist/esm/utils/extractArchiveFolderName.js +4 -0
  330. package/dist/esm/utils/getFolderParent.js +9 -0
  331. package/dist/esm/utils/getFormattedFolderName.js +12 -0
  332. package/dist/esm/utils/getMediaTypeFromFilename.js +6 -0
  333. package/dist/esm/utils/getMimeTypeFromFilename.js +12 -0
  334. package/dist/esm/utils/getSelectedIndex.js +9 -0
  335. package/dist/esm/utils/isMacPrivateFile.js +3 -0
  336. package/dist/esm/utils/isSameIdentifier.js +10 -0
  337. package/dist/esm/utils/rejectAfter.js +40 -0
  338. package/dist/esm/viewers/archiveSidebar/archive-download-button-wrapper.compiled.css +19 -0
  339. package/dist/esm/viewers/archiveSidebar/archive-download-button-wrapper.js +24 -0
  340. package/dist/esm/viewers/archiveSidebar/archive-download-button.js +2 -1
  341. package/dist/esm/viewers/archiveSidebar/archive-item-viewer-wrapper.compiled.css +4 -0
  342. package/dist/esm/viewers/archiveSidebar/archive-item-viewer-wrapper.js +14 -0
  343. package/dist/esm/viewers/archiveSidebar/archive-layout.compiled.css +3 -0
  344. package/dist/esm/viewers/archiveSidebar/archive-layout.js +13 -0
  345. package/dist/esm/viewers/archiveSidebar/archive-sidebar-file-entry-wrapper.compiled.css +4 -0
  346. package/dist/esm/viewers/archiveSidebar/archive-sidebar-file-entry-wrapper.js +14 -0
  347. package/dist/esm/viewers/archiveSidebar/archive-sidebar-folder-entry.js +10 -6
  348. package/dist/esm/viewers/archiveSidebar/archive-sidebar-folder-wrapper.compiled.css +6 -0
  349. package/dist/esm/viewers/archiveSidebar/archive-sidebar-folder-wrapper.js +14 -0
  350. package/dist/esm/viewers/archiveSidebar/archive-sidebar-header.js +4 -2
  351. package/dist/esm/viewers/archiveSidebar/archive-sidebar-renderer.js +3 -3
  352. package/dist/esm/viewers/archiveSidebar/archive-sidebar.js +6 -2
  353. package/dist/esm/viewers/archiveSidebar/archive-viewer-base.js +393 -0
  354. package/dist/esm/viewers/archiveSidebar/archive-viewer-wrapper.compiled.css +7 -0
  355. package/dist/esm/viewers/archiveSidebar/archive-viewer-wrapper.js +16 -0
  356. package/dist/esm/viewers/archiveSidebar/archive.js +2 -422
  357. package/dist/esm/viewers/archiveSidebar/archiveViewerLoader.js +2 -2
  358. package/dist/esm/viewers/archiveSidebar/disabled-archive-download-button-wrapper.compiled.css +8 -0
  359. package/dist/esm/viewers/archiveSidebar/disabled-archive-download-button-wrapper.js +13 -0
  360. package/dist/esm/viewers/archiveSidebar/get-archive-entries-from-file-state.js +44 -0
  361. package/dist/esm/viewers/archiveSidebar/separator.compiled.css +7 -0
  362. package/dist/esm/viewers/archiveSidebar/separator.js +11 -0
  363. package/dist/esm/viewers/archiveSidebar/sidebar-header-entry.compiled.css +9 -0
  364. package/dist/esm/viewers/archiveSidebar/sidebar-header-entry.js +12 -0
  365. package/dist/esm/viewers/archiveSidebar/sidebar-header-icon.compiled.css +4 -0
  366. package/dist/esm/viewers/archiveSidebar/sidebar-header-icon.js +12 -0
  367. package/dist/esm/viewers/archiveSidebar/sidebar-header-wrapper.compiled.css +3 -0
  368. package/dist/esm/viewers/archiveSidebar/sidebar-header-wrapper.js +12 -0
  369. package/dist/esm/viewers/archiveSidebar/sidebar-item-wrapper.compiled.css +1 -0
  370. package/dist/esm/viewers/archiveSidebar/sidebar-item-wrapper.js +12 -0
  371. package/dist/esm/viewers/archiveSidebar/styleWrappers.compiled.css +1 -57
  372. package/dist/esm/viewers/archiveSidebar/styleWrappers.js +3 -111
  373. package/dist/esm/viewers/audio.js +6 -6
  374. package/dist/esm/viewers/base-viewer.js +4 -4
  375. package/dist/esm/viewers/codeViewer/CodeRendererAdvanced/CodeRendererAdvanced.js +3 -3
  376. package/dist/esm/viewers/codeViewer/CodeViewRenderer-2.js +5 -0
  377. package/dist/esm/viewers/codeViewer/CodeViewRenderer.compiled.css +8 -0
  378. package/dist/esm/viewers/codeViewer/CodeViewRenderer.js +125 -0
  379. package/dist/esm/viewers/codeViewer/CodeViewWrapper.js +6 -0
  380. package/dist/esm/viewers/codeViewer/CodeViewerHeaderBar-2.js +5 -0
  381. package/dist/esm/viewers/codeViewer/CodeViewerHeaderBar.compiled.css +2 -0
  382. package/dist/esm/viewers/codeViewer/CodeViewerHeaderBar.js +11 -0
  383. package/dist/esm/viewers/codeViewer/codeViewerRenderer-compiled.compiled.css +1 -10
  384. package/dist/esm/viewers/codeViewer/codeViewerRenderer-compiled.js +5 -128
  385. package/dist/esm/viewers/codeViewer/codeViewerRenderer.js +1 -12
  386. package/dist/esm/viewers/codeViewer/formatMessage.js +14 -0
  387. package/dist/esm/viewers/codeViewer/getFormat.js +17 -0
  388. package/dist/esm/viewers/codeViewer/getMsgDate.js +8 -0
  389. package/dist/esm/viewers/codeViewer/index.js +9 -8
  390. package/dist/esm/viewers/codeViewer/lineCount.js +4 -0
  391. package/dist/esm/viewers/codeViewer/{msg-parser.js → msgToText.js} +2 -33
  392. package/dist/esm/viewers/codeViewer/normaliseLineBreaks.js +3 -0
  393. package/dist/esm/viewers/codeViewer/parseHeaders.js +12 -0
  394. package/dist/esm/viewers/codeViewer/util.js +1 -25
  395. package/dist/esm/viewers/customViewer/customViewer.js +1 -1
  396. package/dist/esm/viewers/doc/DocViewer.js +225 -0
  397. package/dist/esm/viewers/doc/doc-viewer.js +5 -224
  398. package/dist/esm/viewers/doc/index.js +4 -4
  399. package/dist/esm/viewers/image/index.js +4 -3
  400. package/dist/esm/viewers/image/interactive-img-component.js +292 -0
  401. package/dist/esm/viewers/image/interactive-img.js +2 -297
  402. package/dist/esm/viewers/image/zoom-level-after-resize.js +6 -0
  403. package/dist/esm/viewers/svg/clientRectangle.js +6 -0
  404. package/dist/esm/viewers/svg/index.js +10 -8
  405. package/dist/esm/viewers/svg/naturalSizeRectangle.js +10 -0
  406. package/dist/esm/viewers/svg/zoomLevelAfterResize.js +6 -0
  407. package/dist/esm/viewers/video.js +5 -4
  408. package/dist/esm/zoomControls.js +7 -7
  409. package/dist/types/ArchiveViewerError.d.ts +9 -0
  410. package/dist/types/DownloadButton.d.ts +2 -0
  411. package/dist/types/DownloadButtonProps.d.ts +8 -0
  412. package/dist/types/DownloadItem.d.ts +3 -0
  413. package/dist/types/DownloadItemProps.d.ts +16 -0
  414. package/dist/types/ErrorViewDownloadButton.d.ts +12 -0
  415. package/dist/types/ItemViewerBase.d.ts +3 -0
  416. package/dist/types/MediaViewerError.d.ts +7 -0
  417. package/dist/types/ToolbarDownloadButton.d.ts +11 -0
  418. package/dist/types/analytics/events/operational/createDownloadFailedEventPayload.d.ts +5 -0
  419. package/dist/types/analytics/events/operational/createDownloadSucceededEventPayload.d.ts +4 -0
  420. package/dist/types/analytics/events/operational/download.d.ts +2 -6
  421. package/dist/types/analytics/events/operational/loadFailed.d.ts +3 -3
  422. package/dist/types/analytics/events/operational/previewTooLarge.d.ts +2 -1
  423. package/dist/types/analytics/events/operational/zipEntryLoadFailed.d.ts +3 -3
  424. package/dist/types/analytics/events/operational/zipEntryLoadSucceeded.d.ts +1 -1
  425. package/dist/types/analytics/events/ui/createNavigatedEvent.d.ts +4 -0
  426. package/dist/types/analytics/events/ui/downloadButtonClicked.d.ts +1 -1
  427. package/dist/types/analytics/events/ui/failedPreviewDownloadButtonClicked.d.ts +3 -2
  428. package/dist/types/analytics/events/ui/inputFromSource.d.ts +3 -0
  429. package/dist/types/analytics/events/ui/navigated.d.ts +0 -4
  430. package/dist/types/analytics/fireAnalytics.d.ts +3 -0
  431. package/dist/types/analytics/getFileAttributes.d.ts +3 -0
  432. package/dist/types/analytics/index.d.ts +2 -10
  433. package/dist/types/buildImgErrorDiagnostics.d.ts +16 -0
  434. package/dist/types/buildVideoErrorDiagnostics.d.ts +16 -0
  435. package/dist/types/classifyFailedSrc.d.ts +7 -0
  436. package/dist/types/components/{media-viewer.d.ts → media-viewer-base.d.ts} +0 -2
  437. package/dist/types/components/media-viewer-with-media-client.d.ts +3 -0
  438. package/dist/types/createItemDownloader.d.ts +1 -0
  439. package/dist/types/download.d.ts +0 -19
  440. package/dist/types/downloadIcon.d.ts +2 -0
  441. package/dist/types/errorMessage.d.ts +5 -7
  442. package/dist/types/errorMessageWithAnalytics.d.ts +5 -0
  443. package/dist/types/errors.d.ts +3 -58
  444. package/dist/types/getErrorDetail.d.ts +2 -0
  445. package/dist/types/getErrorMessageFromError.d.ts +3 -0
  446. package/dist/types/getPrimaryErrorReason.d.ts +3 -0
  447. package/dist/types/getRequestMetadata.d.ts +3 -0
  448. package/dist/types/getSecondaryErrorReason.d.ts +3 -0
  449. package/dist/types/header.d.ts +2 -4
  450. package/dist/types/headerWithIntl.d.ts +4 -0
  451. package/dist/types/index.d.ts +9 -0
  452. package/dist/types/isArchiveViewerError.d.ts +2 -0
  453. package/dist/types/isExternalImageItem.d.ts +2 -0
  454. package/dist/types/isFileStateItem.d.ts +3 -0
  455. package/dist/types/isMediaViewerError.d.ts +2 -0
  456. package/dist/types/item-viewer.d.ts +4 -7
  457. package/dist/types/navigation.d.ts +1 -1
  458. package/dist/types/noop.d.ts +1 -0
  459. package/dist/types/useDownloadButtonDisabledProps.d.ts +1 -0
  460. package/dist/types/utils/extractArchiveFolderName.d.ts +1 -0
  461. package/dist/types/utils/getFolderParent.d.ts +1 -0
  462. package/dist/types/utils/getFormattedFolderName.d.ts +1 -0
  463. package/dist/types/utils/getMediaTypeFromFilename.d.ts +2 -0
  464. package/dist/types/utils/getMimeTypeFromFilename.d.ts +1 -0
  465. package/dist/types/utils/getSelectedIndex.d.ts +2 -0
  466. package/dist/types/utils/isMacPrivateFile.d.ts +1 -0
  467. package/dist/types/utils/isSameIdentifier.d.ts +2 -0
  468. package/dist/types/utils/rejectAfter.d.ts +1 -0
  469. package/dist/types/viewers/archiveSidebar/archive-download-button-wrapper.d.ts +11 -0
  470. package/dist/types/viewers/archiveSidebar/archive-item-viewer-wrapper.d.ts +8 -0
  471. package/dist/types/viewers/archiveSidebar/archive-layout.d.ts +6 -0
  472. package/dist/types/viewers/archiveSidebar/archive-sidebar-file-entry-wrapper.d.ts +9 -0
  473. package/dist/types/viewers/archiveSidebar/archive-sidebar-folder-entry.d.ts +2 -2
  474. package/dist/types/viewers/archiveSidebar/archive-sidebar-folder-wrapper.d.ts +6 -0
  475. package/dist/types/viewers/archiveSidebar/archive-sidebar-renderer.d.ts +2 -2
  476. package/dist/types/viewers/archiveSidebar/archive-sidebar.d.ts +1 -1
  477. package/dist/types/viewers/archiveSidebar/archive-viewer-base.d.ts +21 -0
  478. package/dist/types/viewers/archiveSidebar/archive-viewer-wrapper.d.ts +6 -0
  479. package/dist/types/viewers/archiveSidebar/archive.d.ts +3 -23
  480. package/dist/types/viewers/archiveSidebar/disabled-archive-download-button-wrapper.d.ts +6 -0
  481. package/dist/types/viewers/archiveSidebar/get-archive-entries-from-file-state.d.ts +3 -0
  482. package/dist/types/viewers/archiveSidebar/separator.d.ts +5 -0
  483. package/dist/types/viewers/archiveSidebar/sidebar-header-entry.d.ts +6 -0
  484. package/dist/types/viewers/archiveSidebar/sidebar-header-icon.d.ts +6 -0
  485. package/dist/types/viewers/archiveSidebar/sidebar-header-wrapper.d.ts +6 -0
  486. package/dist/types/viewers/archiveSidebar/sidebar-item-wrapper.d.ts +6 -0
  487. package/dist/types/viewers/archiveSidebar/styleWrappers.d.ts +2 -22
  488. package/dist/types/viewers/archiveSidebar/types.d.ts +2 -2
  489. package/dist/types/viewers/audio.d.ts +4 -4
  490. package/dist/types/viewers/base-viewer.d.ts +2 -2
  491. package/dist/types/viewers/codeViewer/CodeRendererAdvanced/CodeRendererAdvanced.d.ts +5 -1
  492. package/dist/types/viewers/codeViewer/CodeViewRenderer-2.d.ts +3 -0
  493. package/dist/types/viewers/codeViewer/CodeViewRenderer.d.ts +13 -0
  494. package/dist/types/viewers/codeViewer/CodeViewWrapper.d.ts +5 -0
  495. package/dist/types/viewers/codeViewer/CodeViewerHeaderBar-2.d.ts +2 -0
  496. package/dist/types/viewers/codeViewer/CodeViewerHeaderBar.d.ts +5 -0
  497. package/dist/types/viewers/codeViewer/codeViewerRenderer-compiled.d.ts +10 -12
  498. package/dist/types/viewers/codeViewer/codeViewerRenderer.d.ts +3 -10
  499. package/dist/types/viewers/codeViewer/formatMessage.d.ts +1 -0
  500. package/dist/types/viewers/codeViewer/getFormat.d.ts +1 -0
  501. package/dist/types/viewers/codeViewer/getMsgDate.d.ts +1 -0
  502. package/dist/types/viewers/codeViewer/index.d.ts +4 -4
  503. package/dist/types/viewers/codeViewer/lineCount.d.ts +1 -0
  504. package/dist/types/viewers/codeViewer/msgToText.d.ts +3 -0
  505. package/dist/types/viewers/codeViewer/normaliseLineBreaks.d.ts +1 -0
  506. package/dist/types/viewers/codeViewer/parseHeaders.d.ts +3 -0
  507. package/dist/types/viewers/codeViewer/util.d.ts +0 -3
  508. package/dist/types/viewers/customViewer/customViewer.d.ts +2 -2
  509. package/dist/types/viewers/doc/DocViewer.d.ts +17 -0
  510. package/dist/types/viewers/doc/doc-viewer.d.ts +5 -12
  511. package/dist/types/viewers/doc/index.d.ts +3 -3
  512. package/dist/types/viewers/image/index.d.ts +3 -3
  513. package/dist/types/viewers/image/interactive-img-component.d.ts +18 -0
  514. package/dist/types/viewers/image/interactive-img.d.ts +3 -20
  515. package/dist/types/viewers/{svg/utils.d.ts → image/zoom-level-after-resize.d.ts} +0 -3
  516. package/dist/types/viewers/svg/clientRectangle.d.ts +2 -0
  517. package/dist/types/viewers/svg/errors.d.ts +1 -1
  518. package/dist/types/viewers/svg/index.d.ts +3 -3
  519. package/dist/types/viewers/svg/naturalSizeRectangle.d.ts +2 -0
  520. package/dist/types/viewers/svg/zoomLevelAfterResize.d.ts +3 -0
  521. package/dist/types/viewers/video.d.ts +3 -3
  522. package/dist/types/zoomControls.d.ts +2 -2
  523. package/package.json +2 -2
  524. package/dist/cjs/domain/index.js +0 -12
  525. package/dist/cjs/utils/index.js +0 -110
  526. package/dist/cjs/viewers/svg/utils.js +0 -28
  527. package/dist/es2019/domain/index.js +0 -1
  528. package/dist/es2019/utils/index.js +0 -73
  529. package/dist/es2019/viewers/svg/utils.js +0 -25
  530. package/dist/esm/domain/index.js +0 -1
  531. package/dist/esm/utils/index.js +0 -103
  532. package/dist/esm/viewers/svg/utils.js +0 -21
  533. package/dist/types/domain/index.d.ts +0 -1
  534. package/dist/types/utils/index.d.ts +0 -10
  535. package/dist/types/viewers/codeViewer/msg-parser.d.ts +0 -8
  536. /package/dist/cjs/viewers/doc/{doc-viewer.compiled.css → DocViewer.compiled.css} +0 -0
  537. /package/dist/es2019/viewers/doc/{doc-viewer.compiled.css → DocViewer.compiled.css} +0 -0
  538. /package/dist/esm/viewers/doc/{doc-viewer.compiled.css → DocViewer.compiled.css} +0 -0
@@ -0,0 +1,523 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.ItemViewerBase = void 0;
8
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var _reactIntl = require("react-intl");
13
+ var _reactLoadable = _interopRequireDefault(require("react-loadable"));
14
+ var _mediaClient = require("@atlaskit/media-client");
15
+ var _useFileState2 = require("@atlaskit/media-client-react/use-file-state");
16
+ var _useMediaClient = require("@atlaskit/media-client-react/use-media-client");
17
+ var _isCodeViewerItem = require("@atlaskit/media-ui/isCodeViewerItem");
18
+ var _messages = require("@atlaskit/media-ui/messages");
19
+ var _fg = require("@atlaskit/platform-feature-flags/fg");
20
+ var _compiled = require("@atlaskit/primitives/compiled");
21
+ var _ErrorViewDownloadButton = require("./ErrorViewDownloadButton");
22
+ var _MediaViewerError = require("./MediaViewerError");
23
+ var _commenced = require("./analytics/events/operational/commenced");
24
+ var _loadSucceeded = require("./analytics/events/operational/loadSucceeded");
25
+ var _fireAnalytics = require("./analytics/fireAnalytics");
26
+ var _getFileAttributes = require("./analytics/getFileAttributes");
27
+ var _ufoExperiences = require("./analytics/ufoExperiences");
28
+ var _outcome = require("./domain/outcome");
29
+ var _errorMessageWithAnalytics = _interopRequireDefault(require("./errorMessageWithAnalytics"));
30
+ var _isFileStateItem = require("./isFileStateItem");
31
+ var _itemViewer = require("./item-viewer");
32
+ var _loading = require("./loading");
33
+ var _archiveViewerLoader = _interopRequireDefault(require("./viewers/archiveSidebar/archiveViewerLoader"));
34
+ var _customViewer = require("./viewers/customViewer/customViewer");
35
+ var _interactiveImg = require("./viewers/image/interactive-img");
36
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != (0, _typeof2.default)(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
37
+ function loadImageViewer() {
38
+ return Promise.resolve().then(function () {
39
+ return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_imageViewer" */'./viewers/image'));
40
+ });
41
+ }
42
+ var LoadableImageViewer = (0, _reactLoadable.default)({
43
+ loader: function loader() {
44
+ return loadImageViewer().then(function (mod) {
45
+ return mod.ImageViewer;
46
+ });
47
+ },
48
+ loading: function loading() {
49
+ return /*#__PURE__*/_react.default.createElement(_loading.Spinner, null);
50
+ }
51
+ });
52
+ var LazyImageViewer = /*#__PURE__*/_react.default.lazy(function () {
53
+ return loadImageViewer().then(function (mod) {
54
+ return {
55
+ default: mod.ImageViewer
56
+ };
57
+ });
58
+ });
59
+ function loadVideoViewer() {
60
+ return Promise.resolve().then(function () {
61
+ return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_videoViewer" */'./viewers/video'));
62
+ });
63
+ }
64
+ var LoadableVideoViewer = (0, _reactLoadable.default)({
65
+ loader: function loader() {
66
+ return loadVideoViewer().then(function (mod) {
67
+ return mod.VideoViewer;
68
+ });
69
+ },
70
+ loading: function loading() {
71
+ return /*#__PURE__*/_react.default.createElement(_loading.Spinner, null);
72
+ }
73
+ });
74
+ var LazyVideoViewer = /*#__PURE__*/_react.default.lazy(function () {
75
+ return loadVideoViewer().then(function (mod) {
76
+ return {
77
+ default: mod.VideoViewer
78
+ };
79
+ });
80
+ });
81
+ function loadAudioViewer() {
82
+ return Promise.resolve().then(function () {
83
+ return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_audioViewer" */'./viewers/audio'));
84
+ });
85
+ }
86
+ var LoadableAudioViewer = (0, _reactLoadable.default)({
87
+ loader: function loader() {
88
+ return loadAudioViewer().then(function (mod) {
89
+ return mod.AudioViewer;
90
+ });
91
+ },
92
+ loading: function loading() {
93
+ return /*#__PURE__*/_react.default.createElement(_loading.Spinner, null);
94
+ }
95
+ });
96
+ var LazyAudioViewer = /*#__PURE__*/_react.default.lazy(function () {
97
+ return loadAudioViewer().then(function (mod) {
98
+ return {
99
+ default: mod.AudioViewer
100
+ };
101
+ });
102
+ });
103
+ function loadDocViewer() {
104
+ return Promise.resolve().then(function () {
105
+ return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_docViewer" */'./viewers/doc'));
106
+ });
107
+ }
108
+ var LoadableDocViewer = (0, _reactLoadable.default)({
109
+ loader: function loader() {
110
+ return loadDocViewer().then(function (mod) {
111
+ return mod.DocViewer;
112
+ });
113
+ },
114
+ loading: function loading() {
115
+ return /*#__PURE__*/_react.default.createElement(_loading.Spinner, null);
116
+ }
117
+ });
118
+ var LazyDocViewer = /*#__PURE__*/_react.default.lazy(function () {
119
+ return loadDocViewer().then(function (mod) {
120
+ return {
121
+ default: mod.DocViewer
122
+ };
123
+ });
124
+ });
125
+ function loadCodeViewer() {
126
+ return Promise.resolve().then(function () {
127
+ return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_codeViewer" */'./viewers/codeViewer'));
128
+ });
129
+ }
130
+ var LoadableCodeViewer = (0, _reactLoadable.default)({
131
+ loader: function loader() {
132
+ return loadCodeViewer().then(function (mod) {
133
+ return mod.CodeViewer;
134
+ });
135
+ },
136
+ loading: function loading() {
137
+ return /*#__PURE__*/_react.default.createElement(_loading.Spinner, null);
138
+ }
139
+ });
140
+ var LazyCodeViewer = /*#__PURE__*/_react.default.lazy(function () {
141
+ return loadCodeViewer().then(function (mod) {
142
+ return {
143
+ default: mod.CodeViewer
144
+ };
145
+ });
146
+ });
147
+ function loadSvgViewer() {
148
+ return Promise.resolve().then(function () {
149
+ return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_svgViewer" */'./viewers/svg'));
150
+ });
151
+ }
152
+ var LoadableSvgViewer = (0, _reactLoadable.default)({
153
+ loader: function loader() {
154
+ return (
155
+ // @ts-ignore [PIT-1685] Fails in post-office due to backwards incompatibility issue with React 18
156
+ Promise.resolve().then(function () {
157
+ return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_svgViewer" */'./viewers/svg'));
158
+ }).then(function (mod) {
159
+ return mod.SvgViewer;
160
+ })
161
+ );
162
+ },
163
+ loading: function loading() {
164
+ return /*#__PURE__*/_react.default.createElement(_loading.Spinner, null);
165
+ }
166
+ });
167
+ var LazySvgViewer = /*#__PURE__*/_react.default.lazy(function () {
168
+ return loadSvgViewer().then(function (mod) {
169
+ return {
170
+ default: mod.SvgViewer
171
+ };
172
+ });
173
+ });
174
+ var ViewerSuspense = function ViewerSuspense(_ref) {
175
+ var children = _ref.children;
176
+ return /*#__PURE__*/_react.default.createElement(_react.Suspense, {
177
+ fallback: /*#__PURE__*/_react.default.createElement(_loading.Spinner, null)
178
+ }, children);
179
+ };
180
+
181
+ /**
182
+ * Determines if a file renders natively without backend processing artifacts.
183
+ * These files (text/code, PDF, SVG) can be rendered directly from the original binary
184
+ * without waiting for transcoded artifacts from the backend.
185
+ *
186
+ * Evidence:
187
+ * - CodeViewer: Uses getFileBinaryURL(id) - works with both 'processing' and 'processed' status
188
+ * - DocViewer: Uses getDocumentContent(id) - only needs file ID, not artifacts
189
+ * - SvgViewer: Uses MediaSvg with identifier - never touches status or artifacts
190
+ */
191
+ var canRenderWithoutProcessing = function canRenderWithoutProcessing(fileState) {
192
+ var mimeType = fileState.mimeType,
193
+ name = fileState.name,
194
+ size = fileState.size;
195
+
196
+ // Text/code files via CodeViewer (10MB limit)
197
+ if ((0, _isCodeViewerItem.isCodeViewerItem)(name, mimeType) && size <= _itemViewer.MAX_FILE_SIZE_SUPPORTED_BY_CODEVIEWER) {
198
+ return true;
199
+ }
200
+
201
+ // PDF files via DocViewer
202
+ if (mimeType === 'application/pdf') {
203
+ return true;
204
+ }
205
+
206
+ // SVG files via SvgViewer
207
+ if (mimeType === 'image/svg+xml') {
208
+ return true;
209
+ }
210
+ return false;
211
+ };
212
+
213
+ /**
214
+ * Creates a synthetic ProcessedFileState for native-rendered files.
215
+ * These files don't need backend processing, so we normalize to 'processed'
216
+ * to prevent unnecessary re-renders when the actual status changes.
217
+ * Note: artifacts are not used by native viewers (CodeViewer, DocViewer, SvgViewer)
218
+ * as they fetch the original binary directly via file ID.
219
+ */
220
+ var createProcessedFileState = function createProcessedFileState(fileState) {
221
+ return {
222
+ status: 'processed',
223
+ id: fileState.id,
224
+ name: fileState.name,
225
+ size: fileState.size,
226
+ mediaType: fileState.mediaType,
227
+ mimeType: fileState.mimeType,
228
+ artifacts: {},
229
+ preview: fileState.preview,
230
+ createdAt: fileState.createdAt
231
+ };
232
+ };
233
+ var ItemViewerBase = exports.ItemViewerBase = function ItemViewerBase(_ref2) {
234
+ var identifier = _ref2.identifier,
235
+ showControls = _ref2.showControls,
236
+ onClose = _ref2.onClose,
237
+ previewCount = _ref2.previewCount,
238
+ contextId = _ref2.contextId,
239
+ createAnalyticsEvent = _ref2.createAnalyticsEvent,
240
+ viewerOptions = _ref2.viewerOptions,
241
+ traceContext = _ref2.traceContext;
242
+ // States and Refs
243
+ var _useState = (0, _react.useState)(_outcome.Outcome.pending()),
244
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
245
+ item = _useState2[0],
246
+ setItem = _useState2[1];
247
+ var fileStateFlagsRef = (0, _react.useRef)({
248
+ wasStatusUploading: false,
249
+ wasStatusProcessing: false
250
+ });
251
+ var createAnalyticsEventRef = (0, _react.useRef)(createAnalyticsEvent);
252
+ createAnalyticsEventRef.current = createAnalyticsEvent;
253
+
254
+ // Hooks
255
+ var mediaClient = (0, _useMediaClient.useMediaClient)();
256
+ var _useFileState = (0, _useFileState2.useFileState)((0, _mediaClient.isExternalImageIdentifier)(identifier) ? '' : identifier.id, {
257
+ collectionName: (0, _mediaClient.isExternalImageIdentifier)(identifier) ? '' : identifier.collectionName,
258
+ skipRemote: (0, _mediaClient.isExternalImageIdentifier)(identifier)
259
+ }),
260
+ fileState = _useFileState.fileState;
261
+ var renderDownloadButton = (0, _react.useCallback)(function (fileState, error) {
262
+ var collectionName = (0, _mediaClient.isFileIdentifier)(identifier) ? identifier.collectionName : undefined;
263
+ return /*#__PURE__*/_react.default.createElement(_ErrorViewDownloadButton.ErrorViewDownloadButton, {
264
+ fileState: fileState,
265
+ mediaClient: mediaClient,
266
+ error: error,
267
+ collectionName: collectionName,
268
+ traceContext: traceContext
269
+ });
270
+ }, [mediaClient, identifier, traceContext]);
271
+
272
+ // Did mount
273
+
274
+ (0, _react.useEffect)(function () {
275
+ if ((0, _mediaClient.isExternalImageIdentifier)(identifier)) {
276
+ return;
277
+ }
278
+ (0, _fireAnalytics.fireAnalytics)((0, _commenced.createCommencedEvent)(identifier === null || identifier === void 0 ? void 0 : identifier.id, traceContext), createAnalyticsEventRef.current);
279
+ (0, _ufoExperiences.startMediaFileUfoExperience)();
280
+ }, [identifier, traceContext]);
281
+ var isNativeFileOptimizationEnabled = (0, _fg.fg)('media_viewer_prevent_rerender_on_polling');
282
+ (0, _react.useEffect)(function () {
283
+ // External images don't need backend subscriptions
284
+ if ((0, _mediaClient.isExternalImageIdentifier)(identifier)) {
285
+ setItem(_outcome.Outcome.successful('external-image'));
286
+ return;
287
+ }
288
+ if (!fileState) {
289
+ return;
290
+ }
291
+ var status = fileState.status;
292
+
293
+ // Track status flags for analytics
294
+ if (status === 'processing') {
295
+ fileStateFlagsRef.current.wasStatusProcessing = true;
296
+ } else if (status === 'uploading') {
297
+ fileStateFlagsRef.current.wasStatusUploading = true;
298
+ }
299
+
300
+ // Handle error state
301
+ if (status === 'error') {
302
+ setItem(_outcome.Outcome.failed(new _MediaViewerError.MediaViewerError('itemviewer-fetch-metadata', (0, _mediaClient.toCommonMediaClientError)(fileState))));
303
+ return;
304
+ }
305
+
306
+ // Optimization: normalize native files to ProcessedFileState to prevent
307
+ // unnecessary re-renders when status changes (e.g., processing → processed)
308
+ if (isNativeFileOptimizationEnabled && canRenderWithoutProcessing(fileState)) {
309
+ setItem(function (prev) {
310
+ // Keep stable reference if we already have a processed state for this file
311
+ if (prev.status === 'SUCCESSFUL' && prev.data && (0, _isFileStateItem.isFileStateItem)(prev.data) && prev.data.id === fileState.id && prev.data.status === 'processed') {
312
+ return prev;
313
+ }
314
+ // First load or different file: create normalized processed state
315
+ return _outcome.Outcome.successful(createProcessedFileState(fileState));
316
+ });
317
+ return;
318
+ }
319
+
320
+ // Non-native files: standard behavior
321
+ setItem(_outcome.Outcome.successful(fileState));
322
+ // fileState object reference changes often when polling items (especially during processing); only re-run when fileState.status changes
323
+ // eslint-disable-next-line react-hooks/exhaustive-deps
324
+ }, [isNativeFileOptimizationEnabled ? fileState === null || fileState === void 0 ? void 0 : fileState.status : fileState, identifier]);
325
+ var onSuccess = (0, _react.useCallback)(function () {
326
+ item.whenSuccessful(function (fileItem) {
327
+ if ((0, _isFileStateItem.isFileStateItem)(fileItem)) {
328
+ var fileAttributes = (0, _getFileAttributes.getFileAttributes)(fileItem);
329
+ (0, _fireAnalytics.fireAnalytics)((0, _loadSucceeded.createLoadSucceededEvent)(fileAttributes, traceContext), createAnalyticsEventRef.current);
330
+ (0, _ufoExperiences.succeedMediaFileUfoExperience)({
331
+ fileAttributes: fileAttributes,
332
+ fileStateFlags: fileStateFlagsRef.current
333
+ });
334
+ }
335
+ });
336
+ }, [item, traceContext]);
337
+ var onLoadFail = (0, _react.useCallback)(function (mediaViewerError) {
338
+ setItem(_outcome.Outcome.failed(mediaViewerError, fileState));
339
+ }, [fileState]);
340
+ var renderItem = function renderItem(fileItem) {
341
+ var _viewerOptions$custom;
342
+ var collectionName = (0, _mediaClient.isFileIdentifier)(identifier) ? identifier.collectionName : undefined;
343
+ var viewerProps = {
344
+ mediaClient: mediaClient,
345
+ item: fileItem,
346
+ collectionName: collectionName,
347
+ onClose: onClose,
348
+ previewCount: previewCount,
349
+ viewerOptions: viewerOptions,
350
+ traceContext: traceContext
351
+ };
352
+ var customRenderer = viewerOptions === null || viewerOptions === void 0 || (_viewerOptions$custom = viewerOptions.customRenderers) === null || _viewerOptions$custom === void 0 ? void 0 : _viewerOptions$custom.find(function (renderer) {
353
+ return renderer.shouldUseCustomRenderer({
354
+ fileItem: fileItem
355
+ });
356
+ });
357
+ if (customRenderer) {
358
+ return /*#__PURE__*/_react.default.createElement(_customViewer.CustomViewer, (0, _extends2.default)({
359
+ customRendererConfig: customRenderer,
360
+ onError: onLoadFail,
361
+ onSuccess: onSuccess
362
+ }, viewerProps));
363
+ }
364
+
365
+ // TODO: fix all of the item errors
366
+
367
+ if ((0, _isCodeViewerItem.isCodeViewerItem)(fileItem.name, fileItem.mimeType)) {
368
+ //Render error message if code file has size over 10MB.
369
+ //Required by https://product-fabric.atlassian.net/browse/MEX-1788
370
+ if (fileItem.size > _itemViewer.MAX_FILE_SIZE_SUPPORTED_BY_CODEVIEWER) {
371
+ return renderError(new _MediaViewerError.MediaViewerError('codeviewer-file-size-exceeds'), fileItem);
372
+ }
373
+ return (0, _fg.fg)('platform_media_react19_support') ? /*#__PURE__*/_react.default.createElement(ViewerSuspense, null, /*#__PURE__*/_react.default.createElement(LazyCodeViewer, (0, _extends2.default)({
374
+ onSuccess: onSuccess,
375
+ onError: onLoadFail
376
+ }, viewerProps))) : /*#__PURE__*/_react.default.createElement(LoadableCodeViewer, (0, _extends2.default)({
377
+ onSuccess: onSuccess,
378
+ onError: onLoadFail
379
+ }, viewerProps));
380
+ }
381
+ if ((0, _mediaClient.isFileIdentifier)(identifier) && fileItem.mimeType === 'image/svg+xml') {
382
+ return (0, _fg.fg)('platform_media_react19_support') ? /*#__PURE__*/_react.default.createElement(ViewerSuspense, null, /*#__PURE__*/_react.default.createElement(LazySvgViewer, {
383
+ identifier: identifier,
384
+ onLoad: onSuccess,
385
+ onError: onLoadFail,
386
+ onClose: onClose,
387
+ traceContext: traceContext
388
+ })) : /*#__PURE__*/_react.default.createElement(LoadableSvgViewer, {
389
+ identifier: identifier,
390
+ onLoad: onSuccess,
391
+ onError: onLoadFail,
392
+ onClose: onClose,
393
+ traceContext: traceContext
394
+ });
395
+ }
396
+ var mediaType = fileItem.mediaType;
397
+ switch (mediaType) {
398
+ case 'image':
399
+ return (0, _fg.fg)('platform_media_react19_support') ? /*#__PURE__*/_react.default.createElement(ViewerSuspense, null, /*#__PURE__*/_react.default.createElement(LazyImageViewer, (0, _extends2.default)({
400
+ onLoad: onSuccess,
401
+ onError: onLoadFail,
402
+ contextId: contextId
403
+ }, viewerProps))) : /*#__PURE__*/_react.default.createElement(LoadableImageViewer, (0, _extends2.default)({
404
+ onLoad: onSuccess,
405
+ onError: onLoadFail,
406
+ contextId: contextId
407
+ }, viewerProps));
408
+ case 'audio':
409
+ return (0, _fg.fg)('platform_media_react19_support') ? /*#__PURE__*/_react.default.createElement(ViewerSuspense, null, /*#__PURE__*/_react.default.createElement(LazyAudioViewer, (0, _extends2.default)({
410
+ showControls: showControls,
411
+ onCanPlay: onSuccess,
412
+ onError: onLoadFail
413
+ }, viewerProps))) : /*#__PURE__*/_react.default.createElement(LoadableAudioViewer, (0, _extends2.default)({
414
+ showControls: showControls,
415
+ onCanPlay: onSuccess,
416
+ onError: onLoadFail
417
+ }, viewerProps));
418
+ case 'video':
419
+ return (0, _fg.fg)('platform_media_react19_support') ? /*#__PURE__*/_react.default.createElement(ViewerSuspense, null, /*#__PURE__*/_react.default.createElement(LazyVideoViewer, (0, _extends2.default)({
420
+ identifier: identifier,
421
+ showControls: showControls,
422
+ onCanPlay: onSuccess,
423
+ onError: onLoadFail
424
+ }, viewerProps))) : /*#__PURE__*/_react.default.createElement(LoadableVideoViewer, (0, _extends2.default)({
425
+ identifier: identifier,
426
+ showControls: showControls,
427
+ onCanPlay: onSuccess,
428
+ onError: onLoadFail
429
+ }, viewerProps));
430
+ case 'doc':
431
+ return (0, _fg.fg)('platform_media_react19_support') ? /*#__PURE__*/_react.default.createElement(ViewerSuspense, null, /*#__PURE__*/_react.default.createElement(LazyDocViewer, (0, _extends2.default)({
432
+ onSuccess: onSuccess,
433
+ onError: onLoadFail
434
+ }, viewerProps))) : /*#__PURE__*/_react.default.createElement(LoadableDocViewer, (0, _extends2.default)({
435
+ onSuccess: onSuccess,
436
+ onError: onLoadFail
437
+ }, viewerProps));
438
+ case 'archive':
439
+ return /*#__PURE__*/_react.default.createElement(_archiveViewerLoader.default, (0, _extends2.default)({
440
+ onSuccess: onSuccess,
441
+ onError: onLoadFail
442
+ }, viewerProps));
443
+ }
444
+ return renderError(new _MediaViewerError.MediaViewerError('unsupported'), fileItem);
445
+ };
446
+ var renderError = (0, _react.useCallback)(function (error, fileItem) {
447
+ if (fileItem) {
448
+ var _fileState;
449
+ if (fileItem === 'external-image') {
450
+ // external image error outcome
451
+ _fileState = {
452
+ id: 'external-image',
453
+ status: 'error'
454
+ };
455
+ } else {
456
+ // FileState error outcome
457
+ _fileState = fileItem;
458
+ }
459
+ return /*#__PURE__*/_react.default.createElement(_errorMessageWithAnalytics.default, {
460
+ fileId: (0, _mediaClient.isFileIdentifier)(identifier) ? identifier.id : 'undefined',
461
+ error: error,
462
+ fileState: _fileState,
463
+ fileStateFlags: fileStateFlagsRef.current,
464
+ traceContext: traceContext
465
+ }, /*#__PURE__*/_react.default.createElement(_compiled.Text, null, /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, _messages.messages.try_downloading_file)), renderDownloadButton(_fileState, error));
466
+ } else {
467
+ return /*#__PURE__*/_react.default.createElement(_errorMessageWithAnalytics.default, {
468
+ fileId: (0, _mediaClient.isFileIdentifier)(identifier) ? identifier.id : 'undefined',
469
+ error: error,
470
+ fileStateFlags: fileStateFlagsRef.current
471
+ });
472
+ }
473
+ }, [identifier, renderDownloadButton, traceContext]);
474
+ return item.match({
475
+ successful: function successful(fileItem) {
476
+ if (fileItem === 'external-image') {
477
+ // render an external image
478
+ var _ref3 = identifier,
479
+ dataURI = _ref3.dataURI,
480
+ name = _ref3.name;
481
+ return /*#__PURE__*/_react.default.createElement(_interactiveImg.InteractiveImg, {
482
+ src: dataURI,
483
+ alt: name !== null && name !== void 0 ? name : '',
484
+ onLoad: function onLoad() {
485
+ (0, _fireAnalytics.fireAnalytics)((0, _loadSucceeded.createLoadSucceededEvent)({
486
+ fileId: 'external-image'
487
+ }), createAnalyticsEventRef.current);
488
+ (0, _ufoExperiences.succeedMediaFileUfoExperience)({
489
+ fileAttributes: {
490
+ fileId: 'external-image'
491
+ },
492
+ fileStateFlags: fileStateFlagsRef.current
493
+ });
494
+ },
495
+ onError: function onError() {
496
+ setItem(_outcome.Outcome.failed(new _MediaViewerError.MediaViewerError('imageviewer-external-onerror')));
497
+ }
498
+ });
499
+ } else {
500
+ // render a FileState fetched through media-client
501
+ switch (fileItem.status) {
502
+ case 'processed':
503
+ case 'uploading':
504
+ case 'processing':
505
+ return renderItem(fileItem);
506
+ case 'failed-processing':
507
+ if (fileItem.mediaType === 'doc' && fileItem.mimeType === 'application/pdf') {
508
+ return renderItem(fileItem);
509
+ }
510
+ return renderError(new _MediaViewerError.MediaViewerError('itemviewer-file-failed-processing-status'), fileItem);
511
+ case 'error':
512
+ return renderError(new _MediaViewerError.MediaViewerError('itemviewer-file-error-status', (0, _mediaClient.toCommonMediaClientError)(fileItem)), fileItem);
513
+ }
514
+ }
515
+ },
516
+ pending: function pending() {
517
+ return /*#__PURE__*/_react.default.createElement(_loading.Spinner, null);
518
+ },
519
+ failed: function failed(error) {
520
+ return renderError(error, item.data);
521
+ }
522
+ });
523
+ };
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.MediaViewerError = void 0;
8
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
11
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
12
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
+ var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
14
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
15
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
16
+ var MediaViewerError = exports.MediaViewerError = /*#__PURE__*/function (_Error) {
17
+ function MediaViewerError(primaryReason, secondaryError) {
18
+ var _this;
19
+ (0, _classCallCheck2.default)(this, MediaViewerError);
20
+ _this = _callSuper(this, MediaViewerError, [primaryReason]);
21
+
22
+ // https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-2.html#support-for-newtarget
23
+ _this.primaryReason = primaryReason;
24
+ _this.secondaryError = secondaryError;
25
+ Object.setPrototypeOf(_this, (this instanceof MediaViewerError ? this.constructor : void 0).prototype);
26
+
27
+ // https://v8.dev/docs/stack-trace-api
28
+ if ('captureStackTrace' in Error) {
29
+ Error.captureStackTrace(_this, this instanceof MediaViewerError ? this.constructor : void 0);
30
+ }
31
+ return _this;
32
+ }
33
+ (0, _inherits2.default)(MediaViewerError, _Error);
34
+ return (0, _createClass2.default)(MediaViewerError);
35
+ }( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.ToolbarDownloadButton = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _mediaClient = require("@atlaskit/media-client");
10
+ var _downloadButtonClicked = require("./analytics/events/ui/downloadButtonClicked");
11
+ var _DownloadItem = require("./DownloadItem");
12
+ var _downloadIcon = require("./downloadIcon");
13
+ var ToolbarDownloadButton = exports.ToolbarDownloadButton = function ToolbarDownloadButton(_ref) {
14
+ var state = _ref.state,
15
+ mediaClient = _ref.mediaClient,
16
+ identifier = _ref.identifier,
17
+ traceContext = _ref.traceContext,
18
+ fallbackMediaName = _ref.fallbackMediaName;
19
+ // TODO [MS-1731]: make it work for external files as well
20
+ if ((0, _mediaClient.isExternalImageIdentifier)(identifier)) {
21
+ return null;
22
+ }
23
+ var downloadEvent = (0, _downloadButtonClicked.createDownloadButtonClickedEvent)(state);
24
+ var testId = 'media-viewer-download-button';
25
+ return /*#__PURE__*/_react.default.createElement(_DownloadItem.DownloadItem, {
26
+ testId: testId,
27
+ analyticspayload: downloadEvent,
28
+ fileState: state,
29
+ mediaClient: mediaClient,
30
+ collectionName: identifier.collectionName,
31
+ traceContext: traceContext,
32
+ iconBefore: _downloadIcon.downloadIcon,
33
+ fallbackMediaName: fallbackMediaName
34
+ });
35
+ };
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createDownloadFailedEventPayload = void 0;
7
+ var _getErrorDetail = require("../../../getErrorDetail");
8
+ var _getPrimaryErrorReason = require("../../../getPrimaryErrorReason");
9
+ var _getRequestMetadata = require("../../../getRequestMetadata");
10
+ var _getSecondaryErrorReason = require("../../../getSecondaryErrorReason");
11
+ var _getFileAttributes2 = require("../../getFileAttributes");
12
+ var createDownloadFailedEventPayload = exports.createDownloadFailedEventPayload = function createDownloadFailedEventPayload(fileId, error, fileState, traceContext) {
13
+ var _getFileAttributes = (0, _getFileAttributes2.getFileAttributes)(fileState),
14
+ fileMediatype = _getFileAttributes.fileMediatype,
15
+ fileMimetype = _getFileAttributes.fileMimetype,
16
+ fileSize = _getFileAttributes.fileSize;
17
+ var requestMetadata = (0, _getRequestMetadata.getRequestMetadata)(error);
18
+ return {
19
+ eventType: 'operational',
20
+ actionSubject: 'mediaFile',
21
+ action: 'downloadFailed',
22
+ attributes: {
23
+ status: 'fail',
24
+ failReason: (0, _getPrimaryErrorReason.getPrimaryErrorReason)(error),
25
+ error: (0, _getSecondaryErrorReason.getSecondaryErrorReason)(error),
26
+ errorDetail: (0, _getErrorDetail.getErrorDetail)(error),
27
+ statusCode: requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.statusCode,
28
+ request: requestMetadata,
29
+ fileMimetype: fileMimetype,
30
+ fileMediatype: fileMediatype,
31
+ fileAttributes: {
32
+ fileId: fileId,
33
+ fileMediatype: fileMediatype,
34
+ fileMimetype: fileMimetype,
35
+ fileSize: fileSize
36
+ },
37
+ traceContext: traceContext
38
+ }
39
+ };
40
+ };
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createDownloadSucceededEventPayload = void 0;
7
+ var _getFileAttributes2 = require("../../getFileAttributes");
8
+ var createDownloadSucceededEventPayload = exports.createDownloadSucceededEventPayload = function createDownloadSucceededEventPayload(fileState, traceContext) {
9
+ var _getFileAttributes = (0, _getFileAttributes2.getFileAttributes)(fileState),
10
+ fileId = _getFileAttributes.fileId,
11
+ fileMediatype = _getFileAttributes.fileMediatype,
12
+ fileMimetype = _getFileAttributes.fileMimetype,
13
+ fileSize = _getFileAttributes.fileSize;
14
+ return {
15
+ eventType: 'operational',
16
+ actionSubject: 'mediaFile',
17
+ action: 'downloadSucceeded',
18
+ attributes: {
19
+ status: 'success',
20
+ fileMediatype: fileMediatype,
21
+ fileMimetype: fileMimetype,
22
+ fileAttributes: {
23
+ fileId: fileId,
24
+ fileMediatype: fileMediatype,
25
+ fileMimetype: fileMimetype,
26
+ fileSize: fileSize
27
+ },
28
+ traceContext: traceContext
29
+ }
30
+ };
31
+ };