@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,299 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.InteractiveImgComponent = void 0;
8
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
+ var _react = _interopRequireDefault(require("react"));
15
+ var _videoHd = _interopRequireDefault(require("@atlaskit/icon-lab/core/video-hd"));
16
+ var _videoHdFilled = _interopRequireDefault(require("@atlaskit/icon-lab/core/video-hd-filled"));
17
+ var _constants = require("@atlaskit/media-client/constants");
18
+ var _camera = require("@atlaskit/media-ui/camera/camera");
19
+ var _classNames = require("@atlaskit/media-ui/classNames");
20
+ var _getCssFromImageOrientation = require("@atlaskit/media-ui/imageMetaData/getCssFromImageOrientation");
21
+ var _rectangle = require("@atlaskit/media-ui/rectangle");
22
+ var _vector = require("@atlaskit/media-ui/vector2");
23
+ var _spinner = _interopRequireDefault(require("@atlaskit/spinner/spinner"));
24
+ var _zoomLevel = require("../../domain/zoomLevel");
25
+ var _styleWrappers = require("../../styleWrappers");
26
+ var _closeOnDirectClick = require("../../utils/closeOnDirectClick");
27
+ var _zoomControls = require("../../zoomControls");
28
+ var _zoomLevelAfterResize = require("./zoom-level-after-resize");
29
+ 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)); }
30
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
31
+ var clientRectangle = function clientRectangle(el) {
32
+ var clientWidth = el.clientWidth,
33
+ clientHeight = el.clientHeight;
34
+ return new _rectangle.Rectangle(clientWidth, clientHeight);
35
+ };
36
+ var naturalSizeRectangle = function naturalSizeRectangle(el) {
37
+ var naturalWidth = el.naturalWidth,
38
+ naturalHeight = el.naturalHeight;
39
+ return new _rectangle.Rectangle(naturalWidth, naturalHeight);
40
+ };
41
+ var initialState = {
42
+ zoomLevel: new _zoomLevel.ZoomLevel(1),
43
+ isHDActive: false,
44
+ isHDActivating: false,
45
+ isHDAvailable: false,
46
+ isDragging: false,
47
+ cursorPos: new _vector.Vector2(0, 0),
48
+ hasBeenLoadedOnce: false
49
+ };
50
+ var InteractiveImgComponent = exports.InteractiveImgComponent = /*#__PURE__*/function (_React$Component) {
51
+ function InteractiveImgComponent() {
52
+ var _this;
53
+ (0, _classCallCheck2.default)(this, InteractiveImgComponent);
54
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
55
+ args[_key] = arguments[_key];
56
+ }
57
+ _this = _callSuper(this, InteractiveImgComponent, [].concat(args));
58
+ (0, _defineProperty2.default)(_this, "state", initialState);
59
+ (0, _defineProperty2.default)(_this, "saveWrapperRef", function (ref) {
60
+ return _this.wrapper = ref;
61
+ });
62
+ (0, _defineProperty2.default)(_this, "onImageClicked", function (e) {
63
+ var _this$props = _this.props,
64
+ onClose = _this$props.onClose,
65
+ onBlanketClicked = _this$props.onBlanketClicked;
66
+ if (e.target === e.currentTarget && onBlanketClicked) {
67
+ onBlanketClicked();
68
+ }
69
+ (0, _closeOnDirectClick.closeOnDirectClick)(onClose)(e);
70
+ });
71
+ (0, _defineProperty2.default)(_this, "onImgLoad", function (ev) {
72
+ var _this$props2 = _this.props,
73
+ onLoad = _this$props2.onLoad,
74
+ originalBinaryImageSrc = _this$props2.originalBinaryImageSrc;
75
+ var _this$state = _this.state,
76
+ hasBeenLoadedOnce = _this$state.hasBeenLoadedOnce,
77
+ oldZoomLevel = _this$state.zoomLevel,
78
+ currentCamera = _this$state.camera;
79
+ var _this$state2 = _this.state,
80
+ isHDActivating = _this$state2.isHDActivating,
81
+ isHDAvailable = _this$state2.isHDAvailable,
82
+ isHDActive = _this$state2.isHDActive;
83
+ if (!_this.wrapper) {
84
+ return;
85
+ }
86
+ var viewport = clientRectangle(_this.wrapper);
87
+ var originalImgRect = naturalSizeRectangle(ev.currentTarget);
88
+ var camera = new _camera.Camera(viewport, originalImgRect);
89
+ var newZoomLevel;
90
+ if (hasBeenLoadedOnce && currentCamera) {
91
+ /* This is not first time image is loading. Likely due to new (HD) image is loaded.
92
+ * In order to keep new image on the same perceived zoom level we need to scale.
93
+ * It depends on ration between old and new images and current zoom level.
94
+ * For example:
95
+ * - old image is 2000px with zoom at 50% (0.5). New image is 4000px. 2000/4000 * 0.5 = 0.25 (25%)
96
+ * - old image is 2000px with zoom at 200% (2). New image is 4000px. 2000/4000 * 2 = 1 (100%)
97
+ */
98
+ var previousImageWidth = currentCamera.originalImg.width;
99
+ var newImageWidth = originalImgRect.width;
100
+ newZoomLevel = new _zoomLevel.ZoomLevel(previousImageWidth / newImageWidth * oldZoomLevel.value);
101
+ isHDActivating = false;
102
+ } else {
103
+ newZoomLevel = new _zoomLevel.ZoomLevel(camera.scaleDownToFit);
104
+
105
+ // If initial (non-HD) image is equal to MAX resolution -
106
+ // this means most likely original image had higher res (because non-HD is downsized and caped off with MAX res)
107
+ isHDAvailable = !!originalBinaryImageSrc && (originalImgRect.width === _constants.MAX_RESOLUTION || originalImgRect.height === _constants.MAX_RESOLUTION);
108
+
109
+ // Automatically activate HD on first load if zoom level is already 100% or bigger
110
+ isHDActive = newZoomLevel.value >= 1;
111
+ if (onLoad) {
112
+ // Call onLoad only once on initial image render
113
+ onLoad();
114
+ }
115
+ }
116
+ _this.setState({
117
+ camera: camera,
118
+ zoomLevel: newZoomLevel,
119
+ hasBeenLoadedOnce: true,
120
+ isHDActivating: isHDActivating,
121
+ isHDAvailable: isHDAvailable,
122
+ isHDActive: isHDActive
123
+ });
124
+ });
125
+ (0, _defineProperty2.default)(_this, "onResize", function () {
126
+ var camera = _this.state.camera;
127
+ if (!_this.wrapper || !camera) {
128
+ return;
129
+ }
130
+ var oldZoomLevel = _this.state.zoomLevel;
131
+ var newViewport = clientRectangle(_this.wrapper);
132
+ var newCamera = camera.resizedViewport(newViewport);
133
+ var newZoomLevel = (0, _zoomLevelAfterResize.zoomLevelAfterResize)(newCamera, camera, oldZoomLevel);
134
+ _this.setState({
135
+ camera: newCamera,
136
+ zoomLevel: newZoomLevel
137
+ });
138
+ });
139
+ (0, _defineProperty2.default)(_this, "onZoomChange", function (nextZoomLevel) {
140
+ var camera = _this.state.camera;
141
+ var _this2 = _this,
142
+ wrapper = _this2.wrapper;
143
+ if (!wrapper || !camera) {
144
+ return;
145
+ }
146
+ var scrollLeft = wrapper.scrollLeft,
147
+ scrollTop = wrapper.scrollTop;
148
+ var prevOffset = new _vector.Vector2(scrollLeft, scrollTop);
149
+ var _this$state3 = _this.state,
150
+ prevZoomLevel = _this$state3.zoomLevel,
151
+ prevIsHDActive = _this$state3.isHDActive,
152
+ prevIsHDActivating = _this$state3.isHDActivating;
153
+ var isHDActive = prevIsHDActive || nextZoomLevel.value >= 1;
154
+ var isHDActivating = prevIsHDActivating || !prevIsHDActive && isHDActive;
155
+ _this.setState({
156
+ zoomLevel: nextZoomLevel,
157
+ isHDActive: isHDActive,
158
+ isHDActivating: isHDActivating
159
+ }, function () {
160
+ var _camera$scaledOffset = camera.scaledOffset(prevOffset, prevZoomLevel.value, nextZoomLevel.value),
161
+ x = _camera$scaledOffset.x,
162
+ y = _camera$scaledOffset.y;
163
+ wrapper.scrollLeft = x;
164
+ wrapper.scrollTop = y;
165
+ });
166
+ });
167
+ (0, _defineProperty2.default)(_this, "startDragging", function (ev) {
168
+ // stopping propagation to prevent media viewer from closing
169
+ // when clicking on the image
170
+ ev.stopPropagation();
171
+ ev.preventDefault();
172
+ _this.setState({
173
+ isDragging: true,
174
+ cursorPos: new _vector.Vector2(ev.screenX, ev.screenY)
175
+ });
176
+ });
177
+ (0, _defineProperty2.default)(_this, "stopDragging", function (ev) {
178
+ ev.preventDefault();
179
+ _this.setState({
180
+ isDragging: false
181
+ });
182
+ });
183
+ (0, _defineProperty2.default)(_this, "panImage", function (ev) {
184
+ if (_this.state.isDragging && _this.wrapper) {
185
+ var cursorPos = new _vector.Vector2(ev.screenX, ev.screenY);
186
+ var delta = _this.state.cursorPos.sub(cursorPos);
187
+ _this.setState({
188
+ cursorPos: cursorPos
189
+ });
190
+ _this.wrapper.scrollLeft += delta.x;
191
+ _this.wrapper.scrollTop += delta.y;
192
+ }
193
+ });
194
+ return _this;
195
+ }
196
+ (0, _inherits2.default)(InteractiveImgComponent, _React$Component);
197
+ return (0, _createClass2.default)(InteractiveImgComponent, [{
198
+ key: "componentDidMount",
199
+ value: function componentDidMount() {
200
+ this.state = initialState;
201
+ window.addEventListener('resize', this.onResize);
202
+ document.addEventListener('mousemove', this.panImage);
203
+ document.addEventListener('mouseup', this.stopDragging);
204
+ }
205
+ }, {
206
+ key: "componentWillUnmount",
207
+ value: function componentWillUnmount() {
208
+ window.removeEventListener('resize', this.onResize);
209
+ document.removeEventListener('mousemove', this.panImage);
210
+ document.removeEventListener('mouseup', this.stopDragging);
211
+ }
212
+ }, {
213
+ key: "renderHDIndicator",
214
+ value: function renderHDIndicator() {
215
+ var _this$state4 = this.state,
216
+ isHDActivating = _this$state4.isHDActivating,
217
+ isHDAvailable = _this$state4.isHDAvailable,
218
+ isHDActive = _this$state4.isHDActive;
219
+ if (!isHDAvailable) {
220
+ return null;
221
+ }
222
+ return (
223
+ /*#__PURE__*/
224
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
225
+ _react.default.createElement(_styleWrappers.HDIconGroupWrapper, {
226
+ className: _classNames.hideControlsClassName
227
+ }, isHDActivating ? /*#__PURE__*/_react.default.createElement(_spinner.default, {
228
+ appearance: "invert"
229
+ }) : undefined, isHDActive ? /*#__PURE__*/_react.default.createElement(_videoHdFilled.default, {
230
+ label: "hd active"
231
+ }) : /*#__PURE__*/_react.default.createElement(_videoHd.default, {
232
+ label: "hd"
233
+ }))
234
+ );
235
+ }
236
+ }, {
237
+ key: "render",
238
+ value: function render() {
239
+ var _this$props3 = this.props,
240
+ src = _this$props3.src,
241
+ originalBinaryImageSrc = _this$props3.originalBinaryImageSrc,
242
+ orientation = _this$props3.orientation,
243
+ onError = _this$props3.onError;
244
+ var _this$state5 = this.state,
245
+ zoomLevel = _this$state5.zoomLevel,
246
+ isHDAvailable = _this$state5.isHDAvailable,
247
+ isHDActive = _this$state5.isHDActive,
248
+ camera = _this$state5.camera,
249
+ isDragging = _this$state5.isDragging;
250
+ var canDrag = camera && zoomLevel.value > camera.scaleToFit || false;
251
+ // We use style attr instead of SC prop for perf reasons
252
+ var imgStyle = camera && camera.scaledImg(zoomLevel.value) || {
253
+ visibility: 'hidden'
254
+ };
255
+ // When image loads it does two things at the same time 1) it renders itself in the browser 2) triggers onLoad
256
+ // visibility: 'hidden' is here to prevent image rendering on the screen (with 100%) before next
257
+ // react re-render when we have `camera` and can control it's zoom level.
258
+ // overflow: 'hidden' is here to prevent scroll going wild while image is rendered in visibility: 'hidden'
259
+ // We can't use display: none or not render image, because we do need `onLoad` to trigger and read it's dimensions
260
+ var wrapperStyleOverride = camera ? {} : {
261
+ overflow: 'hidden'
262
+ };
263
+ if (orientation) {
264
+ imgStyle.transform = (0, _getCssFromImageOrientation.getCssFromImageOrientation)(orientation);
265
+ }
266
+ var srcToDisplay = isHDAvailable && isHDActive && originalBinaryImageSrc ? originalBinaryImageSrc : src;
267
+ return /*#__PURE__*/_react.default.createElement(_styleWrappers.ImageWrapper, {
268
+ "data-testid": "media-viewer-image-content",
269
+ onClick: this.onImageClicked,
270
+ ref: this.saveWrapperRef
271
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
272
+ ,
273
+ style: wrapperStyleOverride
274
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
275
+ ,
276
+ className: "media-viewer-image-content"
277
+ }, /*#__PURE__*/_react.default.createElement(_styleWrappers.Img, {
278
+ "data-testid": "media-viewer-image",
279
+ canDrag: canDrag,
280
+ isDragging: isDragging,
281
+ src: srcToDisplay,
282
+ alt: this.props.alt
283
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
284
+ ,
285
+ style: imgStyle,
286
+ onLoad: this.onImgLoad,
287
+ onError: onError,
288
+ onMouseDown: this.startDragging,
289
+ shouldPixelate: zoomLevel.value > 1
290
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
291
+ ,
292
+ className: "media-viewer-image"
293
+ }), /*#__PURE__*/_react.default.createElement(_styleWrappers.BaselineExtend, null), /*#__PURE__*/_react.default.createElement(_zoomControls.ZoomControls, {
294
+ zoomLevel: zoomLevel,
295
+ onChange: this.onZoomChange
296
+ }, this.renderHDIndicator()));
297
+ }
298
+ }]);
299
+ }(_react.default.Component);
@@ -4,310 +4,14 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.InteractiveImgComponent = exports.InteractiveImg = void 0;
8
- exports.zoomLevelAfterResize = zoomLevelAfterResize;
9
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
12
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
13
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
- var _react = _interopRequireDefault(require("react"));
16
- var _camera = require("@atlaskit/media-ui/camera/camera");
17
- var _getCssFromImageOrientation = require("@atlaskit/media-ui/imageMetaData/getCssFromImageOrientation");
18
- var _classNames = require("@atlaskit/media-ui/classNames");
19
- var _rectangle = require("@atlaskit/media-ui/rectangle");
20
- var _vector = require("@atlaskit/media-ui/vector2");
21
- var _mediaCommon = require("@atlaskit/media-common");
22
- var _constants = require("@atlaskit/media-client/constants");
7
+ exports.InteractiveImg = void 0;
23
8
  var _withAnalyticsEvents = _interopRequireDefault(require("@atlaskit/analytics-next/withAnalyticsEvents"));
