@atlaskit/editor-plugin-media 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (408) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/cjs/commands/captions.js +59 -0
  3. package/dist/cjs/commands/helpers.js +127 -0
  4. package/dist/cjs/commands/index.js +24 -0
  5. package/dist/cjs/commands/linking.js +181 -0
  6. package/dist/cjs/index.js +8 -1
  7. package/dist/cjs/media-plugin-options.js +5 -0
  8. package/dist/cjs/next-plugin-type.js +5 -0
  9. package/dist/cjs/nodeviews/mediaGroup.js +376 -0
  10. package/dist/cjs/nodeviews/mediaInline.js +288 -0
  11. package/dist/cjs/nodeviews/mediaNodeUpdater.js +739 -0
  12. package/dist/cjs/nodeviews/mediaNodeView/index.js +177 -0
  13. package/dist/cjs/nodeviews/mediaNodeView/media.js +242 -0
  14. package/dist/cjs/nodeviews/mediaSingle.js +629 -0
  15. package/dist/cjs/nodeviews/messages.js +14 -0
  16. package/dist/cjs/nodeviews/styles.js +46 -0
  17. package/dist/cjs/nodeviews/types.js +5 -0
  18. package/dist/cjs/picker-facade.js +192 -0
  19. package/dist/cjs/plugin.js +293 -0
  20. package/dist/cjs/pm-plugins/alt-text/actions.js +5 -0
  21. package/dist/cjs/pm-plugins/alt-text/commands.js +59 -0
  22. package/dist/cjs/pm-plugins/alt-text/index.js +36 -0
  23. package/dist/cjs/pm-plugins/alt-text/keymap.js +15 -0
  24. package/dist/cjs/pm-plugins/alt-text/messages.js +44 -0
  25. package/dist/cjs/pm-plugins/alt-text/reducer.js +32 -0
  26. package/dist/cjs/pm-plugins/alt-text/types.js +5 -0
  27. package/dist/cjs/pm-plugins/alt-text/ui/AltTextEdit.js +209 -0
  28. package/dist/cjs/pm-plugins/keymap-media-single.js +163 -0
  29. package/dist/cjs/pm-plugins/keymap.js +88 -0
  30. package/dist/cjs/pm-plugins/linking/actions.js +13 -0
  31. package/dist/cjs/pm-plugins/linking/index.js +65 -0
  32. package/dist/cjs/pm-plugins/linking/keymap.js +14 -0
  33. package/dist/cjs/pm-plugins/linking/reducer.js +43 -0
  34. package/dist/cjs/pm-plugins/linking/types.js +5 -0
  35. package/dist/cjs/pm-plugins/main.js +813 -0
  36. package/dist/cjs/pm-plugins/media-editor-plugin-factory.js +8 -0
  37. package/dist/cjs/pm-plugins/mediaTaskManager.js +101 -0
  38. package/dist/cjs/pm-plugins/plugin-key.js +8 -0
  39. package/dist/cjs/pm-plugins/types.js +5 -0
  40. package/dist/cjs/toolbar/alt-text.js +80 -0
  41. package/dist/cjs/toolbar/commands.js +236 -0
  42. package/dist/cjs/toolbar/filePreviewItem.js +66 -0
  43. package/dist/cjs/toolbar/imageBorder.js +20 -0
  44. package/dist/cjs/toolbar/index.js +523 -0
  45. package/dist/cjs/toolbar/linking-toolbar-appearance.js +100 -0
  46. package/dist/cjs/toolbar/linking.js +96 -0
  47. package/dist/cjs/toolbar/utils.js +110 -0
  48. package/dist/cjs/ui/CaptionPlaceholder/index.js +27 -0
  49. package/dist/cjs/ui/CaptionPlaceholder/messages.js +14 -0
  50. package/dist/cjs/ui/ImageBorder/index.js +226 -0
  51. package/dist/cjs/ui/ImageBorder/messages.js +49 -0
  52. package/dist/cjs/ui/ImageBorder/styles.js +52 -0
  53. package/dist/cjs/ui/Media/DropPlaceholder.js +38 -0
  54. package/dist/cjs/ui/Media/drop-placeholder-messages.js +14 -0
  55. package/dist/cjs/ui/MediaLinkingToolbar.js +196 -0
  56. package/dist/cjs/ui/MediaPicker/BrowserWrapper.js +40 -0
  57. package/dist/cjs/ui/MediaPicker/ClipboardWrapper.js +39 -0
  58. package/dist/cjs/ui/MediaPicker/DropzoneWrapper.js +51 -0
  59. package/dist/cjs/ui/MediaPicker/PickerFacadeProvider.js +151 -0
  60. package/dist/cjs/ui/MediaPicker/index.js +103 -0
  61. package/dist/cjs/ui/PixelEntry/constants.js +7 -0
  62. package/dist/cjs/ui/PixelEntry/index.js +185 -0
  63. package/dist/cjs/ui/PixelEntry/messages.js +54 -0
  64. package/dist/cjs/ui/PixelEntry/styles.js +19 -0
  65. package/dist/cjs/ui/PixelEntry/types.js +5 -0
  66. package/dist/cjs/ui/ResizableMediaSingle/ResizableMediaMigrationNotification.js +16 -0
  67. package/dist/cjs/ui/ResizableMediaSingle/ResizableMediaSingleNext.js +541 -0
  68. package/dist/cjs/ui/ResizableMediaSingle/index.js +422 -0
  69. package/dist/cjs/ui/ResizableMediaSingle/styled.js +14 -0
  70. package/dist/cjs/ui/ResizableMediaSingle/styles.js +17 -0
  71. package/dist/cjs/ui/ResizableMediaSingle/types.js +5 -0
  72. package/dist/cjs/ui/ToolbarMedia/index.js +42 -0
  73. package/dist/cjs/ui/ToolbarMedia/toolbar-media-messages.js +14 -0
  74. package/dist/cjs/ui/media-linking-toolbar-messages.js +14 -0
  75. package/dist/cjs/utils/analytics.js +53 -0
  76. package/dist/cjs/utils/check-media-type.js +56 -0
  77. package/dist/cjs/utils/current-media-node.js +41 -0
  78. package/dist/cjs/utils/is-image.js +9 -0
  79. package/dist/cjs/utils/media-common.js +181 -0
  80. package/dist/cjs/utils/media-files.js +297 -0
  81. package/dist/cjs/utils/media-single.js +181 -0
  82. package/dist/es2019/commands/captions.js +47 -0
  83. package/dist/es2019/commands/helpers.js +113 -0
  84. package/dist/es2019/commands/index.js +1 -0
  85. package/dist/es2019/commands/linking.js +169 -0
  86. package/dist/es2019/index.js +1 -1
  87. package/dist/es2019/media-plugin-options.js +1 -0
  88. package/dist/es2019/next-plugin-type.js +1 -0
  89. package/dist/es2019/nodeviews/mediaGroup.js +314 -0
  90. package/dist/es2019/nodeviews/mediaInline.js +201 -0
  91. package/dist/es2019/nodeviews/mediaNodeUpdater.js +384 -0
  92. package/dist/es2019/nodeviews/mediaNodeView/index.js +149 -0
  93. package/dist/es2019/nodeviews/mediaNodeView/media.js +182 -0
  94. package/dist/es2019/nodeviews/mediaSingle.js +511 -0
  95. package/dist/es2019/nodeviews/messages.js +8 -0
  96. package/dist/es2019/nodeviews/styles.js +46 -0
  97. package/dist/es2019/nodeviews/types.js +1 -0
  98. package/dist/es2019/picker-facade.js +146 -0
  99. package/dist/es2019/plugin.js +284 -0
  100. package/dist/es2019/pm-plugins/alt-text/actions.js +1 -0
  101. package/dist/es2019/pm-plugins/alt-text/commands.js +42 -0
  102. package/dist/es2019/pm-plugins/alt-text/index.js +33 -0
  103. package/dist/es2019/pm-plugins/alt-text/keymap.js +9 -0
  104. package/dist/es2019/pm-plugins/alt-text/messages.js +38 -0
  105. package/dist/es2019/pm-plugins/alt-text/reducer.js +26 -0
  106. package/dist/es2019/pm-plugins/alt-text/types.js +1 -0
  107. package/dist/es2019/pm-plugins/alt-text/ui/AltTextEdit.js +228 -0
  108. package/dist/es2019/pm-plugins/keymap-media-single.js +172 -0
  109. package/dist/es2019/pm-plugins/keymap.js +84 -0
  110. package/dist/es2019/pm-plugins/linking/actions.js +7 -0
  111. package/dist/es2019/pm-plugins/linking/index.js +56 -0
  112. package/dist/es2019/pm-plugins/linking/keymap.js +8 -0
  113. package/dist/es2019/pm-plugins/linking/reducer.js +37 -0
  114. package/dist/es2019/pm-plugins/linking/types.js +1 -0
  115. package/dist/es2019/pm-plugins/main.js +695 -0
  116. package/dist/es2019/pm-plugins/media-editor-plugin-factory.js +2 -0
  117. package/dist/es2019/pm-plugins/mediaTaskManager.js +64 -0
  118. package/dist/es2019/pm-plugins/plugin-key.js +2 -0
  119. package/dist/es2019/pm-plugins/types.js +1 -0
  120. package/dist/es2019/toolbar/alt-text.js +72 -0
  121. package/dist/es2019/toolbar/commands.js +212 -0
  122. package/dist/es2019/toolbar/filePreviewItem.js +54 -0
  123. package/dist/es2019/toolbar/imageBorder.js +15 -0
  124. package/dist/es2019/toolbar/index.js +538 -0
  125. package/dist/es2019/toolbar/linking-toolbar-appearance.js +90 -0
  126. package/dist/es2019/toolbar/linking.js +98 -0
  127. package/dist/es2019/toolbar/utils.js +86 -0
  128. package/dist/es2019/ui/CaptionPlaceholder/index.js +25 -0
  129. package/dist/es2019/ui/CaptionPlaceholder/messages.js +8 -0
  130. package/dist/es2019/ui/ImageBorder/index.js +213 -0
  131. package/dist/es2019/ui/ImageBorder/messages.js +43 -0
  132. package/dist/es2019/ui/ImageBorder/styles.js +126 -0
  133. package/dist/es2019/ui/Media/DropPlaceholder.js +47 -0
  134. package/dist/es2019/ui/Media/drop-placeholder-messages.js +8 -0
  135. package/dist/es2019/ui/MediaLinkingToolbar.js +190 -0
  136. package/dist/es2019/ui/MediaPicker/BrowserWrapper.js +31 -0
  137. package/dist/es2019/ui/MediaPicker/ClipboardWrapper.js +32 -0
  138. package/dist/es2019/ui/MediaPicker/DropzoneWrapper.js +42 -0
  139. package/dist/es2019/ui/MediaPicker/PickerFacadeProvider.js +85 -0
  140. package/dist/es2019/ui/MediaPicker/index.js +82 -0
  141. package/dist/es2019/ui/PixelEntry/constants.js +1 -0
  142. package/dist/es2019/ui/PixelEntry/index.js +170 -0
  143. package/dist/es2019/ui/PixelEntry/messages.js +48 -0
  144. package/dist/es2019/ui/PixelEntry/styles.js +51 -0
  145. package/dist/es2019/ui/PixelEntry/types.js +1 -0
  146. package/dist/es2019/ui/ResizableMediaSingle/ResizableMediaMigrationNotification.js +9 -0
  147. package/dist/es2019/ui/ResizableMediaSingle/ResizableMediaSingleNext.js +454 -0
  148. package/dist/es2019/ui/ResizableMediaSingle/index.js +344 -0
  149. package/dist/es2019/ui/ResizableMediaSingle/styled.js +9 -0
  150. package/dist/es2019/ui/ResizableMediaSingle/styles.js +14 -0
  151. package/dist/es2019/ui/ResizableMediaSingle/types.js +1 -0
  152. package/dist/es2019/ui/ToolbarMedia/index.js +37 -0
  153. package/dist/es2019/ui/ToolbarMedia/toolbar-media-messages.js +8 -0
  154. package/dist/es2019/ui/media-linking-toolbar-messages.js +8 -0
  155. package/dist/es2019/utils/analytics.js +51 -0
  156. package/dist/es2019/utils/check-media-type.js +19 -0
  157. package/dist/es2019/utils/current-media-node.js +35 -0
  158. package/dist/es2019/utils/is-image.js +3 -0
  159. package/dist/es2019/utils/media-common.js +189 -0
  160. package/dist/es2019/utils/media-files.js +321 -0
  161. package/dist/es2019/utils/media-single.js +176 -0
  162. package/dist/esm/commands/captions.js +53 -0
  163. package/dist/esm/commands/helpers.js +120 -0
  164. package/dist/esm/commands/index.js +1 -0
  165. package/dist/esm/commands/linking.js +174 -0
  166. package/dist/esm/index.js +1 -1
  167. package/dist/esm/media-plugin-options.js +1 -0
  168. package/dist/esm/next-plugin-type.js +1 -0
  169. package/dist/esm/nodeviews/mediaGroup.js +369 -0
  170. package/dist/esm/nodeviews/mediaInline.js +278 -0
  171. package/dist/esm/nodeviews/mediaNodeUpdater.js +732 -0
  172. package/dist/esm/nodeviews/mediaNodeView/index.js +170 -0
  173. package/dist/esm/nodeviews/mediaNodeView/media.js +233 -0
  174. package/dist/esm/nodeviews/mediaSingle.js +622 -0
  175. package/dist/esm/nodeviews/messages.js +8 -0
  176. package/dist/esm/nodeviews/styles.js +39 -0
  177. package/dist/esm/nodeviews/types.js +1 -0
  178. package/dist/esm/picker-facade.js +186 -0
  179. package/dist/esm/plugin.js +282 -0
  180. package/dist/esm/pm-plugins/alt-text/actions.js +1 -0
  181. package/dist/esm/pm-plugins/alt-text/commands.js +52 -0
  182. package/dist/esm/pm-plugins/alt-text/index.js +31 -0
  183. package/dist/esm/pm-plugins/alt-text/keymap.js +9 -0
  184. package/dist/esm/pm-plugins/alt-text/messages.js +38 -0
  185. package/dist/esm/pm-plugins/alt-text/reducer.js +25 -0
  186. package/dist/esm/pm-plugins/alt-text/types.js +1 -0
  187. package/dist/esm/pm-plugins/alt-text/ui/AltTextEdit.js +206 -0
  188. package/dist/esm/pm-plugins/keymap-media-single.js +158 -0
  189. package/dist/esm/pm-plugins/keymap.js +81 -0
  190. package/dist/esm/pm-plugins/linking/actions.js +7 -0
  191. package/dist/esm/pm-plugins/linking/index.js +59 -0
  192. package/dist/esm/pm-plugins/linking/keymap.js +8 -0
  193. package/dist/esm/pm-plugins/linking/reducer.js +36 -0
  194. package/dist/esm/pm-plugins/linking/types.js +1 -0
  195. package/dist/esm/pm-plugins/main.js +798 -0
  196. package/dist/esm/pm-plugins/media-editor-plugin-factory.js +2 -0
  197. package/dist/esm/pm-plugins/mediaTaskManager.js +94 -0
  198. package/dist/esm/pm-plugins/plugin-key.js +2 -0
  199. package/dist/esm/pm-plugins/types.js +1 -0
  200. package/dist/esm/toolbar/alt-text.js +70 -0
  201. package/dist/esm/toolbar/commands.js +229 -0
  202. package/dist/esm/toolbar/filePreviewItem.js +56 -0
  203. package/dist/esm/toolbar/imageBorder.js +14 -0
  204. package/dist/esm/toolbar/index.js +513 -0
  205. package/dist/esm/toolbar/linking-toolbar-appearance.js +91 -0
  206. package/dist/esm/toolbar/linking.js +88 -0
  207. package/dist/esm/toolbar/utils.js +103 -0
  208. package/dist/esm/ui/CaptionPlaceholder/index.js +20 -0
  209. package/dist/esm/ui/CaptionPlaceholder/messages.js +8 -0
  210. package/dist/esm/ui/ImageBorder/index.js +218 -0
  211. package/dist/esm/ui/ImageBorder/messages.js +43 -0
  212. package/dist/esm/ui/ImageBorder/styles.js +42 -0
  213. package/dist/esm/ui/Media/DropPlaceholder.js +31 -0
  214. package/dist/esm/ui/Media/drop-placeholder-messages.js +8 -0
  215. package/dist/esm/ui/MediaLinkingToolbar.js +188 -0
  216. package/dist/esm/ui/MediaPicker/BrowserWrapper.js +33 -0
  217. package/dist/esm/ui/MediaPicker/ClipboardWrapper.js +32 -0
  218. package/dist/esm/ui/MediaPicker/DropzoneWrapper.js +44 -0
  219. package/dist/esm/ui/MediaPicker/PickerFacadeProvider.js +145 -0
  220. package/dist/esm/ui/MediaPicker/index.js +96 -0
  221. package/dist/esm/ui/PixelEntry/constants.js +1 -0
  222. package/dist/esm/ui/PixelEntry/index.js +174 -0
  223. package/dist/esm/ui/PixelEntry/messages.js +48 -0
  224. package/dist/esm/ui/PixelEntry/styles.js +12 -0
  225. package/dist/esm/ui/PixelEntry/types.js +1 -0
  226. package/dist/esm/ui/ResizableMediaSingle/ResizableMediaMigrationNotification.js +9 -0
  227. package/dist/esm/ui/ResizableMediaSingle/ResizableMediaSingleNext.js +535 -0
  228. package/dist/esm/ui/ResizableMediaSingle/index.js +417 -0
  229. package/dist/esm/ui/ResizableMediaSingle/styled.js +7 -0
  230. package/dist/esm/ui/ResizableMediaSingle/styles.js +7 -0
  231. package/dist/esm/ui/ResizableMediaSingle/types.js +1 -0
  232. package/dist/esm/ui/ToolbarMedia/index.js +35 -0
  233. package/dist/esm/ui/ToolbarMedia/toolbar-media-messages.js +8 -0
  234. package/dist/esm/ui/media-linking-toolbar-messages.js +8 -0
  235. package/dist/esm/utils/analytics.js +47 -0
  236. package/dist/esm/utils/check-media-type.js +49 -0
  237. package/dist/esm/utils/current-media-node.js +35 -0
  238. package/dist/esm/utils/is-image.js +3 -0
  239. package/dist/esm/utils/media-common.js +175 -0
  240. package/dist/esm/utils/media-files.js +291 -0
  241. package/dist/esm/utils/media-single.js +172 -0
  242. package/dist/types/commands/captions.d.ts +5 -0
  243. package/dist/types/commands/helpers.d.ts +15 -0
  244. package/dist/types/commands/index.d.ts +1 -0
  245. package/dist/types/commands/linking.d.ts +9 -0
  246. package/dist/types/index.d.ts +2 -1
  247. package/dist/types/media-plugin-options.d.ts +17 -0
  248. package/dist/types/next-plugin-type.d.ts +31 -0
  249. package/dist/types/nodeviews/__mocks__/mediaNodeUpdater.d.ts +24 -0
  250. package/dist/types/nodeviews/mediaGroup.d.ts +33 -0
  251. package/dist/types/nodeviews/mediaInline.d.ts +50 -0
  252. package/dist/types/nodeviews/mediaNodeUpdater.d.ts +45 -0
  253. package/dist/types/nodeviews/mediaNodeView/index.d.ts +28 -0
  254. package/dist/types/nodeviews/mediaNodeView/media.d.ts +44 -0
  255. package/dist/types/nodeviews/mediaSingle.d.ts +62 -0
  256. package/dist/types/nodeviews/messages.d.ts +7 -0
  257. package/dist/types/nodeviews/styles.d.ts +16 -0
  258. package/dist/types/nodeviews/types.d.ts +42 -0
  259. package/dist/types/picker-facade.d.ts +44 -0
  260. package/dist/types/plugin.d.ts +7 -0
  261. package/dist/types/pm-plugins/alt-text/actions.d.ts +10 -0
  262. package/dist/types/pm-plugins/alt-text/commands.d.ts +4 -0
  263. package/dist/types/pm-plugins/alt-text/index.d.ts +7 -0
  264. package/dist/types/pm-plugins/alt-text/keymap.d.ts +4 -0
  265. package/dist/types/pm-plugins/alt-text/messages.d.ts +37 -0
  266. package/dist/types/pm-plugins/alt-text/reducer.d.ts +4 -0
  267. package/dist/types/pm-plugins/alt-text/types.d.ts +3 -0
  268. package/dist/types/pm-plugins/alt-text/ui/AltTextEdit.d.ts +41 -0
  269. package/dist/types/pm-plugins/keymap-media-single.d.ts +3 -0
  270. package/dist/types/pm-plugins/keymap.d.ts +5 -0
  271. package/dist/types/pm-plugins/linking/actions.d.ts +20 -0
  272. package/dist/types/pm-plugins/linking/index.d.ts +10 -0
  273. package/dist/types/pm-plugins/linking/keymap.d.ts +3 -0
  274. package/dist/types/pm-plugins/linking/reducer.d.ts +4 -0
  275. package/dist/types/pm-plugins/linking/types.d.ts +12 -0
  276. package/dist/types/pm-plugins/main.d.ts +120 -0
  277. package/dist/types/pm-plugins/media-editor-plugin-factory.d.ts +3 -0
  278. package/dist/types/pm-plugins/mediaTaskManager.d.ts +9 -0
  279. package/dist/types/pm-plugins/plugin-key.d.ts +3 -0
  280. package/dist/types/pm-plugins/types.d.ts +65 -0
  281. package/dist/types/toolbar/alt-text.d.ts +13 -0
  282. package/dist/types/toolbar/commands.d.ts +12 -0
  283. package/dist/types/toolbar/filePreviewItem.d.ts +9 -0
  284. package/dist/types/toolbar/imageBorder.d.ts +2 -0
  285. package/dist/types/toolbar/index.d.ts +6 -0
  286. package/dist/types/toolbar/linking-toolbar-appearance.d.ts +14 -0
  287. package/dist/types/toolbar/linking.d.ts +10 -0
  288. package/dist/types/toolbar/utils.d.ts +11 -0
  289. package/dist/types/types.d.ts +2 -1
  290. package/dist/types/ui/CaptionPlaceholder/index.d.ts +6 -0
  291. package/dist/types/ui/CaptionPlaceholder/messages.d.ts +7 -0
  292. package/dist/types/ui/ImageBorder/index.d.ts +11 -0
  293. package/dist/types/ui/ImageBorder/messages.d.ts +42 -0
  294. package/dist/types/ui/ImageBorder/styles.d.ts +15 -0
  295. package/dist/types/ui/Media/DropPlaceholder.d.ts +8 -0
  296. package/dist/types/ui/Media/drop-placeholder-messages.d.ts +7 -0
  297. package/dist/types/ui/MediaLinkingToolbar.d.ts +35 -0
  298. package/dist/types/ui/MediaPicker/BrowserWrapper.d.ts +11 -0
  299. package/dist/types/ui/MediaPicker/ClipboardWrapper.d.ts +10 -0
  300. package/dist/types/ui/MediaPicker/DropzoneWrapper.d.ts +13 -0
  301. package/dist/types/ui/MediaPicker/PickerFacadeProvider.d.ts +28 -0
  302. package/dist/types/ui/MediaPicker/index.d.ts +23 -0
  303. package/dist/types/ui/PixelEntry/constants.d.ts +1 -0
  304. package/dist/types/ui/PixelEntry/index.d.ts +8 -0
  305. package/dist/types/ui/PixelEntry/messages.d.ts +47 -0
  306. package/dist/types/ui/PixelEntry/styles.d.ts +8 -0
  307. package/dist/types/ui/PixelEntry/types.d.ts +58 -0
  308. package/dist/types/ui/ResizableMediaSingle/ResizableMediaMigrationNotification.d.ts +3 -0
  309. package/dist/types/ui/ResizableMediaSingle/ResizableMediaSingleNext.d.ts +59 -0
  310. package/dist/types/ui/ResizableMediaSingle/index.d.ts +45 -0
  311. package/dist/types/ui/ResizableMediaSingle/styled.d.ts +2 -0
  312. package/dist/types/ui/ResizableMediaSingle/styles.d.ts +1 -0
  313. package/dist/types/ui/ResizableMediaSingle/types.d.ts +27 -0
  314. package/dist/types/ui/ToolbarMedia/index.d.ts +13 -0
  315. package/dist/types/ui/ToolbarMedia/toolbar-media-messages.d.ts +7 -0
  316. package/dist/types/ui/media-linking-toolbar-messages.d.ts +7 -0
  317. package/dist/types/utils/analytics.d.ts +3 -0
  318. package/dist/types/utils/check-media-type.d.ts +4 -0
  319. package/dist/types/utils/current-media-node.d.ts +9 -0
  320. package/dist/types/utils/is-image.d.ts +1 -0
  321. package/dist/types/utils/media-common.d.ts +20 -0
  322. package/dist/types/utils/media-files.d.ts +30 -0
  323. package/dist/types/utils/media-single.d.ts +20 -0
  324. package/dist/types-ts4.5/commands/captions.d.ts +5 -0
  325. package/dist/types-ts4.5/commands/helpers.d.ts +15 -0
  326. package/dist/types-ts4.5/commands/index.d.ts +1 -0
  327. package/dist/types-ts4.5/commands/linking.d.ts +9 -0
  328. package/dist/types-ts4.5/index.d.ts +2 -1
  329. package/dist/types-ts4.5/media-plugin-options.d.ts +17 -0
  330. package/dist/types-ts4.5/next-plugin-type.d.ts +31 -0
  331. package/dist/types-ts4.5/nodeviews/__mocks__/mediaNodeUpdater.d.ts +24 -0
  332. package/dist/types-ts4.5/nodeviews/mediaGroup.d.ts +33 -0
  333. package/dist/types-ts4.5/nodeviews/mediaInline.d.ts +50 -0
  334. package/dist/types-ts4.5/nodeviews/mediaNodeUpdater.d.ts +45 -0
  335. package/dist/types-ts4.5/nodeviews/mediaNodeView/index.d.ts +28 -0
  336. package/dist/types-ts4.5/nodeviews/mediaNodeView/media.d.ts +44 -0
  337. package/dist/types-ts4.5/nodeviews/mediaSingle.d.ts +62 -0
  338. package/dist/types-ts4.5/nodeviews/messages.d.ts +7 -0
  339. package/dist/types-ts4.5/nodeviews/styles.d.ts +16 -0
  340. package/dist/types-ts4.5/nodeviews/types.d.ts +42 -0
  341. package/dist/types-ts4.5/picker-facade.d.ts +44 -0
  342. package/dist/types-ts4.5/plugin.d.ts +7 -0
  343. package/dist/types-ts4.5/pm-plugins/alt-text/actions.d.ts +10 -0
  344. package/dist/types-ts4.5/pm-plugins/alt-text/commands.d.ts +4 -0
  345. package/dist/types-ts4.5/pm-plugins/alt-text/index.d.ts +7 -0
  346. package/dist/types-ts4.5/pm-plugins/alt-text/keymap.d.ts +4 -0
  347. package/dist/types-ts4.5/pm-plugins/alt-text/messages.d.ts +37 -0
  348. package/dist/types-ts4.5/pm-plugins/alt-text/reducer.d.ts +4 -0
  349. package/dist/types-ts4.5/pm-plugins/alt-text/types.d.ts +3 -0
  350. package/dist/types-ts4.5/pm-plugins/alt-text/ui/AltTextEdit.d.ts +41 -0
  351. package/dist/types-ts4.5/pm-plugins/keymap-media-single.d.ts +3 -0
  352. package/dist/types-ts4.5/pm-plugins/keymap.d.ts +5 -0
  353. package/dist/types-ts4.5/pm-plugins/linking/actions.d.ts +20 -0
  354. package/dist/types-ts4.5/pm-plugins/linking/index.d.ts +10 -0
  355. package/dist/types-ts4.5/pm-plugins/linking/keymap.d.ts +3 -0
  356. package/dist/types-ts4.5/pm-plugins/linking/reducer.d.ts +4 -0
  357. package/dist/types-ts4.5/pm-plugins/linking/types.d.ts +12 -0
  358. package/dist/types-ts4.5/pm-plugins/main.d.ts +120 -0
  359. package/dist/types-ts4.5/pm-plugins/media-editor-plugin-factory.d.ts +3 -0
  360. package/dist/types-ts4.5/pm-plugins/mediaTaskManager.d.ts +9 -0
  361. package/dist/types-ts4.5/pm-plugins/plugin-key.d.ts +3 -0
  362. package/dist/types-ts4.5/pm-plugins/types.d.ts +65 -0
  363. package/dist/types-ts4.5/toolbar/alt-text.d.ts +13 -0
  364. package/dist/types-ts4.5/toolbar/commands.d.ts +12 -0
  365. package/dist/types-ts4.5/toolbar/filePreviewItem.d.ts +9 -0
  366. package/dist/types-ts4.5/toolbar/imageBorder.d.ts +2 -0
  367. package/dist/types-ts4.5/toolbar/index.d.ts +6 -0
  368. package/dist/types-ts4.5/toolbar/linking-toolbar-appearance.d.ts +14 -0
  369. package/dist/types-ts4.5/toolbar/linking.d.ts +10 -0
  370. package/dist/types-ts4.5/toolbar/utils.d.ts +11 -0
  371. package/dist/types-ts4.5/types.d.ts +2 -1
  372. package/dist/types-ts4.5/ui/CaptionPlaceholder/index.d.ts +6 -0
  373. package/dist/types-ts4.5/ui/CaptionPlaceholder/messages.d.ts +7 -0
  374. package/dist/types-ts4.5/ui/ImageBorder/index.d.ts +11 -0
  375. package/dist/types-ts4.5/ui/ImageBorder/messages.d.ts +42 -0
  376. package/dist/types-ts4.5/ui/ImageBorder/styles.d.ts +15 -0
  377. package/dist/types-ts4.5/ui/Media/DropPlaceholder.d.ts +8 -0
  378. package/dist/types-ts4.5/ui/Media/drop-placeholder-messages.d.ts +7 -0
  379. package/dist/types-ts4.5/ui/MediaLinkingToolbar.d.ts +35 -0
  380. package/dist/types-ts4.5/ui/MediaPicker/BrowserWrapper.d.ts +11 -0
  381. package/dist/types-ts4.5/ui/MediaPicker/ClipboardWrapper.d.ts +10 -0
  382. package/dist/types-ts4.5/ui/MediaPicker/DropzoneWrapper.d.ts +13 -0
  383. package/dist/types-ts4.5/ui/MediaPicker/PickerFacadeProvider.d.ts +28 -0
  384. package/dist/types-ts4.5/ui/MediaPicker/index.d.ts +23 -0
  385. package/dist/types-ts4.5/ui/PixelEntry/constants.d.ts +1 -0
  386. package/dist/types-ts4.5/ui/PixelEntry/index.d.ts +8 -0
  387. package/dist/types-ts4.5/ui/PixelEntry/messages.d.ts +47 -0
  388. package/dist/types-ts4.5/ui/PixelEntry/styles.d.ts +8 -0
  389. package/dist/types-ts4.5/ui/PixelEntry/types.d.ts +58 -0
  390. package/dist/types-ts4.5/ui/ResizableMediaSingle/ResizableMediaMigrationNotification.d.ts +3 -0
  391. package/dist/types-ts4.5/ui/ResizableMediaSingle/ResizableMediaSingleNext.d.ts +59 -0
  392. package/dist/types-ts4.5/ui/ResizableMediaSingle/index.d.ts +45 -0
  393. package/dist/types-ts4.5/ui/ResizableMediaSingle/styled.d.ts +2 -0
  394. package/dist/types-ts4.5/ui/ResizableMediaSingle/styles.d.ts +1 -0
  395. package/dist/types-ts4.5/ui/ResizableMediaSingle/types.d.ts +27 -0
  396. package/dist/types-ts4.5/ui/ToolbarMedia/index.d.ts +13 -0
  397. package/dist/types-ts4.5/ui/ToolbarMedia/toolbar-media-messages.d.ts +7 -0
  398. package/dist/types-ts4.5/ui/media-linking-toolbar-messages.d.ts +7 -0
  399. package/dist/types-ts4.5/utils/analytics.d.ts +3 -0
  400. package/dist/types-ts4.5/utils/check-media-type.d.ts +4 -0
  401. package/dist/types-ts4.5/utils/current-media-node.d.ts +9 -0
  402. package/dist/types-ts4.5/utils/is-image.d.ts +1 -0
  403. package/dist/types-ts4.5/utils/media-common.d.ts +20 -0
  404. package/dist/types-ts4.5/utils/media-files.d.ts +30 -0
  405. package/dist/types-ts4.5/utils/media-single.d.ts +20 -0
  406. package/package.json +32 -20
  407. package/report.api.md +430 -0
  408. package/tmp/api-report-tmp.d.ts +381 -0
