@atlaskit/editor-core 188.3.0 → 188.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (505) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/cjs/labs/next/presets/universal.js +5 -3
  3. package/dist/cjs/plugins/index.js +0 -14
  4. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/index.js +2 -4
  5. package/dist/cjs/plugins/mentions/index.js +31 -21
  6. package/dist/cjs/plugins/mentions/ui/ToolbarMention/index.js +1 -3
  7. package/dist/cjs/plugins/placeholder-text/index.js +9 -9
  8. package/dist/cjs/plugins/type-ahead/api.js +8 -26
  9. package/dist/cjs/plugins/type-ahead/index.js +135 -4
  10. package/dist/cjs/plugins/undo-redo/index.js +10 -8
  11. package/dist/cjs/plugins/undo-redo/ui/ToolbarUndoRedo/index.js +10 -9
  12. package/dist/cjs/test-utils.js +0 -7
  13. package/dist/cjs/ui/ContentStyles/index.js +12 -13
  14. package/dist/cjs/utils/action.js +10 -2
  15. package/dist/cjs/version-wrapper.js +1 -1
  16. package/dist/es2019/index.js +1 -1
  17. package/dist/es2019/labs/next/presets/universal.js +3 -1
  18. package/dist/es2019/plugins/index.js +1 -3
  19. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/index.js +2 -4
  20. package/dist/es2019/plugins/mentions/index.js +30 -22
  21. package/dist/es2019/plugins/mentions/ui/ToolbarMention/index.js +2 -5
  22. package/dist/es2019/plugins/placeholder-text/index.js +8 -8
  23. package/dist/es2019/plugins/type-ahead/api.js +9 -28
  24. package/dist/es2019/plugins/type-ahead/index.js +140 -5
  25. package/dist/es2019/plugins/undo-redo/index.js +5 -2
  26. package/dist/es2019/plugins/undo-redo/ui/ToolbarUndoRedo/index.js +10 -9
  27. package/dist/es2019/test-utils.js +0 -1
  28. package/dist/es2019/ui/ContentStyles/index.js +3 -3
  29. package/dist/es2019/utils/action.js +9 -1
  30. package/dist/es2019/version-wrapper.js +1 -1
  31. package/dist/esm/index.js +1 -1
  32. package/dist/esm/labs/next/presets/universal.js +3 -1
  33. package/dist/esm/plugins/index.js +1 -3
  34. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/index.js +2 -4
  35. package/dist/esm/plugins/mentions/index.js +32 -22
  36. package/dist/esm/plugins/mentions/ui/ToolbarMention/index.js +2 -5
  37. package/dist/esm/plugins/placeholder-text/index.js +9 -9
  38. package/dist/esm/plugins/type-ahead/api.js +9 -27
  39. package/dist/esm/plugins/type-ahead/index.js +136 -5
  40. package/dist/esm/plugins/undo-redo/index.js +10 -8
  41. package/dist/esm/plugins/undo-redo/ui/ToolbarUndoRedo/index.js +10 -9
  42. package/dist/esm/test-utils.js +0 -1
  43. package/dist/esm/ui/ContentStyles/index.js +3 -3
  44. package/dist/esm/utils/action.js +9 -1
  45. package/dist/esm/version-wrapper.js +1 -1
  46. package/dist/types/index.d.ts +2 -2
  47. package/dist/types/labs/next/presets/default.d.ts +232 -22
  48. package/dist/types/plugins/index.d.ts +0 -2
  49. package/dist/types/plugins/insert-block/types.d.ts +4 -2
  50. package/dist/types/plugins/mentions/index.d.ts +11 -4
  51. package/dist/types/plugins/mentions/ui/ToolbarMention/index.d.ts +1 -0
  52. package/dist/types/plugins/paste/handlers.d.ts +1 -1
  53. package/dist/types/plugins/paste/index.d.ts +2 -2
  54. package/dist/types/plugins/paste/pm-plugins/analytics.d.ts +1 -1
  55. package/dist/types/plugins/placeholder-text/index.d.ts +8 -3
  56. package/dist/types/plugins/submit-editor/index.d.ts +2 -2
  57. package/dist/types/plugins/type-ahead/api.d.ts +7 -9
  58. package/dist/types/plugins/type-ahead/utils.d.ts +1 -2
  59. package/dist/types/plugins/undo-redo/index.d.ts +2 -2
  60. package/dist/types/plugins/undo-redo/types.d.ts +5 -0
  61. package/dist/types/plugins/undo-redo/ui/ToolbarUndoRedo/index.d.ts +3 -0
  62. package/dist/types/test-utils.d.ts +0 -1
  63. package/dist/types/types/editor-props.d.ts +1 -1
  64. package/dist/types/ui/Appearance/FullPage/StyledComponents.d.ts +1 -1
  65. package/dist/types/ui/ContentStyles/index.d.ts +2 -2
  66. package/dist/types-ts4.5/index.d.ts +2 -2
  67. package/dist/types-ts4.5/labs/next/presets/default.d.ts +260 -22
  68. package/dist/types-ts4.5/plugins/index.d.ts +0 -2
  69. package/dist/types-ts4.5/plugins/insert-block/types.d.ts +4 -2
  70. package/dist/types-ts4.5/plugins/mentions/index.d.ts +11 -4
  71. package/dist/types-ts4.5/plugins/mentions/ui/ToolbarMention/index.d.ts +1 -0
  72. package/dist/types-ts4.5/plugins/paste/handlers.d.ts +1 -1
  73. package/dist/types-ts4.5/plugins/paste/index.d.ts +2 -2
  74. package/dist/types-ts4.5/plugins/paste/pm-plugins/analytics.d.ts +1 -1
  75. package/dist/types-ts4.5/plugins/placeholder-text/index.d.ts +12 -3
  76. package/dist/types-ts4.5/plugins/submit-editor/index.d.ts +2 -2
  77. package/dist/types-ts4.5/plugins/type-ahead/api.d.ts +7 -9
  78. package/dist/types-ts4.5/plugins/type-ahead/utils.d.ts +1 -2
  79. package/dist/types-ts4.5/plugins/undo-redo/index.d.ts +2 -2
  80. package/dist/types-ts4.5/plugins/undo-redo/types.d.ts +7 -0
  81. package/dist/types-ts4.5/plugins/undo-redo/ui/ToolbarUndoRedo/index.d.ts +3 -0
  82. package/dist/types-ts4.5/test-utils.d.ts +0 -1
  83. package/dist/types-ts4.5/types/editor-props.d.ts +1 -1
  84. package/dist/types-ts4.5/ui/Appearance/FullPage/StyledComponents.d.ts +1 -1
  85. package/dist/types-ts4.5/ui/ContentStyles/index.d.ts +2 -2
  86. package/package.json +13 -15
  87. package/report.api.md +1 -1
  88. package/tmp/api-report-tmp.d.ts +1 -1
  89. package/dist/cjs/plugins/border/index.js +0 -19
  90. package/dist/cjs/plugins/media/commands/captions.js +0 -59
  91. package/dist/cjs/plugins/media/commands/helpers.js +0 -127
  92. package/dist/cjs/plugins/media/commands/index.js +0 -24
  93. package/dist/cjs/plugins/media/commands/linking.js +0 -181
  94. package/dist/cjs/plugins/media/index.js +0 -294
  95. package/dist/cjs/plugins/media/media-plugin-options.js +0 -5
  96. package/dist/cjs/plugins/media/next-plugin-type.js +0 -5
  97. package/dist/cjs/plugins/media/nodeviews/mediaGroup.js +0 -374
  98. package/dist/cjs/plugins/media/nodeviews/mediaInline.js +0 -288
  99. package/dist/cjs/plugins/media/nodeviews/mediaNodeUpdater.js +0 -739
  100. package/dist/cjs/plugins/media/nodeviews/mediaNodeView/index.js +0 -177
  101. package/dist/cjs/plugins/media/nodeviews/mediaNodeView/media.js +0 -241
  102. package/dist/cjs/plugins/media/nodeviews/mediaSingle.js +0 -628
  103. package/dist/cjs/plugins/media/nodeviews/messages.js +0 -14
  104. package/dist/cjs/plugins/media/nodeviews/styles.js +0 -46
  105. package/dist/cjs/plugins/media/picker-facade.js +0 -192
  106. package/dist/cjs/plugins/media/pm-plugins/alt-text/actions.js +0 -5
  107. package/dist/cjs/plugins/media/pm-plugins/alt-text/commands.js +0 -59
  108. package/dist/cjs/plugins/media/pm-plugins/alt-text/index.js +0 -36
  109. package/dist/cjs/plugins/media/pm-plugins/alt-text/keymap.js +0 -15
  110. package/dist/cjs/plugins/media/pm-plugins/alt-text/messages.js +0 -44
  111. package/dist/cjs/plugins/media/pm-plugins/alt-text/reducer.js +0 -32
  112. package/dist/cjs/plugins/media/pm-plugins/alt-text/style.js +0 -10
  113. package/dist/cjs/plugins/media/pm-plugins/alt-text/types.js +0 -5
  114. package/dist/cjs/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +0 -208
  115. package/dist/cjs/plugins/media/pm-plugins/keymap-media-single.js +0 -163
  116. package/dist/cjs/plugins/media/pm-plugins/keymap.js +0 -88
  117. package/dist/cjs/plugins/media/pm-plugins/linking/actions.js +0 -13
  118. package/dist/cjs/plugins/media/pm-plugins/linking/index.js +0 -65
  119. package/dist/cjs/plugins/media/pm-plugins/linking/keymap.js +0 -14
  120. package/dist/cjs/plugins/media/pm-plugins/linking/reducer.js +0 -43
  121. package/dist/cjs/plugins/media/pm-plugins/linking/types.js +0 -5
  122. package/dist/cjs/plugins/media/pm-plugins/main.js +0 -813
  123. package/dist/cjs/plugins/media/pm-plugins/media-editor-plugin-factory.js +0 -8
  124. package/dist/cjs/plugins/media/pm-plugins/mediaTaskManager.js +0 -101
  125. package/dist/cjs/plugins/media/pm-plugins/plugin-key.js +0 -8
  126. package/dist/cjs/plugins/media/pm-plugins/types.js +0 -5
  127. package/dist/cjs/plugins/media/toolbar/alt-text.js +0 -80
  128. package/dist/cjs/plugins/media/toolbar/commands.js +0 -236
  129. package/dist/cjs/plugins/media/toolbar/filePreviewItem.js +0 -66
  130. package/dist/cjs/plugins/media/toolbar/imageBorder.js +0 -20
  131. package/dist/cjs/plugins/media/toolbar/index.js +0 -523
  132. package/dist/cjs/plugins/media/toolbar/linking-toolbar-appearance.js +0 -100
  133. package/dist/cjs/plugins/media/toolbar/linking.js +0 -96
  134. package/dist/cjs/plugins/media/toolbar/utils.js +0 -110
  135. package/dist/cjs/plugins/media/types.js +0 -5
  136. package/dist/cjs/plugins/media/ui/CaptionPlaceholder/index.js +0 -27
  137. package/dist/cjs/plugins/media/ui/CaptionPlaceholder/messages.js +0 -14
  138. package/dist/cjs/plugins/media/ui/ImageBorder/index.js +0 -226
  139. package/dist/cjs/plugins/media/ui/ImageBorder/messages.js +0 -49
  140. package/dist/cjs/plugins/media/ui/ImageBorder/styles.js +0 -52
  141. package/dist/cjs/plugins/media/ui/Media/DropPlaceholder.js +0 -38
  142. package/dist/cjs/plugins/media/ui/Media/drop-placeholder-messages.js +0 -14
  143. package/dist/cjs/plugins/media/ui/MediaLinkingToolbar.js +0 -194
  144. package/dist/cjs/plugins/media/ui/MediaPicker/BrowserWrapper.js +0 -40
  145. package/dist/cjs/plugins/media/ui/MediaPicker/ClipboardWrapper.js +0 -39
  146. package/dist/cjs/plugins/media/ui/MediaPicker/DropzoneWrapper.js +0 -51
  147. package/dist/cjs/plugins/media/ui/MediaPicker/PickerFacadeProvider.js +0 -149
  148. package/dist/cjs/plugins/media/ui/MediaPicker/index.js +0 -101
  149. package/dist/cjs/plugins/media/ui/PixelEntry/constants.js +0 -7
  150. package/dist/cjs/plugins/media/ui/PixelEntry/index.js +0 -185
  151. package/dist/cjs/plugins/media/ui/PixelEntry/messages.js +0 -54
  152. package/dist/cjs/plugins/media/ui/PixelEntry/styles.js +0 -19
  153. package/dist/cjs/plugins/media/ui/PixelEntry/types.js +0 -5
  154. package/dist/cjs/plugins/media/ui/ResizableMediaSingle/ResizableMediaMigrationNotification.js +0 -16
  155. package/dist/cjs/plugins/media/ui/ResizableMediaSingle/ResizableMediaSingleNext.js +0 -540
  156. package/dist/cjs/plugins/media/ui/ResizableMediaSingle/index.js +0 -421
  157. package/dist/cjs/plugins/media/ui/ResizableMediaSingle/styled.js +0 -14
  158. package/dist/cjs/plugins/media/ui/ResizableMediaSingle/styles.js +0 -17
  159. package/dist/cjs/plugins/media/ui/ResizableMediaSingle/types.js +0 -5
  160. package/dist/cjs/plugins/media/ui/ToolbarMedia/index.js +0 -42
  161. package/dist/cjs/plugins/media/ui/ToolbarMedia/toolbar-media-messages.js +0 -14
  162. package/dist/cjs/plugins/media/ui/media-linking-toolbar-messages.js +0 -14
  163. package/dist/cjs/plugins/media/utils/analytics.js +0 -53
  164. package/dist/cjs/plugins/media/utils/check-media-type.js +0 -56
  165. package/dist/cjs/plugins/media/utils/current-media-node.js +0 -41
  166. package/dist/cjs/plugins/media/utils/is-image.js +0 -9
  167. package/dist/cjs/plugins/media/utils/media-common.js +0 -181
  168. package/dist/cjs/plugins/media/utils/media-files.js +0 -297
  169. package/dist/cjs/plugins/media/utils/media-single.js +0 -181
  170. package/dist/es2019/plugins/border/index.js +0 -11
  171. package/dist/es2019/plugins/media/commands/captions.js +0 -47
  172. package/dist/es2019/plugins/media/commands/helpers.js +0 -113
  173. package/dist/es2019/plugins/media/commands/index.js +0 -1
  174. package/dist/es2019/plugins/media/commands/linking.js +0 -169
  175. package/dist/es2019/plugins/media/index.js +0 -285
  176. package/dist/es2019/plugins/media/media-plugin-options.js +0 -1
  177. package/dist/es2019/plugins/media/next-plugin-type.js +0 -1
  178. package/dist/es2019/plugins/media/nodeviews/mediaGroup.js +0 -312
  179. package/dist/es2019/plugins/media/nodeviews/mediaInline.js +0 -201
  180. package/dist/es2019/plugins/media/nodeviews/mediaNodeUpdater.js +0 -384
  181. package/dist/es2019/plugins/media/nodeviews/mediaNodeView/index.js +0 -149
  182. package/dist/es2019/plugins/media/nodeviews/mediaNodeView/media.js +0 -182
  183. package/dist/es2019/plugins/media/nodeviews/mediaSingle.js +0 -510
  184. package/dist/es2019/plugins/media/nodeviews/messages.js +0 -8
  185. package/dist/es2019/plugins/media/nodeviews/styles.js +0 -46
  186. package/dist/es2019/plugins/media/picker-facade.js +0 -146
  187. package/dist/es2019/plugins/media/pm-plugins/alt-text/actions.js +0 -1
  188. package/dist/es2019/plugins/media/pm-plugins/alt-text/commands.js +0 -42
  189. package/dist/es2019/plugins/media/pm-plugins/alt-text/index.js +0 -33
  190. package/dist/es2019/plugins/media/pm-plugins/alt-text/keymap.js +0 -9
  191. package/dist/es2019/plugins/media/pm-plugins/alt-text/messages.js +0 -38
  192. package/dist/es2019/plugins/media/pm-plugins/alt-text/reducer.js +0 -26
  193. package/dist/es2019/plugins/media/pm-plugins/alt-text/style.js +0 -4
  194. package/dist/es2019/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +0 -227
  195. package/dist/es2019/plugins/media/pm-plugins/keymap-media-single.js +0 -172
  196. package/dist/es2019/plugins/media/pm-plugins/keymap.js +0 -84
  197. package/dist/es2019/plugins/media/pm-plugins/linking/actions.js +0 -7
  198. package/dist/es2019/plugins/media/pm-plugins/linking/index.js +0 -56
  199. package/dist/es2019/plugins/media/pm-plugins/linking/keymap.js +0 -8
  200. package/dist/es2019/plugins/media/pm-plugins/linking/reducer.js +0 -37
  201. package/dist/es2019/plugins/media/pm-plugins/linking/types.js +0 -1
  202. package/dist/es2019/plugins/media/pm-plugins/main.js +0 -695
  203. package/dist/es2019/plugins/media/pm-plugins/media-editor-plugin-factory.js +0 -2
  204. package/dist/es2019/plugins/media/pm-plugins/mediaTaskManager.js +0 -64
  205. package/dist/es2019/plugins/media/pm-plugins/plugin-key.js +0 -2
  206. package/dist/es2019/plugins/media/pm-plugins/types.js +0 -1
  207. package/dist/es2019/plugins/media/toolbar/alt-text.js +0 -72
  208. package/dist/es2019/plugins/media/toolbar/commands.js +0 -212
  209. package/dist/es2019/plugins/media/toolbar/filePreviewItem.js +0 -54
  210. package/dist/es2019/plugins/media/toolbar/imageBorder.js +0 -15
  211. package/dist/es2019/plugins/media/toolbar/index.js +0 -539
  212. package/dist/es2019/plugins/media/toolbar/linking-toolbar-appearance.js +0 -90
  213. package/dist/es2019/plugins/media/toolbar/linking.js +0 -98
  214. package/dist/es2019/plugins/media/toolbar/utils.js +0 -86
  215. package/dist/es2019/plugins/media/types.js +0 -1
  216. package/dist/es2019/plugins/media/ui/CaptionPlaceholder/index.js +0 -25
  217. package/dist/es2019/plugins/media/ui/CaptionPlaceholder/messages.js +0 -8
  218. package/dist/es2019/plugins/media/ui/ImageBorder/index.js +0 -215
  219. package/dist/es2019/plugins/media/ui/ImageBorder/messages.js +0 -43
  220. package/dist/es2019/plugins/media/ui/ImageBorder/styles.js +0 -126
  221. package/dist/es2019/plugins/media/ui/Media/DropPlaceholder.js +0 -47
  222. package/dist/es2019/plugins/media/ui/Media/drop-placeholder-messages.js +0 -8
  223. package/dist/es2019/plugins/media/ui/MediaLinkingToolbar.js +0 -188
  224. package/dist/es2019/plugins/media/ui/MediaPicker/BrowserWrapper.js +0 -31
  225. package/dist/es2019/plugins/media/ui/MediaPicker/ClipboardWrapper.js +0 -32
  226. package/dist/es2019/plugins/media/ui/MediaPicker/DropzoneWrapper.js +0 -42
  227. package/dist/es2019/plugins/media/ui/MediaPicker/PickerFacadeProvider.js +0 -83
  228. package/dist/es2019/plugins/media/ui/MediaPicker/index.js +0 -80
  229. package/dist/es2019/plugins/media/ui/PixelEntry/constants.js +0 -1
  230. package/dist/es2019/plugins/media/ui/PixelEntry/index.js +0 -170
  231. package/dist/es2019/plugins/media/ui/PixelEntry/messages.js +0 -48
  232. package/dist/es2019/plugins/media/ui/PixelEntry/styles.js +0 -51
  233. package/dist/es2019/plugins/media/ui/PixelEntry/types.js +0 -1
  234. package/dist/es2019/plugins/media/ui/ResizableMediaSingle/ResizableMediaMigrationNotification.js +0 -9
  235. package/dist/es2019/plugins/media/ui/ResizableMediaSingle/ResizableMediaSingleNext.js +0 -453
  236. package/dist/es2019/plugins/media/ui/ResizableMediaSingle/index.js +0 -343
  237. package/dist/es2019/plugins/media/ui/ResizableMediaSingle/styled.js +0 -9
  238. package/dist/es2019/plugins/media/ui/ResizableMediaSingle/styles.js +0 -14
  239. package/dist/es2019/plugins/media/ui/ResizableMediaSingle/types.js +0 -1
  240. package/dist/es2019/plugins/media/ui/ToolbarMedia/index.js +0 -37
  241. package/dist/es2019/plugins/media/ui/ToolbarMedia/toolbar-media-messages.js +0 -8
  242. package/dist/es2019/plugins/media/ui/media-linking-toolbar-messages.js +0 -8
  243. package/dist/es2019/plugins/media/utils/analytics.js +0 -51
  244. package/dist/es2019/plugins/media/utils/check-media-type.js +0 -19
  245. package/dist/es2019/plugins/media/utils/current-media-node.js +0 -35
  246. package/dist/es2019/plugins/media/utils/is-image.js +0 -3
  247. package/dist/es2019/plugins/media/utils/media-common.js +0 -189
  248. package/dist/es2019/plugins/media/utils/media-files.js +0 -321
  249. package/dist/es2019/plugins/media/utils/media-single.js +0 -176
  250. package/dist/esm/plugins/border/index.js +0 -13
  251. package/dist/esm/plugins/media/commands/captions.js +0 -53
  252. package/dist/esm/plugins/media/commands/helpers.js +0 -120
  253. package/dist/esm/plugins/media/commands/index.js +0 -1
  254. package/dist/esm/plugins/media/commands/linking.js +0 -174
  255. package/dist/esm/plugins/media/index.js +0 -283
  256. package/dist/esm/plugins/media/media-plugin-options.js +0 -1
  257. package/dist/esm/plugins/media/next-plugin-type.js +0 -1
  258. package/dist/esm/plugins/media/nodeviews/mediaGroup.js +0 -367
  259. package/dist/esm/plugins/media/nodeviews/mediaInline.js +0 -278
  260. package/dist/esm/plugins/media/nodeviews/mediaNodeUpdater.js +0 -732
  261. package/dist/esm/plugins/media/nodeviews/mediaNodeView/index.js +0 -170
  262. package/dist/esm/plugins/media/nodeviews/mediaNodeView/media.js +0 -233
  263. package/dist/esm/plugins/media/nodeviews/mediaSingle.js +0 -621
  264. package/dist/esm/plugins/media/nodeviews/messages.js +0 -8
  265. package/dist/esm/plugins/media/nodeviews/styles.js +0 -39
  266. package/dist/esm/plugins/media/nodeviews/types.js +0 -1
  267. package/dist/esm/plugins/media/picker-facade.js +0 -186
  268. package/dist/esm/plugins/media/pm-plugins/alt-text/actions.js +0 -1
  269. package/dist/esm/plugins/media/pm-plugins/alt-text/commands.js +0 -52
  270. package/dist/esm/plugins/media/pm-plugins/alt-text/index.js +0 -31
  271. package/dist/esm/plugins/media/pm-plugins/alt-text/keymap.js +0 -9
  272. package/dist/esm/plugins/media/pm-plugins/alt-text/messages.js +0 -38
  273. package/dist/esm/plugins/media/pm-plugins/alt-text/reducer.js +0 -25
  274. package/dist/esm/plugins/media/pm-plugins/alt-text/style.js +0 -4
  275. package/dist/esm/plugins/media/pm-plugins/alt-text/types.js +0 -1
  276. package/dist/esm/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +0 -205
  277. package/dist/esm/plugins/media/pm-plugins/keymap-media-single.js +0 -158
  278. package/dist/esm/plugins/media/pm-plugins/keymap.js +0 -81
  279. package/dist/esm/plugins/media/pm-plugins/linking/actions.js +0 -7
  280. package/dist/esm/plugins/media/pm-plugins/linking/index.js +0 -59
  281. package/dist/esm/plugins/media/pm-plugins/linking/keymap.js +0 -8
  282. package/dist/esm/plugins/media/pm-plugins/linking/reducer.js +0 -36
  283. package/dist/esm/plugins/media/pm-plugins/linking/types.js +0 -1
  284. package/dist/esm/plugins/media/pm-plugins/main.js +0 -798
  285. package/dist/esm/plugins/media/pm-plugins/media-editor-plugin-factory.js +0 -2
  286. package/dist/esm/plugins/media/pm-plugins/mediaTaskManager.js +0 -94
  287. package/dist/esm/plugins/media/pm-plugins/plugin-key.js +0 -2
  288. package/dist/esm/plugins/media/pm-plugins/types.js +0 -1
  289. package/dist/esm/plugins/media/toolbar/alt-text.js +0 -70
  290. package/dist/esm/plugins/media/toolbar/commands.js +0 -229
  291. package/dist/esm/plugins/media/toolbar/filePreviewItem.js +0 -56
  292. package/dist/esm/plugins/media/toolbar/imageBorder.js +0 -14
  293. package/dist/esm/plugins/media/toolbar/index.js +0 -514
  294. package/dist/esm/plugins/media/toolbar/linking-toolbar-appearance.js +0 -91
  295. package/dist/esm/plugins/media/toolbar/linking.js +0 -88
  296. package/dist/esm/plugins/media/toolbar/utils.js +0 -103
  297. package/dist/esm/plugins/media/types.js +0 -1
  298. package/dist/esm/plugins/media/ui/CaptionPlaceholder/index.js +0 -20
  299. package/dist/esm/plugins/media/ui/CaptionPlaceholder/messages.js +0 -8
  300. package/dist/esm/plugins/media/ui/ImageBorder/index.js +0 -220
  301. package/dist/esm/plugins/media/ui/ImageBorder/messages.js +0 -43
  302. package/dist/esm/plugins/media/ui/ImageBorder/styles.js +0 -42
  303. package/dist/esm/plugins/media/ui/Media/DropPlaceholder.js +0 -31
  304. package/dist/esm/plugins/media/ui/Media/drop-placeholder-messages.js +0 -8
  305. package/dist/esm/plugins/media/ui/MediaLinkingToolbar.js +0 -186
  306. package/dist/esm/plugins/media/ui/MediaPicker/BrowserWrapper.js +0 -33
  307. package/dist/esm/plugins/media/ui/MediaPicker/ClipboardWrapper.js +0 -32
  308. package/dist/esm/plugins/media/ui/MediaPicker/DropzoneWrapper.js +0 -44
  309. package/dist/esm/plugins/media/ui/MediaPicker/PickerFacadeProvider.js +0 -143
  310. package/dist/esm/plugins/media/ui/MediaPicker/index.js +0 -94
  311. package/dist/esm/plugins/media/ui/PixelEntry/constants.js +0 -1
  312. package/dist/esm/plugins/media/ui/PixelEntry/index.js +0 -174
  313. package/dist/esm/plugins/media/ui/PixelEntry/messages.js +0 -48
  314. package/dist/esm/plugins/media/ui/PixelEntry/styles.js +0 -12
  315. package/dist/esm/plugins/media/ui/PixelEntry/types.js +0 -1
  316. package/dist/esm/plugins/media/ui/ResizableMediaSingle/ResizableMediaMigrationNotification.js +0 -9
  317. package/dist/esm/plugins/media/ui/ResizableMediaSingle/ResizableMediaSingleNext.js +0 -534
  318. package/dist/esm/plugins/media/ui/ResizableMediaSingle/index.js +0 -416
  319. package/dist/esm/plugins/media/ui/ResizableMediaSingle/styled.js +0 -7
  320. package/dist/esm/plugins/media/ui/ResizableMediaSingle/styles.js +0 -7
  321. package/dist/esm/plugins/media/ui/ResizableMediaSingle/types.js +0 -1
  322. package/dist/esm/plugins/media/ui/ToolbarMedia/index.js +0 -35
  323. package/dist/esm/plugins/media/ui/ToolbarMedia/toolbar-media-messages.js +0 -8
  324. package/dist/esm/plugins/media/ui/media-linking-toolbar-messages.js +0 -8
  325. package/dist/esm/plugins/media/utils/analytics.js +0 -47
  326. package/dist/esm/plugins/media/utils/check-media-type.js +0 -49
  327. package/dist/esm/plugins/media/utils/current-media-node.js +0 -35
  328. package/dist/esm/plugins/media/utils/is-image.js +0 -3
  329. package/dist/esm/plugins/media/utils/media-common.js +0 -175
  330. package/dist/esm/plugins/media/utils/media-files.js +0 -291
  331. package/dist/esm/plugins/media/utils/media-single.js +0 -172
  332. package/dist/types/plugins/border/index.d.ts +0 -3
  333. package/dist/types/plugins/media/commands/captions.d.ts +0 -5
  334. package/dist/types/plugins/media/commands/helpers.d.ts +0 -15
  335. package/dist/types/plugins/media/commands/index.d.ts +0 -1
  336. package/dist/types/plugins/media/commands/linking.d.ts +0 -9
  337. package/dist/types/plugins/media/index.d.ts +0 -8
  338. package/dist/types/plugins/media/media-plugin-options.d.ts +0 -17
  339. package/dist/types/plugins/media/next-plugin-type.d.ts +0 -31
  340. package/dist/types/plugins/media/nodeviews/__mocks__/mediaNodeUpdater.d.ts +0 -24
  341. package/dist/types/plugins/media/nodeviews/mediaGroup.d.ts +0 -33
  342. package/dist/types/plugins/media/nodeviews/mediaInline.d.ts +0 -50
  343. package/dist/types/plugins/media/nodeviews/mediaNodeUpdater.d.ts +0 -46
  344. package/dist/types/plugins/media/nodeviews/mediaNodeView/index.d.ts +0 -28
  345. package/dist/types/plugins/media/nodeviews/mediaNodeView/media.d.ts +0 -44
  346. package/dist/types/plugins/media/nodeviews/mediaSingle.d.ts +0 -62
  347. package/dist/types/plugins/media/nodeviews/messages.d.ts +0 -7
  348. package/dist/types/plugins/media/nodeviews/styles.d.ts +0 -16
  349. package/dist/types/plugins/media/nodeviews/types.d.ts +0 -43
  350. package/dist/types/plugins/media/picker-facade.d.ts +0 -44
  351. package/dist/types/plugins/media/pm-plugins/alt-text/actions.d.ts +0 -10
  352. package/dist/types/plugins/media/pm-plugins/alt-text/commands.d.ts +0 -4
  353. package/dist/types/plugins/media/pm-plugins/alt-text/index.d.ts +0 -7
  354. package/dist/types/plugins/media/pm-plugins/alt-text/keymap.d.ts +0 -4
  355. package/dist/types/plugins/media/pm-plugins/alt-text/messages.d.ts +0 -37
  356. package/dist/types/plugins/media/pm-plugins/alt-text/reducer.d.ts +0 -4
  357. package/dist/types/plugins/media/pm-plugins/alt-text/style.d.ts +0 -3
  358. package/dist/types/plugins/media/pm-plugins/alt-text/types.d.ts +0 -3
  359. package/dist/types/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.d.ts +0 -41
  360. package/dist/types/plugins/media/pm-plugins/keymap-media-single.d.ts +0 -3
  361. package/dist/types/plugins/media/pm-plugins/keymap.d.ts +0 -5
  362. package/dist/types/plugins/media/pm-plugins/linking/actions.d.ts +0 -20
  363. package/dist/types/plugins/media/pm-plugins/linking/index.d.ts +0 -10
  364. package/dist/types/plugins/media/pm-plugins/linking/keymap.d.ts +0 -3
  365. package/dist/types/plugins/media/pm-plugins/linking/reducer.d.ts +0 -4
  366. package/dist/types/plugins/media/pm-plugins/linking/types.d.ts +0 -12
  367. package/dist/types/plugins/media/pm-plugins/main.d.ts +0 -120
  368. package/dist/types/plugins/media/pm-plugins/media-editor-plugin-factory.d.ts +0 -3
  369. package/dist/types/plugins/media/pm-plugins/mediaTaskManager.d.ts +0 -9
  370. package/dist/types/plugins/media/pm-plugins/plugin-key.d.ts +0 -3
  371. package/dist/types/plugins/media/pm-plugins/types.d.ts +0 -65
  372. package/dist/types/plugins/media/toolbar/alt-text.d.ts +0 -13
  373. package/dist/types/plugins/media/toolbar/commands.d.ts +0 -12
  374. package/dist/types/plugins/media/toolbar/filePreviewItem.d.ts +0 -9
  375. package/dist/types/plugins/media/toolbar/imageBorder.d.ts +0 -2
  376. package/dist/types/plugins/media/toolbar/index.d.ts +0 -6
  377. package/dist/types/plugins/media/toolbar/linking-toolbar-appearance.d.ts +0 -14
  378. package/dist/types/plugins/media/toolbar/linking.d.ts +0 -10
  379. package/dist/types/plugins/media/toolbar/utils.d.ts +0 -11
  380. package/dist/types/plugins/media/types.d.ts +0 -1
  381. package/dist/types/plugins/media/ui/CaptionPlaceholder/index.d.ts +0 -6
  382. package/dist/types/plugins/media/ui/CaptionPlaceholder/messages.d.ts +0 -7
  383. package/dist/types/plugins/media/ui/ImageBorder/index.d.ts +0 -11
  384. package/dist/types/plugins/media/ui/ImageBorder/messages.d.ts +0 -42
  385. package/dist/types/plugins/media/ui/ImageBorder/styles.d.ts +0 -15
  386. package/dist/types/plugins/media/ui/Media/DropPlaceholder.d.ts +0 -8
  387. package/dist/types/plugins/media/ui/Media/drop-placeholder-messages.d.ts +0 -7
  388. package/dist/types/plugins/media/ui/MediaLinkingToolbar.d.ts +0 -35
  389. package/dist/types/plugins/media/ui/MediaPicker/BrowserWrapper.d.ts +0 -11
  390. package/dist/types/plugins/media/ui/MediaPicker/ClipboardWrapper.d.ts +0 -10
  391. package/dist/types/plugins/media/ui/MediaPicker/DropzoneWrapper.d.ts +0 -13
  392. package/dist/types/plugins/media/ui/MediaPicker/PickerFacadeProvider.d.ts +0 -28
  393. package/dist/types/plugins/media/ui/MediaPicker/index.d.ts +0 -23
  394. package/dist/types/plugins/media/ui/PixelEntry/constants.d.ts +0 -1
  395. package/dist/types/plugins/media/ui/PixelEntry/index.d.ts +0 -8
  396. package/dist/types/plugins/media/ui/PixelEntry/messages.d.ts +0 -47
  397. package/dist/types/plugins/media/ui/PixelEntry/styles.d.ts +0 -8
  398. package/dist/types/plugins/media/ui/PixelEntry/types.d.ts +0 -58
  399. package/dist/types/plugins/media/ui/ResizableMediaSingle/ResizableMediaMigrationNotification.d.ts +0 -3
  400. package/dist/types/plugins/media/ui/ResizableMediaSingle/ResizableMediaSingleNext.d.ts +0 -59
  401. package/dist/types/plugins/media/ui/ResizableMediaSingle/index.d.ts +0 -45
  402. package/dist/types/plugins/media/ui/ResizableMediaSingle/styled.d.ts +0 -2
  403. package/dist/types/plugins/media/ui/ResizableMediaSingle/styles.d.ts +0 -1
  404. package/dist/types/plugins/media/ui/ResizableMediaSingle/types.d.ts +0 -27
  405. package/dist/types/plugins/media/ui/ToolbarMedia/index.d.ts +0 -13
  406. package/dist/types/plugins/media/ui/ToolbarMedia/toolbar-media-messages.d.ts +0 -7
  407. package/dist/types/plugins/media/ui/media-linking-toolbar-messages.d.ts +0 -7
  408. package/dist/types/plugins/media/utils/analytics.d.ts +0 -3
  409. package/dist/types/plugins/media/utils/check-media-type.d.ts +0 -4
  410. package/dist/types/plugins/media/utils/current-media-node.d.ts +0 -9
  411. package/dist/types/plugins/media/utils/is-image.d.ts +0 -1
  412. package/dist/types/plugins/media/utils/media-common.d.ts +0 -20
  413. package/dist/types/plugins/media/utils/media-files.d.ts +0 -30
  414. package/dist/types/plugins/media/utils/media-single.d.ts +0 -20
  415. package/dist/types-ts4.5/plugins/border/index.d.ts +0 -3
  416. package/dist/types-ts4.5/plugins/media/commands/captions.d.ts +0 -5
  417. package/dist/types-ts4.5/plugins/media/commands/helpers.d.ts +0 -15
  418. package/dist/types-ts4.5/plugins/media/commands/index.d.ts +0 -1
  419. package/dist/types-ts4.5/plugins/media/commands/linking.d.ts +0 -9
  420. package/dist/types-ts4.5/plugins/media/index.d.ts +0 -8
  421. package/dist/types-ts4.5/plugins/media/media-plugin-options.d.ts +0 -17
  422. package/dist/types-ts4.5/plugins/media/next-plugin-type.d.ts +0 -31
  423. package/dist/types-ts4.5/plugins/media/nodeviews/__mocks__/mediaNodeUpdater.d.ts +0 -24
  424. package/dist/types-ts4.5/plugins/media/nodeviews/mediaGroup.d.ts +0 -33
  425. package/dist/types-ts4.5/plugins/media/nodeviews/mediaInline.d.ts +0 -50
  426. package/dist/types-ts4.5/plugins/media/nodeviews/mediaNodeUpdater.d.ts +0 -46
  427. package/dist/types-ts4.5/plugins/media/nodeviews/mediaNodeView/index.d.ts +0 -28
  428. package/dist/types-ts4.5/plugins/media/nodeviews/mediaNodeView/media.d.ts +0 -44
  429. package/dist/types-ts4.5/plugins/media/nodeviews/mediaSingle.d.ts +0 -62
  430. package/dist/types-ts4.5/plugins/media/nodeviews/messages.d.ts +0 -7
  431. package/dist/types-ts4.5/plugins/media/nodeviews/styles.d.ts +0 -16
  432. package/dist/types-ts4.5/plugins/media/nodeviews/types.d.ts +0 -43
  433. package/dist/types-ts4.5/plugins/media/picker-facade.d.ts +0 -44
  434. package/dist/types-ts4.5/plugins/media/pm-plugins/alt-text/actions.d.ts +0 -10
  435. package/dist/types-ts4.5/plugins/media/pm-plugins/alt-text/commands.d.ts +0 -4
  436. package/dist/types-ts4.5/plugins/media/pm-plugins/alt-text/index.d.ts +0 -7
  437. package/dist/types-ts4.5/plugins/media/pm-plugins/alt-text/keymap.d.ts +0 -4
  438. package/dist/types-ts4.5/plugins/media/pm-plugins/alt-text/messages.d.ts +0 -37
  439. package/dist/types-ts4.5/plugins/media/pm-plugins/alt-text/reducer.d.ts +0 -4
  440. package/dist/types-ts4.5/plugins/media/pm-plugins/alt-text/style.d.ts +0 -3
  441. package/dist/types-ts4.5/plugins/media/pm-plugins/alt-text/types.d.ts +0 -3
  442. package/dist/types-ts4.5/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.d.ts +0 -41
  443. package/dist/types-ts4.5/plugins/media/pm-plugins/keymap-media-single.d.ts +0 -3
  444. package/dist/types-ts4.5/plugins/media/pm-plugins/keymap.d.ts +0 -5
  445. package/dist/types-ts4.5/plugins/media/pm-plugins/linking/actions.d.ts +0 -20
  446. package/dist/types-ts4.5/plugins/media/pm-plugins/linking/index.d.ts +0 -10
  447. package/dist/types-ts4.5/plugins/media/pm-plugins/linking/keymap.d.ts +0 -3
  448. package/dist/types-ts4.5/plugins/media/pm-plugins/linking/reducer.d.ts +0 -4
  449. package/dist/types-ts4.5/plugins/media/pm-plugins/linking/types.d.ts +0 -12
  450. package/dist/types-ts4.5/plugins/media/pm-plugins/main.d.ts +0 -120
  451. package/dist/types-ts4.5/plugins/media/pm-plugins/media-editor-plugin-factory.d.ts +0 -3
  452. package/dist/types-ts4.5/plugins/media/pm-plugins/mediaTaskManager.d.ts +0 -9
  453. package/dist/types-ts4.5/plugins/media/pm-plugins/plugin-key.d.ts +0 -3
  454. package/dist/types-ts4.5/plugins/media/pm-plugins/types.d.ts +0 -65
  455. package/dist/types-ts4.5/plugins/media/toolbar/alt-text.d.ts +0 -13
  456. package/dist/types-ts4.5/plugins/media/toolbar/commands.d.ts +0 -12
  457. package/dist/types-ts4.5/plugins/media/toolbar/filePreviewItem.d.ts +0 -9
  458. package/dist/types-ts4.5/plugins/media/toolbar/imageBorder.d.ts +0 -2
  459. package/dist/types-ts4.5/plugins/media/toolbar/index.d.ts +0 -6
  460. package/dist/types-ts4.5/plugins/media/toolbar/linking-toolbar-appearance.d.ts +0 -14
  461. package/dist/types-ts4.5/plugins/media/toolbar/linking.d.ts +0 -10
  462. package/dist/types-ts4.5/plugins/media/toolbar/utils.d.ts +0 -11
  463. package/dist/types-ts4.5/plugins/media/types.d.ts +0 -1
  464. package/dist/types-ts4.5/plugins/media/ui/CaptionPlaceholder/index.d.ts +0 -6
  465. package/dist/types-ts4.5/plugins/media/ui/CaptionPlaceholder/messages.d.ts +0 -7
  466. package/dist/types-ts4.5/plugins/media/ui/ImageBorder/index.d.ts +0 -11
  467. package/dist/types-ts4.5/plugins/media/ui/ImageBorder/messages.d.ts +0 -42
  468. package/dist/types-ts4.5/plugins/media/ui/ImageBorder/styles.d.ts +0 -15
  469. package/dist/types-ts4.5/plugins/media/ui/Media/DropPlaceholder.d.ts +0 -8
  470. package/dist/types-ts4.5/plugins/media/ui/Media/drop-placeholder-messages.d.ts +0 -7
  471. package/dist/types-ts4.5/plugins/media/ui/MediaLinkingToolbar.d.ts +0 -35
  472. package/dist/types-ts4.5/plugins/media/ui/MediaPicker/BrowserWrapper.d.ts +0 -11
  473. package/dist/types-ts4.5/plugins/media/ui/MediaPicker/ClipboardWrapper.d.ts +0 -10
  474. package/dist/types-ts4.5/plugins/media/ui/MediaPicker/DropzoneWrapper.d.ts +0 -13
  475. package/dist/types-ts4.5/plugins/media/ui/MediaPicker/PickerFacadeProvider.d.ts +0 -28
  476. package/dist/types-ts4.5/plugins/media/ui/MediaPicker/index.d.ts +0 -23
  477. package/dist/types-ts4.5/plugins/media/ui/PixelEntry/constants.d.ts +0 -1
  478. package/dist/types-ts4.5/plugins/media/ui/PixelEntry/index.d.ts +0 -8
  479. package/dist/types-ts4.5/plugins/media/ui/PixelEntry/messages.d.ts +0 -47
  480. package/dist/types-ts4.5/plugins/media/ui/PixelEntry/styles.d.ts +0 -8
  481. package/dist/types-ts4.5/plugins/media/ui/PixelEntry/types.d.ts +0 -58
  482. package/dist/types-ts4.5/plugins/media/ui/ResizableMediaSingle/ResizableMediaMigrationNotification.d.ts +0 -3
  483. package/dist/types-ts4.5/plugins/media/ui/ResizableMediaSingle/ResizableMediaSingleNext.d.ts +0 -59
  484. package/dist/types-ts4.5/plugins/media/ui/ResizableMediaSingle/index.d.ts +0 -45
  485. package/dist/types-ts4.5/plugins/media/ui/ResizableMediaSingle/styled.d.ts +0 -2
  486. package/dist/types-ts4.5/plugins/media/ui/ResizableMediaSingle/styles.d.ts +0 -1
  487. package/dist/types-ts4.5/plugins/media/ui/ResizableMediaSingle/types.d.ts +0 -27
  488. package/dist/types-ts4.5/plugins/media/ui/ToolbarMedia/index.d.ts +0 -13
  489. package/dist/types-ts4.5/plugins/media/ui/ToolbarMedia/toolbar-media-messages.d.ts +0 -7
  490. package/dist/types-ts4.5/plugins/media/ui/media-linking-toolbar-messages.d.ts +0 -7
  491. package/dist/types-ts4.5/plugins/media/utils/analytics.d.ts +0 -3
  492. package/dist/types-ts4.5/plugins/media/utils/check-media-type.d.ts +0 -4
  493. package/dist/types-ts4.5/plugins/media/utils/current-media-node.d.ts +0 -9
  494. package/dist/types-ts4.5/plugins/media/utils/is-image.d.ts +0 -1
  495. package/dist/types-ts4.5/plugins/media/utils/media-common.d.ts +0 -20
  496. package/dist/types-ts4.5/plugins/media/utils/media-files.d.ts +0 -30
  497. package/dist/types-ts4.5/plugins/media/utils/media-single.d.ts +0 -20
  498. /package/dist/cjs/plugins/{media/nodeviews → undo-redo}/types.js +0 -0
  499. /package/dist/cjs/{plugins/media/styles.js → ui/ContentStyles/media.js} +0 -0
  500. /package/dist/es2019/plugins/{media/nodeviews → undo-redo}/types.js +0 -0
  501. /package/dist/es2019/{plugins/media/styles.js → ui/ContentStyles/media.js} +0 -0
  502. /package/dist/{es2019/plugins/media/pm-plugins/alt-text → esm/plugins/undo-redo}/types.js +0 -0
  503. /package/dist/esm/{plugins/media/styles.js → ui/ContentStyles/media.js} +0 -0
  504. /package/dist/types/{plugins/media/styles.d.ts → ui/ContentStyles/media.d.ts} +0 -0
  505. /package/dist/types-ts4.5/{plugins/media/styles.d.ts → ui/ContentStyles/media.d.ts} +0 -0