24
- var _videoHd = _interopRequireDefault(require("@atlaskit/icon-lab/core/video-hd"));
25
- var _videoHdFilled = _interopRequireDefault(require("@atlaskit/icon-lab/core/video-hd-filled"));
26
- var _spinner = _interopRequireDefault(require("@atlaskit/spinner/spinner"));
27
- var _styleWrappers = require("../../styleWrappers");
28
- var _zoomLevel = require("../../domain/zoomLevel");
29
- var _closeOnDirectClick = require("../../utils/closeOnDirectClick");
30
- var _zoomControls = require("../../zoomControls");
9
+ var _mediaCommon = require("@atlaskit/media-common");
31
10
  var _closed = require("../../analytics/events/ui/closed");
32
- 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)); }
33
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
34
- function zoomLevelAfterResize(newCamera, oldCamera, oldZoomLevel) {
35
- var isImgScaledToFit = oldZoomLevel.value === oldCamera.scaleDownToFit;
36
- var zoomLevelToRefit = new _zoomLevel.ZoomLevel(newCamera.scaleDownToFit);
37
- return isImgScaledToFit ? zoomLevelToRefit : oldZoomLevel;
38
- }
39
- var clientRectangle = function clientRectangle(el) {
40
- var clientWidth = el.clientWidth,
41
- clientHeight = el.clientHeight;
42
- return new _rectangle.Rectangle(clientWidth, clientHeight);
43
- };
44
- var naturalSizeRectangle = function naturalSizeRectangle(el) {
45
- var naturalWidth = el.naturalWidth,
46
- naturalHeight = el.naturalHeight;
47
- return new _rectangle.Rectangle(naturalWidth, naturalHeight);
48
- };
49
- var initialState = {
50
- zoomLevel: new _zoomLevel.ZoomLevel(1),
51
- isHDActive: false,
52
- isHDActivating: false,
53
- isHDAvailable: false,
54
- isDragging: false,
55
- cursorPos: new _vector.Vector2(0, 0),
56
- hasBeenLoadedOnce: false
57
- };
58
- var InteractiveImgComponent = exports.InteractiveImgComponent = /*#__PURE__*/function (_React$Component) {
59
- function InteractiveImgComponent() {
60
- var _this;
61
- (0, _classCallCheck2.default)(this, InteractiveImgComponent);
62
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
63
- args[_key] = arguments[_key];
64
- }
65
- _this = _callSuper(this, InteractiveImgComponent, [].concat(args));
66
- (0, _defineProperty2.default)(_this, "state", initialState);
67
- (0, _defineProperty2.default)(_this, "saveWrapperRef", function (ref) {
68
- return _this.wrapper = ref;
69
- });
70
- (0, _defineProperty2.default)(_this, "onImageClicked", function (e) {
71
- var _this$props = _this.props,
72
- onClose = _this$props.onClose,
73
- onBlanketClicked = _this$props.onBlanketClicked;
74
- if (e.target === e.currentTarget && onBlanketClicked) {
75
- onBlanketClicked();
76
- }
77
- (0, _closeOnDirectClick.closeOnDirectClick)(onClose)(e);
78
- });
79
- (0, _defineProperty2.default)(_this, "onImgLoad", function (ev) {
80
- var _this$props2 = _this.props,
81
- onLoad = _this$props2.onLoad,
82
- originalBinaryImageSrc = _this$props2.originalBinaryImageSrc;
83
- var _this$state = _this.state,
84
- hasBeenLoadedOnce = _this$state.hasBeenLoadedOnce,
85
- oldZoomLevel = _this$state.zoomLevel,
86
- currentCamera = _this$state.camera;
87
- var _this$state2 = _this.state,
88
- isHDActivating = _this$state2.isHDActivating,
89
- isHDAvailable = _this$state2.isHDAvailable,
90
- isHDActive = _this$state2.isHDActive;
91
- if (!_this.wrapper) {
92
- return;
93
- }
94
- var viewport = clientRectangle(_this.wrapper);
95
- var originalImgRect = naturalSizeRectangle(ev.currentTarget);
96
- var camera = new _camera.Camera(viewport, originalImgRect);
97
- var newZoomLevel;
98
- if (hasBeenLoadedOnce && currentCamera) {
99
- /* This is not first time image is loading. Likely due to new (HD) image is loaded.
100
- * In order to keep new image on the same perceived zoom level we need to scale.
101
- * It depends on ration between old and new images and current zoom level.
102
- * For example:
103
- * - old image is 2000px with zoom at 50% (0.5). New image is 4000px. 2000/4000 * 0.5 = 0.25 (25%)
104
- * - old image is 2000px with zoom at 200% (2). New image is 4000px. 2000/4000 * 2 = 1 (100%)
105
- */
106
- var previousImageWidth = currentCamera.originalImg.width;
107
- var newImageWidth = originalImgRect.width;
108
- newZoomLevel = new _zoomLevel.ZoomLevel(previousImageWidth / newImageWidth * oldZoomLevel.value);
109
- isHDActivating = false;
110
- } else {
111
- newZoomLevel = new _zoomLevel.ZoomLevel(camera.scaleDownToFit);
112
-
113
- // If initial (non-HD) image is equal to MAX resolution -
114
- // this means most likely original image had higher res (because non-HD is downsized and caped off with MAX res)
115
- isHDAvailable = !!originalBinaryImageSrc && (originalImgRect.width === _constants.MAX_RESOLUTION || originalImgRect.height === _constants.MAX_RESOLUTION);
116
-
117
- // Automatically activate HD on first load if zoom level is already 100% or bigger
118
- isHDActive = newZoomLevel.value >= 1;
119
- if (onLoad) {
120
- // Call onLoad only once on initial image render
121
- onLoad();
122
- }
123
- }
124
- _this.setState({
125
- camera: camera,
126
- zoomLevel: newZoomLevel,
127
- hasBeenLoadedOnce: true,
128
- isHDActivating: isHDActivating,
129
- isHDAvailable: isHDAvailable,
130
- isHDActive: isHDActive
131
- });
132
- });
133
- (0, _defineProperty2.default)(_this, "onResize", function () {
134
- var camera = _this.state.camera;
135
- if (!_this.wrapper || !camera) {
136
- return;
137
- }
138
- var oldZoomLevel = _this.state.zoomLevel;
139
- var newViewport = clientRectangle(_this.wrapper);
140
- var newCamera = camera.resizedViewport(newViewport);
141
- var newZoomLevel = zoomLevelAfterResize(newCamera, camera, oldZoomLevel);
142
- _this.setState({
143
- camera: newCamera,
144
- zoomLevel: newZoomLevel
145
- });
146
- });
147
- (0, _defineProperty2.default)(_this, "onZoomChange", function (nextZoomLevel) {
148
- var camera = _this.state.camera;
149
- var _this2 = _this,
150
- wrapper = _this2.wrapper;
151
- if (!wrapper || !camera) {
152
- return;
153
- }
154
- var scrollLeft = wrapper.scrollLeft,
155
- scrollTop = wrapper.scrollTop;
156
- var prevOffset = new _vector.Vector2(scrollLeft, scrollTop);
157
- var _this$state3 = _this.state,
158
- prevZoomLevel = _this$state3.zoomLevel,
159
- prevIsHDActive = _this$state3.isHDActive,
160
- prevIsHDActivating = _this$state3.isHDActivating;
161
- var isHDActive = prevIsHDActive || nextZoomLevel.value >= 1;
162
- var isHDActivating = prevIsHDActivating || !prevIsHDActive && isHDActive;
163
- _this.setState({
164
- zoomLevel: nextZoomLevel,
165
- isHDActive: isHDActive,
166
- isHDActivating: isHDActivating
167
- }, function () {
168
- var _camera$scaledOffset = camera.scaledOffset(prevOffset, prevZoomLevel.value, nextZoomLevel.value),
169
- x = _camera$scaledOffset.x,
170
- y = _camera$scaledOffset.y;
171
- wrapper.scrollLeft = x;
172
- wrapper.scrollTop = y;
173
- });
174
- });
175
- (0, _defineProperty2.default)(_this, "startDragging", function (ev) {
176
- // stopping propagation to prevent media viewer from closing
177
- // when clicking on the image
178
- ev.stopPropagation();
179
- ev.preventDefault();
180
- _this.setState({
181
- isDragging: true,
182
- cursorPos: new _vector.Vector2(ev.screenX, ev.screenY)
183
- });
184
- });
185
- (0, _defineProperty2.default)(_this, "stopDragging", function (ev) {
186
- ev.preventDefault();
187
- _this.setState({
188
- isDragging: false
189
- });
190
- });
191
- (0, _defineProperty2.default)(_this, "panImage", function (ev) {
192
- if (_this.state.isDragging && _this.wrapper) {
193
- var cursorPos = new _vector.Vector2(ev.screenX, ev.screenY);
194
- var delta = _this.state.cursorPos.sub(cursorPos);
195
- _this.setState({
196
- cursorPos: cursorPos
197
- });
198
- _this.wrapper.scrollLeft += delta.x;
199
- _this.wrapper.scrollTop += delta.y;
200
- }
201
- });
202
- return _this;
203
- }
204
- (0, _inherits2.default)(InteractiveImgComponent, _React$Component);
205
- return (0, _createClass2.default)(InteractiveImgComponent, [{
206
- key: "componentDidMount",
207
- value: function componentDidMount() {
208
- this.state = initialState;
209
- window.addEventListener('resize', this.onResize);
210
- document.addEventListener('mousemove', this.panImage);
211
- document.addEventListener('mouseup', this.stopDragging);
212
- }
213
- }, {
214
- key: "componentWillUnmount",
215
- value: function componentWillUnmount() {
216
- window.removeEventListener('resize', this.onResize);
217
- document.removeEventListener('mousemove', this.panImage);
218
- document.removeEventListener('mouseup', this.stopDragging);
219
- }
220
- }, {
221
- key: "renderHDIndicator",
222
- value: function renderHDIndicator() {
223
- var _this$state4 = this.state,
224
- isHDActivating = _this$state4.isHDActivating,
225
- isHDAvailable = _this$state4.isHDAvailable,
226
- isHDActive = _this$state4.isHDActive;
227
- if (!isHDAvailable) {
228
- return null;
229
- }
230
- return (
231
- /*#__PURE__*/
232
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
233
- _react.default.createElement(_styleWrappers.HDIconGroupWrapper, {
234
- className: _classNames.hideControlsClassName
235
- }, isHDActivating ? /*#__PURE__*/_react.default.createElement(_spinner.default, {
236
- appearance: "invert"
237
- }) : undefined, isHDActive ? /*#__PURE__*/_react.default.createElement(_videoHdFilled.default, {
238
- label: "hd active"
239
- }) : /*#__PURE__*/_react.default.createElement(_videoHd.default, {
240
- label: "hd"
241
- }))
242
- );
243
- }
244
- }, {
245
- key: "render",
246
- value: function render() {
247
- var _this$props3 = this.props,
248
- src = _this$props3.src,
249
- originalBinaryImageSrc = _this$props3.originalBinaryImageSrc,
250
- orientation = _this$props3.orientation,
251
- onError = _this$props3.onError;
252
- var _this$state5 = this.state,
253
- zoomLevel = _this$state5.zoomLevel,
254
- isHDAvailable = _this$state5.isHDAvailable,
255
- isHDActive = _this$state5.isHDActive,
256
- camera = _this$state5.camera,
257
- isDragging = _this$state5.isDragging;
258
- var canDrag = camera && zoomLevel.value > camera.scaleToFit || false;
259
- // We use style attr instead of SC prop for perf reasons
260
- var imgStyle = camera && camera.scaledImg(zoomLevel.value) || {
261
- visibility: 'hidden'
262
- };
263
- // When image loads it does two things at the same time 1) it renders itself in the browser 2) triggers onLoad
264
- // visibility: 'hidden' is here to prevent image rendering on the screen (with 100%) before next
265
- // react re-render when we have `camera` and can control it's zoom level.
266
- // overflow: 'hidden' is here to prevent scroll going wild while image is rendered in visibility: 'hidden'
267
- // We can't use display: none or not render image, because we do need `onLoad` to trigger and read it's dimensions
268
- var wrapperStyleOverride = camera ? {} : {
269
- overflow: 'hidden'
270
- };
271
- if (orientation) {
272
- imgStyle.transform = (0, _getCssFromImageOrientation.getCssFromImageOrientation)(orientation);
273
- }
274
- var srcToDisplay = isHDAvailable && isHDActive && originalBinaryImageSrc ? originalBinaryImageSrc : src;
275
- return /*#__PURE__*/_react.default.createElement(_styleWrappers.ImageWrapper, {
276
- "data-testid": "media-viewer-image-content",
277
- onClick: this.onImageClicked,
278
- ref: this.saveWrapperRef
279
- // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
280
- ,
281
- style: wrapperStyleOverride
282
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
283
- ,
284
- className: "media-viewer-image-content"
285
- }, /*#__PURE__*/_react.default.createElement(_styleWrappers.Img, {
286
- "data-testid": "media-viewer-image",
287
- canDrag: canDrag,
288
- isDragging: isDragging,
289
- src: srcToDisplay,
290
- alt: this.props.alt
291
- // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
292
- ,
293
- style: imgStyle,
294
- onLoad: this.onImgLoad,
295
- onError: onError,
296
- onMouseDown: this.startDragging,
297
- shouldPixelate: zoomLevel.value > 1
298
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
299
- ,
300
- className: "media-viewer-image"
301
- }), /*#__PURE__*/_react.default.createElement(_styleWrappers.BaselineExtend, null), /*#__PURE__*/_react.default.createElement(_zoomControls.ZoomControls, {
302
- zoomLevel: zoomLevel,
303
- onChange: this.onZoomChange
304
- }, this.renderHDIndicator()));
305
- }
306
- }]);
307
- }(_react.default.Component);
11
+ var _interactiveImgComponent = require("./interactive-img-component");
308
12
  var InteractiveImg = exports.InteractiveImg = (0, _withAnalyticsEvents.default)({
309
13
  onBlanketClicked: function onBlanketClicked(createAnalyticsEvent) {
310
14
  var event = createAnalyticsEvent((0, _closed.createClosedEvent)('blanket'));
311
15
  event.fire(_mediaCommon.ANALYTICS_MEDIA_CHANNEL);
312
16
  }
313
- })(InteractiveImgComponent);
17
+ })(_interactiveImgComponent.InteractiveImgComponent);
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.zoomLevelAfterResize = zoomLevelAfterResize;
7
+ var _zoomLevel = require("../../domain/zoomLevel");
8
+ function zoomLevelAfterResize(newCamera, oldCamera, oldZoomLevel) {
9
+ var isImgScaledToFit = oldZoomLevel.value === oldCamera.scaleDownToFit;
10
+ var zoomLevelToRefit = new _zoomLevel.ZoomLevel(newCamera.scaleDownToFit);
11
+ return isImgScaledToFit ? zoomLevelToRefit : oldZoomLevel;
12
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.clientRectangle = void 0;
7
+ var _rectangle = require("@atlaskit/media-ui/rectangle");
8
+ var clientRectangle = exports.clientRectangle = function clientRectangle(el) {
9
+ var clientWidth = el.clientWidth,
10
+ clientHeight = el.clientHeight;
11
+ return new _rectangle.Rectangle(clientWidth, clientHeight);
12
+ };