@atlaskit/editor-core 151.2.0 → 152.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (311) hide show
  1. package/CHANGELOG.md +108 -0
  2. package/dist/cjs/create-editor/ReactEditorView.js +22 -8
  3. package/dist/cjs/create-editor/create-plugins-list.js +25 -9
  4. package/dist/cjs/labs/next/presets/cxhtml.js +1 -2
  5. package/dist/cjs/nodeviews/ReactNodeView.js +2 -2
  6. package/dist/cjs/nodeviews/SelectionBasedNodeView.js +6 -0
  7. package/dist/cjs/plugins/analytics/types/enums.js +1 -0
  8. package/dist/cjs/plugins/annotation/utils.js +19 -8
  9. package/dist/cjs/plugins/avatar-group/index.js +2 -1
  10. package/dist/cjs/plugins/avatar-group/ui/AvatarGroupPluginWrapper.js +5 -2
  11. package/dist/cjs/plugins/before-primaryToolbar/index.js +26 -0
  12. package/dist/cjs/plugins/before-primaryToolbar/ui/BeforePrimaryToolbarWrapper.js +28 -0
  13. package/dist/cjs/plugins/extension/extension-api.js +10 -2
  14. package/dist/cjs/plugins/extension/ui/styles.js +1 -1
  15. package/dist/cjs/plugins/feature-flags-context/feature-flags-from-props.js +4 -2
  16. package/dist/cjs/plugins/find-replace/FindReplaceToolbarButtonWithState.js +172 -0
  17. package/dist/cjs/plugins/find-replace/index.js +14 -137
  18. package/dist/cjs/plugins/find-replace/ui/Find.js +16 -9
  19. package/dist/cjs/plugins/find-replace/ui/FindReplace.js +9 -2
  20. package/dist/cjs/plugins/find-replace/ui/Replace.js +11 -3
  21. package/dist/cjs/plugins/find-replace/ui/styles.js +44 -35
  22. package/dist/cjs/plugins/floating-toolbar/ui/EmojiPickerButton.js +10 -4
  23. package/dist/cjs/plugins/floating-toolbar/ui/Toolbar.js +1 -1
  24. package/dist/cjs/plugins/fragment/index.js +34 -0
  25. package/dist/cjs/plugins/fragment/plugin-key.js +11 -0
  26. package/dist/cjs/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +1 -1
  27. package/dist/cjs/plugins/index.js +16 -0
  28. package/dist/cjs/plugins/list/actions/conversions.js +39 -71
  29. package/dist/cjs/plugins/list/transforms.js +7 -1
  30. package/dist/cjs/plugins/media/index.js +2 -3
  31. package/dist/cjs/plugins/media/nodeviews/mediaGroup.js +3 -1
  32. package/dist/cjs/plugins/media/nodeviews/mediaInline.js +12 -5
  33. package/dist/cjs/plugins/media/nodeviews/mediaSingle.js +6 -4
  34. package/dist/cjs/plugins/media/nodeviews/styles.js +6 -1
  35. package/dist/cjs/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +5 -1
  36. package/dist/cjs/plugins/media/pm-plugins/main.js +49 -15
  37. package/dist/cjs/plugins/media/toolbar/commands.js +59 -0
  38. package/dist/cjs/plugins/media/toolbar/filePreviewItem.js +7 -2
  39. package/dist/cjs/plugins/media/toolbar/index.js +90 -3
  40. package/dist/cjs/plugins/media/ui/ResizableMediaSingle/index.js +9 -1
  41. package/dist/cjs/plugins/media/utils/media-common.js +1 -1
  42. package/dist/cjs/plugins/media/utils/media-files.js +5 -1
  43. package/dist/cjs/plugins/panel/actions.js +2 -2
  44. package/dist/cjs/plugins/panel/index.js +3 -3
  45. package/dist/cjs/plugins/panel/nodeviews/panel.js +2 -2
  46. package/dist/cjs/plugins/panel/toolbar.js +10 -5
  47. package/dist/cjs/plugins/panel/utils.js +15 -0
  48. package/dist/cjs/plugins/rank.js +3 -2
  49. package/dist/cjs/plugins/selection/pm-plugins/selection-main.js +49 -1
  50. package/dist/cjs/plugins/status/ui/statusPicker.js +4 -2
  51. package/dist/cjs/plugins/table/commands/insert.js +1 -0
  52. package/dist/cjs/plugins/table/index.js +3 -2
  53. package/dist/cjs/plugins/table/nodeviews/OverflowShadowsObserver.js +1 -3
  54. package/dist/cjs/plugins/table/pm-plugins/main.js +26 -3
  55. package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/colgroup.js +2 -2
  56. package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +2 -0
  57. package/dist/cjs/plugins/table/transforms/column-width.js +14 -5
  58. package/dist/cjs/plugins/table/transforms/fix-tables.js +43 -6
  59. package/dist/cjs/plugins/table/ui/FloatingContextualButton/index.js +3 -2
  60. package/dist/cjs/plugins/table/ui/FloatingContextualMenu/ContextualMenu.js +1 -0
  61. package/dist/cjs/plugins/table/ui/common-styles.css.js +1 -1
  62. package/dist/cjs/plugins/table/ui/consts.js +1 -1
  63. package/dist/cjs/plugins/table/ui/messages.js +1 -1
  64. package/dist/cjs/plugins/tasks-and-decisions/nodeviews/decisionItem.js +1 -1
  65. package/dist/cjs/plugins/tasks-and-decisions/nodeviews/taskItem.js +1 -1
  66. package/dist/cjs/plugins/tasks-and-decisions/pm-plugins/main.js +2 -2
  67. package/dist/cjs/plugins/text-color/ui/ToolbarTextColor/index.js +2 -1
  68. package/dist/cjs/plugins/text-formatting/index.js +2 -1
  69. package/dist/cjs/plugins/type-ahead/ui/TypeAheadList.js +1 -0
  70. package/dist/cjs/ui/Appearance/FullPage/FullPageToolbar.js +77 -26
  71. package/dist/cjs/ui/Appearance/FullPage/MainToolbar.js +32 -9
  72. package/dist/cjs/ui/ColorPalette/Color/index.js +8 -18
  73. package/dist/cjs/ui/ColorPalette/index.js +7 -4
  74. package/dist/cjs/ui/ColorPickerButton/index.js +1 -1
  75. package/dist/cjs/ui/ConfigPanel/ConfigPanel.js +114 -61
  76. package/dist/cjs/ui/ConfigPanel/FormContent.js +39 -26
  77. package/dist/cjs/ui/ConfigPanel/transformers.js +490 -248
  78. package/dist/cjs/ui/ConfigPanel/utils.js +2 -10
  79. package/dist/cjs/ui/DropdownMenu/index.js +3 -1
  80. package/dist/cjs/ui/LinkSearch/LinkSearchListItem.js +1 -1
  81. package/dist/cjs/ui/Resizer/index.js +9 -1
  82. package/dist/cjs/version-wrapper.js +1 -1
  83. package/dist/cjs/version.json +1 -1
  84. package/dist/es2019/create-editor/ReactEditorView.js +19 -8
  85. package/dist/es2019/create-editor/create-plugins-list.js +26 -10
  86. package/dist/es2019/labs/next/presets/cxhtml.js +1 -2
  87. package/dist/es2019/nodeviews/ReactNodeView.js +1 -1
  88. package/dist/es2019/nodeviews/SelectionBasedNodeView.js +11 -0
  89. package/dist/es2019/plugins/analytics/types/enums.js +1 -0
  90. package/dist/es2019/plugins/annotation/utils.js +18 -7
  91. package/dist/es2019/plugins/avatar-group/index.js +2 -1
  92. package/dist/es2019/plugins/avatar-group/ui/AvatarGroupPluginWrapper.js +3 -2
  93. package/dist/es2019/plugins/before-primaryToolbar/index.js +15 -0
  94. package/dist/es2019/plugins/before-primaryToolbar/ui/BeforePrimaryToolbarWrapper.js +12 -0
  95. package/dist/es2019/plugins/extension/extension-api.js +9 -2
  96. package/dist/es2019/plugins/extension/ui/styles.js +6 -0
  97. package/dist/es2019/plugins/feature-flags-context/feature-flags-from-props.js +4 -2
  98. package/dist/es2019/plugins/find-replace/FindReplaceToolbarButtonWithState.js +152 -0
  99. package/dist/es2019/plugins/find-replace/index.js +15 -128
  100. package/dist/es2019/plugins/find-replace/ui/Find.js +18 -10
  101. package/dist/es2019/plugins/find-replace/ui/FindReplace.js +11 -3
  102. package/dist/es2019/plugins/find-replace/ui/Replace.js +12 -4
  103. package/dist/es2019/plugins/find-replace/ui/styles.js +37 -47
  104. package/dist/es2019/plugins/floating-toolbar/ui/DropdownMenu.js +2 -1
  105. package/dist/es2019/plugins/floating-toolbar/ui/EmojiPickerButton.js +10 -2
  106. package/dist/es2019/plugins/floating-toolbar/ui/Toolbar.js +1 -1
  107. package/dist/es2019/plugins/fragment/index.js +22 -0
  108. package/dist/es2019/plugins/fragment/plugin-key.js +2 -0
  109. package/dist/es2019/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +2 -2
  110. package/dist/es2019/plugins/index.js +2 -0
  111. package/dist/es2019/plugins/list/actions/conversions.js +38 -69
  112. package/dist/es2019/plugins/list/transforms.js +5 -1
  113. package/dist/es2019/plugins/media/index.js +2 -2
  114. package/dist/es2019/plugins/media/nodeviews/mediaGroup.js +2 -1
  115. package/dist/es2019/plugins/media/nodeviews/mediaInline.js +8 -4
  116. package/dist/es2019/plugins/media/nodeviews/mediaSingle.js +7 -5
  117. package/dist/es2019/plugins/media/nodeviews/styles.js +2 -0
  118. package/dist/es2019/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +5 -1
  119. package/dist/es2019/plugins/media/pm-plugins/main.js +32 -17
  120. package/dist/es2019/plugins/media/toolbar/commands.js +47 -0
  121. package/dist/es2019/plugins/media/toolbar/filePreviewItem.js +6 -2
  122. package/dist/es2019/plugins/media/toolbar/index.js +90 -3
  123. package/dist/es2019/plugins/media/ui/ResizableMediaSingle/index.js +7 -1
  124. package/dist/es2019/plugins/media/utils/media-common.js +1 -1
  125. package/dist/es2019/plugins/media/utils/media-files.js +6 -1
  126. package/dist/es2019/plugins/panel/actions.js +2 -2
  127. package/dist/es2019/plugins/panel/index.js +5 -5
  128. package/dist/es2019/plugins/panel/nodeviews/panel.js +2 -2
  129. package/dist/es2019/plugins/panel/toolbar.js +10 -5
  130. package/dist/es2019/plugins/panel/utils.js +8 -1
  131. package/dist/es2019/plugins/rank.js +3 -2
  132. package/dist/es2019/plugins/selection/pm-plugins/selection-main.js +48 -1
  133. package/dist/es2019/plugins/status/ui/statusPicker.js +4 -2
  134. package/dist/es2019/plugins/table/commands/insert.js +1 -2
  135. package/dist/es2019/plugins/table/index.js +2 -1
  136. package/dist/es2019/plugins/table/nodeviews/OverflowShadowsObserver.js +1 -2
  137. package/dist/es2019/plugins/table/pm-plugins/main.js +25 -4
  138. package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/colgroup.js +2 -2
  139. package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +2 -0
  140. package/dist/es2019/plugins/table/transforms/column-width.js +13 -3
  141. package/dist/es2019/plugins/table/transforms/fix-tables.js +43 -5
  142. package/dist/es2019/plugins/table/ui/FloatingContextualButton/index.js +3 -2
  143. package/dist/es2019/plugins/table/ui/FloatingContextualMenu/ContextualMenu.js +1 -0
  144. package/dist/es2019/plugins/table/ui/common-styles.css.js +5 -1
  145. package/dist/es2019/plugins/table/ui/consts.js +2 -2
  146. package/dist/es2019/plugins/table/ui/messages.js +1 -1
  147. package/dist/es2019/plugins/tasks-and-decisions/nodeviews/decisionItem.js +1 -1
  148. package/dist/es2019/plugins/tasks-and-decisions/nodeviews/taskItem.js +1 -1
  149. package/dist/es2019/plugins/tasks-and-decisions/pm-plugins/main.js +3 -3
  150. package/dist/es2019/plugins/text-color/ui/ToolbarTextColor/index.js +2 -1
  151. package/dist/es2019/plugins/text-formatting/index.js +3 -2
  152. package/dist/es2019/plugins/type-ahead/ui/TypeAheadList.js +2 -1
  153. package/dist/es2019/plugins/type-ahead/ui/TypeAheadListItem.js +2 -1
  154. package/dist/es2019/ui/Appearance/FullPage/FullPageToolbar.js +60 -27
  155. package/dist/es2019/ui/Appearance/FullPage/MainToolbar.js +51 -7
  156. package/dist/es2019/ui/ColorPalette/Color/index.js +9 -18
  157. package/dist/es2019/ui/ColorPalette/index.js +7 -4
  158. package/dist/es2019/ui/ColorPickerButton/index.js +1 -1
  159. package/dist/es2019/ui/ConfigPanel/ConfigPanel.js +101 -49
  160. package/dist/es2019/ui/ConfigPanel/FormContent.js +35 -26
  161. package/dist/es2019/ui/ConfigPanel/transformers.js +243 -72
  162. package/dist/es2019/ui/ConfigPanel/utils.js +1 -2
  163. package/dist/es2019/ui/Dropdown/index.js +2 -1
  164. package/dist/es2019/ui/DropdownMenu/index.js +7 -3
  165. package/dist/es2019/ui/ElementBrowser/InsertMenu.js +1 -0
  166. package/dist/es2019/ui/ElementBrowser/components/ElementList/ElementList.js +1 -0
  167. package/dist/es2019/ui/LinkSearch/LinkSearchListItem.js +2 -2
  168. package/dist/es2019/ui/Resizer/index.js +9 -1
  169. package/dist/es2019/version-wrapper.js +1 -1
  170. package/dist/es2019/version.json +1 -1
  171. package/dist/esm/create-editor/ReactEditorView.js +22 -8
  172. package/dist/esm/create-editor/create-plugins-list.js +26 -10
  173. package/dist/esm/labs/next/presets/cxhtml.js +1 -2
  174. package/dist/esm/nodeviews/ReactNodeView.js +2 -2
  175. package/dist/esm/nodeviews/SelectionBasedNodeView.js +7 -0
  176. package/dist/esm/plugins/analytics/types/enums.js +1 -0
  177. package/dist/esm/plugins/annotation/utils.js +18 -7
  178. package/dist/esm/plugins/avatar-group/index.js +2 -1
  179. package/dist/esm/plugins/avatar-group/ui/AvatarGroupPluginWrapper.js +5 -2
  180. package/dist/esm/plugins/before-primaryToolbar/index.js +15 -0
  181. package/dist/esm/plugins/before-primaryToolbar/ui/BeforePrimaryToolbarWrapper.js +12 -0
  182. package/dist/esm/plugins/extension/extension-api.js +9 -2
  183. package/dist/esm/plugins/extension/ui/styles.js +1 -1
  184. package/dist/esm/plugins/feature-flags-context/feature-flags-from-props.js +4 -2
  185. package/dist/esm/plugins/find-replace/FindReplaceToolbarButtonWithState.js +155 -0
  186. package/dist/esm/plugins/find-replace/index.js +14 -131
  187. package/dist/esm/plugins/find-replace/ui/Find.js +17 -10
  188. package/dist/esm/plugins/find-replace/ui/FindReplace.js +10 -3
  189. package/dist/esm/plugins/find-replace/ui/Replace.js +11 -4
  190. package/dist/esm/plugins/find-replace/ui/styles.js +39 -18
  191. package/dist/esm/plugins/floating-toolbar/ui/DropdownMenu.js +2 -1
  192. package/dist/esm/plugins/floating-toolbar/ui/EmojiPickerButton.js +9 -4
  193. package/dist/esm/plugins/floating-toolbar/ui/Toolbar.js +1 -1
  194. package/dist/esm/plugins/fragment/index.js +22 -0
  195. package/dist/esm/plugins/fragment/plugin-key.js +2 -0
  196. package/dist/esm/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +2 -2
  197. package/dist/esm/plugins/index.js +2 -0
  198. package/dist/esm/plugins/list/actions/conversions.js +38 -71
  199. package/dist/esm/plugins/list/transforms.js +7 -1
  200. package/dist/esm/plugins/media/index.js +2 -3
  201. package/dist/esm/plugins/media/nodeviews/mediaGroup.js +2 -1
  202. package/dist/esm/plugins/media/nodeviews/mediaInline.js +11 -6
  203. package/dist/esm/plugins/media/nodeviews/mediaSingle.js +7 -5
  204. package/dist/esm/plugins/media/nodeviews/styles.js +2 -0
  205. package/dist/esm/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +5 -1
  206. package/dist/esm/plugins/media/pm-plugins/main.js +47 -16
  207. package/dist/esm/plugins/media/toolbar/commands.js +45 -0
  208. package/dist/esm/plugins/media/toolbar/filePreviewItem.js +6 -2
  209. package/dist/esm/plugins/media/toolbar/index.js +88 -3
  210. package/dist/esm/plugins/media/ui/ResizableMediaSingle/index.js +9 -1
  211. package/dist/esm/plugins/media/utils/media-common.js +1 -1
  212. package/dist/esm/plugins/media/utils/media-files.js +6 -1
  213. package/dist/esm/plugins/panel/actions.js +2 -2
  214. package/dist/esm/plugins/panel/index.js +5 -5
  215. package/dist/esm/plugins/panel/nodeviews/panel.js +2 -2
  216. package/dist/esm/plugins/panel/toolbar.js +9 -4
  217. package/dist/esm/plugins/panel/utils.js +13 -0
  218. package/dist/esm/plugins/rank.js +3 -2
  219. package/dist/esm/plugins/selection/pm-plugins/selection-main.js +50 -1
  220. package/dist/esm/plugins/status/ui/statusPicker.js +4 -2
  221. package/dist/esm/plugins/table/commands/insert.js +1 -2
  222. package/dist/esm/plugins/table/index.js +3 -2
  223. package/dist/esm/plugins/table/nodeviews/OverflowShadowsObserver.js +1 -2
  224. package/dist/esm/plugins/table/pm-plugins/main.js +27 -4
  225. package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/colgroup.js +2 -2
  226. package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +2 -0
  227. package/dist/esm/plugins/table/transforms/column-width.js +13 -3
  228. package/dist/esm/plugins/table/transforms/fix-tables.js +42 -4
  229. package/dist/esm/plugins/table/ui/FloatingContextualButton/index.js +3 -2
  230. package/dist/esm/plugins/table/ui/FloatingContextualMenu/ContextualMenu.js +1 -0
  231. package/dist/esm/plugins/table/ui/common-styles.css.js +1 -1
  232. package/dist/esm/plugins/table/ui/consts.js +2 -2
  233. package/dist/esm/plugins/table/ui/messages.js +1 -1
  234. package/dist/esm/plugins/tasks-and-decisions/nodeviews/decisionItem.js +1 -1
  235. package/dist/esm/plugins/tasks-and-decisions/nodeviews/taskItem.js +1 -1
  236. package/dist/esm/plugins/tasks-and-decisions/pm-plugins/main.js +3 -3
  237. package/dist/esm/plugins/text-color/ui/ToolbarTextColor/index.js +2 -1
  238. package/dist/esm/plugins/text-formatting/index.js +3 -2
  239. package/dist/esm/plugins/type-ahead/ui/TypeAheadList.js +2 -1
  240. package/dist/esm/plugins/type-ahead/ui/TypeAheadListItem.js +2 -1
  241. package/dist/esm/ui/Appearance/FullPage/FullPageToolbar.js +67 -27
  242. package/dist/esm/ui/Appearance/FullPage/MainToolbar.js +20 -7
  243. package/dist/esm/ui/ColorPalette/Color/index.js +9 -16
  244. package/dist/esm/ui/ColorPalette/index.js +7 -4
  245. package/dist/esm/ui/ColorPickerButton/index.js +1 -1
  246. package/dist/esm/ui/ConfigPanel/ConfigPanel.js +113 -62
  247. package/dist/esm/ui/ConfigPanel/FormContent.js +39 -26
  248. package/dist/esm/ui/ConfigPanel/transformers.js +488 -248
  249. package/dist/esm/ui/ConfigPanel/utils.js +1 -6
  250. package/dist/esm/ui/Dropdown/index.js +2 -1
  251. package/dist/esm/ui/DropdownMenu/index.js +7 -3
  252. package/dist/esm/ui/ElementBrowser/InsertMenu.js +1 -0
  253. package/dist/esm/ui/ElementBrowser/components/ElementList/ElementList.js +1 -0
  254. package/dist/esm/ui/LinkSearch/LinkSearchListItem.js +2 -2
  255. package/dist/esm/ui/Resizer/index.js +9 -1
  256. package/dist/esm/version-wrapper.js +1 -1
  257. package/dist/esm/version.json +1 -1
  258. package/dist/types/labs/next/full-page.d.ts +1 -1
  259. package/dist/types/nodeviews/ReactNodeView.d.ts +1 -1
  260. package/dist/types/nodeviews/SelectionBasedNodeView.d.ts +1 -0
  261. package/dist/types/plugins/analytics/types/enums.d.ts +1 -0
  262. package/dist/types/plugins/analytics/types/events.d.ts +7 -1
  263. package/dist/types/plugins/annotation/utils.d.ts +1 -1
  264. package/dist/types/plugins/avatar-group/index.d.ts +1 -0
  265. package/dist/types/plugins/avatar-group/ui/AvatarGroupPluginWrapper.d.ts +1 -0
  266. package/dist/types/plugins/before-primaryToolbar/index.d.ts +5 -0
  267. package/dist/types/plugins/before-primaryToolbar/ui/BeforePrimaryToolbarWrapper.d.ts +5 -0
  268. package/dist/types/plugins/code-block/types.d.ts +1 -1
  269. package/dist/types/plugins/feature-flags-context/get-enabled-feature-flag-keys.d.ts +1 -1
  270. package/dist/types/plugins/find-replace/FindReplaceToolbarButtonWithState.d.ts +15 -0
  271. package/dist/types/plugins/find-replace/index.d.ts +1 -0
  272. package/dist/types/plugins/find-replace/ui/Find.d.ts +1 -0
  273. package/dist/types/plugins/find-replace/ui/FindReplace.d.ts +1 -0
  274. package/dist/types/plugins/find-replace/ui/Replace.d.ts +1 -0
  275. package/dist/types/plugins/find-replace/ui/styles.d.ts +5 -14
  276. package/dist/types/plugins/floating-toolbar/ui/EmojiPickerButton.d.ts +1 -1
  277. package/dist/types/plugins/fragment/index.d.ts +5 -0
  278. package/dist/types/plugins/fragment/plugin-key.d.ts +2 -0
  279. package/dist/types/plugins/index.d.ts +2 -0
  280. package/dist/types/plugins/media/nodeviews/mediaInline.d.ts +3 -2
  281. package/dist/types/plugins/media/nodeviews/mediaSingle.d.ts +1 -1
  282. package/dist/types/plugins/media/nodeviews/styles.d.ts +2 -0
  283. package/dist/types/plugins/media/toolbar/commands.d.ts +3 -0
  284. package/dist/types/plugins/media/toolbar/filePreviewItem.d.ts +2 -0
  285. package/dist/types/plugins/media/types.d.ts +0 -1
  286. package/dist/types/plugins/panel/actions.d.ts +1 -1
  287. package/dist/types/plugins/panel/types.d.ts +8 -2
  288. package/dist/types/plugins/quick-insert/index.d.ts +2 -1
  289. package/dist/types/plugins/table/commands/insert.d.ts +3 -0
  290. package/dist/types/plugins/table/pm-plugins/main.d.ts +2 -1
  291. package/dist/types/plugins/table/pm-plugins/table-resizing/utils/types.d.ts +1 -0
  292. package/dist/types/plugins/table/transforms/column-width.d.ts +4 -1
  293. package/dist/types/plugins/table/transforms/fix-tables.d.ts +3 -2
  294. package/dist/types/plugins/table/types.d.ts +8 -0
  295. package/dist/types/plugins/table/ui/consts.d.ts +1 -1
  296. package/dist/types/types/editor-appearance-component.d.ts +2 -2
  297. package/dist/types/types/editor-props.d.ts +11 -1
  298. package/dist/types/types/feature-flags.d.ts +13 -0
  299. package/dist/types/types/index.d.ts +1 -1
  300. package/dist/types/ui/Appearance/FullPage/FullPageToolbar.d.ts +2 -2
  301. package/dist/types/ui/Appearance/FullPage/MainToolbar.d.ts +10 -1
  302. package/dist/types/ui/ColorPalette/Color/index.d.ts +8 -5
  303. package/dist/types/ui/ColorPalette/index.d.ts +1 -0
  304. package/dist/types/ui/ConfigPanel/transformers.d.ts +7 -1
  305. package/dist/types/ui/ConfigPanel/utils.d.ts +0 -1
  306. package/dist/types/ui/Resizer/index.d.ts +1 -0
  307. package/package.json +33 -29
  308. package/dist/cjs/plugins/floating-toolbar/ui/EditorRemoveEmojiIcon.js +0 -38
  309. package/dist/es2019/plugins/floating-toolbar/ui/EditorRemoveEmojiIcon.js +0 -28
  310. package/dist/esm/plugins/floating-toolbar/ui/EditorRemoveEmojiIcon.js +0 -28
  311. package/dist/types/plugins/floating-toolbar/ui/EditorRemoveEmojiIcon.d.ts +0 -1
