@atlaskit/editor-plugin-media 0.2.0 → 0.3.1

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 (328) hide show
  1. package/CHANGELOG.md +17 -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 +33 -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 +6 -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/package.json +32 -20
  325. package/report.api.md +430 -0
  326. package/dist/types-ts4.5/index.d.ts +0 -1
  327. package/dist/types-ts4.5/types.d.ts +0 -118
  328. package/tmp/api-report-tmp.d.ts +0 -9
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.currentMediaNodeWithPos = exports.currentMediaNodeBorderMark = exports.currentMediaNode = void 0;
7
+ var _state = require("@atlaskit/editor-prosemirror/state");
8
+ var currentMediaNodeWithPos = exports.currentMediaNodeWithPos = function currentMediaNodeWithPos(editorState) {
9
+ var doc = editorState.doc,
10
+ selection = editorState.selection,
11
+ schema = editorState.schema;
12
+ if (!doc || !selection || !(selection instanceof _state.NodeSelection) || selection.node.type !== schema.nodes.mediaSingle) {
13
+ return;
14
+ }
15
+ var pos = selection.$anchor.pos + 1;
16
+ var node = doc.nodeAt(pos);
17
+ if (!node || node.type !== schema.nodes.media) {
18
+ return;
19
+ }
20
+ return {
21
+ node: node,
22
+ pos: pos
23
+ };
24
+ };
25
+ var currentMediaNode = exports.currentMediaNode = function currentMediaNode(editorState) {
26
+ var _currentMediaNodeWith;
27
+ return (_currentMediaNodeWith = currentMediaNodeWithPos(editorState)) === null || _currentMediaNodeWith === void 0 ? void 0 : _currentMediaNodeWith.node;
28
+ };
29
+ var currentMediaNodeBorderMark = exports.currentMediaNodeBorderMark = function currentMediaNodeBorderMark(editorState) {
30
+ var node = currentMediaNode(editorState);
31
+ if (!node) {
32
+ return;
33
+ }
34
+ var borderMark = node.marks.find(function (m) {
35
+ return m.type.name === 'border';
36
+ });
37
+ if (!borderMark) {
38
+ return;
39
+ }
40
+ return borderMark.attrs;
41
+ };
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isImage = void 0;
7
+ var isImage = exports.isImage = function isImage(fileType) {
8
+ return !!fileType && (fileType.indexOf('image/') > -1 || fileType.indexOf('video/') > -1);
9
+ };
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.splitMediaGroup = exports.removeMediaNode = exports.posOfPrecedingMediaGroup = exports.posOfParentMediaGroup = exports.posOfMediaGroupNearby = exports.isSelectionNonMediaBlockNode = exports.isSelectionMediaSingleNode = exports.isMediaBlobUrlFromAttrs = exports.isInsidePotentialEmptyParagraph = exports.getMediaNodeFromSelection = exports.copyOptionalAttrsFromMediaState = void 0;
7
+ var _selection = require("@atlaskit/editor-common/selection");
8
+ var _utils = require("@atlaskit/editor-common/utils");
9
+ var _commands = require("@atlaskit/editor-prosemirror/commands");
10
+ var _state = require("@atlaskit/editor-prosemirror/state");
11
+ var _utils2 = require("@atlaskit/editor-prosemirror/utils");
12
+ var _mediaClient = require("@atlaskit/media-client");
13
+ var isTemporary = function isTemporary(id) {
14
+ return id.indexOf('temporary:') === 0;
15
+ };
16
+ var isMediaBlobUrlFromAttrs = exports.isMediaBlobUrlFromAttrs = function isMediaBlobUrlFromAttrs(attrs) {
17
+ return !!(attrs && attrs.type === 'external' && (0, _mediaClient.isMediaBlobUrl)(attrs.url));
18
+ };
19
+ var posOfMediaGroupNearby = exports.posOfMediaGroupNearby = function posOfMediaGroupNearby(state) {
20
+ return posOfParentMediaGroup(state) || posOfFollowingMediaGroup(state) || posOfPrecedingMediaGroup(state) || posOfMediaGroupNextToGapCursor(state);
21
+ };
22
+ var isSelectionNonMediaBlockNode = exports.isSelectionNonMediaBlockNode = function isSelectionNonMediaBlockNode(state) {
23
+ var _ref = state.selection,
24
+ node = _ref.node;
25
+ return node && node.type !== state.schema.nodes.media && node.isBlock;
26
+ };
27
+ var isSelectionMediaSingleNode = exports.isSelectionMediaSingleNode = function isSelectionMediaSingleNode(state) {
28
+ var _ref2 = state.selection,
29
+ node = _ref2.node;
30
+ return node && node.type === state.schema.nodes.mediaSingle;
31
+ };
32
+ var posOfPrecedingMediaGroup = exports.posOfPrecedingMediaGroup = function posOfPrecedingMediaGroup(state) {
33
+ if (!(0, _selection.atTheBeginningOfBlock)(state)) {
34
+ return;
35
+ }
36
+ return posOfMediaGroupAbove(state, state.selection.$from);
37
+ };
38
+ var posOfMediaGroupNextToGapCursor = function posOfMediaGroupNextToGapCursor(state) {
39
+ var selection = state.selection;
40
+ if (selection instanceof _selection.GapCursorSelection) {
41
+ var $pos = state.selection.$from;
42
+ var mediaGroupType = state.schema.nodes.mediaGroup;
43
+ return posOfImmediatePrecedingMediaGroup($pos, mediaGroupType) || posOfImmediateFollowingMediaGroup($pos, mediaGroupType);
44
+ }
45
+ };
46
+ var posOfImmediatePrecedingMediaGroup = function posOfImmediatePrecedingMediaGroup($pos, mediaGroupType) {
47
+ if ($pos.nodeBefore && $pos.nodeBefore.type === mediaGroupType) {
48
+ return $pos.pos - $pos.nodeBefore.nodeSize + 1;
49
+ }
50
+ };
51
+ var posOfImmediateFollowingMediaGroup = function posOfImmediateFollowingMediaGroup($pos, mediaGroupType) {
52
+ if ($pos.nodeAfter && $pos.nodeAfter.type === mediaGroupType) {
53
+ return $pos.pos + 1;
54
+ }
55
+ };
56
+ var posOfFollowingMediaGroup = function posOfFollowingMediaGroup(state) {
57
+ if (!(0, _selection.atTheEndOfBlock)(state)) {
58
+ return;
59
+ }
60
+ return posOfMediaGroupBelow(state, state.selection.$to);
61
+ };
62
+ var posOfMediaGroupAbove = function posOfMediaGroupAbove(state, $pos) {
63
+ var adjacentPos;
64
+ var adjacentNode;
65
+ if (isSelectionNonMediaBlockNode(state)) {
66
+ adjacentPos = $pos.pos;
67
+ adjacentNode = $pos.nodeBefore;
68
+ } else {
69
+ adjacentPos = (0, _selection.startPositionOfParent)($pos) - 1;
70
+ adjacentNode = state.doc.resolve(adjacentPos).nodeBefore;
71
+ }
72
+ if (adjacentNode && adjacentNode.type === state.schema.nodes.mediaGroup) {
73
+ return adjacentPos - adjacentNode.nodeSize + 1;
74
+ }
75
+ return;
76
+ };
77
+
78
+ /**
79
+ * Determine whether the cursor is inside empty paragraph
80
+ * or the selection is the entire paragraph
81
+ */
82
+ var isInsidePotentialEmptyParagraph = exports.isInsidePotentialEmptyParagraph = function isInsidePotentialEmptyParagraph(state) {
83
+ var $from = state.selection.$from;
84
+ return $from.parent.type === state.schema.nodes.paragraph && (0, _selection.atTheBeginningOfBlock)(state) && (0, _selection.atTheEndOfBlock)(state);
85
+ };
86
+ var posOfMediaGroupBelow = function posOfMediaGroupBelow(state, $pos) {
87
+ var prepend = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
88
+ var adjacentPos;
89
+ var adjacentNode;
90
+ if (isSelectionNonMediaBlockNode(state)) {
91
+ adjacentPos = $pos.pos;
92
+ adjacentNode = $pos.nodeAfter;
93
+ } else {
94
+ adjacentPos = (0, _selection.endPositionOfParent)($pos);
95
+ adjacentNode = state.doc.nodeAt(adjacentPos);
96
+ }
97
+ if (adjacentNode && adjacentNode.type === state.schema.nodes.mediaGroup) {
98
+ return prepend ? adjacentPos + 1 : adjacentPos + adjacentNode.nodeSize - 1;
99
+ }
100
+ return;
101
+ };
102
+ var posOfParentMediaGroup = exports.posOfParentMediaGroup = function posOfParentMediaGroup(state, $pos) {
103
+ var prepend = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
104
+ var $from = state.selection.$from;
105
+ $pos = $pos || $from;
106
+ if ($pos.parent.type === state.schema.nodes.mediaGroup) {
107
+ return prepend ? (0, _selection.startPositionOfParent)($pos) : (0, _selection.endPositionOfParent)($pos) - 1;
108
+ }
109
+ return;
110
+ };
111
+ var removeMediaNode = exports.removeMediaNode = function removeMediaNode(view, node, getPos) {
112
+ var id = node.attrs.id;
113
+ var state = view.state;
114
+ var tr = state.tr,
115
+ selection = state.selection,
116
+ doc = state.doc;
117
+ var currentMediaNodePos = getPos();
118
+ if (typeof currentMediaNodePos !== 'number') {
119
+ return;
120
+ }
121
+ tr.deleteRange(currentMediaNodePos, currentMediaNodePos + node.nodeSize);
122
+ if (isTemporary(id)) {
123
+ tr.setMeta('addToHistory', false);
124
+ }
125
+ var $currentMediaNodePos = doc.resolve(currentMediaNodePos);
126
+ var nodeBefore = $currentMediaNodePos.nodeBefore,
127
+ parent = $currentMediaNodePos.parent;
128
+ var isLastMediaNode = $currentMediaNodePos.index() === parent.childCount - 1;
129
+
130
+ // If deleting a selected media node, we need to tell where the cursor to go next.
131
+ // Prosemirror didn't gave us the behaviour of moving left if the media node is not the last one.
132
+ // So we handle it ourselves.
133
+ if (selection.from === currentMediaNodePos && !isLastMediaNode && !(0, _selection.atTheBeginningOfDoc)(state) && nodeBefore && nodeBefore.type.name === 'media') {
134
+ var _nodeBefore = (0, _utils2.findPositionOfNodeBefore)(tr.selection);
135
+ if (_nodeBefore) {
136
+ tr.setSelection(_state.NodeSelection.create(tr.doc, _nodeBefore));
137
+ }
138
+ }
139
+ view.dispatch(tr);
140
+ };
141
+ var splitMediaGroup = exports.splitMediaGroup = function splitMediaGroup(view) {
142
+ var selection = view.state.selection;
143
+
144
+ // if selection is not a media node, do nothing.
145
+ if (!(selection instanceof _state.NodeSelection) || selection.node.type !== view.state.schema.nodes.media) {
146
+ return false;
147
+ }
148
+ (0, _commands.deleteSelection)(view.state, view.dispatch);
149
+ if (selection.$to.nodeAfter) {
150
+ (0, _commands.splitBlock)(view.state, view.dispatch);
151
+ (0, _utils.createParagraphNear)(false)(view.state, view.dispatch);
152
+ } else {
153
+ (0, _utils.createNewParagraphBelow)(view.state, view.dispatch);
154
+ }
155
+ return true;
156
+ };
157
+ var isOptionalAttr = function isOptionalAttr(attr) {
158
+ return attr.length > 1 && attr[0] === '_' && attr[1] === '_';
159
+ };
160
+ var copyOptionalAttrsFromMediaState = exports.copyOptionalAttrsFromMediaState = function copyOptionalAttrsFromMediaState(mediaState, node) {
161
+ Object.keys(node.attrs).filter(isOptionalAttr).forEach(function (key) {
162
+ var mediaStateKey = key.substring(2);
163
+ var attrValue = mediaState[mediaStateKey];
164
+ if (attrValue !== undefined) {
165
+ // @ts-ignore - [unblock prosemirror bump] assigning to readonly prop
166
+ node.attrs[key] = attrValue;
167
+ }
168
+ });
169
+ };
170
+ var getMediaNodeFromSelection = exports.getMediaNodeFromSelection = function getMediaNodeFromSelection(state) {
171
+ if (!isSelectionMediaSingleNode(state)) {
172
+ return null;
173
+ }
174
+ var tr = state.tr;
175
+ var pos = tr.selection.from + 1;
176
+ var mediaNode = tr.doc.nodeAt(pos);
177
+ if (mediaNode && mediaNode.type === state.schema.nodes.media) {
178
+ return mediaNode;
179
+ }
180
+ return null;
181
+ };
@@ -0,0 +1,297 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.insertMediaInlineNode = exports.insertMediaGroupNode = exports.getPosInList = exports.canInsertMediaInline = void 0;
7
+ var _analytics = require("@atlaskit/editor-common/analytics");
8
+ var _selection = require("@atlaskit/editor-common/selection");
9
+ var _utils = require("@atlaskit/editor-common/utils");
10
+ var _model = require("@atlaskit/editor-prosemirror/model");
11
+ var _utils2 = require("@atlaskit/editor-prosemirror/utils");
12
+ var _mediaCommon = require("./media-common");
13
+ var canInsertMediaInline = exports.canInsertMediaInline = function canInsertMediaInline(state) {
14
+ var node = state.schema.nodes.mediaInline.create({});
15
+ return (0, _utils2.canInsert)(state.selection.$to, _model.Fragment.from(node));
16
+ };
17
+ var getInsertMediaGroupAnalytics = function getInsertMediaGroupAnalytics(mediaState, inputMethod) {
18
+ var media = '';
19
+ if (mediaState.length === 1) {
20
+ media = mediaState[0].fileMimeType || 'unknown';
21
+ } else if (mediaState.length > 1) {
22
+ media = 'multiple';
23
+ }
24
+ return {
25
+ action: _analytics.ACTION.INSERTED,
26
+ actionSubject: _analytics.ACTION_SUBJECT.DOCUMENT,
27
+ actionSubjectId: _analytics.ACTION_SUBJECT_ID.MEDIA,
28
+ attributes: {
29
+ type: _analytics.ACTION_SUBJECT_ID.MEDIA_GROUP,
30
+ inputMethod: inputMethod,
31
+ fileExtension: media
32
+ },
33
+ eventType: _analytics.EVENT_TYPE.TRACK
34
+ };
35
+ };
36
+ var getInsertMediaInlineAnalytics = function getInsertMediaInlineAnalytics(mediaState, inputMethod) {
37
+ var media = mediaState.fileMimeType || 'unknown';
38
+ return {
39
+ action: _analytics.ACTION.INSERTED,
40
+ actionSubject: _analytics.ACTION_SUBJECT.DOCUMENT,
41
+ actionSubjectId: _analytics.ACTION_SUBJECT_ID.MEDIA,
42
+ attributes: {
43
+ type: _analytics.ACTION_SUBJECT_ID.MEDIA_INLINE,
44
+ inputMethod: inputMethod,
45
+ fileExtension: media
46
+ },
47
+ eventType: _analytics.EVENT_TYPE.TRACK
48
+ };
49
+ };
50
+
51
+ /**
52
+ * Check if current editor selections is a media group or not.
53
+ * @param state Editor state
54
+ */
55
+ function isSelectionMediaGroup(state) {
56
+ var schema = state.schema;
57
+ var selectionParent = state.selection.$anchor.node();
58
+ return selectionParent && selectionParent.type === schema.nodes.mediaGroup;
59
+ }
60
+
61
+ /**
62
+ * Insert a paragraph after if reach the end of doc
63
+ * and there is no media group in the front or selection is a non media block node
64
+ * @param node Node at insertion point
65
+ * @param state Editor state
66
+ */
67
+ function shouldAppendParagraph(state, node) {
68
+ var media = state.schema.nodes.media;
69
+ var wasMediaNode = node && node.type === media;
70
+ return ((0, _utils.insideTableCell)(state) || (0, _utils.isInListItem)(state) || (0, _utils.isInLayoutColumn)(state) || (0, _selection.atTheEndOfDoc)(state) && (!(0, _mediaCommon.posOfPrecedingMediaGroup)(state) || (0, _mediaCommon.isSelectionNonMediaBlockNode)(state))) && !wasMediaNode;
71
+ }
72
+
73
+ /**
74
+ * Create a new media inline to insert the new media.
75
+ * @param view Editor view
76
+ * @param mediaState Media file to be added to the editor
77
+ * @param collection Collection for the media to be added
78
+ */
79
+ var insertMediaInlineNode = exports.insertMediaInlineNode = function insertMediaInlineNode(editorAnalyticsAPI) {
80
+ return function (view, mediaState, collection, inputMethod) {
81
+ var state = view.state,
82
+ dispatch = view.dispatch;
83
+ var schema = state.schema,
84
+ tr = state.tr;
85
+ var mediaInline = schema.nodes.mediaInline;
86
+
87
+ // Do nothing if no media found
88
+ if (!mediaInline || !mediaState || collection === undefined) {
89
+ return false;
90
+ }
91
+ var id = mediaState.id;
92
+ var mediaInlineNode = mediaInline.create({
93
+ id: id,
94
+ collection: collection
95
+ });
96
+ var space = state.schema.text(' ');
97
+ var pos = state.selection.$to.pos;
98
+
99
+ // If the selection is inside an empty list item set pos inside paragraph
100
+ if ((0, _utils.isInListItem)(state) && (0, _mediaCommon.isInsidePotentialEmptyParagraph)(state)) {
101
+ pos = pos + 1;
102
+ }
103
+ var content = _model.Fragment.from([mediaInlineNode, space]);
104
+
105
+ // Delete the selection if a selection is made
106
+ var deleteRange = findDeleteRange(state);
107
+ if (!deleteRange) {
108
+ tr.insert(pos, content);
109
+ } else {
110
+ tr.insert(pos, content).deleteRange(deleteRange.start, deleteRange.end);
111
+ }
112
+ editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 || editorAnalyticsAPI.attachAnalyticsEvent(getInsertMediaInlineAnalytics(mediaState, inputMethod))(tr);
113
+ dispatch(tr);
114
+ return true;
115
+ };
116
+ };
117
+
118
+ /**
119
+ * Insert a media into an existing media group
120
+ * or create a new media group to insert the new media.
121
+ * @param view Editor view
122
+ * @param mediaStates Media files to be added to the editor
123
+ * @param collection Collection for the media to be added
124
+ */
125
+ var insertMediaGroupNode = exports.insertMediaGroupNode = function insertMediaGroupNode(editorAnalyticsAPI) {
126
+ return function (view, mediaStates, collection, inputMethod) {
127
+ var state = view.state,
128
+ dispatch = view.dispatch;
129
+ var tr = state.tr,
130
+ schema = state.schema;
131
+ var _schema$nodes = schema.nodes,
132
+ media = _schema$nodes.media,
133
+ paragraph = _schema$nodes.paragraph;
134
+
135
+ // Do nothing if no media found
136
+ if (!media || !mediaStates.length) {
137
+ return;
138
+ }
139
+ var mediaNodes = createMediaFileNodes(mediaStates, collection, media);
140
+ var mediaInsertPos = findMediaInsertPos(state);
141
+ var resolvedInsertPos = tr.doc.resolve(mediaInsertPos);
142
+ var parent = resolvedInsertPos.parent;
143
+ var nodeAtInsertionPoint = tr.doc.nodeAt(mediaInsertPos);
144
+ var shouldSplit = !isSelectionMediaGroup(state) && (0, _utils.isSupportedInParent)(state, _model.Fragment.from(state.schema.nodes.mediaGroup.createChecked({}, mediaNodes)));
145
+ var withParagraph = shouldAppendParagraph(state, nodeAtInsertionPoint);
146
+ var content = parent.type === schema.nodes.mediaGroup ? mediaNodes // If parent is a mediaGroup do not wrap items again.
147
+ : [schema.nodes.mediaGroup.createChecked({}, mediaNodes)];
148
+ if (shouldSplit) {
149
+ content = withParagraph ? content.concat(paragraph.create()) : content;
150
+ // delete the selection or empty paragraph
151
+ var deleteRange = findDeleteRange(state);
152
+ if (!deleteRange) {
153
+ tr.insert(mediaInsertPos, content);
154
+ } else if (mediaInsertPos <= deleteRange.start) {
155
+ tr.deleteRange(deleteRange.start, deleteRange.end).insert(mediaInsertPos, content);
156
+ } else {
157
+ tr.insert(mediaInsertPos, content).deleteRange(deleteRange.start, deleteRange.end);
158
+ }
159
+ editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 || editorAnalyticsAPI.attachAnalyticsEvent(getInsertMediaGroupAnalytics(mediaStates, inputMethod))(tr);
160
+ dispatch(tr);
161
+ setSelectionAfterMediaInsertion(view);
162
+ return;
163
+ }
164
+
165
+ // Don't append new paragraph when adding media to a existing mediaGroup
166
+ if (withParagraph && parent.type !== schema.nodes.mediaGroup) {
167
+ content.push(paragraph.create());
168
+ }
169
+ editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 || editorAnalyticsAPI.attachAnalyticsEvent(getInsertMediaGroupAnalytics(mediaStates, inputMethod))(tr);
170
+ dispatch((0, _utils2.safeInsert)(_model.Fragment.fromArray(content), mediaInsertPos)(tr));
171
+ };
172
+ };
173
+ var createMediaFileNodes = function createMediaFileNodes(mediaStates, collection, media) {
174
+ var nodes = mediaStates.map(function (mediaState) {
175
+ var id = mediaState.id;
176
+ var node = media.create({
177
+ id: id,
178
+ type: 'file',
179
+ collection: collection
180
+ });
181
+ (0, _mediaCommon.copyOptionalAttrsFromMediaState)(mediaState, node);
182
+ return node;
183
+ });
184
+ return nodes;
185
+ };
186
+
187
+ /**
188
+ * Find root list node if exist from current selection
189
+ * @param state Editor state
190
+ */
191
+ var findRootListNode = function findRootListNode(state) {
192
+ var _state$schema$nodes = state.schema.nodes,
193
+ bulletList = _state$schema$nodes.bulletList,
194
+ orderedList = _state$schema$nodes.orderedList;
195
+ return (0, _utils.findFarthestParentNode)(function (node) {
196
+ return node.type === bulletList || node.type === orderedList;
197
+ })(state.selection.$from);
198
+ };
199
+
200
+ /**
201
+ * Return position of media to be inserted, if it is inside a list
202
+ * @param content Content to be inserted
203
+ * @param state Editor State
204
+ */
205
+ var getPosInList = exports.getPosInList = function getPosInList(state) {
206
+ var _state$schema$nodes2 = state.schema.nodes,
207
+ mediaGroup = _state$schema$nodes2.mediaGroup,
208
+ listItem = _state$schema$nodes2.listItem;
209
+
210
+ // 1. Check if I am inside a list.
211
+ if ((0, _utils2.hasParentNode)(function (node) {
212
+ return node.type === listItem;
213
+ })(state.selection)) {
214
+ // 2. Get end position of root list
215
+ var rootListNode = findRootListNode(state);
216
+ if (rootListNode) {
217
+ var pos = rootListNode.pos + rootListNode.node.nodeSize;
218
+ // 3. Fint the first location inside the media group
219
+ var nextNode = state.doc.nodeAt(pos);
220
+ if (nextNode && nextNode.type === mediaGroup) {
221
+ return pos + 1;
222
+ }
223
+ return pos;
224
+ }
225
+ }
226
+ return;
227
+ };
228
+
229
+ /**
230
+ * Find insertion point,
231
+ * If it is in a List it will return position to the next block,
232
+ * If there are any media group close it will return this position
233
+ * Otherwise, It will return the respective block given selection.
234
+ * @param content Content to be inserted
235
+ * @param state Editor state
236
+ */
237
+ var findMediaInsertPos = function findMediaInsertPos(state) {
238
+ var _state$selection = state.selection,
239
+ $from = _state$selection.$from,
240
+ $to = _state$selection.$to;
241
+
242
+ // Check if selection is inside a list.
243
+ var posInList = getPosInList(state);
244
+ if (posInList) {
245
+ // If I have a position in lists, I should return, otherwise I am not inside a list
246
+ return posInList;
247
+ }
248
+ var nearbyMediaGroupPos = (0, _mediaCommon.posOfMediaGroupNearby)(state);
249
+ if (nearbyMediaGroupPos && (!(0, _mediaCommon.isSelectionNonMediaBlockNode)(state) || $from.pos < nearbyMediaGroupPos && $to.pos < nearbyMediaGroupPos)) {
250
+ return nearbyMediaGroupPos;
251
+ }
252
+ if ((0, _mediaCommon.isSelectionNonMediaBlockNode)(state)) {
253
+ return $to.pos;
254
+ }
255
+ if ((0, _selection.atTheEndOfBlock)(state)) {
256
+ return $to.pos + 1;
257
+ }
258
+ if ((0, _selection.atTheBeginningOfBlock)(state)) {
259
+ return $from.pos - 1;
260
+ }
261
+ return $to.pos;
262
+ };
263
+ var findDeleteRange = function findDeleteRange(state) {
264
+ var _state$selection2 = state.selection,
265
+ $from = _state$selection2.$from,
266
+ $to = _state$selection2.$to;
267
+ if ((0, _mediaCommon.posOfParentMediaGroup)(state)) {
268
+ return;
269
+ }
270
+ if (!(0, _mediaCommon.isInsidePotentialEmptyParagraph)(state) || (0, _mediaCommon.posOfMediaGroupNearby)(state)) {
271
+ return range($from.pos, $to.pos);
272
+ }
273
+ return range((0, _selection.startPositionOfParent)($from) - 1, (0, _selection.endPositionOfParent)($to));
274
+ };
275
+ var range = function range(start) {
276
+ var end = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : start;
277
+ return {
278
+ start: start,
279
+ end: end
280
+ };
281
+ };
282
+ var setSelectionAfterMediaInsertion = function setSelectionAfterMediaInsertion(view) {
283
+ var state = view.state;
284
+ var doc = state.doc;
285
+ var mediaPos = (0, _mediaCommon.posOfMediaGroupNearby)(state);
286
+ if (!mediaPos) {
287
+ return;
288
+ }
289
+ var $mediaPos = doc.resolve(mediaPos);
290
+ var endOfMediaGroup = (0, _selection.endPositionOfParent)($mediaPos);
291
+ if (endOfMediaGroup + 1 >= doc.nodeSize - 1) {
292
+ // if nothing after the media group, fallback to select the newest uploaded media item
293
+ (0, _utils.setNodeSelection)(view, mediaPos);
294
+ } else {
295
+ (0, _utils.setTextSelection)(view, endOfMediaGroup + 1);
296
+ }
297
+ };