@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,539 +0,0 @@
1
- import React from 'react';
2
- import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE } from '@atlaskit/editor-common/analytics';
3
- import { buildLayoutButtons } from '@atlaskit/editor-common/card';
4
- import { calcMinWidth, DEFAULT_IMAGE_HEIGHT, DEFAULT_IMAGE_WIDTH } from '@atlaskit/editor-common/media-single';
5
- import commonMessages from '@atlaskit/editor-common/messages';
6
- import { cardMessages } from '@atlaskit/editor-common/messages';
7
- import { NodeSelection } from '@atlaskit/editor-prosemirror/state';
8
- import { findParentNodeOfType, hasParentNodeOfType, removeSelectedNode } from '@atlaskit/editor-prosemirror/utils';
9
- import { akEditorDefaultLayoutWidth, akEditorFullWidthLayoutWidth } from '@atlaskit/editor-shared-styles';
10
- import DownloadIcon from '@atlaskit/icon/glyph/download';
11
- import RemoveIcon from '@atlaskit/icon/glyph/editor/remove';
12
- import { mediaFilmstripItemDOMSelector } from '@atlaskit/media-filmstrip';
13
- import { messages } from '@atlaskit/media-ui';
14
- import { getBooleanFF } from '@atlaskit/platform-feature-flags';
15
- import { showLinkingToolbar } from '../commands/linking';
16
- import { MediaInlineNodeSelector, MediaSingleNodeSelector } from '../nodeviews/styles';
17
- import { getPluginState as getMediaAltTextPluginState } from '../pm-plugins/alt-text';
18
- import { getMediaLinkingState } from '../pm-plugins/linking';
19
- import { stateKey } from '../pm-plugins/plugin-key';
20
- import ImageBorderItem from '../ui/ImageBorder';
21
- import { FullWidthDisplay, PixelEntry } from '../ui/PixelEntry';
22
- import { currentMediaNodeBorderMark } from '../utils/current-media-node';
23
- import { isVideo } from '../utils/media-single';
24
- import { altTextButton, getAltTextToolbar } from './alt-text';
25
- import { changeInlineToMediaCard, changeMediaCardToInline, removeInlineCard, setBorderMark, toggleBorderMark, updateMediaSingleWidth } from './commands';
26
- import { FilePreviewItem } from './filePreviewItem';
27
- import { shouldShowImageBorder } from './imageBorder';
28
- import { getLinkingToolbar, shouldShowMediaLinkToolbar } from './linking';
29
- import { LinkToolbarAppearance } from './linking-toolbar-appearance';
30
- import { calcNewLayout, downloadMedia, getMaxToolbarWidth, getPixelWidthOfElement, getSelectedMediaSingle, removeMediaGroupNode } from './utils';
31
- const remove = (state, dispatch) => {
32
- if (dispatch) {
33
- dispatch(removeSelectedNode(state.tr));
34
- }
35
- return true;
36
- };
37
- const handleRemoveMediaGroup = (state, dispatch) => {
38
- const tr = removeMediaGroupNode(state);
39
- if (dispatch) {
40
- dispatch(tr);
41
- }
42
- return true;
43
- };
44
- const generateMediaCardFloatingToolbar = (state, intl, mediaPluginState, hoverDecoration, editorAnalyticsAPI) => {
45
- const {
46
- mediaGroup
47
- } = state.schema.nodes;
48
- const items = [{
49
- id: 'editor.media.view.switcher',
50
- type: 'dropdown',
51
- title: intl.formatMessage(messages.changeView),
52
- options: [{
53
- id: 'editor.media.view.switcher.inline',
54
- title: intl.formatMessage(cardMessages.inline),
55
- selected: false,
56
- disabled: false,
57
- onClick: changeMediaCardToInline(editorAnalyticsAPI),
58
- testId: 'inline-appearance'
59
- }, {
60
- id: 'editor.media.view.switcher.thumbnail',
61
- title: intl.formatMessage(messages.displayThumbnail),
62
- selected: true,
63
- disabled: false,
64
- onClick: () => {
65
- return true;
66
- },
67
- testId: 'thumbnail-appearance'
68
- }]
69
- }, {
70
- type: 'separator'
71
- }, {
72
- type: 'custom',
73
- fallback: [],
74
- render: () => {
75
- return /*#__PURE__*/React.createElement(FilePreviewItem, {
76
- key: "editor.media.card.preview",
77
- mediaPluginState: mediaPluginState,
78
- intl: intl
79
- });
80
- }
81
- }, {
82
- type: 'separator'
83
- }, {
84
- id: 'editor.media.card.download',
85
- type: 'button',
86
- icon: DownloadIcon,
87
- onClick: () => {
88
- downloadMedia(mediaPluginState);
89
- return true;
90
- },
91
- title: intl.formatMessage(messages.download)
92
- }, {
93
- type: 'separator'
94
- }, {
95
- type: 'copy-button',
96
- items: [{
97
- state,
98
- formatMessage: intl.formatMessage,
99
- nodeType: mediaGroup
100
- }, {
101
- type: 'separator'
102
- }]
103
- }, {
104
- id: 'editor.media.delete',
105
- type: 'button',
106
- appearance: 'danger',
107
- focusEditoronEnter: true,
108
- icon: RemoveIcon,
109
- onMouseEnter: hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration(mediaGroup, true),
110
- onMouseLeave: hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration(mediaGroup, false),
111
- onFocus: hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration(mediaGroup, true),
112
- onBlur: hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration(mediaGroup, false),
113
- title: intl.formatMessage(commonMessages.remove),
114
- onClick: handleRemoveMediaGroup,
115
- testId: 'media-toolbar-remove-button'
116
- }];
117
- return items;
118
- };
119
- const generateMediaInlineFloatingToolbar = (state, intl, mediaPluginState, hoverDecoration, editorAnalyticsAPI) => {
120
- const {
121
- mediaInline
122
- } = state.schema.nodes;
123
- const items = [{
124
- id: 'editor.media.view.switcher',
125
- type: 'dropdown',
126
- title: intl.formatMessage(messages.changeView),
127
- options: [{
128
- id: 'editor.media.view.switcher.inline',
129
- title: intl.formatMessage(cardMessages.inline),
130
- selected: true,
131
- disabled: false,
132
- onClick: () => {
133
- return true;
134
- },
135
- testId: 'inline-appearance'
136
- }, {
137
- id: 'editor.media.view.switcher.thumbnail',
138
- title: intl.formatMessage(messages.displayThumbnail),
139
- selected: false,
140
- disabled: false,
141
- onClick: changeInlineToMediaCard(editorAnalyticsAPI),
142
- testId: 'thumbnail-appearance'
143
- }]
144
- }, {
145
- type: 'separator'
146
- }, {
147
- type: 'custom',
148
- fallback: [],
149
- render: () => {
150
- return /*#__PURE__*/React.createElement(FilePreviewItem, {
151
- key: "editor.media.card.preview",
152
- mediaPluginState: mediaPluginState,
153
- intl: intl
154
- });
155
- }
156
- }, {
157
- type: 'separator'
158
- }, {
159
- id: 'editor.media.card.download',
160
- type: 'button',
161
- icon: DownloadIcon,
162
- onClick: () => {
163
- downloadMedia(mediaPluginState);
164
- return true;
165
- },
166
- title: intl.formatMessage(messages.download)
167
- }, {
168
- type: 'separator'
169
- }, {
170
- type: 'copy-button',
171
- items: [{
172
- state,
173
- formatMessage: intl.formatMessage,
174
- nodeType: mediaInline
175
- }, {
176
- type: 'separator'
177
- }]
178
- }, {
179
- id: 'editor.media.delete',
180
- type: 'button',
181
- appearance: 'danger',
182
- focusEditoronEnter: true,
183
- icon: RemoveIcon,
184
- onMouseEnter: hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration(mediaInline, true),
185
- onMouseLeave: hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration(mediaInline, false),
186
- onFocus: hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration(mediaInline, true),
187
- onBlur: hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration(mediaInline, false),
188
- title: intl.formatMessage(commonMessages.remove),
189
- onClick: removeInlineCard,
190
- testId: 'media-toolbar-remove-button'
191
- }];
192
- return items;
193
- };
194
- const generateMediaSingleFloatingToolbar = (state, intl, options, pluginState, mediaLinkingState, pluginInjectionApi, getEditorFeatureFlags) => {
195
- var _pluginInjectionApi$d;
196
- const {
197
- mediaSingle
198
- } = state.schema.nodes;
199
- const {
200
- allowResizing,
201
- allowLinking,
202
- allowAdvancedToolBarOptions,
203
- allowResizingInTables,
204
- allowAltTextOnImages
205
- } = options;
206
- let toolbarButtons = [];
207
- const {
208
- hoverDecoration
209
- } = (_pluginInjectionApi$d = pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : pluginInjectionApi.decorations.actions) !== null && _pluginInjectionApi$d !== void 0 ? _pluginInjectionApi$d : {};
210
- if (shouldShowImageBorder(state)) {
211
- toolbarButtons.push({
212
- type: 'custom',
213
- fallback: [],
214
- render: editorView => {
215
- if (!editorView) {
216
- return null;
217
- }
218
- const {
219
- dispatch,
220
- state
221
- } = editorView;
222
- const borderMark = currentMediaNodeBorderMark(state);
223
- return /*#__PURE__*/React.createElement(ImageBorderItem, {
224
- toggleBorder: () => {
225
- var _pluginInjectionApi$a;
226
- toggleBorderMark(pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$a = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a === void 0 ? void 0 : _pluginInjectionApi$a.actions)(state, dispatch);
227
- },
228
- setBorder: attrs => {
229
- var _pluginInjectionApi$a2;
230
- setBorderMark(pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$a2 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a2 === void 0 ? void 0 : _pluginInjectionApi$a2.actions)(attrs)(state, dispatch);
231
- },
232
- borderMark: borderMark,
233
- intl: intl
234
- });
235
- }
236
- });
237
- toolbarButtons.push({
238
- type: 'separator'
239
- });
240
- }
241
- if (allowAdvancedToolBarOptions) {
242
- var _pluginInjectionApi$a3;
243
- const widthPlugin = pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : pluginInjectionApi.width;
244
- let isChangingLayoutDisabled = false;
245
- if (getBooleanFF('platform.editor.media.extended-resize-experience')) {
246
- var _widthPlugin$sharedSt;
247
- const contentWidth = widthPlugin === null || widthPlugin === void 0 ? void 0 : (_widthPlugin$sharedSt = widthPlugin.sharedState.currentState()) === null || _widthPlugin$sharedSt === void 0 ? void 0 : _widthPlugin$sharedSt.lineLength;
248
- const selectedNode = getSelectedMediaSingle(state);
249
- const selectedNodeMaxWidth = pluginState.currentMaxWidth || contentWidth;
250
- if (selectedNode && selectedNodeMaxWidth && selectedNode.node.attrs.width >= selectedNodeMaxWidth) {
251
- isChangingLayoutDisabled = true;
252
- }
253
- }
254
- const layoutButtons = buildLayoutButtons(state, intl, state.schema.nodes.mediaSingle, widthPlugin, pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$a3 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a3 === void 0 ? void 0 : _pluginInjectionApi$a3.actions, allowResizing, allowResizingInTables, true, true, isChangingLayoutDisabled);
255
- toolbarButtons = [...toolbarButtons, ...layoutButtons];
256
- if (layoutButtons.length) {
257
- toolbarButtons.push({
258
- type: 'separator'
259
- });
260
- }
261
-
262
- // Pixel Entry Toolbar Support
263
- const {
264
- selection
265
- } = state;
266
- const isWithinTable = hasParentNodeOfType([state.schema.nodes.table])(selection);
267
- if (getBooleanFF('platform.editor.media.extended-resize-experience') && allowResizing && (!isWithinTable || allowResizingInTables === true)) {
268
- const selectedMediaSingleNode = getSelectedMediaSingle(state);
269
- const sizeInput = {
270
- type: 'custom',
271
- fallback: [],
272
- render: editorView => {
273
- var _widthPlugin$sharedSt2, _pluginInjectionApi$m;
274
- if (!editorView || !selectedMediaSingleNode) {
275
- return null;
276
- }
277
- const {
278
- state,
279
- dispatch
280
- } = editorView;
281
- const contentWidth = (widthPlugin === null || widthPlugin === void 0 ? void 0 : (_widthPlugin$sharedSt2 = widthPlugin.sharedState.currentState()) === null || _widthPlugin$sharedSt2 === void 0 ? void 0 : _widthPlugin$sharedSt2.lineLength) || akEditorDefaultLayoutWidth;
282
- const selectedMediaNode = selectedMediaSingleNode.node.content.firstChild;
283
- if (!selectedMediaNode) {
284
- return null;
285
- }
286
- const {
287
- width: mediaSingleWidth,
288
- widthType,
289
- layout
290
- } = selectedMediaSingleNode.node.attrs;
291
- const {
292
- width: mediaWidth,
293
- height: mediaHeight
294
- } = selectedMediaNode.attrs;
295
- const maxWidthForNestedNode = pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$m = pluginInjectionApi.media.sharedState.currentState()) === null || _pluginInjectionApi$m === void 0 ? void 0 : _pluginInjectionApi$m.currentMaxWidth;
296
- const maxWidth = maxWidthForNestedNode || akEditorFullWidthLayoutWidth;
297
- const isVideoFile = isVideo(selectedMediaNode.attrs.__fileMimeType);
298
- const minWidth = calcMinWidth(isVideoFile, maxWidthForNestedNode || contentWidth);
299
- const isLegacy = widthType !== 'pixel';
300
- const pixelWidthFromElement = getPixelWidthOfElement(editorView, selectedMediaSingleNode.pos + 1,
301
- // get pos of media node
302
- mediaWidth || DEFAULT_IMAGE_WIDTH);
303
- const pixelWidth = isLegacy ? pixelWidthFromElement : mediaSingleWidth;
304
- return /*#__PURE__*/React.createElement(PixelEntry, {
305
- intl: intl,
306
- width: pluginState.isResizing ? pluginState.resizingWidth : pixelWidth,
307
- showMigration: !pluginState.isResizing && isLegacy,
308
- mediaWidth: mediaWidth || DEFAULT_IMAGE_WIDTH,
309
- mediaHeight: mediaHeight || DEFAULT_IMAGE_HEIGHT,
310
- minWidth: minWidth,
311
- maxWidth: maxWidth,
312
- onChange: valid => {
313
- if (valid) {
314
- hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration(mediaSingle, true, 'warning')(editorView.state, dispatch, editorView);
315
- } else {
316
- hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration(mediaSingle, false)(editorView.state, dispatch, editorView);
317
- }
318
- },
319
- onSubmit: ({
320
- width,
321
- validation
322
- }) => {
323
- var _pluginInjectionApi$a4;
324
- const newLayout = calcNewLayout(width, layout, contentWidth, options.fullWidthEnabled);
325
- updateMediaSingleWidth(pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$a4 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a4 === void 0 ? void 0 : _pluginInjectionApi$a4.actions)(width, validation, newLayout)(state, dispatch);
326
- },
327
- onMigrate: () => {
328
- const tr = state.tr.setNodeMarkup(selectedMediaSingleNode.pos, undefined, {
329
- ...selectedMediaSingleNode.node.attrs,
330
- width: pixelWidthFromElement,
331
- widthType: 'pixel'
332
- });
333
- tr.setMeta('scrollIntoView', false);
334
- tr.setSelection(NodeSelection.create(tr.doc, selectedMediaSingleNode.pos));
335
- dispatch(tr);
336
- }
337
- });
338
- }
339
- };
340
- if (pluginState.isResizing) {
341
- // If the image is resizing
342
- // then return pixel entry component or full width label as the only toolbar item
343
- if (!selectedMediaSingleNode) {
344
- return [];
345
- }
346
- const {
347
- layout
348
- } = selectedMediaSingleNode.node.attrs;
349
- if (layout === 'full-width') {
350
- const fullWidthLabel = {
351
- type: 'custom',
352
- fallback: [],
353
- render: () => {
354
- return /*#__PURE__*/React.createElement(FullWidthDisplay, {
355
- intl: intl
356
- });
357
- }
358
- };
359
- return [fullWidthLabel];
360
- }
361
- return [sizeInput];
362
- }
363
- toolbarButtons.push(sizeInput);
364
- toolbarButtons.push({
365
- type: 'separator'
366
- });
367
- }
368
- if (allowLinking && shouldShowMediaLinkToolbar(state)) {
369
- toolbarButtons.push({
370
- type: 'custom',
371
- fallback: [],
372
- render: (editorView, idx) => {
373
- if (editorView !== null && editorView !== void 0 && editorView.state) {
374
- const editLink = () => {
375
- if (editorView) {
376
- const {
377
- state,
378
- dispatch
379
- } = editorView;
380
- showLinkingToolbar(state, dispatch);
381
- }
382
- };
383
- const openLink = () => {
384
- if (editorView) {
385
- var _pluginInjectionApi$a5;
386
- const {
387
- state: {
388
- tr
389
- },
390
- dispatch
391
- } = editorView;
392
- pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$a5 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a5 === void 0 ? void 0 : _pluginInjectionApi$a5.actions.attachAnalyticsEvent({
393
- eventType: EVENT_TYPE.TRACK,
394
- action: ACTION.VISITED,
395
- actionSubject: ACTION_SUBJECT.MEDIA,
396
- actionSubjectId: ACTION_SUBJECT_ID.LINK
397
- })(tr);
398
- dispatch(tr);
399
- return true;
400
- }
401
- };
402
- return /*#__PURE__*/React.createElement(LinkToolbarAppearance, {
403
- key: idx,
404
- editorState: editorView.state,
405
- intl: intl,
406
- mediaLinkingState: mediaLinkingState,
407
- onAddLink: editLink,
408
- onEditLink: editLink,
409
- onOpenLink: openLink
410
- });
411
- }
412
- return null;
413
- }
414
- });
415
- }
416
- }
417
- if (allowAltTextOnImages) {
418
- var _pluginInjectionApi$a6;
419
- toolbarButtons.push(altTextButton(intl, state, pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$a6 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a6 === void 0 ? void 0 : _pluginInjectionApi$a6.actions), {
420
- type: 'separator'
421
- });
422
- }
423
- const removeButton = {
424
- id: 'editor.media.delete',
425
- type: 'button',
426
- appearance: 'danger',
427
- focusEditoronEnter: true,
428
- icon: RemoveIcon,
429
- onMouseEnter: hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration(mediaSingle, true),
430
- onMouseLeave: hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration(mediaSingle, false),
431
- onFocus: hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration(mediaSingle, true),
432
- onBlur: hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration(mediaSingle, false),
433
- title: intl.formatMessage(commonMessages.remove),
434
- onClick: remove,
435
- testId: 'media-toolbar-remove-button'
436
- };
437
- const items = [...toolbarButtons, {
438
- type: 'copy-button',
439
- items: [{
440
- state,
441
- formatMessage: intl.formatMessage,
442
- nodeType: mediaSingle
443
- }, {
444
- type: 'separator'
445
- }]
446
- }, removeButton];
447
- return items;
448
- };
449
- export const floatingToolbar = (state, intl, options = {}, pluginInjectionApi) => {
450
- var _pluginInjectionApi$d2;
451
- const {
452
- media,
453
- mediaInline,
454
- mediaSingle,
455
- mediaGroup
456
- } = state.schema.nodes;
457
- const {
458
- altTextValidator,
459
- allowLinking,
460
- allowAltTextOnImages,
461
- providerFactory,
462
- allowMediaInline,
463
- allowResizing,
464
- getEditorFeatureFlags
465
- } = options;
466
- const mediaPluginState = stateKey.getState(state);
467
- const mediaLinkingState = getMediaLinkingState(state);
468
- const {
469
- hoverDecoration
470
- } = (_pluginInjectionApi$d2 = pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : pluginInjectionApi.decorations.actions) !== null && _pluginInjectionApi$d2 !== void 0 ? _pluginInjectionApi$d2 : {};
471
- if (!mediaPluginState) {
472
- return;
473
- }
474
- const nodeType = allowMediaInline ? [mediaInline, mediaSingle, media] : [mediaSingle];
475
- const baseToolbar = {
476
- title: 'Media floating controls',
477
- nodeType,
478
- getDomRef: () => mediaPluginState.element
479
- };
480
- if (allowLinking && mediaLinkingState && mediaLinkingState.visible && shouldShowMediaLinkToolbar(state)) {
481
- const linkingToolbar = getLinkingToolbar(baseToolbar, mediaLinkingState, state, intl, pluginInjectionApi, providerFactory);
482
- if (linkingToolbar) {
483
- return linkingToolbar;
484
- }
485
- }
486
- if (allowAltTextOnImages) {
487
- const mediaAltTextPluginState = getMediaAltTextPluginState(state);
488
- if (mediaAltTextPluginState.isAltTextEditorOpen) {
489
- var _pluginInjectionApi$f;
490
- return getAltTextToolbar(baseToolbar, {
491
- altTextValidator,
492
- forceFocusSelector: pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$f = pluginInjectionApi.floatingToolbar.actions) === null || _pluginInjectionApi$f === void 0 ? void 0 : _pluginInjectionApi$f.forceFocusSelector
493
- });
494
- }
495
- }
496
- let items = [];
497
- const parentMediaGroupNode = findParentNodeOfType(mediaGroup)(state.selection);
498
- let selectedNodeType;
499
- if (state.selection instanceof NodeSelection) {
500
- selectedNodeType = state.selection.node.type;
501
- }
502
- if (allowMediaInline && (parentMediaGroupNode === null || parentMediaGroupNode === void 0 ? void 0 : parentMediaGroupNode.node.type) === mediaGroup) {
503
- var _pluginInjectionApi$a7;
504
- const mediaOffset = state.selection.$from.parentOffset + 1;
505
- baseToolbar.getDomRef = () => {
506
- var _mediaPluginState$ele;
507
- const selector = mediaFilmstripItemDOMSelector(mediaOffset);
508
- return (_mediaPluginState$ele = mediaPluginState.element) === null || _mediaPluginState$ele === void 0 ? void 0 : _mediaPluginState$ele.querySelector(selector);
509
- };
510
- items = generateMediaCardFloatingToolbar(state, intl, mediaPluginState, hoverDecoration, pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$a7 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a7 === void 0 ? void 0 : _pluginInjectionApi$a7.actions);
511
- } else if (allowMediaInline && selectedNodeType && selectedNodeType === mediaInline) {
512
- var _pluginInjectionApi$a8;
513
- baseToolbar.getDomRef = () => {
514
- var _mediaPluginState$ele2;
515
- const element = (_mediaPluginState$ele2 = mediaPluginState.element) === null || _mediaPluginState$ele2 === void 0 ? void 0 : _mediaPluginState$ele2.querySelector(`.${MediaInlineNodeSelector}`);
516
- return element || mediaPluginState.element;
517
- };
518
- items = generateMediaInlineFloatingToolbar(state, intl, mediaPluginState, hoverDecoration, pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$a8 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a8 === void 0 ? void 0 : _pluginInjectionApi$a8.actions);
519
- } else {
520
- baseToolbar.getDomRef = () => {
521
- var _mediaPluginState$ele3;
522
- const element = (_mediaPluginState$ele3 = mediaPluginState.element) === null || _mediaPluginState$ele3 === void 0 ? void 0 : _mediaPluginState$ele3.querySelector(`.${MediaSingleNodeSelector}`);
523
- return element || mediaPluginState.element;
524
- };
525
- items = generateMediaSingleFloatingToolbar(state, intl, options, mediaPluginState, mediaLinkingState, pluginInjectionApi, getEditorFeatureFlags);
526
- }
527
- const toolbarConfig = {
528
- ...baseToolbar,
529
- items,
530
- scrollable: true
531
- };
532
- if (getBooleanFF('platform.editor.media.extended-resize-experience') && allowResizing) {
533
- return {
534
- ...toolbarConfig,
535
- width: mediaPluginState.isResizing ? undefined : getMaxToolbarWidth()
536
- };
537
- }
538
- return toolbarConfig;
539
- };
@@ -1,90 +0,0 @@
1
- /** @jsx jsx */
2
- import React, { Fragment, useEffect, useState } from 'react';
3
- import { css, jsx } from '@emotion/react';
4
- import { isSafeUrl } from '@atlaskit/adf-schema';
5
- import { addLink, ToolTipContent } from '@atlaskit/editor-common/keymaps';
6
- import { linkMessages, linkToolbarMessages } from '@atlaskit/editor-common/messages';
7
- import { FloatingToolbarButton as ToolbarButton } from '@atlaskit/editor-common/ui';
8
- import { FloatingToolbarSeparator as Separator } from '@atlaskit/editor-common/ui';
9
- import LinkIcon from '@atlaskit/icon/glyph/editor/link';
10
- import OpenIcon from '@atlaskit/icon/glyph/shortcut';
11
- import { stateKey } from '../pm-plugins/plugin-key';
12
- import { checkMediaType } from '../utils/check-media-type';
13
- import { currentMediaNode } from '../utils/current-media-node';
14
- // need this wrapper, need to have 4px between items.
15
- const wrapper = css`
16
- display: flex;
17
- align-items: center;
18
- margin-right: ${"var(--ds-space-050, 4px)"};
19
- `;
20
- export const LinkToolbarAppearance = ({
21
- editorState,
22
- mediaLinkingState,
23
- intl,
24
- onAddLink,
25
- onEditLink,
26
- onOpenLink
27
- }) => {
28
- const [showLinkingControls, setShowLinkingControls] = useState(true);
29
- useEffect(() => {
30
- var _stateKey$getState;
31
- const mediaNode = currentMediaNode(editorState);
32
- if (!mediaNode) {
33
- setShowLinkingControls(false);
34
- return;
35
- }
36
- const mediaClientConfig = (_stateKey$getState = stateKey.getState(editorState)) === null || _stateKey$getState === void 0 ? void 0 : _stateKey$getState.mediaClientConfig;
37
- if (!mediaClientConfig) {
38
- setShowLinkingControls(false);
39
- return;
40
- }
41
- checkMediaType(mediaNode, mediaClientConfig).then(mediaType => {
42
- setShowLinkingControls(mediaType === 'external' || mediaType === 'image');
43
- });
44
- }, [editorState]);
45
- if (!showLinkingControls) {
46
- return null;
47
- }
48
- if (mediaLinkingState && mediaLinkingState.editable) {
49
- const isValidUrl = isSafeUrl(mediaLinkingState.link);
50
- const title = intl.formatMessage(linkToolbarMessages.editLink);
51
- const linkTitle = intl.formatMessage(isValidUrl ? linkMessages.openLink : linkToolbarMessages.unableToOpenLink);
52
- return jsx(Fragment, null, jsx("div", {
53
- css: wrapper
54
- }, jsx(ToolbarButton, {
55
- onClick: onEditLink,
56
- title: title,
57
- tooltipContent: jsx(ToolTipContent, {
58
- description: title,
59
- keymap: addLink
60
- }),
61
- testId: "edit-link-button"
62
- }, title)), jsx("div", {
63
- css: wrapper
64
- }, jsx(Separator, null)), jsx(ToolbarButton, {
65
- target: "_blank",
66
- href: isValidUrl ? mediaLinkingState.link : undefined,
67
- disabled: !isValidUrl,
68
- onClick: onOpenLink,
69
- title: linkTitle,
70
- icon: jsx(OpenIcon, {
71
- label: linkTitle
72
- }),
73
- className: "hyperlink-open-link"
74
- }), jsx(Separator, null));
75
- } else {
76
- const title = intl.formatMessage(linkToolbarMessages.addLink);
77
- return jsx(Fragment, null, jsx(ToolbarButton, {
78
- testId: "add-link-button",
79
- onClick: onAddLink,
80
- title: title,
81
- tooltipContent: jsx(ToolTipContent, {
82
- description: title,
83
- keymap: addLink
84
- }),
85
- icon: jsx(LinkIcon, {
86
- label: title
87
- })
88
- }), jsx(Separator, null));
89
- }
90
- };