@@ -0,0 +1,376 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.ReactMediaGroupNode = void 0;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
13
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
15
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
16
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
+ var _react = _interopRequireDefault(require("react"));
18
+ var _reactIntlNext = require("react-intl-next");
19
+ var _hooks = require("@atlaskit/editor-common/hooks");
20
+ var _providerFactory = require("@atlaskit/editor-common/provider-factory");
21
+ var _reactNodeView = _interopRequireDefault(require("@atlaskit/editor-common/react-node-view"));
22
+ var _utils = require("@atlaskit/editor-common/utils");
23
+ var _close = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/close"));
24
+ var _mediaCommon = require("@atlaskit/media-common");
25
+ var _mediaFilmstrip = require("@atlaskit/media-filmstrip");
26
+ var _pluginKey = require("../pm-plugins/plugin-key");
27
+ var _mediaNodeUpdater = require("./mediaNodeUpdater");
28
+ var _messages = require("./messages");
29
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
30
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
31
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
32
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
33
+ var isMediaGroupSelectedFromProps = function isMediaGroupSelectedFromProps(props) {
34
+ /**
35
+ * ED-19831
36
+ * There is a getPos issue coming from this code. We need to apply this workaround for now and apply a patch
37
+ * directly to confluence since this bug is now in production.
38
+ */
39
+ var pos;
40
+ try {
41
+ pos = props.getPos ? props.getPos() : undefined;
42
+ } catch (e) {
43
+ pos = undefined;
44
+ }
45
+ if (typeof pos !== 'number') {
46
+ return false;
47
+ }
48
+ return (0, _utils.isNodeSelectedOrInRange)(props.anchorPos, props.headPos, pos, props.node.nodeSize);
49
+ };
50
+ var hasSelectionChanged = function hasSelectionChanged(oldProps, newProps) {
51
+ if (isMediaGroupSelectedFromProps(oldProps) !== isMediaGroupSelectedFromProps(newProps)) {
52
+ return true;
53
+ }
54
+ if (isMediaGroupSelectedFromProps(newProps) === _utils.SelectedState.selectedInside) {
55
+ return oldProps.anchorPos !== newProps.anchorPos;
56
+ }
57
+ return false;
58
+ };
59
+
60
+ // eslint-disable-next-line @repo/internal/react/no-class-components
61
+ var MediaGroup = /*#__PURE__*/function (_React$Component) {
62
+ (0, _inherits2.default)(MediaGroup, _React$Component);
63
+ var _super = _createSuper(MediaGroup);
64
+ function MediaGroup(_props) {
65
+ var _this;
66
+ (0, _classCallCheck2.default)(this, MediaGroup);
67
+ _this = _super.call(this, _props);
68
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", {
69
+ viewMediaClientConfig: undefined
70
+ });
71
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "updateNodeAttrs", function (props, node, getPos) {
72
+ var view = props.view,
73
+ mediaProvider = props.mediaProvider,
74
+ contextIdentifierProvider = props.contextIdentifierProvider;
75
+ var mediaNodeUpdater = new _mediaNodeUpdater.MediaNodeUpdater({
76
+ view: view,
77
+ mediaProvider: mediaProvider,
78
+ contextIdentifierProvider: contextIdentifierProvider,
79
+ node: node,
80
+ isMediaSingle: false
81
+ });
82
+ mediaNodeUpdater.updateNodeAttrs(getPos);
83
+ });
84
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "setMediaItems", function (props) {
85
+ var _this$mediaPluginStat;
86
+ var updatedAttrs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
87
+ var node = props.node;
88
+ var oldMediaNodes = _this.mediaNodes;
89
+ _this.mediaNodes = [];
90
+ node.forEach(function (item, childOffset) {
91
+ var getPos = function getPos() {
92
+ var pos = props.getPos();
93
+ if (typeof pos !== 'number') {
94
+ // That may seems weird, but the previous type wasn't match with the real ProseMirror code. And a lot of Media API was built expecting a number
95
+ // Because the original code would return NaN on runtime
96
+ // We are just make it explict now.
97
+ // We may run a deep investagation on Media code to figure out a better fix. But, for now, we want to keep the current behavior.
98
+ // TODO: ED-13910 prosemirror-bump leftovers
99
+ return NaN;
100
+ }
101
+ return pos + childOffset + 1;
102
+ };
103
+ _this.mediaNodes.push(item);
104
+ if (updatedAttrs) {
105
+ _this.updateNodeAttrs(props, item, getPos);
106
+ }
107
+ });
108
+ (_this$mediaPluginStat = _this.mediaPluginState) === null || _this$mediaPluginStat === void 0 || _this$mediaPluginStat.handleMediaGroupUpdate(oldMediaNodes, _this.mediaNodes);
109
+ });
110
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getIdentifier", function (item) {
111
+ if (item.attrs.type === 'external') {
112
+ return {
113
+ mediaItemType: 'external-image',
114
+ dataURI: item.attrs.url
115
+ };
116
+ }
117
+ return {
118
+ id: item.attrs.id,
119
+ mediaItemType: 'file',
120
+ collectionName: item.attrs.collection
121
+ };
122
+ });
123
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isNodeSelected", function (nodePos) {
124
+ var selected = isMediaGroupSelectedFromProps(_this.props);
125
+ if (selected === _utils.SelectedState.selectedInRange) {
126
+ return true;
127
+ }
128
+ if (selected === _utils.SelectedState.selectedInside && _this.props.anchorPos === nodePos) {
129
+ return true;
130
+ }
131
+ return false;
132
+ });
133
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderChildNodes", function () {
134
+ var viewMediaClientConfig = _this.state.viewMediaClientConfig;
135
+ var _this$props = _this.props,
136
+ getPos = _this$props.getPos,
137
+ allowLazyLoading = _this$props.allowLazyLoading,
138
+ disabled = _this$props.disabled,
139
+ mediaOptions = _this$props.mediaOptions;
140
+ var items = _this.mediaNodes.map(function (item, idx) {
141
+ // We declared this to get a fresh position every time
142
+ var getNodePos = function getNodePos() {
143
+ var pos = getPos();
144
+ if (typeof pos !== 'number') {
145
+ // That may seems weird, but the previous type wasn't match with the real ProseMirror code. And a lot of Media API was built expecting a number
146
+ // Because the original code would return NaN on runtime
147
+ // We are just make it explict now.
148
+ // We may run a deep investagation on Media code to figure out a better fix. But, for now, we want to keep the current behavior.
149
+ // TODO: ED-13910 prosemirror-bump leftovers
150
+ return NaN;
151
+ }
152
+ return pos + idx + 1;
153
+ };
154
+
155
+ // Media Inline creates a floating toolbar with the same options, excludes these options if enabled
156
+ var mediaInlineOptions = function mediaInlineOptions() {
157
+ var allowMediaInline = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
158
+ if (!allowMediaInline) {
159
+ return {
160
+ shouldEnableDownloadButton: mediaOptions.enableDownloadButton,
161
+ actions: [{
162
+ handler: disabled || !_this.mediaPluginState ? function () {} : _this.mediaPluginState.handleMediaNodeRemoval.bind(null, undefined, getNodePos),
163
+ icon: /*#__PURE__*/_react.default.createElement(_close.default, {
164
+ label: _this.props.intl.formatMessage(_messages.messages.mediaGroupDeleteLabel)
165
+ })
166
+ }]
167
+ };
168
+ }
169
+ };
170
+ return _objectSpread({
171
+ identifier: _this.getIdentifier(item),
172
+ isLazy: allowLazyLoading,
173
+ selected: _this.isNodeSelected(getNodePos()),
174
+ onClick: function onClick() {
175
+ (0, _utils.setNodeSelection)(_this.props.view, getNodePos());
176
+ }
177
+ }, mediaInlineOptions((0, _mediaCommon.getMediaFeatureFlag)('mediaInline', mediaOptions.featureFlags)));
178
+ });
179
+ return /*#__PURE__*/_react.default.createElement(_mediaFilmstrip.Filmstrip, {
180
+ items: items,
181
+ mediaClientConfig: viewMediaClientConfig,
182
+ featureFlags: mediaOptions.featureFlags
183
+ });
184
+ });
185
+ _this.mediaNodes = [];
186
+ _this.mediaPluginState = _pluginKey.stateKey.getState(_props.view.state);
187
+ _this.setMediaItems(_props);
188
+ _this.state = {
189
+ viewMediaClientConfig: undefined
190
+ };
191
+ return _this;
192
+ }
193
+ (0, _createClass2.default)(MediaGroup, [{
194
+ key: "componentDidMount",
195
+ value: function componentDidMount() {
196
+ var _this2 = this;
197
+ this.updateMediaClientConfig();
198
+ this.mediaNodes.forEach( /*#__PURE__*/function () {
199
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(node) {
200
+ var _this2$props, view, mediaProvider, contextIdentifierProvider, mediaNodeUpdater, getPos, contextId, hasDifferentContextId;
201
+ return _regenerator.default.wrap(function _callee$(_context) {
202
+ while (1) switch (_context.prev = _context.next) {
203
+ case 0:
204
+ if (!(node.attrs.type === 'external')) {
205
+ _context.next = 2;
206
+ break;
207
+ }
208
+ return _context.abrupt("return");
209
+ case 2:
210
+ _this2$props = _this2.props, view = _this2$props.view, mediaProvider = _this2$props.mediaProvider, contextIdentifierProvider = _this2$props.contextIdentifierProvider;
211
+ mediaNodeUpdater = new _mediaNodeUpdater.MediaNodeUpdater({
212
+ view: view,
213
+ mediaProvider: mediaProvider,
214
+ contextIdentifierProvider: contextIdentifierProvider,
215
+ node: node,
216
+ isMediaSingle: false
217
+ });
218
+ getPos = function getPos() {
219
+ var pos = _this2.props.getPos();
220
+ if (typeof pos !== 'number') {
221
+ // That may seems weird, but the previous type wasn't match with the real ProseMirror code. And a lot of Media API was built expecting a number
222
+ // Because the original code would return NaN on runtime
223
+ // We are just make it explict now.
224
+ // We may run a deep investagation on Media code to figure out a better fix. But, for now, we want to keep the current behavior.
225
+ // TODO: ED-13910 prosemirror-bump leftovers
226
+ return NaN;
227
+ }
228
+ return pos + 1;
229
+ };
230
+ contextId = mediaNodeUpdater.getNodeContextId();
231
+ if (contextId) {
232
+ _context.next = 9;
233
+ break;
234
+ }
235
+ _context.next = 9;
236
+ return mediaNodeUpdater.updateNodeContextId(getPos);
237
+ case 9:
238
+ _context.next = 11;
239
+ return mediaNodeUpdater.hasDifferentContextId();
240
+ case 11:
241
+ hasDifferentContextId = _context.sent;
242
+ if (!hasDifferentContextId) {
243
+ _context.next = 15;
244
+ break;
245
+ }
246
+ _context.next = 15;
247
+ return mediaNodeUpdater.copyNodeFromPos(getPos, {
248
+ traceId: node.attrs.__mediaTraceId
249
+ });
250
+ case 15:
251
+ case "end":
252
+ return _context.stop();
253
+ }
254
+ }, _callee);
255
+ }));
256
+ return function (_x) {
257
+ return _ref.apply(this, arguments);
258
+ };
259
+ }());
260
+ }
261
+ }, {
262
+ key: "componentWillUnmount",
263
+ value: function componentWillUnmount() {
264
+ var _this$mediaPluginStat2;
265
+ (_this$mediaPluginStat2 = this.mediaPluginState) === null || _this$mediaPluginStat2 === void 0 || _this$mediaPluginStat2.handleMediaGroupUpdate(this.mediaNodes, []);
266
+ }
267
+ }, {
268
+ key: "UNSAFE_componentWillReceiveProps",
269
+ value: function UNSAFE_componentWillReceiveProps(props) {
270
+ this.updateMediaClientConfig();
271
+ this.setMediaItems(props, props.isCopyPasteEnabled || props.isCopyPasteEnabled === undefined);
272
+ }
273
+ }, {
274
+ key: "shouldComponentUpdate",
275
+ value: function shouldComponentUpdate(nextProps) {
276
+ var _this$mediaPluginStat3;
277
+ if (hasSelectionChanged(this.props, nextProps) || this.props.node !== nextProps.node || this.state.viewMediaClientConfig !== ((_this$mediaPluginStat3 = this.mediaPluginState) === null || _this$mediaPluginStat3 === void 0 ? void 0 : _this$mediaPluginStat3.mediaClientConfig)) {
278
+ return true;
279
+ }
280
+ return false;
281
+ }
282
+ }, {
283
+ key: "updateMediaClientConfig",
284
+ value: function updateMediaClientConfig() {
285
+ var viewMediaClientConfig = this.state.viewMediaClientConfig;
286
+ var _ref2 = this.mediaPluginState || {},
287
+ mediaClientConfig = _ref2.mediaClientConfig;
288
+ if (!viewMediaClientConfig && mediaClientConfig) {
289
+ this.setState({
290
+ viewMediaClientConfig: mediaClientConfig
291
+ });
292
+ }
293
+ }
294
+ }, {
295
+ key: "render",
296
+ value: function render() {
297
+ return this.renderChildNodes();
298
+ }
299
+ }]);
300
+ return MediaGroup;
301
+ }(_react.default.Component);
302
+ (0, _defineProperty2.default)(MediaGroup, "displayName", 'MediaGroup');
303
+ var IntlMediaGroup = (0, _reactIntlNext.injectIntl)(MediaGroup);
304
+ var _default = exports.default = IntlMediaGroup;
305
+ function MediaGroupNodeViewInternal(_ref3) {
306
+ var renderFn = _ref3.renderFn,
307
+ pluginInjectionApi = _ref3.pluginInjectionApi;
308
+ var _useSharedPluginState = (0, _hooks.useSharedPluginState)(pluginInjectionApi, ['editorDisabled']),
309
+ editorDisabledPlugin = _useSharedPluginState.editorDisabledState;
310
+ return renderFn({
311
+ editorDisabledPlugin: editorDisabledPlugin
312
+ });
313
+ }
314
+ var MediaGroupNodeView = /*#__PURE__*/function (_ReactNodeView) {
315
+ (0, _inherits2.default)(MediaGroupNodeView, _ReactNodeView);
316
+ var _super2 = _createSuper(MediaGroupNodeView);
317
+ function MediaGroupNodeView() {
318
+ (0, _classCallCheck2.default)(this, MediaGroupNodeView);
319
+ return _super2.apply(this, arguments);
320
+ }
321
+ (0, _createClass2.default)(MediaGroupNodeView, [{
322
+ key: "render",
323
+ value: function render(props, forwardRef) {
324
+ var _this3 = this;
325
+ var providerFactory = props.providerFactory,
326
+ mediaOptions = props.mediaOptions,
327
+ pluginInjectionApi = props.pluginInjectionApi;
328
+ var getPos = this.getPos;
329
+ return /*#__PURE__*/_react.default.createElement(_providerFactory.WithProviders, {
330
+ providers: ['mediaProvider', 'contextIdentifierProvider'],
331
+ providerFactory: providerFactory,
332
+ renderNode: function renderNode(_ref4) {
333
+ var mediaProvider = _ref4.mediaProvider,
334
+ contextIdentifierProvider = _ref4.contextIdentifierProvider;
335
+ var renderFn = function renderFn(_ref5) {
336
+ var editorDisabledPlugin = _ref5.editorDisabledPlugin;
337
+ if (!mediaProvider) {
338
+ return null;
339
+ }
340
+ return /*#__PURE__*/_react.default.createElement(IntlMediaGroup, {
341
+ node: _this3.node,
342
+ getPos: getPos,
343
+ view: _this3.view,
344
+ forwardRef: forwardRef,
345
+ disabled: (editorDisabledPlugin || {}).editorDisabled,
346
+ allowLazyLoading: mediaOptions.allowLazyLoading,
347
+ mediaProvider: mediaProvider,
348
+ contextIdentifierProvider: contextIdentifierProvider,
349
+ isCopyPasteEnabled: mediaOptions.isCopyPasteEnabled,
350
+ anchorPos: _this3.view.state.selection.$anchor.pos,
351
+ headPos: _this3.view.state.selection.$head.pos,
352
+ mediaOptions: mediaOptions
353
+ });
354
+ };
355
+ return /*#__PURE__*/_react.default.createElement(MediaGroupNodeViewInternal, {
356
+ renderFn: renderFn,
357
+ pluginInjectionApi: pluginInjectionApi
358
+ });
359
+ }
360
+ });
361
+ }
362
+ }]);
363
+ return MediaGroupNodeView;
364
+ }(_reactNodeView.default);
365
+ var ReactMediaGroupNode = exports.ReactMediaGroupNode = function ReactMediaGroupNode(portalProviderAPI, eventDispatcher, providerFactory) {
366
+ var mediaOptions = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
367
+ var pluginInjectionApi = arguments.length > 4 ? arguments[4] : undefined;
368
+ return function (node, view, getPos) {
369
+ var hasIntlContext = true;
370
+ return new MediaGroupNodeView(node, view, getPos, portalProviderAPI, eventDispatcher, {
371
+ providerFactory: providerFactory,
372
+ mediaOptions: mediaOptions,
373
+ pluginInjectionApi: pluginInjectionApi
374
+ }, undefined, undefined, undefined, hasIntlContext).init();
375
+ };
376
+ };
@@ -0,0 +1,288 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.updateMediaNodeAttributes = exports.handleNewNode = exports.createMediaNodeUpdater = exports.ReactMediaInlineNode = exports.MediaInlineNodeView = exports.MediaInline = void 0;
9
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
+ var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
13
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
15
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
18
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
19
+ var _react = _interopRequireWildcard(require("react"));
20
+ var _hooks = require("@atlaskit/editor-common/hooks");
21
+ var _providerFactory = require("@atlaskit/editor-common/provider-factory");
22
+ var _selectionBasedNodeView = require("@atlaskit/editor-common/selection-based-node-view");
23
+ var _mediaCard = require("@atlaskit/media-card");
24
+ var _mediaUi = require("@atlaskit/media-ui");
25
+ var _mediaNodeUpdater = require("./mediaNodeUpdater");
26
+ var _styles = require("./styles");
27
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
28
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
30
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
31
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
32
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
33
+ var createMediaNodeUpdater = exports.createMediaNodeUpdater = function createMediaNodeUpdater(props) {
34
+ var node = props.node;
35
+ return new _mediaNodeUpdater.MediaNodeUpdater(_objectSpread(_objectSpread({}, props), {}, {
36
+ isMediaSingle: true,
37
+ node: node ? node : props.node,
38
+ dispatchAnalyticsEvent: props.dispatchAnalyticsEvent,
39
+ contextIdentifierProvider: props.contextIdentifierProvider
40
+ }));
41
+ };
42
+
43
+ /**
44
+ * Handles updating the media inline node attributes
45
+ * but also handling copy-paste for cross-editor of the same instance
46
+ * using the contextid
47
+ *
48
+ */
49
+ var updateMediaNodeAttributes = exports.updateMediaNodeAttributes = /*#__PURE__*/function () {
50
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(props, mediaNodeUpdater) {
51
+ var addPendingTask, node, contextId, hasDifferentContextId, copyNode;
52
+ return _regenerator.default.wrap(function _callee$(_context) {
53
+ while (1) switch (_context.prev = _context.next) {
54
+ case 0:
55
+ addPendingTask = props.mediaPluginState.addPendingTask;
56
+ node = props.node;
57
+ if (node) {
58
+ _context.next = 4;
59
+ break;
60
+ }
61
+ return _context.abrupt("return");
62
+ case 4:
63
+ contextId = mediaNodeUpdater.getNodeContextId();
64
+ if (contextId) {
65
+ _context.next = 8;
66
+ break;
67
+ }
68
+ _context.next = 8;
69
+ return mediaNodeUpdater.updateContextId();
70
+ case 8:
71
+ _context.next = 10;
72
+ return mediaNodeUpdater.hasDifferentContextId();
73
+ case 10:
74
+ hasDifferentContextId = _context.sent;
75
+ if (!hasDifferentContextId) {
76
+ _context.next = 22;
77
+ break;
78
+ }
79
+ _context.prev = 12;
80
+ copyNode = mediaNodeUpdater.copyNode({
81
+ traceId: node.attrs.__mediaTraceId
82
+ });
83
+ addPendingTask(copyNode);
84
+ _context.next = 17;
85
+ return copyNode;
86
+ case 17:
87
+ _context.next = 22;
88
+ break;
89
+ case 19:
90
+ _context.prev = 19;
91
+ _context.t0 = _context["catch"](12);
92
+ return _context.abrupt("return");
93
+ case 22:
94
+ _context.next = 24;
95
+ return mediaNodeUpdater.updateMediaSingleFileAttrs();
96
+ case 24:
97
+ case "end":
98
+ return _context.stop();
99
+ }
100
+ }, _callee, null, [[12, 19]]);
101
+ }));
102
+ return function updateMediaNodeAttributes(_x, _x2) {
103
+ return _ref.apply(this, arguments);
104
+ };
105
+ }();
106
+ var handleNewNode = exports.handleNewNode = function handleNewNode(props) {
107
+ var node = props.node,
108
+ mediaPluginState = props.mediaPluginState,
109
+ getPos = props.getPos;
110
+ mediaPluginState.handleMediaNodeMount(node, function () {
111
+ return getPos();
112
+ });
113
+ };
114
+ var MediaInline = exports.MediaInline = function MediaInline(props) {
115
+ var _useState = (0, _react.useState)(),
116
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
117
+ viewMediaClientConfig = _useState2[0],
118
+ setViewMediaClientConfig = _useState2[1];
119
+ var _useState3 = (0, _react.useState)(true),
120
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
121
+ isContextIdUnsync = _useState4[0],
122
+ setIsContextIdUnsync = _useState4[1];
123
+ (0, _react.useEffect)(function () {
124
+ var mediaNodeUpdater = createMediaNodeUpdater(props);
125
+ mediaNodeUpdater.hasDifferentContextId().then(setIsContextIdUnsync);
126
+ handleNewNode(props);
127
+ updateMediaNodeAttributes(props, mediaNodeUpdater);
128
+ updateViewMediaClientConfig(props);
129
+ return function () {
130
+ var mediaPluginState = props.mediaPluginState;
131
+ mediaPluginState.handleMediaNodeUnmount(props.node);
132
+ };
133
+ }, [props]);
134
+ var updateViewMediaClientConfig = /*#__PURE__*/function () {
135
+ var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(props) {
136
+ var mediaProvider, _viewMediaClientConfig;
137
+ return _regenerator.default.wrap(function _callee2$(_context2) {
138
+ while (1) switch (_context2.prev = _context2.next) {
139
+ case 0:
140
+ _context2.next = 2;
141
+ return props.mediaProvider;
142
+ case 2:
143
+ mediaProvider = _context2.sent;
144
+ if (mediaProvider) {
145
+ _viewMediaClientConfig = mediaProvider.viewMediaClientConfig;
146
+ setViewMediaClientConfig(_viewMediaClientConfig);
147
+ }
148
+ case 4:
149
+ case "end":
150
+ return _context2.stop();
151
+ }
152
+ }, _callee2);
153
+ }));
154
+ return function updateViewMediaClientConfig(_x3) {
155
+ return _ref2.apply(this, arguments);
156
+ };
157
+ }();
158
+ var _props$node$attrs = props.node.attrs,
159
+ id = _props$node$attrs.id,
160
+ collection = _props$node$attrs.collection;
161
+ var identifier = {
162
+ id: id,
163
+ mediaItemType: 'file',
164
+ collectionName: collection
165
+ };
166
+
167
+ /*
168
+ * Show the loading view if
169
+ * 1. The media provider is not ready
170
+ * 2. Context Id is not synced
171
+ * to prevent calling the media API (in mounting of `MediaInlineCard`)
172
+ * before the prerequisites meet
173
+ */
174
+ if (!viewMediaClientConfig || isContextIdUnsync) {
175
+ return /*#__PURE__*/_react.default.createElement(_mediaUi.MediaInlineCardLoadingView, {
176
+ message: "",
177
+ isSelected: false
178
+ });
179
+ }
180
+ return /*#__PURE__*/_react.default.createElement(_mediaCard.MediaInlineCard, {
181
+ isSelected: props.isSelected,
182
+ identifier: identifier,
183
+ mediaClientConfig: viewMediaClientConfig
184
+ });
185
+ };
186
+ var MediaInlineSharedState = function MediaInlineSharedState(_ref3) {
187
+ var identifier = _ref3.identifier,
188
+ mediaProvider = _ref3.mediaProvider,
189
+ node = _ref3.node,
190
+ isSelected = _ref3.isSelected,
191
+ getPos = _ref3.getPos,
192
+ contextIdentifierProvider = _ref3.contextIdentifierProvider,
193
+ api = _ref3.api,
194
+ view = _ref3.view;
195
+ var _useSharedPluginState = (0, _hooks.useSharedPluginState)(api, ['media']),
196
+ mediaState = _useSharedPluginState.mediaState;
197
+ if (!mediaState) {
198
+ return null;
199
+ }
200
+ return /*#__PURE__*/_react.default.createElement(MediaInline, {
201
+ identifier: identifier,
202
+ mediaProvider: mediaProvider,
203
+ mediaPluginState: mediaState,
204
+ node: node,
205
+ isSelected: isSelected,
206
+ view: view,
207
+ getPos: getPos,
208
+ contextIdentifierProvider: contextIdentifierProvider
209
+ });
210
+ };
211
+ var MediaInlineNodeView = exports.MediaInlineNodeView = /*#__PURE__*/function (_SelectionBasedNodeVi) {
212
+ (0, _inherits2.default)(MediaInlineNodeView, _SelectionBasedNodeVi);
213
+ var _super = _createSuper(MediaInlineNodeView);
214
+ function MediaInlineNodeView() {
215
+ (0, _classCallCheck2.default)(this, MediaInlineNodeView);
216
+ return _super.apply(this, arguments);
217
+ }
218
+ (0, _createClass2.default)(MediaInlineNodeView, [{
219
+ key: "createDomRef",
220
+ value: function createDomRef() {
221
+ var domRef = document.createElement('span');
222
+ domRef.contentEditable = 'false';
223
+ return domRef;
224
+ }
225
+ }, {
226
+ key: "getContentDOM",
227
+ value: function getContentDOM() {
228
+ var dom = document.createElement('span');
229
+ dom.classList.add(_styles.MediaInlineNodeSelector);
230
+ return {
231
+ dom: dom
232
+ };
233
+ }
234
+ }, {
235
+ key: "ignoreMutation",
236
+ value: function ignoreMutation() {
237
+ return true;
238
+ }
239
+ }, {
240
+ key: "viewShouldUpdate",
241
+ value: function viewShouldUpdate(nextNode) {
242
+ if (this.node.attrs !== nextNode.attrs) {
243
+ return true;
244
+ }
245
+ return (0, _get2.default)((0, _getPrototypeOf2.default)(MediaInlineNodeView.prototype), "viewShouldUpdate", this).call(this, nextNode);
246
+ }
247
+ }, {
248
+ key: "render",
249
+ value: function render(props) {
250
+ var _this = this;
251
+ var providerFactory = props.providerFactory,
252
+ api = props.api;
253
+ var view = this.view;
254
+ var getPos = this.getPos;
255
+ return /*#__PURE__*/_react.default.createElement(_providerFactory.WithProviders, {
256
+ providers: ['mediaProvider', 'contextIdentifierProvider'],
257
+ providerFactory: providerFactory,
258
+ renderNode: function renderNode(_ref4) {
259
+ var mediaProvider = _ref4.mediaProvider,
260
+ contextIdentifierProvider = _ref4.contextIdentifierProvider;
261
+ if (!mediaProvider) {
262
+ return null;
263
+ }
264
+ return /*#__PURE__*/_react.default.createElement(MediaInlineSharedState, {
265
+ identifier: _this.node.attrs.id,
266
+ mediaProvider: mediaProvider,
267
+ node: _this.node,
268
+ isSelected: _this.nodeInsideSelection(),
269
+ view: view,
270
+ getPos: getPos,
271
+ contextIdentifierProvider: contextIdentifierProvider,
272
+ api: api
273
+ });
274
+ }
275
+ });
276
+ }
277
+ }]);
278
+ return MediaInlineNodeView;
279
+ }(_selectionBasedNodeView.SelectionBasedNodeView);
280
+ var ReactMediaInlineNode = exports.ReactMediaInlineNode = function ReactMediaInlineNode(portalProviderAPI, eventDispatcher, providerFactory, api, dispatchAnalyticsEvent) {
281
+ return function (node, view, getPos) {
282
+ return new MediaInlineNodeView(node, view, getPos, portalProviderAPI, eventDispatcher, {
283
+ providerFactory: providerFactory,
284
+ dispatchAnalyticsEvent: dispatchAnalyticsEvent,
285
+ api: api
286
+ }).init();
287
+ };
288
+ };