@@ -92,7 +92,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
92
92
  var RECENT_SEARCH_LIST_SIZE = 5;
93
93
  exports.RECENT_SEARCH_LIST_SIZE = RECENT_SEARCH_LIST_SIZE;
94
94
 
95
- var ClearText = _styledComponents.default.span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n cursor: pointer;\n padding-right: 8px;\n color: ", ";\n"])), _colors.N80);
95
+ var ClearText = _styledComponents.default.span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n cursor: pointer;\n padding-right: 8px;\n color: ", ";\n"])), _colors.N90);
96
96
 
97
97
  var TextInputWrapper = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n ", ";\n border-top: 1px solid ", ";\n border-bottom: 1px solid ", ";\n"])), _ToolbarComponents.InputWrapper, _colors.N30, _colors.N30);
98
98
 
@@ -271,6 +271,12 @@ Object.defineProperty(exports, "editorDisabledPlugin", {
271
271
  return _editorDisabled.default;
272
272
  }
273
273
  });
274
+ Object.defineProperty(exports, "fragmentMarkPlugin", {
275
+ enumerable: true,
276
+ get: function get() {
277
+ return _fragment.default;
278
+ }
279
+ });
274
280
  Object.defineProperty(exports, "indentationPlugin", {
275
281
  enumerable: true,
276
282
  get: function get() {
@@ -391,6 +397,12 @@ Object.defineProperty(exports, "viewUpdateSubscriptionPlugin", {
391
397
  return _viewUpdateSubscription.default;
392
398
  }
393
399
  });
400
+ Object.defineProperty(exports, "beforePrimaryToolbarPlugin", {
401
+ enumerable: true,
402
+ get: function get() {
403
+ return _beforePrimaryToolbar.default;
404
+ }
405
+ });
394
406
  Object.defineProperty(exports, "codeBidiWarningPlugin", {
395
407
  enumerable: true,
396
408
  get: function get() {
@@ -484,6 +496,8 @@ var _dataConsumer = _interopRequireDefault(require("./data-consumer"));
484
496
 
485
497
  var _editorDisabled = _interopRequireDefault(require("./editor-disabled"));
486
498
 
499
+ var _fragment = _interopRequireDefault(require("./fragment"));
500
+
487
501
  var _indentation = _interopRequireDefault(require("./indentation"));
488
502
 
489
503
  var _annotation = _interopRequireDefault(require("./annotation"));
@@ -522,6 +536,8 @@ var _avatarGroup = _interopRequireDefault(require("./avatar-group"));
522
536
 
523
537
  var _viewUpdateSubscription = _interopRequireDefault(require("./view-update-subscription"));
524
538
 
539
+ var _beforePrimaryToolbar = _interopRequireDefault(require("./before-primaryToolbar"));
540
+
525
541
  var _codeBidiWarning = _interopRequireDefault(require("./code-bidi-warning"));
526
542
 
527
543
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -17,6 +17,8 @@ var _node = require("../utils/node");
17
17
 
18
18
  var _utils = require("../../../utils");
19
19
 
20
+ var _find = require("../utils/find");
21
+
20
22
  function convertListType(_ref) {
21
23
  var tr = _ref.tr,
22
24
  nextListNodeType = _ref.nextListNodeType;
@@ -42,84 +44,50 @@ function convertListType(_ref) {
42
44
  var parentNode = nodeRangeAroundList.parent;
43
45
  var startIndex = nodeRangeAroundList.startIndex,
44
46
  endIndex = nodeRangeAroundList.endIndex,
45
- depth = nodeRangeAroundList.depth;
46
- var before = {
47
- from: !(0, _node.isListNode)(parentNode.child(startIndex)) ? // @ts-ignore
48
- doc.resolve(nodeRangeAroundList.$from.posAtIndex(startIndex, depth) + 1) : null,
49
- to: null
50
- };
51
- var after = {
52
- from: null,
53
- to: !(0, _node.isListNode)(parentNode.child(endIndex - 1)) ? doc.resolve( // @ts-ignore
54
- nodeRangeAroundList.$from.posAtIndex(endIndex - 1, depth) + 1) : null
55
- };
56
- var isListNodeFound = false;
57
- var firstEmptyParagraphAfterListFound = false;
58
-
59
- for (var i = startIndex; i < endIndex; i++) {
60
- // @ts-ignore posAtIndex is a public API but has no type yet
61
- var position = nodeRangeAroundList.$from.posAtIndex(i, depth);
62
- var resolvedPosition = doc.resolve(position);
63
-
64
- if ((0, _utils.isEmptyParagraph)(parentNode.child(i)) && !isListNodeFound) {
65
- before.from = doc.resolve( // @ts-ignore posAtIndex is a public API but has no type yet
66
- nodeRangeAroundList.$from.posAtIndex(i, depth) + 2);
67
- }
68
-
69
- if ((0, _utils.isEmptyParagraph)(parentNode.child(i)) && isListNodeFound && !firstEmptyParagraphAfterListFound) {
70
- after.to = resolvedPosition;
71
- firstEmptyParagraphAfterListFound = true;
72
- }
73
-
74
- if (!(0, _node.isListNode)(parentNode.child(i)) && !isListNodeFound) {
75
- before.to = doc.resolve(resolvedPosition.pos + 1);
76
- } else if (!isListNodeFound) {
77
- isListNodeFound = true;
78
- var endNodePosition = doc.resolve(resolvedPosition.pos + 1).end() + 1;
79
-
80
- if (doc.resolve(endNodePosition).nodeAfter) {
81
- after.from = doc.resolve(endNodePosition + 1);
47
+ depth = nodeRangeAroundList.depth; // Checking for invalid nodes to prevent conversion
48
+ // eg. a panel cannot be wrapped in a list so return
49
+ // It will skip this check if the selection begins within a list
50
+ // This is to match the behaviour of the toolbar buttons being disabled
51
+
52
+ if (!(0, _find.findFirstParentListNode)($from)) {
53
+ for (var i = startIndex; i < endIndex; i++) {
54
+ var position = nodeRangeAroundList.$from.posAtIndex(i, depth);
55
+ var resolvedPosition = doc.resolve(position);
56
+ var currentChild = parentNode.child(i);
57
+ var currentNodeRange = resolvedPosition.blockRange(tr.doc.resolve(position + currentChild.nodeSize));
58
+
59
+ if (currentNodeRange && !(0, _node.isListNode)(currentChild) && !(0, _prosemirrorTransform.findWrapping)(currentNodeRange, nextListNodeType)) {
60
+ return;
82
61
  }
83
62
  }
84
- }
63
+ } // Checking for any non list nodes and wrapping them in a list
64
+ // so they can be converted
85
65
 
86
- var beforeConversionArgs, beforeRange, afterConversionArgs, afterRange;
87
66
 
88
- if (after.from && after.to) {
89
- var mappedFrom = tr.mapping.map(after.from.pos);
90
- var mappedTo = tr.mapping.map(after.to.pos);
91
- afterRange = new _prosemirrorModel.NodeRange(tr.doc.resolve(mappedFrom), tr.doc.resolve(mappedTo), nodeRangeAroundList.depth);
92
- afterConversionArgs = {
93
- tr: tr,
94
- nextListNodeType: nextListNodeType,
95
- nodeRange: afterRange
96
- };
97
- }
67
+ tr.doc.nodesBetween(nodeRangeAroundList.start, nodeRangeAroundList.end, function (node, pos) {
68
+ // Skip over any nodes that are part of a list
69
+ if ((0, _find.findFirstParentListNode)(tr.doc.resolve(tr.mapping.map(pos)))) {
70
+ return false;
71
+ } // The following applies to suitable nodes that are not within a list
98
72
 
99
- if (before.from && before.to) {
100
- var _mappedFrom = tr.mapping.map(before.from.pos);
101
73
 
102
- var _mappedTo = tr.mapping.map(before.to.pos);
74
+ var currentNodeNotWrappedInList = node;
75
+ var isNotAnEmptyParagraphAndIsParagraphOrLeafNode = !(0, _utils.isEmptyParagraph)(currentNodeNotWrappedInList) && (!node.type.isBlock || node.type.name === 'paragraph');
103
76
 
104
- beforeRange = new _prosemirrorModel.NodeRange(tr.doc.resolve(_mappedFrom), tr.doc.resolve(_mappedTo), nodeRangeAroundList.depth);
105
- beforeConversionArgs = {
106
- tr: tr,
107
- nextListNodeType: nextListNodeType,
108
- nodeRange: beforeRange
109
- };
110
- }
111
-
112
- if (!afterRange && !beforeRange || afterRange && !(0, _prosemirrorTransform.findWrapping)(afterRange, nextListNodeType) || beforeRange && !(0, _prosemirrorTransform.findWrapping)(beforeRange, nextListNodeType)) {
113
- return;
114
- }
115
-
116
- if (afterConversionArgs) {
117
- convertAroundList(afterConversionArgs);
118
- }
119
-
120
- if (beforeConversionArgs) {
121
- convertAroundList(beforeConversionArgs);
122
- }
77
+ if (isNotAnEmptyParagraphAndIsParagraphOrLeafNode) {
78
+ var remainingNodeRange = new _prosemirrorModel.NodeRange(tr.doc.resolve(tr.mapping.map(pos)), tr.doc.resolve(tr.mapping.map(pos) + currentNodeNotWrappedInList.nodeSize), nodeRangeAroundList.depth);
79
+ convertAroundList({
80
+ tr: tr,
81
+ nextListNodeType: nextListNodeType,
82
+ nodeRange: remainingNodeRange
83
+ });
84
+ return false;
85
+ }
86
+ });
87
+ convertSelectedList({
88
+ tr: tr,
89
+ nextListNodeType: nextListNodeType
90
+ });
123
91
 
124
92
  if (tr.docChanged) {
125
93
  (0, _node.joinSiblingLists)({
@@ -216,11 +216,17 @@ var extractListFromParagraph = function extractListFromParagraph(node, parent, s
216
216
  } // Return false to prevent replaceWith from wrapping the text node in a paragraph
217
217
  // paragraph since that will be done later. If it's done here, it will fail
218
218
  // the paragraph.validContent check.
219
+ // Dont return false if there are lists, as they arent validContent for paragraphs
220
+ // and will result in hanging textNodes
219
221
 
220
222
 
223
+ var containsList = listified.some(function (node) {
224
+ return node.type === bulletList || node.type === orderedList;
225
+ });
226
+
221
227
  if (listified.some(function (node) {
222
228
  return node.isText;
223
- })) {
229
+ }) && !containsList) {
224
230
  return false;
225
231
  }
226
232
 
@@ -72,11 +72,10 @@ var mediaPlugin = function mediaPlugin(options) {
72
72
  allowMediaGroup = _ref$allowMediaGroup === void 0 ? true : _ref$allowMediaGroup,
73
73
  _ref$allowMediaSingle = _ref.allowMediaSingle,
74
74
  allowMediaSingle = _ref$allowMediaSingle === void 0 ? false : _ref$allowMediaSingle,
75
- _ref$allowMediaInline = _ref.allowMediaInline,
76
- allowMediaInline = _ref$allowMediaInline === void 0 ? false : _ref$allowMediaInline,
77
75
  featureFlags = _ref.featureFlags;
78
76
 
79
77
  var captions = (0, _mediaCommon.getMediaFeatureFlag)('captions', featureFlags);
78
+ var allowMediaInline = (0, _mediaCommon.getMediaFeatureFlag)('mediaInline', featureFlags);
80
79
  var mediaSingleNode = captions ? _adfSchema.mediaSingleWithCaption : _adfSchema.mediaSingle;
81
80
  return [{
82
81
  name: 'mediaGroup',
@@ -269,7 +268,7 @@ var mediaPlugin = function mediaPlugin(options) {
269
268
  floatingToolbar: function floatingToolbar(state, intl, providerFactory) {
270
269
  return (0, _toolbar.floatingToolbar)(state, intl, {
271
270
  providerFactory: providerFactory,
272
- allowMediaInline: options && options.allowMediaInline,
271
+ allowMediaInline: options && (0, _mediaCommon.getMediaFeatureFlag)('mediaInline', options.featureFlags),
273
272
  allowResizing: options && options.allowResizing,
274
273
  allowResizingInTables: options && options.allowResizingInTables,
275
274
  allowAnnotation: options && options.allowAnnotation,
@@ -49,6 +49,8 @@ var _pluginKey = require("../pm-plugins/plugin-key");
49
49
 
50
50
  var _mediaNodeUpdater = require("./mediaNodeUpdater");
51
51
 
52
+ var _mediaCommon = require("@atlaskit/media-common");
53
+
52
54
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
53
55
 
54
56
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
@@ -181,7 +183,7 @@ var MediaGroup = /*#__PURE__*/function (_React$Component) {
181
183
  onClick: function onClick() {
182
184
  (0, _utils.setNodeSelection)(_this.props.view, getNodePos());
183
185
  }
184
- }, mediaInlineOptions(mediaOptions.allowMediaInline));
186
+ }, mediaInlineOptions((0, _mediaCommon.getMediaFeatureFlag)('mediaInline', mediaOptions.featureFlags)));
185
187
  });
186
188
 
187
189
  return /*#__PURE__*/_react.default.createElement(_mediaFilmstrip.Filmstrip, {
@@ -13,6 +13,8 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
13
13
 
14
14
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
15
 
16
+ var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
17
+
16
18
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
19
 
18
20
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
@@ -33,6 +35,8 @@ var _mediaCard = require("@atlaskit/media-card");
33
35
 
34
36
  var _editorCommon = require("@atlaskit/editor-common");
35
37
 
38
+ var _styles = require("./styles");
39
+
36
40
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
37
41
 
38
42
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -92,6 +96,7 @@ var MediaInline = function MediaInline(props) {
92
96
  collectionName: collection
93
97
  };
94
98
  return /*#__PURE__*/_react.default.createElement(_mediaCard.MediaInlineCard, {
99
+ isSelected: props.isSelected,
95
100
  identifier: identifier,
96
101
  mediaClientConfig: viewMediaClientConfig
97
102
  });
@@ -99,8 +104,8 @@ var MediaInline = function MediaInline(props) {
99
104
 
100
105
  exports.MediaInline = MediaInline;
101
106
 
102
- var MediaInlineNodeView = /*#__PURE__*/function (_ReactNodeView) {
103
- (0, _inherits2.default)(MediaInlineNodeView, _ReactNodeView);
107
+ var MediaInlineNodeView = /*#__PURE__*/function (_SelectionBasedNodeVi) {
108
+ (0, _inherits2.default)(MediaInlineNodeView, _SelectionBasedNodeVi);
104
109
 
105
110
  var _super = _createSuper(MediaInlineNodeView);
106
111
 
@@ -114,6 +119,7 @@ var MediaInlineNodeView = /*#__PURE__*/function (_ReactNodeView) {
114
119
  value: function createDomRef() {
115
120
  var domRef = document.createElement('span');
116
121
  domRef.contentEditable = 'false';
122
+ domRef.classList.add(_styles.MediaInlineNodeSelector);
117
123
  return domRef;
118
124
  }
119
125
  }, {
@@ -136,7 +142,7 @@ var MediaInlineNodeView = /*#__PURE__*/function (_ReactNodeView) {
136
142
  return true;
137
143
  }
138
144
 
139
- return false;
145
+ return (0, _get2.default)((0, _getPrototypeOf2.default)(MediaInlineNodeView.prototype), "viewShouldUpdate", this).call(this, nextNode);
140
146
  }
141
147
  }, {
142
148
  key: "render",
@@ -157,14 +163,15 @@ var MediaInlineNodeView = /*#__PURE__*/function (_ReactNodeView) {
157
163
  return /*#__PURE__*/_react.default.createElement(MediaInline, {
158
164
  identifier: _this.node.attrs.id,
159
165
  mediaProvider: mediaProvider,
160
- node: _this.node
166
+ node: _this.node,
167
+ isSelected: _this.nodeInsideSelection()
161
168
  });
162
169
  }
163
170
  });
164
171
  }
165
172
  }]);
166
173
  return MediaInlineNodeView;
167
- }(_nodeviews.ReactNodeView);
174
+ }(_nodeviews.SelectionBasedNodeView);
168
175
 
169
176
  exports.MediaInlineNodeView = MediaInlineNodeView;
170
177
 
@@ -453,7 +453,9 @@ var MediaSingleNode = /*#__PURE__*/function (_Component) {
453
453
 
454
454
  var shouldShowPlaceholder = (0, _mediaCommon2.getMediaFeatureFlag)('captions', mediaOptions.featureFlags) && node.childCount !== 2 && isSelected && state.selection instanceof _prosemirrorState.NodeSelection;
455
455
 
456
- var MediaChildren = /*#__PURE__*/_react.default.createElement(_styles.FigureWrapper, null, /*#__PURE__*/_react.default.createElement("div", {
456
+ var MediaChildren = /*#__PURE__*/_react.default.createElement(_styles.FigureWrapper, {
457
+ className: _styles.MediaSingleNodeSelector
458
+ }, /*#__PURE__*/_react.default.createElement("div", {
457
459
  ref: this.props.forwardRef
458
460
  }), shouldShowPlaceholder && /*#__PURE__*/_react.default.createElement(_CaptionPlaceholder.default, {
459
461
  onClick: this.clickPlaceholder
@@ -570,7 +572,7 @@ var MediaSingleNodeView = /*#__PURE__*/function (_ReactNodeView) {
570
572
  }
571
573
  }, {
572
574
  key: "update",
573
- value: function update(node, decorations, isValidUpdate) {
575
+ value: function update(node, decorations, _innerDecorations, isValidUpdate) {
574
576
  var _this3 = this;
575
577
 
576
578
  if (!isValidUpdate) {
@@ -579,7 +581,7 @@ var MediaSingleNodeView = /*#__PURE__*/function (_ReactNodeView) {
579
581
  };
580
582
  }
581
583
 
582
- return (0, _get2.default)((0, _getPrototypeOf2.default)(MediaSingleNodeView.prototype), "update", this).call(this, node, decorations, isValidUpdate);
584
+ return (0, _get2.default)((0, _getPrototypeOf2.default)(MediaSingleNodeView.prototype), "update", this).call(this, node, decorations, _innerDecorations, isValidUpdate);
583
585
  }
584
586
  }, {
585
587
  key: "render",
@@ -640,7 +642,7 @@ var MediaSingleNodeView = /*#__PURE__*/function (_ReactNodeView) {
640
642
  if (offsetLeft !== this.lastOffsetLeft) {
641
643
  this.lastOffsetLeft = offsetLeft;
642
644
  this.forceViewUpdate = true;
643
- this.update(this.node, [], function () {
645
+ this.update(this.node, [], [], function () {
644
646
  return true;
645
647
  });
646
648
  }
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.MediaCardWrapper = exports.FigureWrapper = void 0;
8
+ exports.MediaCardWrapper = exports.FigureWrapper = exports.MediaSingleNodeSelector = exports.MediaInlineNodeSelector = void 0;
9
9
 
10
10
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
11
 
@@ -15,6 +15,11 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
15
15
 
16
16
  var _templateObject, _templateObject2, _templateObject3;
17
17
 
18
+ var MediaInlineNodeSelector = 'media-inline-node';
19
+ exports.MediaInlineNodeSelector = MediaInlineNodeSelector;
20
+ var MediaSingleNodeSelector = 'media-single-node';
21
+ exports.MediaSingleNodeSelector = MediaSingleNodeSelector;
22
+
18
23
  var FigureWrapper = _styledComponents.default.figure(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n margin: 0;\n"])));
19
24
 
20
25
  exports.FigureWrapper = FigureWrapper;
@@ -207,6 +207,8 @@ var AltTextEditComponent = /*#__PURE__*/function (_React$Component) {
207
207
  onClick: this.closeMediaAltTextMenu
208
208
  })), /*#__PURE__*/_react.default.createElement(_PanelTextInput.default, {
209
209
  testId: "alt-text-input",
210
+ ariaLabel: formatMessage(_messages.messages.placeholder),
211
+ describedById: "support-text",
210
212
  placeholder: formatMessage(_messages.messages.placeholder),
211
213
  defaultValue: this.state.lastValue,
212
214
  onCancel: this.dispatchCancelEvent,
@@ -223,7 +225,9 @@ var AltTextEditComponent = /*#__PURE__*/function (_React$Component) {
223
225
  })),
224
226
  tooltipContent: formatMessage(_messages.messages.clear),
225
227
  onClick: this.handleClearText
226
- }))), !!errorsList.length && /*#__PURE__*/_react.default.createElement(ValidationWrapper, null, errorsList), /*#__PURE__*/_react.default.createElement(SupportText, null, formatMessage(_messages.messages.supportText)));
228
+ }))), !!errorsList.length && /*#__PURE__*/_react.default.createElement(ValidationWrapper, null, errorsList), /*#__PURE__*/_react.default.createElement(SupportText, {
229
+ id: "support-text"
230
+ }, formatMessage(_messages.messages.supportText)));
227
231
  }
228
232
  }, {
229
233
  key: "fireAnalytics",
@@ -61,10 +61,22 @@ var _isImage = require("../utils/is-image");
61
61
 
62
62
  var _document = require("../../../utils/document");
63
63
 
64
+ var _mediaCommon2 = require("@atlaskit/media-common");
65
+
66
+ var _utils = require("../../../utils");
67
+
68
+ var _CaptionPlaceholder = require("../ui/CaptionPlaceholder");
69
+
64
70
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
65
71
 
66
72
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
67
73
 
74
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
75
+
76
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
77
+
78
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
79
+
68
80
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
69
81
 
70
82
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
@@ -265,7 +277,7 @@ var MediaPluginStateImplementation = /*#__PURE__*/function () {
265
277
  mediaSingle = _this$view$state$sche.mediaSingle,
266
278
  media = _this$view$state$sche.media;
267
279
 
268
- if ((_this$mediaOptions = _this.mediaOptions) !== null && _this$mediaOptions !== void 0 && _this$mediaOptions.allowMediaInline) {
280
+ if ((0, _mediaCommon2.getMediaFeatureFlag)('mediaInline', (_this$mediaOptions = _this.mediaOptions) === null || _this$mediaOptions === void 0 ? void 0 : _this$mediaOptions.featureFlags)) {
269
281
  return type === mediaSingle || type === media || type === mediaInline;
270
282
  }
271
283
 
@@ -302,7 +314,7 @@ var MediaPluginStateImplementation = /*#__PURE__*/function () {
302
314
 
303
315
  if ((0, _mediaSingle.isMediaSingle)(state.schema, mediaStateWithContext.fileMimeType)) {
304
316
  (0, _mediaSingle.insertMediaSingleNode)(_this.view, mediaStateWithContext, _this.getInputMethod(pickerType), collection, _this.mediaOptions && _this.mediaOptions.alignLeftOnInsert);
305
- } else if ((_this$mediaOptions2 = _this.mediaOptions) !== null && _this$mediaOptions2 !== void 0 && _this$mediaOptions2.allowMediaInline && !(0, _document.isInEmptyLine)(state) && !(0, _mediaCommon.isInsidePotentialEmptyParagraph)(state) && (0, _mediaFiles.canInsertMediaInline)(state)) {
317
+ } else if ((0, _mediaCommon2.getMediaFeatureFlag)('mediaInline', (_this$mediaOptions2 = _this.mediaOptions) === null || _this$mediaOptions2 === void 0 ? void 0 : _this$mediaOptions2.featureFlags) && !(0, _document.isInEmptyLine)(state) && (!(0, _mediaCommon.isInsidePotentialEmptyParagraph)(state) || (0, _utils.isInListItem)(state)) && (0, _mediaFiles.canInsertMediaInline)(state)) {
306
318
  (0, _mediaFiles.insertMediaInlineNode)(_this.view, mediaStateWithContext, collection, _this.getInputMethod(pickerType));
307
319
  } else {
308
320
  (0, _mediaFiles.insertMediaGroupNode)(_this.view, [mediaStateWithContext], collection, _this.getInputMethod(pickerType));
@@ -587,8 +599,6 @@ var MediaPluginStateImplementation = /*#__PURE__*/function () {
587
599
  }, {
588
600
  key: "getDomElement",
589
601
  value: function getDomElement(domAtPos) {
590
- var _this$mediaOptions3;
591
-
592
602
  var selection = this.view.state.selection;
593
603
 
594
604
  if (!(selection instanceof _prosemirrorState.NodeSelection)) {
@@ -599,16 +609,14 @@ var MediaPluginStateImplementation = /*#__PURE__*/function () {
599
609
  return;
600
610
  }
601
611
 
602
- var position = (_this$mediaOptions3 = this.mediaOptions) !== null && _this$mediaOptions3 !== void 0 && _this$mediaOptions3.allowMediaInline ? selection.from + 1 : selection.from;
603
- var node = (0, _prosemirrorUtils.findDomRefAtPos)(position, domAtPos);
612
+ var node = (0, _prosemirrorUtils.findDomRefAtPos)(selection.from, domAtPos);
604
613
 
605
614
  if (node) {
606
615
  if (!node.childNodes.length) {
607
616
  return node.parentNode;
608
617
  }
609
618
 
610
- var target = node.querySelector('figure') || node;
611
- return target;
619
+ return node;
612
620
  }
613
621
 
614
622
  return;
@@ -806,13 +814,31 @@ var createPlugin = function createPlugin(_schema, options, reactContext, dispatc
806
814
  return pluginState;
807
815
  }
808
816
  },
809
- filterTransaction: function filterTransaction(transaction, state) {
810
- // Media node inside mediaSingle should not be selected
811
- // We are relying on plugins/media/nodeviews/mediaNodeView/media.tsx#selectMediaSingleFromCard
812
- // to set selection on correct mediaSingle node,
813
- // We don't use 'appendTransaction' because we would like to avoid have additional transactions
814
- // http://product-fabric.atlassian.net/browse/ED-10091
815
- return !(transaction.selectionSet && (0, _prosemirrorUtils.isNodeSelection)(transaction.selection) && transaction.selection.node.type === state.schema.nodes.media && transaction.selection.$anchor.parent.type === state.schema.nodes.mediaSingle);
817
+ appendTransaction: function appendTransaction(transactions, _oldState, newState) {
818
+ var _iterator = _createForOfIteratorHelper(transactions),
819
+ _step;
820
+
821
+ try {
822
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
823
+ var transaction = _step.value;
824
+ var isSelectionOnMediaInsideMediaSingle = transaction.selectionSet && (0, _prosemirrorUtils.isNodeSelection)(transaction.selection) && transaction.selection.node.type === newState.schema.nodes.media && transaction.selection.$anchor.parent.type === newState.schema.nodes.mediaSingle; // Note: this causes an additional transaction when selecting a media node
825
+ // through clicking on it with the cursor.
826
+
827
+ if (isSelectionOnMediaInsideMediaSingle) {
828
+ // If a selection has been placed on a media inside a media single,
829
+ // we shift it to the media single parent as other code is opinionated about
830
+ // the selection landing there. In particular the caption insertion and selection
831
+ // action.
832
+ return newState.tr.setSelection(_prosemirrorState.NodeSelection.create(newState.doc, transaction.selection.$from.pos - 1));
833
+ }
834
+ }
835
+ } catch (err) {
836
+ _iterator.e(err);
837
+ } finally {
838
+ _iterator.f();
839
+ }
840
+
841
+ return;
816
842
  },
817
843
  key: _pluginKey.stateKey,
818
844
  view: function view(_view) {
@@ -869,6 +895,14 @@ var createPlugin = function createPlugin(_schema, options, reactContext, dispatc
869
895
  handleTextInput: function handleTextInput(view) {
870
896
  getMediaPluginState(view.state).splitMediaGroup();
871
897
  return false;
898
+ },
899
+ handleClick: function handleClick(_editorView, _pos, event) {
900
+ var _parentElement;
901
+
902
+ // Workaround for Chrome given a regression introduced in prosemirror-view@1.18.6
903
+ // Returning true prevents that updateSelection() is getting called in the commit below:
904
+ // @see https://github.com/ProseMirror/prosemirror-view/compare/1.18.5...1.18.6
905
+ return Boolean((_editorCommon.browser.chrome || _editorCommon.browser.safari) && event.target && _CaptionPlaceholder.CAPTION_PLACEHOLDER_ID === ((_parentElement = event.target.parentElement) === null || _parentElement === void 0 ? void 0 : _parentElement.dataset.id));
872
906
  }
873
907
  }
874
908
  });
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.removeInlineCard = exports.changeInlineToMediaCard = void 0;
7
+
8
+ var _prosemirrorState = require("prosemirror-state");
9
+
10
+ var _prosemirrorUtils = require("prosemirror-utils");
11
+
12
+ var changeInlineToMediaCard = function changeInlineToMediaCard(state, dispatch) {
13
+ var _state$schema$nodes = state.schema.nodes,
14
+ media = _state$schema$nodes.media,
15
+ mediaInline = _state$schema$nodes.mediaInline,
16
+ mediaGroup = _state$schema$nodes.mediaGroup;
17
+ var selectedNode = state.selection instanceof _prosemirrorState.NodeSelection && state.selection.node.type === mediaInline && state.selection.node;
18
+
19
+ if (!selectedNode) {
20
+ return false;
21
+ }
22
+
23
+ var _selectedNode$attrs = selectedNode.attrs,
24
+ id = _selectedNode$attrs.id,
25
+ type = _selectedNode$attrs.type,
26
+ collection = _selectedNode$attrs.collection;
27
+ var mediaNode = media.createChecked({
28
+ id: id,
29
+ type: type,
30
+ collection: collection
31
+ });
32
+ var group = mediaGroup.createChecked({}, mediaNode);
33
+ var nodePos = state.tr.doc.resolve(state.selection.from).end();
34
+ var tr = state.tr;
35
+ tr = (0, _prosemirrorUtils.removeSelectedNode)(tr);
36
+ tr = (0, _prosemirrorUtils.safeInsert)(group, nodePos, true)(tr);
37
+
38
+ if (dispatch) {
39
+ dispatch(tr);
40
+ }
41
+
42
+ return true;
43
+ };
44
+
45
+ exports.changeInlineToMediaCard = changeInlineToMediaCard;
46
+
47
+ var removeInlineCard = function removeInlineCard(state, dispatch) {
48
+ if ((0, _prosemirrorUtils.isNodeSelection)(state.selection)) {
49
+ if (dispatch) {
50
+ dispatch((0, _prosemirrorUtils.removeSelectedNode)(state.tr));
51
+ }
52
+
53
+ return true;
54
+ }
55
+
56
+ return false;
57
+ };
58
+
59
+ exports.removeInlineCard = removeInlineCard;
@@ -17,6 +17,8 @@ var _reactDom = _interopRequireDefault(require("react-dom"));
17
17
 
18
18
  var _mediaViewer = require("@atlaskit/media-viewer");
19
19
 
20
+ var _mediaUi = require("@atlaskit/media-ui");
21
+
20
22
  var _filePreview = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/file-preview"));
21
23
 
22
24
  var _Button = _interopRequireDefault(require("../../floating-toolbar/ui/Button"));
@@ -28,7 +30,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
28
30
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
31
 
30
32
  var FilePreviewItem = function FilePreviewItem(_ref) {
31
- var mediaPluginState = _ref.mediaPluginState;
33
+ var mediaPluginState = _ref.mediaPluginState,
34
+ intl = _ref.intl;
32
35
 
33
36
  var _useState = (0, _react.useState)(false),
34
37
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -73,13 +76,15 @@ var FilePreviewItem = function FilePreviewItem(_ref) {
73
76
  };
74
77
 
75
78
  var mediaViewer = renderMediaViewer();
79
+ var tooltipContent = intl.formatMessage(_mediaUi.messages.preview);
76
80
  return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Button.default, {
77
81
  testId: "file-preview-toolbar-button",
78
82
  key: "editor.media.card.preview",
79
83
  onClick: openMediaViewer,
80
84
  icon: /*#__PURE__*/_react.default.createElement(_filePreview.default, {
81
85
  label: "file preview"
82
- })
86
+ }),
87
+ tooltipContent: tooltipContent
83
88
  }), mediaViewer);
84
89
  };
85
90