@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
@@ -10,10 +10,13 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
10
10
 
11
11
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
12
12
 
13
+ /** @jsx jsx */
13
14
  import React from 'react';
15
+ import { jsx } from '@emotion/core';
16
+ import Button from '@atlaskit/button/standard-button';
14
17
  import { defineMessages, injectIntl } from 'react-intl';
15
18
  import Textfield from '@atlaskit/textfield';
16
- import { SectionWrapper, ReplaceSectionButton } from './styles';
19
+ import { sectionWrapperStyles, replaceSectionButtonStyles } from './styles';
17
20
  import { EVENT_TYPE, ACTION, ACTION_SUBJECT, TRIGGER_METHOD } from '../../analytics/types';
18
21
  var messages = defineMessages({
19
22
  replaceWith: {
@@ -158,7 +161,9 @@ var Replace = /*#__PURE__*/function (_React$PureComponent) {
158
161
  value: function render() {
159
162
  var replaceText = this.state.replaceText;
160
163
  var canReplace = this.props.canReplace;
161
- return /*#__PURE__*/React.createElement(SectionWrapper, null, /*#__PURE__*/React.createElement(Textfield, {
164
+ return jsx("div", {
165
+ css: sectionWrapperStyles
166
+ }, jsx(Textfield, {
162
167
  name: "replace",
163
168
  appearance: "none",
164
169
  placeholder: this.replaceWith,
@@ -169,11 +174,13 @@ var Replace = /*#__PURE__*/function (_React$PureComponent) {
169
174
  onKeyDown: this.handleReplaceKeyDown,
170
175
  onCompositionStart: this.handleCompositionStart,
171
176
  onCompositionEnd: this.handleCompositionEnd
172
- }), /*#__PURE__*/React.createElement(ReplaceSectionButton, {
177
+ }), jsx(Button, {
178
+ css: replaceSectionButtonStyles,
173
179
  testId: this.replace,
174
180
  onClick: this.handleReplaceClick,
175
181
  isDisabled: !canReplace
176
- }, this.replace), /*#__PURE__*/React.createElement(ReplaceSectionButton, {
182
+ }, this.replace), jsx(Button, {
183
+ css: replaceSectionButtonStyles,
177
184
  testId: this.replaceAll,
178
185
  onClick: this.handleReplaceAllClick,
179
186
  isDisabled: !canReplace
@@ -1,19 +1,40 @@
1
- import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
-
3
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
4
-
5
- import React from 'react';
6
- import styled from 'styled-components';
1
+ /** @jsx jsx */
2
+ import { css } from '@emotion/core';
7
3
  import { N60, N30A } from '@atlaskit/theme/colors';
8
- import Button from '@atlaskit/button/standard-button';
9
- import { relativeFontSizeToBase16 } from '@atlaskit/editor-shared-styles'; // This is a workaround because React.memo does not play well with styled-components
10
-
11
- function StyledComponentsButton(props) {
12
- return /*#__PURE__*/React.createElement(Button, props);
13
- }
14
-
15
- export var ReplaceSectionButton = styled(StyledComponentsButton)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n /* increase specificity to override default Button styles */\n && {\n margin-left: 4px;\n }\n"])));
16
- export var Rule = styled.hr(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n width: 100%;\n border: none;\n background-color: ", ";\n margin: 4px 0px;\n height: 1px;\n border-radius: 1px;\n"])), N30A);
17
- export var Wrapper = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n > *:not(", ") {\n margin: 0px 4px;\n }\n"])), Rule);
18
- export var SectionWrapper = styled.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n\n > * {\n flex: 0 0 auto;\n display: inline-flex;\n height: 32px;\n }\n"])));
19
- export var Count = styled.span(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n color: ", ";\n font-size: ", ";\n flex: 0 0 auto;\n justify-content: center;\n align-items: center;\n margin-left: 4px;\n margin-right: 8px;\n"])), N60, relativeFontSizeToBase16(12));
4
+ import { relativeFontSizeToBase16 } from '@atlaskit/editor-shared-styles';
5
+ export var replaceSectionButtonStyles = css({
6
+ marginLeft: '4px'
7
+ });
8
+ export var ruleStyles = css({
9
+ width: '100%',
10
+ border: 'none',
11
+ backgroundColor: "".concat(N30A),
12
+ margin: '4px 0px',
13
+ height: '1px',
14
+ borderRadius: '1px'
15
+ });
16
+ export var wrapperStyles = css({
17
+ display: 'flex',
18
+ flexDirection: 'column',
19
+ '> *:not(#replace-hr-element)': {
20
+ margin: '0px 4px'
21
+ }
22
+ });
23
+ export var sectionWrapperStyles = css({
24
+ display: 'flex',
25
+ alignItems: 'column',
26
+ '> *': {
27
+ display: 'inline-flex',
28
+ height: '32px',
29
+ flex: '0 0 auto'
30
+ }
31
+ });
32
+ export var countStyles = css({
33
+ color: "".concat(N60),
34
+ fontSize: "".concat(relativeFontSizeToBase16(12)),
35
+ flex: '0 0 auto',
36
+ justifyContent: 'center',
37
+ alignItems: 'center',
38
+ marginLeft: '4px',
39
+ marginRight: '8px'
40
+ });
@@ -16,7 +16,8 @@ import React from 'react';
16
16
  import { Component } from 'react';
17
17
  import styled, { ThemeProvider } from 'styled-components';
18
18
  import { gridSize } from '@atlaskit/theme/constants';
19
- import { B400 } from '@atlaskit/theme/colors';
19
+ import { B400 } from '@atlaskit/theme/colors'; // eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports
20
+
20
21
  import Item, { itemThemeNamespace } from '@atlaskit/item';
21
22
  import EditorDoneIcon from '@atlaskit/icon/glyph/editor/done';
22
23
  import Tooltip from '@atlaskit/tooltip';
@@ -1,7 +1,7 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
2
  import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
3
3
 
4
- var _templateObject;
4
+ var _templateObject, _templateObject2;
5
5
 
6
6
  import React from 'react';
7
7
  import styled from 'styled-components';
@@ -11,7 +11,11 @@ import { EmojiPicker } from '@atlaskit/emoji';
11
11
  import Tooltip from '@atlaskit/tooltip';
12
12
  import EditorEmojiAddIcon from './EditorEmojiAddIcon'; // helps adjusts position of popup
13
13
 
14
- var EmojiPickerButtonWrapper = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: relative;\n"])));
14
+ var EmojiPickerButtonWrapper = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: relative;\n"]))); // helps to vertically align emoji picker
15
+ // both top and bottom margin should be 2px
16
+ // https://product-fabric.atlassian.net/browse/CETI-148
17
+
18
+ var EmojiPickerWrapper = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n margin-bottom: -12px;\n margin-top: -4px;\n"])));
15
19
  export var EmojiPickerButton = function EmojiPickerButton(props) {
16
20
  var buttonRef = React.useRef(null);
17
21
 
@@ -28,6 +32,7 @@ export var EmojiPickerButton = function EmojiPickerButton(props) {
28
32
 
29
33
  var updateEmoji = function updateEmoji(emoji) {
30
34
  setIsPopupOpen(false);
35
+ props.editorView && props.editorView.focus();
31
36
  props.onChange && props.onChange(emoji);
32
37
  };
33
38
 
@@ -55,11 +60,11 @@ export var EmojiPickerButton = function EmojiPickerButton(props) {
55
60
  fitHeight: 350,
56
61
  fitWidth: 350,
57
62
  offset: [0, 10]
58
- }, /*#__PURE__*/React.createElement(WithProviders, {
63
+ }, /*#__PURE__*/React.createElement(EmojiPickerWrapper, null, /*#__PURE__*/React.createElement(WithProviders, {
59
64
  providers: ['emojiProvider'],
60
65
  providerFactory: props.providerFactory,
61
66
  renderNode: renderPicker
62
- }));
67
+ })));
63
68
  };
64
69
 
65
70
  var title = props.title || '';
@@ -267,7 +267,7 @@ var Toolbar = /*#__PURE__*/function (_Component) {
267
267
  if (item.selectType === 'emoji') {
268
268
  return /*#__PURE__*/React.createElement(EmojiPickerButton, {
269
269
  key: idx,
270
- view: editorView,
270
+ editorView: editorView,
271
271
  title: item.title,
272
272
  providerFactory: providerFactory,
273
273
  isSelected: item.selected,
@@ -0,0 +1,22 @@
1
+ import { fragment } from '@atlaskit/adf-schema';
2
+ import { Plugin } from 'prosemirror-state';
3
+ import { pluginKey } from './plugin-key';
4
+ export function createPlugin() {
5
+ return new Plugin({
6
+ key: pluginKey
7
+ });
8
+ }
9
+
10
+ var fragmentMarkPlugin = function fragmentMarkPlugin() {
11
+ return {
12
+ name: 'fragmentPlugin',
13
+ marks: function marks() {
14
+ return [{
15
+ name: 'fragment',
16
+ mark: fragment
17
+ }];
18
+ }
19
+ };
20
+ };
21
+
22
+ export default fragmentMarkPlugin;
@@ -0,0 +1,2 @@
1
+ import { PluginKey } from 'prosemirror-state';
2
+ export var pluginKey = new PluginKey('fragmentMarkPlugin');
@@ -22,7 +22,7 @@ import { isSafeUrl } from '@atlaskit/adf-schema';
22
22
  import CrossCircleIcon from '@atlaskit/icon/glyph/cross-circle';
23
23
  import EditorAlignLeftIcon from '@atlaskit/icon/glyph/editor/align-left';
24
24
  import LinkIcon from '@atlaskit/icon/glyph/link';
25
- import { N80, N30 } from '@atlaskit/theme/colors';
25
+ import { N90, N80, N30 } from '@atlaskit/theme/colors';
26
26
  import Page16Icon from '@atlaskit/icon-object/glyph/page/16';
27
27
  import Tooltip from '@atlaskit/tooltip';
28
28
  import { PureComponent } from 'react';
@@ -42,7 +42,7 @@ import { hideLinkToolbar } from '../../commands';
42
42
  import { hideLinkToolbar as cardHideLinkToolbar } from '../../../card/pm-plugins/actions';
43
43
  import { ScreenReaderText } from '../../styles';
44
44
  export var RECENT_SEARCH_LIST_SIZE = 5;
45
- var ClearText = styled.span(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n cursor: pointer;\n padding-right: 8px;\n color: ", ";\n"])), N80);
45
+ var ClearText = styled.span(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n cursor: pointer;\n padding-right: 8px;\n color: ", ";\n"])), N90);
46
46
  var TextInputWrapper = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n ", ";\n border-top: 1px solid ", ";\n border-bottom: 1px solid ", ";\n"])), InputWrapper, N30, N30);
47
47
  var IconWrapper = styled.span(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n color: ", ";\n padding: 4px 8px;\n width: 18px;\n"])), N80);
48
48
  export var messages = defineMessages({
@@ -42,6 +42,7 @@ export { default as breakoutPlugin } from './breakout';
42
42
  export { default as alignmentPlugin } from './alignment';
43
43
  export { default as dataConsumerMarkPlugin } from './data-consumer';
44
44
  export { default as editorDisabledPlugin } from './editor-disabled';
45
+ export { default as fragmentMarkPlugin } from './fragment';
45
46
  export { default as indentationPlugin } from './indentation';
46
47
  export { default as annotationPlugin } from './annotation';
47
48
  export { default as analyticsPlugin } from './analytics';
@@ -61,4 +62,5 @@ export { default as clipboardPlugin } from './clipboard';
61
62
  export { default as undoRedoPlugin } from './undo-redo';
62
63
  export { default as avatarGroupPlugin } from './avatar-group';
63
64
  export { default as viewUpdateSubscriptionPlugin } from './view-update-subscription';
65
+ export { default as beforePrimaryToolbarPlugin } from './before-primaryToolbar';
64
66
  export { default as codeBidiWarningPlugin } from './code-bidi-warning';
@@ -4,6 +4,7 @@ import { findWrapping } from 'prosemirror-transform';
4
4
  import { findParentNodeClosestToPos } from 'prosemirror-utils';
5
5
  import { isListNode, joinSiblingLists } from '../utils/node';
6
6
  import { isEmptyParagraph } from '../../../utils';
7
+ import { findFirstParentListNode } from '../utils/find';
7
8
  export function convertListType(_ref) {
8
9
  var tr = _ref.tr,
9
10
  nextListNodeType = _ref.nextListNodeType;
@@ -29,84 +30,50 @@ export function convertListType(_ref) {
29
30
  var parentNode = nodeRangeAroundList.parent;
30
31
  var startIndex = nodeRangeAroundList.startIndex,
31
32
  endIndex = nodeRangeAroundList.endIndex,
32
- depth = nodeRangeAroundList.depth;
33
- var before = {
34
- from: !isListNode(parentNode.child(startIndex)) ? // @ts-ignore
35
- doc.resolve(nodeRangeAroundList.$from.posAtIndex(startIndex, depth) + 1) : null,
36
- to: null
37
- };
38
- var after = {
39
- from: null,
40
- to: !isListNode(parentNode.child(endIndex - 1)) ? doc.resolve( // @ts-ignore
41
- nodeRangeAroundList.$from.posAtIndex(endIndex - 1, depth) + 1) : null
42
- };
43
- var isListNodeFound = false;
44
- var firstEmptyParagraphAfterListFound = false;
45
-
46
- for (var i = startIndex; i < endIndex; i++) {
47
- // @ts-ignore posAtIndex is a public API but has no type yet
48
- var position = nodeRangeAroundList.$from.posAtIndex(i, depth);
49
- var resolvedPosition = doc.resolve(position);
50
-
51
- if (isEmptyParagraph(parentNode.child(i)) && !isListNodeFound) {
52
- before.from = doc.resolve( // @ts-ignore posAtIndex is a public API but has no type yet
53
- nodeRangeAroundList.$from.posAtIndex(i, depth) + 2);
54
- }
55
-
56
- if (isEmptyParagraph(parentNode.child(i)) && isListNodeFound && !firstEmptyParagraphAfterListFound) {
57
- after.to = resolvedPosition;
58
- firstEmptyParagraphAfterListFound = true;
59
- }
60
-
61
- if (!isListNode(parentNode.child(i)) && !isListNodeFound) {
62
- before.to = doc.resolve(resolvedPosition.pos + 1);
63
- } else if (!isListNodeFound) {
64
- isListNodeFound = true;
65
- var endNodePosition = doc.resolve(resolvedPosition.pos + 1).end() + 1;
66
-
67
- if (doc.resolve(endNodePosition).nodeAfter) {
68
- after.from = doc.resolve(endNodePosition + 1);
33
+ depth = nodeRangeAroundList.depth; // Checking for invalid nodes to prevent conversion
34
+ // eg. a panel cannot be wrapped in a list so return
35
+ // It will skip this check if the selection begins within a list
36
+ // This is to match the behaviour of the toolbar buttons being disabled
37
+
38
+ if (!findFirstParentListNode($from)) {
39
+ for (var i = startIndex; i < endIndex; i++) {
40
+ var position = nodeRangeAroundList.$from.posAtIndex(i, depth);
41
+ var resolvedPosition = doc.resolve(position);
42
+ var currentChild = parentNode.child(i);
43
+ var currentNodeRange = resolvedPosition.blockRange(tr.doc.resolve(position + currentChild.nodeSize));
44
+
45
+ if (currentNodeRange && !isListNode(currentChild) && !findWrapping(currentNodeRange, nextListNodeType)) {
46
+ return;
69
47
  }
70
48
  }
71
- }
72
-
73
- var beforeConversionArgs, beforeRange, afterConversionArgs, afterRange;
74
-
75
- if (after.from && after.to) {
76
- var mappedFrom = tr.mapping.map(after.from.pos);
77
- var mappedTo = tr.mapping.map(after.to.pos);
78
- afterRange = new NodeRange(tr.doc.resolve(mappedFrom), tr.doc.resolve(mappedTo), nodeRangeAroundList.depth);
79
- afterConversionArgs = {
80
- tr: tr,
81
- nextListNodeType: nextListNodeType,
82
- nodeRange: afterRange
83
- };
84
- }
49
+ } // Checking for any non list nodes and wrapping them in a list
50
+ // so they can be converted
85
51
 
86
- if (before.from && before.to) {
87
- var _mappedFrom = tr.mapping.map(before.from.pos);
88
52
 
89
- var _mappedTo = tr.mapping.map(before.to.pos);
53
+ tr.doc.nodesBetween(nodeRangeAroundList.start, nodeRangeAroundList.end, function (node, pos) {
54
+ // Skip over any nodes that are part of a list
55
+ if (findFirstParentListNode(tr.doc.resolve(tr.mapping.map(pos)))) {
56
+ return false;
57
+ } // The following applies to suitable nodes that are not within a list
90
58
 
91
- beforeRange = new NodeRange(tr.doc.resolve(_mappedFrom), tr.doc.resolve(_mappedTo), nodeRangeAroundList.depth);
92
- beforeConversionArgs = {
93
- tr: tr,
94
- nextListNodeType: nextListNodeType,
95
- nodeRange: beforeRange
96
- };
97
- }
98
59
 
99
- if (!afterRange && !beforeRange || afterRange && !findWrapping(afterRange, nextListNodeType) || beforeRange && !findWrapping(beforeRange, nextListNodeType)) {
100
- return;
101
- }
60
+ var currentNodeNotWrappedInList = node;
61
+ var isNotAnEmptyParagraphAndIsParagraphOrLeafNode = !isEmptyParagraph(currentNodeNotWrappedInList) && (!node.type.isBlock || node.type.name === 'paragraph');
102
62
 
103
- if (afterConversionArgs) {
104
- convertAroundList(afterConversionArgs);
105
- }
106
-
107
- if (beforeConversionArgs) {
108
- convertAroundList(beforeConversionArgs);
109
- }
63
+ if (isNotAnEmptyParagraphAndIsParagraphOrLeafNode) {
64
+ var remainingNodeRange = new NodeRange(tr.doc.resolve(tr.mapping.map(pos)), tr.doc.resolve(tr.mapping.map(pos) + currentNodeNotWrappedInList.nodeSize), nodeRangeAroundList.depth);
65
+ convertAroundList({
66
+ tr: tr,
67
+ nextListNodeType: nextListNodeType,
68
+ nodeRange: remainingNodeRange
69
+ });
70
+ return false;
71
+ }
72
+ });
73
+ convertSelectedList({
74
+ tr: tr,
75
+ nextListNodeType: nextListNodeType
76
+ });
110
77
 
111
78
  if (tr.docChanged) {
112
79
  joinSiblingLists({
@@ -194,11 +194,17 @@ var extractListFromParagraph = function extractListFromParagraph(node, parent, s
194
194
  } // Return false to prevent replaceWith from wrapping the text node in a paragraph
195
195
  // paragraph since that will be done later. If it's done here, it will fail
196
196
  // the paragraph.validContent check.
197
+ // Dont return false if there are lists, as they arent validContent for paragraphs
198
+ // and will result in hanging textNodes
197
199
 
198
200
 
201
+ var containsList = listified.some(function (node) {
202
+ return node.type === bulletList || node.type === orderedList;
203
+ });
204
+
199
205
  if (listified.some(function (node) {
200
206
  return node.isText;
201
- })) {
207
+ }) && !containsList) {
202
208
  return false;
203
209
  }
204
210
 
@@ -33,11 +33,10 @@ var mediaPlugin = function mediaPlugin(options) {
33
33
  allowMediaGroup = _ref$allowMediaGroup === void 0 ? true : _ref$allowMediaGroup,
34
34
  _ref$allowMediaSingle = _ref.allowMediaSingle,
35
35
  allowMediaSingle = _ref$allowMediaSingle === void 0 ? false : _ref$allowMediaSingle,
36
- _ref$allowMediaInline = _ref.allowMediaInline,
37
- allowMediaInline = _ref$allowMediaInline === void 0 ? false : _ref$allowMediaInline,
38
36
  featureFlags = _ref.featureFlags;
39
37
 
40
38
  var captions = getMediaFeatureFlag('captions', featureFlags);
39
+ var allowMediaInline = getMediaFeatureFlag('mediaInline', featureFlags);
41
40
  var mediaSingleNode = captions ? mediaSingleWithCaption : mediaSingle;
42
41
  return [{
43
42
  name: 'mediaGroup',
@@ -229,7 +228,7 @@ var mediaPlugin = function mediaPlugin(options) {
229
228
  floatingToolbar: function floatingToolbar(state, intl, providerFactory) {
230
229
  return _floatingToolbar(state, intl, {
231
230
  providerFactory: providerFactory,
232
- allowMediaInline: options && options.allowMediaInline,
231
+ allowMediaInline: options && getMediaFeatureFlag('mediaInline', options.featureFlags),
233
232
  allowResizing: options && options.allowResizing,
234
233
  allowResizingInTables: options && options.allowResizingInTables,
235
234
  allowAnnotation: options && options.allowAnnotation,
@@ -28,6 +28,7 @@ import { isNodeSelectedOrInRange, SelectedState } from '../../../utils/nodes';
28
28
  import { pluginKey as editorDisabledPluginKey } from '../../editor-disabled';
29
29
  import { stateKey as mediaStateKey } from '../pm-plugins/plugin-key';
30
30
  import { MediaNodeUpdater } from './mediaNodeUpdater';
31
+ import { getMediaFeatureFlag } from '@atlaskit/media-common';
31
32
 
32
33
  var isMediaGroupSelectedFromProps = function isMediaGroupSelectedFromProps(props) {
33
34
  return isNodeSelectedOrInRange(props.anchorPos, props.headPos, props.getPos(), props.node.nodeSize);
@@ -160,7 +161,7 @@ var MediaGroup = /*#__PURE__*/function (_React$Component) {
160
161
  onClick: function onClick() {
161
162
  setNodeSelection(_this.props.view, getNodePos());
162
163
  }
163
- }, mediaInlineOptions(mediaOptions.allowMediaInline));
164
+ }, mediaInlineOptions(getMediaFeatureFlag('mediaInline', mediaOptions.featureFlags)));
164
165
  });
165
166
 
166
167
  return /*#__PURE__*/React.createElement(Filmstrip, {
@@ -1,5 +1,6 @@
1
1
  import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
2
  import _createClass from "@babel/runtime/helpers/createClass";
3
+ import _get from "@babel/runtime/helpers/get";
3
4
  import _inherits from "@babel/runtime/helpers/inherits";
4
5
  import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
5
6
  import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
@@ -12,9 +13,10 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
12
13
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
13
14
 
14
15
  import React, { useEffect, useState } from 'react';
15
- import { ReactNodeView } from '../../../nodeviews/';
16
+ import { SelectionBasedNodeView } from '../../../nodeviews/';
16
17
  import { MediaInlineCard } from '@atlaskit/media-card';
17
18
  import { WithProviders } from '@atlaskit/editor-common';
19
+ import { MediaInlineNodeSelector } from './styles';
18
20
  export var MediaInline = function MediaInline(props) {
19
21
  var _useState = useState({}),
20
22
  _useState2 = _slicedToArray(_useState, 2),
@@ -66,12 +68,13 @@ export var MediaInline = function MediaInline(props) {
66
68
  collectionName: collection
67
69
  };
68
70
  return /*#__PURE__*/React.createElement(MediaInlineCard, {
71
+ isSelected: props.isSelected,
69
72
  identifier: identifier,
70
73
  mediaClientConfig: viewMediaClientConfig
71
74
  });
72
75
  };
73
- export var MediaInlineNodeView = /*#__PURE__*/function (_ReactNodeView) {
74
- _inherits(MediaInlineNodeView, _ReactNodeView);
76
+ export var MediaInlineNodeView = /*#__PURE__*/function (_SelectionBasedNodeVi) {
77
+ _inherits(MediaInlineNodeView, _SelectionBasedNodeVi);
75
78
 
76
79
  var _super = _createSuper(MediaInlineNodeView);
77
80
 
@@ -86,6 +89,7 @@ export var MediaInlineNodeView = /*#__PURE__*/function (_ReactNodeView) {
86
89
  value: function createDomRef() {
87
90
  var domRef = document.createElement('span');
88
91
  domRef.contentEditable = 'false';
92
+ domRef.classList.add(MediaInlineNodeSelector);
89
93
  return domRef;
90
94
  }
91
95
  }, {
@@ -108,7 +112,7 @@ export var MediaInlineNodeView = /*#__PURE__*/function (_ReactNodeView) {
108
112
  return true;
109
113
  }
110
114
 
111
- return false;
115
+ return _get(_getPrototypeOf(MediaInlineNodeView.prototype), "viewShouldUpdate", this).call(this, nextNode);
112
116
  }
113
117
  }, {
114
118
  key: "render",
@@ -129,7 +133,8 @@ export var MediaInlineNodeView = /*#__PURE__*/function (_ReactNodeView) {
129
133
  return /*#__PURE__*/React.createElement(MediaInline, {
130
134
  identifier: _this.node.attrs.id,
131
135
  mediaProvider: mediaProvider,
132
- node: _this.node
136
+ node: _this.node,
137
+ isSelected: _this.nodeInsideSelection()
133
138
  });
134
139
  }
135
140
  });
@@ -137,7 +142,7 @@ export var MediaInlineNodeView = /*#__PURE__*/function (_ReactNodeView) {
137
142
  }]);
138
143
 
139
144
  return MediaInlineNodeView;
140
- }(ReactNodeView);
145
+ }(SelectionBasedNodeView);
141
146
  export var ReactMediaInlineNode = function ReactMediaInlineNode(portalProviderAPI, eventDispatcher, providerFactory) {
142
147
  return function (node, view, getPos) {
143
148
  return new MediaInlineNodeView(node, view, getPos, portalProviderAPI, eventDispatcher, {
@@ -31,7 +31,7 @@ import { stateKey as mediaPluginKey } from '../pm-plugins/main';
31
31
  import { MediaNodeUpdater } from './mediaNodeUpdater';
32
32
  import { findParentNodeOfTypeClosestToPos } from 'prosemirror-utils';
33
33
  import { CellSelection } from '@atlaskit/editor-tables/cell-selection';
34
- import { FigureWrapper } from './styles';
34
+ import { FigureWrapper, MediaSingleNodeSelector } from './styles';
35
35
  import { floatingLayouts, isRichMediaInsideOfBlockNode } from '../../../utils/rich-media-utils';
36
36
  import { getAttrsFromUrl } from '@atlaskit/media-client';
37
37
  import { isMediaBlobUrlFromAttrs } from '../utils/media-common';
@@ -416,7 +416,9 @@ var MediaSingleNode = /*#__PURE__*/function (_Component) {
416
416
  var lineLength = this.getLineLength(view, getPos()) || this.props.lineLength;
417
417
  var isSelected = selected();
418
418
  var shouldShowPlaceholder = getMediaFeatureFlag('captions', mediaOptions.featureFlags) && node.childCount !== 2 && isSelected && state.selection instanceof NodeSelection;
419
- var MediaChildren = /*#__PURE__*/React.createElement(FigureWrapper, null, /*#__PURE__*/React.createElement("div", {
419
+ var MediaChildren = /*#__PURE__*/React.createElement(FigureWrapper, {
420
+ className: MediaSingleNodeSelector
421
+ }, /*#__PURE__*/React.createElement("div", {
420
422
  ref: this.props.forwardRef
421
423
  }), shouldShowPlaceholder && /*#__PURE__*/React.createElement(CaptionPlaceholder, {
422
424
  onClick: this.clickPlaceholder
@@ -541,7 +543,7 @@ var MediaSingleNodeView = /*#__PURE__*/function (_ReactNodeView) {
541
543
  }
542
544
  }, {
543
545
  key: "update",
544
- value: function update(node, decorations, isValidUpdate) {
546
+ value: function update(node, decorations, _innerDecorations, isValidUpdate) {
545
547
  var _this3 = this;
546
548
 
547
549
  if (!isValidUpdate) {
@@ -550,7 +552,7 @@ var MediaSingleNodeView = /*#__PURE__*/function (_ReactNodeView) {
550
552
  };
551
553
  }
552
554
 
553
- return _get(_getPrototypeOf(MediaSingleNodeView.prototype), "update", this).call(this, node, decorations, isValidUpdate);
555
+ return _get(_getPrototypeOf(MediaSingleNodeView.prototype), "update", this).call(this, node, decorations, _innerDecorations, isValidUpdate);
554
556
  }
555
557
  }, {
556
558
  key: "render",
@@ -611,7 +613,7 @@ var MediaSingleNodeView = /*#__PURE__*/function (_ReactNodeView) {
611
613
  if (offsetLeft !== this.lastOffsetLeft) {
612
614
  this.lastOffsetLeft = offsetLeft;
613
615
  this.forceViewUpdate = true;
614
- this.update(this.node, [], function () {
616
+ this.update(this.node, [], [], function () {
615
617
  return true;
616
618
  });
617
619
  }
@@ -4,6 +4,8 @@ var _templateObject, _templateObject2, _templateObject3;
4
4
 
5
5
  import React from 'react';
6
6
  import styled from 'styled-components';
7
+ export var MediaInlineNodeSelector = 'media-inline-node';
8
+ export var MediaSingleNodeSelector = 'media-single-node';
7
9
  export var FigureWrapper = styled.figure(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n margin: 0;\n"])));
8
10
  FigureWrapper.displayName = 'FigureWrapper';
9
11
  var AbsoluteDiv = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n position: absolute;\n width: 100%;\n height: 100%;\n"])));
@@ -168,6 +168,8 @@ export var AltTextEditComponent = /*#__PURE__*/function (_React$Component) {
168
168
  onClick: this.closeMediaAltTextMenu
169
169
  })), /*#__PURE__*/React.createElement(PanelTextInput, {
170
170
  testId: "alt-text-input",
171
+ ariaLabel: formatMessage(messages.placeholder),
172
+ describedById: "support-text",
171
173
  placeholder: formatMessage(messages.placeholder),
172
174
  defaultValue: this.state.lastValue,
173
175
  onCancel: this.dispatchCancelEvent,
@@ -184,7 +186,9 @@ export var AltTextEditComponent = /*#__PURE__*/function (_React$Component) {
184
186
  })),
185
187
  tooltipContent: formatMessage(messages.clear),
186
188
  onClick: this.handleClearText
187
- }))), !!errorsList.length && /*#__PURE__*/React.createElement(ValidationWrapper, null, errorsList), /*#__PURE__*/React.createElement(SupportText, null, formatMessage(messages.supportText)));
189
+ }))), !!errorsList.length && /*#__PURE__*/React.createElement(ValidationWrapper, null, errorsList), /*#__PURE__*/React.createElement(SupportText, {
190
+ id: "support-text"
191
+ }, formatMessage(messages.supportText)));
188
192
  }
189
193
  }, {
190
194
  key: "fireAnalytics",