@@ -1,695 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- import assert from 'assert';
3
- import React from 'react';
4
- import ReactDOM from 'react-dom';
5
- import { RawIntlProvider } from 'react-intl-next';
6
- import { INPUT_METHOD } from '@atlaskit/editor-common/analytics';
7
- import { CAPTION_PLACEHOLDER_ID, getMaxWidthForNestedNodeNext } from '@atlaskit/editor-common/media-single';
8
- import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
9
- import { browser, ErrorReporter, isInEmptyLine, isInListItem } from '@atlaskit/editor-common/utils';
10
- import { AllSelection, NodeSelection, Selection, TextSelection } from '@atlaskit/editor-prosemirror/state';
11
- import { insertPoint } from '@atlaskit/editor-prosemirror/transform';
12
- import { findDomRefAtPos, findParentNodeOfType, findSelectedNodeOfType, isNodeSelection } from '@atlaskit/editor-prosemirror/utils';
13
- import { Decoration, DecorationSet } from '@atlaskit/editor-prosemirror/view';
14
- import { CellSelection } from '@atlaskit/editor-tables/cell-selection';
15
- import { getMediaFeatureFlag } from '@atlaskit/media-common';
16
- import * as helpers from '../commands/helpers';
17
- import { updateMediaSingleNodeAttrs } from '../commands/helpers';
18
- import PickerFacade from '../picker-facade';
19
- import DropPlaceholder from '../ui/Media/DropPlaceholder';
20
- import { isInsidePotentialEmptyParagraph, removeMediaNode, splitMediaGroup } from '../utils/media-common';
21
- import { canInsertMediaInline, insertMediaGroupNode, insertMediaInlineNode } from '../utils/media-files';
22
- import { insertMediaSingleNode, isMediaSingle } from '../utils/media-single';
23
- import { MediaTaskManager } from './mediaTaskManager';
24
- import { stateKey } from './plugin-key';
25
- export { stateKey } from './plugin-key';
26
- export const MEDIA_CONTENT_WRAP_CLASS_NAME = 'media-content-wrap';
27
- export const MEDIA_PLUGIN_IS_RESIZING_KEY = 'mediaSinglePlugin.isResizing';
28
- export const MEDIA_PLUGIN_RESIZING_WIDTH_KEY = 'mediaSinglePlugin.resizing-width';
29
- const createDropPlaceholder = (intl, allowDropLine) => {
30
- const dropPlaceholder = document.createElement('div');
31
- const createElement = React.createElement;
32
- if (allowDropLine) {
33
- ReactDOM.render(createElement(RawIntlProvider, {
34
- value: intl
35
- }, createElement(DropPlaceholder, {
36
- type: 'single'
37
- })), dropPlaceholder);
38
- } else {
39
- ReactDOM.render(createElement(RawIntlProvider, {
40
- value: intl
41
- }, createElement(DropPlaceholder)), dropPlaceholder);
42
- }
43
- return dropPlaceholder;
44
- };
45
- const MEDIA_RESOLVED_STATES = ['ready', 'error', 'cancelled'];
46
- export class MediaPluginStateImplementation {
47
- constructor(_state, options, mediaOptions, newInsertionBehaviour, _dispatch, pluginInjectionApi) {
48
- _defineProperty(this, "allowsUploads", false);
49
- _defineProperty(this, "ignoreLinks", false);
50
- _defineProperty(this, "waitForMediaUpload", true);
51
- _defineProperty(this, "allUploadsFinished", true);
52
- _defineProperty(this, "showDropzone", false);
53
- _defineProperty(this, "isFullscreen", false);
54
- _defineProperty(this, "layout", 'center');
55
- _defineProperty(this, "mediaNodes", []);
56
- _defineProperty(this, "isResizing", false);
57
- _defineProperty(this, "resizingWidth", 0);
58
- _defineProperty(this, "destroyed", false);
59
- _defineProperty(this, "removeOnCloseListener", () => {});
60
- _defineProperty(this, "onPopupToggleCallback", () => {});
61
- _defineProperty(this, "nodeCount", new Map());
62
- _defineProperty(this, "taskManager", new MediaTaskManager());
63
- _defineProperty(this, "pickers", []);
64
- _defineProperty(this, "pickerPromises", []);
65
- _defineProperty(this, "onContextIdentifierProvider", async (_name, provider) => {
66
- if (provider) {
67
- this.contextIdentifierProvider = await provider;
68
- }
69
- });
70
- _defineProperty(this, "setMediaProvider", async mediaProvider => {
71
- if (!mediaProvider) {
72
- this.destroyPickers();
73
- this.allowsUploads = false;
74
- if (!this.destroyed) {
75
- this.view.dispatch(this.view.state.tr.setMeta(stateKey, {
76
- allowsUploads: this.allowsUploads
77
- }));
78
- }
79
- return;
80
- }
81
-
82
- // TODO disable (not destroy!) pickers until mediaProvider is resolved
83
- try {
84
- this.mediaProvider = await mediaProvider;
85
-
86
- // TODO [MS-2038]: remove once context api is removed
87
- // We want to re assign the view and upload configs if they are missing for backwards compatibility
88
- // as currently integrators can pass context || mediaClientConfig
89
- if (!this.mediaProvider.viewMediaClientConfig) {
90
- const viewMediaClientConfig = this.mediaProvider.viewMediaClientConfig;
91
- if (viewMediaClientConfig) {
92
- this.mediaProvider.viewMediaClientConfig = viewMediaClientConfig;
93
- }
94
- }
95
- assert(this.mediaProvider.viewMediaClientConfig, `MediaProvider promise did not resolve to a valid instance of MediaProvider - ${this.mediaProvider}`);
96
- } catch (err) {
97
- const wrappedError = new Error(`Media functionality disabled due to rejected provider: ${err instanceof Error ? err.message : String(err)}`);
98
- this.errorReporter.captureException(wrappedError);
99
- this.destroyPickers();
100
- this.allowsUploads = false;
101
- if (!this.destroyed) {
102
- this.view.dispatch(this.view.state.tr.setMeta(stateKey, {
103
- allowsUploads: this.allowsUploads
104
- }));
105
- }
106
- return;
107
- }
108
- this.mediaClientConfig = this.mediaProvider.viewMediaClientConfig;
109
- this.allowsUploads = !!this.mediaProvider.uploadMediaClientConfig;
110
- const {
111
- view,
112
- allowsUploads
113
- } = this;
114
- // make sure editable DOM node is mounted
115
- if (!this.destroyed && view && view.dom.parentNode) {
116
- // make PM plugin aware of the state change to update UI during 'apply' hook
117
- view.dispatch(view.state.tr.setMeta(stateKey, {
118
- allowsUploads
119
- }));
120
- }
121
- if (this.allowsUploads) {
122
- this.uploadMediaClientConfig = this.mediaProvider.uploadMediaClientConfig;
123
- if (this.mediaProvider.uploadParams && this.uploadMediaClientConfig) {
124
- await this.initPickers(this.mediaProvider.uploadParams, PickerFacade);
125
- } else {
126
- this.destroyPickers();
127
- }
128
- } else {
129
- this.destroyPickers();
130
- }
131
- });
132
- _defineProperty(this, "getMediaOptions", () => this.options);
133
- _defineProperty(this, "isMediaSchemaNode", ({
134
- type
135
- }) => {
136
- var _this$mediaOptions;
137
- const {
138
- mediaInline,
139
- mediaSingle,
140
- media
141
- } = this.view.state.schema.nodes;
142
- if (getMediaFeatureFlag('mediaInline', (_this$mediaOptions = this.mediaOptions) === null || _this$mediaOptions === void 0 ? void 0 : _this$mediaOptions.featureFlags)) {
143
- return type === mediaSingle || type === media || type === mediaInline;
144
- }
145
- return type === mediaSingle;
146
- });
147
- /**
148
- * we insert a new file by inserting a initial state for that file.
149
- *
150
- * called when we insert a new file via the picker (connected via pickerfacade)
151
- */
152
- _defineProperty(this, "insertFile", (mediaState, onMediaStateChanged, pickerType) => {
153
- var _this$pluginInjection, _this$pluginInjection2, _mediaState$collectio, _this$mediaOptions2;
154
- const {
155
- state
156
- } = this.view;
157
- const editorAnalyticsAPI = (_this$pluginInjection = this.pluginInjectionApi) === null || _this$pluginInjection === void 0 ? void 0 : (_this$pluginInjection2 = _this$pluginInjection.analytics) === null || _this$pluginInjection2 === void 0 ? void 0 : _this$pluginInjection2.actions;
158
- const mediaStateWithContext = {
159
- ...mediaState,
160
- contextId: this.contextIdentifierProvider ? this.contextIdentifierProvider.objectId : undefined
161
- };
162
- const collection = (_mediaState$collectio = mediaState.collection) !== null && _mediaState$collectio !== void 0 ? _mediaState$collectio : this.collectionFromProvider();
163
- if (collection === undefined) {
164
- return;
165
- }
166
-
167
- // We need to dispatch the change to event dispatcher only for successful files
168
- if (mediaState.status !== 'error') {
169
- this.updateAndDispatch({
170
- allUploadsFinished: false
171
- });
172
- }
173
- if (isMediaSingle(state.schema, mediaStateWithContext.fileMimeType)) {
174
- var _this$pluginInjection3;
175
- // read width state right before inserting to get up-to-date and define values
176
- const widthPluginState = (_this$pluginInjection3 = this.pluginInjectionApi) === null || _this$pluginInjection3 === void 0 ? void 0 : _this$pluginInjection3.width.sharedState.currentState();
177
- insertMediaSingleNode(this.view, mediaStateWithContext, this.getInputMethod(pickerType), collection, this.mediaOptions && this.mediaOptions.alignLeftOnInsert, this.newInsertionBehaviour, widthPluginState, editorAnalyticsAPI);
178
- } else if (getMediaFeatureFlag('mediaInline', (_this$mediaOptions2 = this.mediaOptions) === null || _this$mediaOptions2 === void 0 ? void 0 : _this$mediaOptions2.featureFlags) && !isInEmptyLine(state) && (!isInsidePotentialEmptyParagraph(state) || isInListItem(state)) && canInsertMediaInline(state)) {
179
- insertMediaInlineNode(editorAnalyticsAPI)(this.view, mediaStateWithContext, collection, this.getInputMethod(pickerType));
180
- } else {
181
- insertMediaGroupNode(editorAnalyticsAPI)(this.view, [mediaStateWithContext], collection, this.getInputMethod(pickerType));
182
- }
183
-
184
- // do events when media state changes
185
- onMediaStateChanged(this.handleMediaState);
186
-
187
- // handle waiting for upload complete
188
- const isEndState = state => state.status && MEDIA_RESOLVED_STATES.indexOf(state.status) !== -1;
189
- if (!isEndState(mediaStateWithContext)) {
190
- const uploadingPromise = new Promise(resolve => {
191
- onMediaStateChanged(newState => {
192
- // When media item reaches its final state, remove listener and resolve
193
- if (isEndState(newState)) {
194
- resolve(newState);
195
- }
196
- });
197
- });
198
- this.taskManager.addPendingTask(uploadingPromise, mediaStateWithContext.id).then(() => {
199
- this.updateAndDispatch({
200
- allUploadsFinished: true
201
- });
202
- });
203
- }
204
-
205
- // refocus the view
206
- const {
207
- view
208
- } = this;
209
- if (!view.hasFocus()) {
210
- view.focus();
211
- }
212
- });
213
- _defineProperty(this, "addPendingTask", task => {
214
- this.taskManager.addPendingTask(task);
215
- });
216
- _defineProperty(this, "splitMediaGroup", () => splitMediaGroup(this.view));
217
- _defineProperty(this, "onPopupPickerClose", () => {
218
- this.onPopupToggleCallback(false);
219
- });
220
- _defineProperty(this, "showMediaPicker", () => {
221
- if (this.openMediaPickerBrowser) {
222
- return this.openMediaPickerBrowser();
223
- }
224
- this.onPopupToggleCallback(true);
225
- });
226
- _defineProperty(this, "setBrowseFn", browseFn => {
227
- this.openMediaPickerBrowser = browseFn;
228
- });
229
- _defineProperty(this, "onPopupToggle", onPopupToggleCallback => {
230
- this.onPopupToggleCallback = onPopupToggleCallback;
231
- });
232
- /**
233
- * Returns a promise that is resolved after all pending operations have been finished.
234
- * An optional timeout will cause the promise to reject if the operation takes too long
235
- *
236
- * NOTE: The promise will resolve even if some of the media have failed to process.
237
- */
238
- _defineProperty(this, "waitForPendingTasks", this.taskManager.waitForPendingTasks);
239
- /**
240
- * Called from React UI Component when user clicks on "Delete" icon
241
- * inside of it
242
- */
243
- _defineProperty(this, "handleMediaNodeRemoval", (node, getPos) => {
244
- let getNode = node;
245
- if (!getNode) {
246
- const pos = getPos();
247
- if (typeof pos !== 'number') {
248
- return;
249
- }
250
- getNode = this.view.state.doc.nodeAt(pos);
251
- }
252
- removeMediaNode(this.view, getNode, getPos);
253
- });
254
- _defineProperty(this, "trackMediaNodeAddition", node => {
255
- var _this$nodeCount$get;
256
- const id = node.attrs.id;
257
- const count = (_this$nodeCount$get = this.nodeCount.get(id)) !== null && _this$nodeCount$get !== void 0 ? _this$nodeCount$get : 0;
258
- if (count === 0) {
259
- this.taskManager.resumePendingTask(id);
260
- }
261
- this.nodeCount.set(id, count + 1);
262
- });
263
- _defineProperty(this, "trackMediaNodeRemoval", node => {
264
- var _this$nodeCount$get2;
265
- const id = node.attrs.id;
266
- const count = (_this$nodeCount$get2 = this.nodeCount.get(id)) !== null && _this$nodeCount$get2 !== void 0 ? _this$nodeCount$get2 : 0;
267
- if (count === 1) {
268
- this.taskManager.cancelPendingTask(id);
269
- }
270
- this.nodeCount.set(id, count - 1);
271
- });
272
- /**
273
- * Called from React UI Component on componentDidMount
274
- */
275
- _defineProperty(this, "handleMediaNodeMount", (node, getPos) => {
276
- this.trackMediaNodeAddition(node);
277
- this.mediaNodes.unshift({
278
- node,
279
- getPos
280
- });
281
- });
282
- /**
283
- * Called from React UI Component on componentWillUnmount and UNSAFE_componentWillReceiveProps
284
- * when React component's underlying node property is replaced with a new node
285
- */
286
- _defineProperty(this, "handleMediaNodeUnmount", oldNode => {
287
- this.trackMediaNodeRemoval(oldNode);
288
- this.mediaNodes = this.mediaNodes.filter(({
289
- node
290
- }) => oldNode !== node);
291
- });
292
- _defineProperty(this, "handleMediaGroupUpdate", (oldNodes, newNodes) => {
293
- const addedNodes = newNodes.filter(node => oldNodes.every(oldNode => oldNode.attrs.id !== node.attrs.id));
294
- const removedNodes = oldNodes.filter(node => newNodes.every(newNode => newNode.attrs.id !== node.attrs.id));
295
- addedNodes.forEach(node => {
296
- this.trackMediaNodeAddition(node);
297
- });
298
- removedNodes.forEach(oldNode => {
299
- this.trackMediaNodeRemoval(oldNode);
300
- });
301
- });
302
- _defineProperty(this, "findMediaNode", id => {
303
- return helpers.findMediaSingleNode(this, id);
304
- });
305
- _defineProperty(this, "destroyAllPickers", pickers => {
306
- pickers.forEach(picker => picker.destroy());
307
- this.pickers.splice(0, this.pickers.length);
308
- });
309
- _defineProperty(this, "destroyPickers", () => {
310
- const {
311
- pickers,
312
- pickerPromises
313
- } = this;
314
-
315
- // If pickerPromises and pickers are the same length
316
- // All pickers have resolved and we safely destroy them
317
- // Otherwise wait for them to resolve then destroy.
318
- if (pickerPromises.length === pickers.length) {
319
- this.destroyAllPickers(this.pickers);
320
- } else {
321
- Promise.all(pickerPromises).then(resolvedPickers => this.destroyAllPickers(resolvedPickers));
322
- }
323
- this.customPicker = undefined;
324
- });
325
- _defineProperty(this, "getInputMethod", pickerType => {
326
- switch (pickerType) {
327
- case 'clipboard':
328
- return INPUT_METHOD.CLIPBOARD;
329
- case 'dropzone':
330
- return INPUT_METHOD.DRAG_AND_DROP;
331
- }
332
- return;
333
- });
334
- _defineProperty(this, "updateMediaSingleNodeAttrs", (id, attrs) => {
335
- const {
336
- view
337
- } = this;
338
- if (!view) {
339
- return;
340
- }
341
- return updateMediaSingleNodeAttrs(id, attrs)(view.state, view.dispatch);
342
- });
343
- _defineProperty(this, "handleMediaState", state => {
344
- switch (state.status) {
345
- case 'error':
346
- const {
347
- uploadErrorHandler
348
- } = this.options;
349
- if (uploadErrorHandler) {
350
- uploadErrorHandler(state);
351
- }
352
- break;
353
- }
354
- });
355
- _defineProperty(this, "removeSelectedMediaContainer", () => {
356
- const {
357
- view
358
- } = this;
359
- const selectedNode = this.selectedMediaContainerNode();
360
- if (!selectedNode) {
361
- return false;
362
- }
363
- let {
364
- from
365
- } = view.state.selection;
366
- removeMediaNode(view, selectedNode.firstChild, () => from + 1);
367
- return true;
368
- });
369
- _defineProperty(this, "selectedMediaContainerNode", () => {
370
- const {
371
- selection
372
- } = this.view.state;
373
- if (selection instanceof NodeSelection && this.isMediaSchemaNode(selection.node)) {
374
- return selection.node;
375
- }
376
- return;
377
- });
378
- _defineProperty(this, "handleDrag", dragState => {
379
- const isActive = dragState === 'enter';
380
- if (this.showDropzone === isActive) {
381
- return;
382
- }
383
- this.showDropzone = isActive;
384
- const {
385
- dispatch,
386
- state
387
- } = this.view;
388
- const {
389
- tr,
390
- selection,
391
- doc
392
- } = state;
393
- const {
394
- media,
395
- mediaGroup
396
- } = state.schema.nodes;
397
-
398
- // Workaround for wrong upload position
399
- // @see https://product-fabric.atlassian.net/browse/MEX-2457
400
- // If the media node is the last selectable item in the current cursor position and it is located within a mediaGroup,
401
- // we relocate the cursor to the first child of the mediaGroup.
402
- const sel = Selection.findFrom(doc.resolve(selection.$from.pos - 1), -1);
403
- if (sel && findSelectedNodeOfType(media)(sel)) {
404
- const parent = findParentNodeOfType(mediaGroup)(sel);
405
- if (parent) {
406
- tr.setSelection(NodeSelection.create(tr.doc, parent.start));
407
- }
408
- }
409
-
410
- // Trigger state change to be able to pick it up in the decorations handler
411
- dispatch(tr);
412
- });
413
- this.options = options;
414
- this.mediaOptions = mediaOptions;
415
- this.newInsertionBehaviour = newInsertionBehaviour;
416
- this.dispatch = _dispatch;
417
- this.pluginInjectionApi = pluginInjectionApi;
418
- this.waitForMediaUpload = options.waitForMediaUpload === undefined ? true : options.waitForMediaUpload;
419
- const {
420
- nodes
421
- } = _state.schema;
422
- assert(nodes.media && (nodes.mediaGroup || nodes.mediaSingle), 'Editor: unable to init media plugin - media or mediaGroup/mediaSingle node absent in schema');
423
- options.providerFactory.subscribe('mediaProvider', (_name, provider) => this.setMediaProvider(provider));
424
- options.providerFactory.subscribe('contextIdentifierProvider', this.onContextIdentifierProvider);
425
- this.errorReporter = options.errorReporter || new ErrorReporter();
426
- this.singletonCreatedAt = (performance || Date).now();
427
- }
428
- clone() {
429
- const clonedAt = (performance || Date).now();
430
- return new Proxy(this, {
431
- get(target, prop, receiver) {
432
- if (prop === 'singletonCreatedAt') {
433
- return clonedAt;
434
- }
435
- return Reflect.get(target, prop, receiver);
436
- }
437
- });
438
- }
439
- setIsResizing(isResizing) {
440
- this.isResizing = isResizing;
441
- }
442
- setResizingWidth(width) {
443
- this.resizingWidth = width;
444
- }
445
- updateElement() {
446
- let newElement;
447
- const selectedContainer = this.selectedMediaContainerNode();
448
- if (selectedContainer && this.isMediaSchemaNode(selectedContainer)) {
449
- newElement = this.getDomElement(this.view.domAtPos.bind(this.view));
450
- if (selectedContainer.type === this.view.state.schema.nodes.mediaSingle) {
451
- this.currentMaxWidth = getMaxWidthForNestedNodeNext(this.view, this.view.state.selection.$anchor.pos) || undefined;
452
- } else {
453
- this.currentMaxWidth = undefined;
454
- }
455
- }
456
- if (this.element !== newElement) {
457
- this.element = newElement;
458
- }
459
- }
460
- getDomElement(domAtPos) {
461
- const {
462
- selection
463
- } = this.view.state;
464
- if (!(selection instanceof NodeSelection)) {
465
- return;
466
- }
467
- if (!this.isMediaSchemaNode(selection.node)) {
468
- return;
469
- }
470
- const node = findDomRefAtPos(selection.from, domAtPos);
471
- if (node) {
472
- if (!node.childNodes.length) {
473
- return node.parentNode;
474
- }
475
- return node;
476
- }
477
- return;
478
- }
479
- setView(view) {
480
- this.view = view;
481
- }
482
- destroy() {
483
- if (this.destroyed) {
484
- return;
485
- }
486
- this.destroyed = true;
487
- const {
488
- mediaNodes
489
- } = this;
490
- mediaNodes.splice(0, mediaNodes.length);
491
- this.removeOnCloseListener();
492
- this.destroyPickers();
493
- }
494
- async initPickers(uploadParams, Picker) {
495
- if (this.destroyed || !this.uploadMediaClientConfig) {
496
- return;
497
- }
498
- const {
499
- errorReporter,
500
- pickers,
501
- pickerPromises
502
- } = this;
503
- // create pickers if they don't exist, re-use otherwise
504
- if (!pickers.length) {
505
- const pickerFacadeConfig = {
506
- mediaClientConfig: this.uploadMediaClientConfig,
507
- errorReporter
508
- };
509
- if (this.options.customMediaPicker) {
510
- const customPicker = new Picker('customMediaPicker', pickerFacadeConfig, this.options.customMediaPicker).init();
511
- pickerPromises.push(customPicker);
512
- pickers.push(this.customPicker = await customPicker);
513
- }
514
- pickers.forEach(picker => {
515
- picker.onNewMedia(this.insertFile);
516
- });
517
- }
518
-
519
- // set new upload params for the pickers
520
- pickers.forEach(picker => picker.setUploadParams(uploadParams));
521
- }
522
- collectionFromProvider() {
523
- return this.mediaProvider && this.mediaProvider.uploadParams && this.mediaProvider.uploadParams.collection;
524
- }
525
- updateAndDispatch(props) {
526
- // update plugin state
527
- Object.keys(props).forEach(_key => {
528
- const key = _key;
529
- const value = props[key];
530
- if (value !== undefined) {
531
- this[key] = value;
532
- }
533
- });
534
- if (this.dispatch) {
535
- this.dispatch(stateKey, {
536
- ...this
537
- });
538
- }
539
- }
540
- }
541
- export const getMediaPluginState = state => stateKey.getState(state);
542
- export const createPlugin = (_schema, options, reactContext, getIntl, pluginInjectionApi, dispatch, mediaOptions, newInsertionBehaviour) => {
543
- const intl = getIntl();
544
- const dropPlaceholder = createDropPlaceholder(intl, mediaOptions && mediaOptions.allowDropzoneDropLine);
545
- return new SafePlugin({
546
- state: {
547
- init(_config, state) {
548
- return new MediaPluginStateImplementation(state, options, mediaOptions, newInsertionBehaviour, dispatch, pluginInjectionApi);
549
- },
550
- apply(tr, pluginState) {
551
- const isResizing = tr.getMeta(MEDIA_PLUGIN_IS_RESIZING_KEY);
552
- const resizingWidth = tr.getMeta(MEDIA_PLUGIN_RESIZING_WIDTH_KEY);
553
- // Yes, I agree with you; this approach, using the clone() fuction, below is horrifying.
554
- // However, we needed to implement this workaround to solve the singleton Media PluginState.
555
- // The entire PluginInjectionAPI relies on the following axiom: "A PluginState that reflects a new EditorState.". We can not have the mutable singleton instance for all EditorState.
556
- // Unfortunately, we can't implement a proper fix for this media state situation. So, we are faking a new object using a Proxy instance.
557
- let nextPluginState = pluginState;
558
- if (isResizing !== undefined) {
559
- pluginState.setIsResizing(isResizing);
560
- nextPluginState = nextPluginState.clone();
561
- }
562
- if (resizingWidth) {
563
- pluginState.setResizingWidth(resizingWidth);
564
- nextPluginState = nextPluginState.clone();
565
- }
566
-
567
- // remap editing media single position if we're in collab
568
- if (typeof pluginState.editingMediaSinglePos === 'number') {
569
- pluginState.editingMediaSinglePos = tr.mapping.map(pluginState.editingMediaSinglePos);
570
- nextPluginState = nextPluginState.clone();
571
- }
572
- const meta = tr.getMeta(stateKey);
573
- if (meta) {
574
- const {
575
- allowsUploads
576
- } = meta;
577
- pluginState.updateAndDispatch({
578
- allowsUploads: typeof allowsUploads === 'undefined' ? pluginState.allowsUploads : allowsUploads
579
- });
580
- nextPluginState = nextPluginState.clone();
581
- }
582
-
583
- // NOTE: We're not calling passing new state to the Editor, because we depend on the view.state reference
584
- // throughout the lifetime of view. We injected the view into the plugin state, because we dispatch()
585
- // transformations from within the plugin state (i.e. when adding a new file).
586
- return nextPluginState;
587
- }
588
- },
589
- appendTransaction(transactions, _oldState, newState) {
590
- for (const transaction of transactions) {
591
- const isSelectionOnMediaInsideMediaSingle = transaction.selectionSet && isNodeSelection(transaction.selection) && transaction.selection.node.type === newState.schema.nodes.media && transaction.selection.$anchor.parent.type === newState.schema.nodes.mediaSingle;
592
-
593
- // Note: this causes an additional transaction when selecting a media node
594
- // through clicking on it with the cursor.
595
- if (isSelectionOnMediaInsideMediaSingle) {
596
- // If a selection has been placed on a media inside a media single,
597
- // we shift it to the media single parent as other code is opinionated about
598
- // the selection landing there. In particular the caption insertion and selection
599
- // action.
600
- return newState.tr.setSelection(NodeSelection.create(newState.doc, transaction.selection.$from.pos - 1));
601
- }
602
- }
603
- return;
604
- },
605
- key: stateKey,
606
- view: view => {
607
- const pluginState = getMediaPluginState(view.state);
608
- pluginState.setView(view);
609
- pluginState.updateElement();
610
- return {
611
- update: () => {
612
- pluginState.updateElement();
613
- }
614
- };
615
- },
616
- props: {
617
- decorations: state => {
618
- // Use this to indicate that the media node is selected
619
- const mediaNodes = [];
620
- const {
621
- schema,
622
- selection: {
623
- $anchor
624
- },
625
- doc
626
- } = state;
627
-
628
- // Find any media nodes in the current selection
629
- if (state.selection instanceof TextSelection || state.selection instanceof AllSelection || state.selection instanceof NodeSelection || state.selection instanceof CellSelection) {
630
- doc.nodesBetween(state.selection.from, state.selection.to, (node, pos) => {
631
- if (node.type === schema.nodes.media) {
632
- mediaNodes.push(Decoration.node(pos, pos + node.nodeSize, {}, {
633
- type: 'media',
634
- selected: true
635
- }));
636
- return false;
637
- }
638
- return true;
639
- });
640
- }
641
- const pluginState = getMediaPluginState(state);
642
- if (!pluginState.showDropzone) {
643
- return DecorationSet.create(state.doc, mediaNodes);
644
- }
645
-
646
- // When a media is already selected
647
- if (state.selection instanceof NodeSelection) {
648
- const node = state.selection.node;
649
- if (node.type === schema.nodes.mediaSingle) {
650
- const deco = Decoration.node(state.selection.from, state.selection.to, {
651
- class: 'richMedia-selected'
652
- });
653
- return DecorationSet.create(state.doc, [deco, ...mediaNodes]);
654
- }
655
- return DecorationSet.create(state.doc, mediaNodes);
656
- }
657
- let pos = $anchor.pos;
658
- if ($anchor.parent.type !== schema.nodes.paragraph && $anchor.parent.type !== schema.nodes.codeBlock) {
659
- pos = insertPoint(state.doc, pos, schema.nodes.mediaGroup);
660
- }
661
- if (pos === null || pos === undefined) {
662
- return DecorationSet.create(state.doc, mediaNodes);
663
- }
664
- const dropPlaceholders = [Decoration.widget(pos, dropPlaceholder, {
665
- key: 'drop-placeholder'
666
- }), ...mediaNodes];
667
- return DecorationSet.create(state.doc, dropPlaceholders);
668
- },
669
- nodeViews: options.nodeViews,
670
- handleTextInput(view) {
671
- getMediaPluginState(view.state).splitMediaGroup();
672
- return false;
673
- },
674
- handleClick: (_editorView, _pos, event) => {
675
- var _event$target;
676
- const clickedInsideCaptionPlaceholder = (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.closest(`[data-id="${CAPTION_PLACEHOLDER_ID}"]`);
677
-
678
- // Workaround for Chrome given a regression introduced in prosemirror-view@1.18.6
679
- // Returning true prevents that updateSelection() is getting called in the commit below:
680
- // @see https://github.com/ProseMirror/prosemirror-view/compare/1.18.5...1.18.6
681
- if ((browser.chrome || browser.safari) && clickedInsideCaptionPlaceholder) {
682
- return true;
683
- }
684
-
685
- // Workaound for iOS 16 Caption selection issue
686
- // @see https://product-fabric.atlassian.net/browse/MEX-2012
687
- if (browser.ios) {
688
- var _event$target2;
689
- return !!((_event$target2 = event.target) !== null && _event$target2 !== void 0 && _event$target2.closest(`[class="${MEDIA_CONTENT_WRAP_CLASS_NAME}"]`));
690
- }
691
- return false;
692
- }
693
- }
694
- });
695
- };
@@ -1,2 +0,0 @@
1
- import { PluginKey } from '@atlaskit/editor-prosemirror/state';
2
- export const pluginKey = new PluginKey('mediaEditorPlugin');