@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
package/CHANGELOG.md CHANGED
@@ -1,5 +1,113 @@
1
1
  # @atlaskit/editor-core
2
2
 
3
+ ## 152.0.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [`977f778e630`](https://bitbucket.org/atlassian/atlassian-frontend/commits/977f778e630) - Add action elements to paste allowlist
8
+
9
+ ## 152.0.0
10
+
11
+ ### Major Changes
12
+
13
+ - [`3a2a5e14fdc`](https://bitbucket.org/atlassian/atlassian-frontend/commits/3a2a5e14fdc) - As we are moving to full schema, merged the customPanel nodeSpec with panel nodeSpec
14
+ - [`0cf5fa82add`](https://bitbucket.org/atlassian/atlassian-frontend/commits/0cf5fa82add) - CETI-20 Rename custom panel FF from `UNSAFE_allowCustomPanel` to `allowCustomPanel`
15
+ - [`fd675db8754`](https://bitbucket.org/atlassian/atlassian-frontend/commits/fd675db8754) - [ux] ED-13100: added GroupedField.hasGroupedValues and enable parameter flattening for expand/tab-group/tab fields in config panels. The default value of `GroupedField.hasGroupedValues` is `False`, which will flatten data structures. Set `GroupedField.hasGroupedValues` to `True` on all tab-group/tab/expand fields if you wish to retain existing behaviour.
16
+
17
+ This change has several parts to ensure the correctness of serialize(), deserialize(), GroupedField.hasGroupedValues and BaseFieldDefinition.allowDuplicates
18
+
19
+ - Introduced GroupedField.hasGroupedValues which allows expand/tabgroup/tab to store the value of its fields by the name of the expand/tabgroup/tab if hasGroupedValues=True (False by default)
20
+ - Fixed a type safety issue with Parameters and ParametersWithDuplicateFields where Typescript would consider the types Parameters = Parameters[] (resolves some inconsistencies in the editor code and extensions)
21
+ - Restrict allowDuplicates so it only works within Fieldset as originally intended
22
+ - serialize() now populates `Field.defaultValue` as expected
23
+
24
+ - [`01a41e75803`](https://bitbucket.org/atlassian/atlassian-frontend/commits/01a41e75803) - Removes `allowMediaInline` media prop and replaces with Inline Files feature flag for editor and mobile bridge
25
+
26
+ ### Minor Changes
27
+
28
+ - [`65a541166fe`](https://bitbucket.org/atlassian/atlassian-frontend/commits/65a541166fe) - ED-13766 fix pm node spec for media single with caption
29
+ - [`d32688fd0aa`](https://bitbucket.org/atlassian/atlassian-frontend/commits/d32688fd0aa) - [ux] CETI-138 Colour picker border size is not consistent with table colour picker
30
+ - [`42ecbc9358e`](https://bitbucket.org/atlassian/atlassian-frontend/commits/42ecbc9358e) - [ux] CERN-1124 When feature flag `twoLineEditorToolbar` is on, show editor toolbar in two lines when viewport is small.
31
+ - [`7ad1c5a4243`](https://bitbucket.org/atlassian/atlassian-frontend/commits/7ad1c5a4243) - CETI-131 Enabled remove emoji button for standard panels
32
+ - [`23514411f27`](https://bitbucket.org/atlassian/atlassian-frontend/commits/23514411f27) - CETI-134 added support to render dark colors for the custom panels in the dark mode
33
+ - [`42c7ac64c39`](https://bitbucket.org/atlassian/atlassian-frontend/commits/42c7ac64c39) - AK-654 Set a status link label with input
34
+ - [`e81dd06a8a0`](https://bitbucket.org/atlassian/atlassian-frontend/commits/e81dd06a8a0) - CETI-158 Use large productivity icons when changing standard panel background colour
35
+ - [`8581ed429dd`](https://bitbucket.org/atlassian/atlassian-frontend/commits/8581ed429dd) - ED-13688: Add reliability edit sessions to UFO analytics
36
+ - [`bb59175355d`](https://bitbucket.org/atlassian/atlassian-frontend/commits/bb59175355d) - [ux] CETI-150: Colour picker border size is not consistent with table colour picker
37
+ - [`71bf4ef83f4`](https://bitbucket.org/atlassian/atlassian-frontend/commits/71bf4ef83f4) - CETI-130 change default custom panel color
38
+ - [`229177bb85d`](https://bitbucket.org/atlassian/atlassian-frontend/commits/229177bb85d) - CETI-16 added remove emoji icon so that it appears in mobilekit too
39
+ - [`b230f366971`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b230f366971) - [ED-14008] Bump prosemirror-view from 1.20.2 to 1.23.1
40
+ - [`47c349601b2`](https://bitbucket.org/atlassian/atlassian-frontend/commits/47c349601b2) - ED-13869 Added the option to automatically select ADF content inserted via the `insertAfter()` extension API. We've modified our extension API and introduced a new parameter in `insertAfter()`. The function has now a third parameter, ie `options`, which is an object and has a property flag called `allowSelectionToNewNode` that lets you focus on the ADF added when set to `true`.
41
+ - [`287e8cd3bd2`](https://bitbucket.org/atlassian/atlassian-frontend/commits/287e8cd3bd2) - CETI-135 handle the focus of cursor when user selects an emoji from emoji picker
42
+ - [`8bbb96540ea`](https://bitbucket.org/atlassian/atlassian-frontend/commits/8bbb96540ea) - Add "fragment" mark to stage0 ADF schema
43
+ - [`a3737a9b3aa`](https://bitbucket.org/atlassian/atlassian-frontend/commits/a3737a9b3aa) - CETI-64 Updating the dark mode colors for the standard panels
44
+ - [`35b575a601c`](https://bitbucket.org/atlassian/atlassian-frontend/commits/35b575a601c) - CETI-148 Emoji picker vertical alignment
45
+ - [`398bbc9f353`](https://bitbucket.org/atlassian/atlassian-frontend/commits/398bbc9f353) - [ux] AK-649 Change color of count of found items
46
+ - [`87d66ea4618`](https://bitbucket.org/atlassian/atlassian-frontend/commits/87d66ea4618) - [ux] ED-13183 allow creating annotations from selections with trailing new line
47
+ - [`62a91dbe7d9`](https://bitbucket.org/atlassian/atlassian-frontend/commits/62a91dbe7d9) - [ux] CERN-896 Update primaryToolbarComponents to accept before and after react components.
48
+ - [`ad0c44e802a`](https://bitbucket.org/atlassian/atlassian-frontend/commits/ad0c44e802a) - pass singleLayout to mobile editor element"
49
+ - [`d21da111ec2`](https://bitbucket.org/atlassian/atlassian-frontend/commits/d21da111ec2) - CETI-95 Predefined icon sizes are different from existing icons
50
+
51
+ ### Patch Changes
52
+
53
+ - [`97479886f9e`](https://bitbucket.org/atlassian/atlassian-frontend/commits/97479886f9e) - ED-13534 Fixed issue with right shadow not hiding with overflow shadows optimisation
54
+ - [`47fc9ae7b2a`](https://bitbucket.org/atlassian/atlassian-frontend/commits/47fc9ae7b2a) - [ux] ED-11481 Fix bug preventing tables and extensions from being selected with Shift + ArrowDown or ArrowUp
55
+ - [`7f85f712286`](https://bitbucket.org/atlassian/atlassian-frontend/commits/7f85f712286) - Ticket: https://a11y-internal.atlassian.net/browse/AK-747, when activating the MoreColors button inside the ColorPalette component, set focus to the first color of the updated content.
56
+ - [`34ffcf18914`](https://bitbucket.org/atlassian/atlassian-frontend/commits/34ffcf18914) - [ux] Added a floating toolbar to the new mediaInline component
57
+ - [`e26ff629f3d`](https://bitbucket.org/atlassian/atlassian-frontend/commits/e26ff629f3d) - [ux] Update warning message when deleting a table that's linked to a chart.
58
+ - [`1c2e00c6e65`](https://bitbucket.org/atlassian/atlassian-frontend/commits/1c2e00c6e65) - ED-10827: Fixed a UI bug where undoing a tabbed task list item would not show any change in the UI.
59
+ - [`c6feed82071`](https://bitbucket.org/atlassian/atlassian-frontend/commits/c6feed82071) - ED-11632: Bump prosemirror packages;
60
+
61
+ - prosmirror-commands 1.1.4 -> 1.1.11,
62
+ - prosemirror-model 1.11.0 -> 1.14.3,
63
+ - prosemirror-state 1.3.3 -> 1.3.4,
64
+ - prosemirror-transform 1.2.8 -> 1.3.2,
65
+ - prosemirror-view 1.15.4 + 1.18.8 -> 1.20.2.
66
+
67
+ - [`2f791df708a`](https://bitbucket.org/atlassian/atlassian-frontend/commits/2f791df708a) - Changed link search list item description color to meet minimum contrast requirements
68
+ - [`fc70978492a`](https://bitbucket.org/atlassian/atlassian-frontend/commits/fc70978492a) - Using type for SSR prop to reduce dependency on media-common
69
+ - [`132e841431b`](https://bitbucket.org/atlassian/atlassian-frontend/commits/132e841431b) - [ux][ed-10831] Refactor part of conversions.ts in the lists plugin to solve for cases where the selection covers multiple lists with paragraphs in between.
70
+ - [`2136e4844f0`](https://bitbucket.org/atlassian/atlassian-frontend/commits/2136e4844f0) - [ux] ED-13286 Fixes 'wide' and 'full-width' extensions breaking styling when pasted into bodiedExtensions.
71
+ - [`aa6b3a474ff`](https://bitbucket.org/atlassian/atlassian-frontend/commits/aa6b3a474ff) - ED-13286 extensions inside a bodied extension shouldn't overflow width
72
+ - [`50f99428aab`](https://bitbucket.org/atlassian/atlassian-frontend/commits/50f99428aab) - [ux] ED-11088- FIxed bug that prevented block components containing a hardbreak followed by list markdown from being pasted
73
+ - [`365e507451e`](https://bitbucket.org/atlassian/atlassian-frontend/commits/365e507451e) - [ux] This reworks the changes triggered by a user inserting a new column.
74
+ Previously the table cells would always be resized based on a max table
75
+ size which did not overflow.
76
+ This changes that logic to only resize table cells if the table did not
77
+ overflow prior to the insertion.
78
+ - [`16ab2a61721`](https://bitbucket.org/atlassian/atlassian-frontend/commits/16ab2a61721) - fix copy paste emoji wrapped in a span
79
+ - [`e741804b52a`](https://bitbucket.org/atlassian/atlassian-frontend/commits/e741804b52a) - Fixed media nodes not being built synchronously on SSR
80
+ - [`57b4778a620`](https://bitbucket.org/atlassian/atlassian-frontend/commits/57b4778a620) - [ux] AK-244 Accessibility fix. Color of borders have minimum contrast of 3:1
81
+ - [`7b91aee9c39`](https://bitbucket.org/atlassian/atlassian-frontend/commits/7b91aee9c39) - Add File Preview tooltip to media card/media inline floating toolbar
82
+ - [`ea3a31eda5a`](https://bitbucket.org/atlassian/atlassian-frontend/commits/ea3a31eda5a) - AK-745: ColorPalette -> Color add aria attributes in order to announce state of color buttons for screen reader users
83
+ - [`add1e51d5a9`](https://bitbucket.org/atlassian/atlassian-frontend/commits/add1e51d5a9) - EDM-2510: Fix media inline insertion behaviour when inside empty list item
84
+ - [`529d612d6e5`](https://bitbucket.org/atlassian/atlassian-frontend/commits/529d612d6e5) - ED-11474 fixed incorrect table header heights caused by empty column width, and sticky header flicker effect
85
+ - [`320ad93b5b0`](https://bitbucket.org/atlassian/atlassian-frontend/commits/320ad93b5b0) - [ux] ED-13305: Fix bug where clear formatting button incorrectly appeared to be disabled (despite clear formatting action being valid operation).
86
+ - [`39faad06953`](https://bitbucket.org/atlassian/atlassian-frontend/commits/39faad06953) - ED-10312 adds analytics event for tables with negative colspans or rowspans
87
+ - [`fe8e5ca9a92`](https://bitbucket.org/atlassian/atlassian-frontend/commits/fe8e5ca9a92) - [ux] MediaInline package now correctly shows a border around it upon being selected
88
+ - [`8f0577e0eb1`](https://bitbucket.org/atlassian/atlassian-frontend/commits/8f0577e0eb1) - [ux] Promoted captions to full schema and better support of wikimarkup, email and slack renderer
89
+ - [`22b53432054`](https://bitbucket.org/atlassian/atlassian-frontend/commits/22b53432054) - AK-560 Update color of the clear link button
90
+ - [`f391c63f5d5`](https://bitbucket.org/atlassian/atlassian-frontend/commits/f391c63f5d5) - AK-704: AltText - changes for better screen reader announcing
91
+ - [`f461edcfd05`](https://bitbucket.org/atlassian/atlassian-frontend/commits/f461edcfd05) - Update CardLoader to use react-loadable
92
+ Add SSR feature prop to be passed in renderer and media card
93
+ - [`4264bd36d32`](https://bitbucket.org/atlassian/atlassian-frontend/commits/4264bd36d32) - Update mobile bridge media inline feature flag and add tests
94
+ - [`5abd27cbb9c`](https://bitbucket.org/atlassian/atlassian-frontend/commits/5abd27cbb9c) - AK-246: Table --> Cell options: provide an aria-label attr for the CellOptions button, provide role=menu for the CellOption menu and role=menuitems for its items
95
+ - [`9d43feb1f6a`](https://bitbucket.org/atlassian/atlassian-frontend/commits/9d43feb1f6a) - CETI-167 Remove opacity for panels in dark mode.
96
+ - [`61c17fa38a5`](https://bitbucket.org/atlassian/atlassian-frontend/commits/61c17fa38a5) - move waitForFloatingControl to VR package
97
+ - Updated dependencies
98
+
99
+ ## 151.3.0
100
+
101
+ ### Minor Changes
102
+
103
+ - [`08348b6692c`](https://bitbucket.org/atlassian/atlassian-frontend/commits/08348b6692c) - Update CodeBlockOptions to have appearance prop optional
104
+
105
+ ## 151.2.1
106
+
107
+ ### Patch Changes
108
+
109
+ - [`69fc91803d4`](https://bitbucket.org/atlassian/atlassian-frontend/commits/69fc91803d4) - [ux] Find and replace tooltip now icons are now correctly aligned and does not have a scrollbar showing up.
110
+
3
111
  ## 151.2.0
4
112
 
5
113
  ### Minor Changes
@@ -539,8 +539,30 @@ var ReactEditorView = /*#__PURE__*/function (_React$Component) {
539
539
  transformer: _this.contentTransformer
540
540
  });
541
541
 
542
+ if (_this.props.editorProps.shouldFocus && view.props.editable && view.props.editable(view.state)) {
543
+ _this.focusTimeoutId = handleEditorFocus(view);
544
+ }
545
+
542
546
  if (_this.featureFlags.ufo) {
547
+ _this.experienceStore = _ufo.ExperienceStore.getInstance(view);
548
+
549
+ _this.experienceStore.start(_ufo.EditorExperience.editSession);
550
+
551
+ _this.experienceStore.addMetadata(_ufo.EditorExperience.editSession, {
552
+ reliabilityInterval: _ufo.RELIABILITY_INTERVAL
553
+ });
554
+
543
555
  _this.reliabilityInterval = window.setInterval(function () {
556
+ var _this$experienceStore11, _this$experienceStore12;
557
+
558
+ (_this$experienceStore11 = _this.experienceStore) === null || _this$experienceStore11 === void 0 ? void 0 : (_this$experienceStore12 = _this$experienceStore11.success(_ufo.EditorExperience.editSession)) === null || _this$experienceStore12 === void 0 ? void 0 : _this$experienceStore12.finally(function () {
559
+ var _this$experienceStore13, _this$experienceStore14;
560
+
561
+ (_this$experienceStore13 = _this.experienceStore) === null || _this$experienceStore13 === void 0 ? void 0 : _this$experienceStore13.start(_ufo.EditorExperience.editSession);
562
+ (_this$experienceStore14 = _this.experienceStore) === null || _this$experienceStore14 === void 0 ? void 0 : _this$experienceStore14.addMetadata(_ufo.EditorExperience.editSession, {
563
+ reliabilityInterval: _ufo.RELIABILITY_INTERVAL
564
+ });
565
+ });
544
566
  var reliabilityEvent = {
545
567
  action: _analytics.ACTION.UFO_SESSION_COMPLETE,
546
568
  actionSubject: _analytics.ACTION_SUBJECT.EDITOR,
@@ -552,14 +574,6 @@ var ReactEditorView = /*#__PURE__*/function (_React$Component) {
552
574
 
553
575
  _this.dispatchAnalyticsEvent(reliabilityEvent);
554
576
  }, _ufo.RELIABILITY_INTERVAL);
555
- }
556
-
557
- if (_this.props.editorProps.shouldFocus && view.props.editable && view.props.editable(view.state)) {
558
- _this.focusTimeoutId = handleEditorFocus(view);
559
- }
560
-
561
- if (_this.featureFlags.ufo) {
562
- _this.experienceStore = _ufo.ExperienceStore.getInstance(view);
563
577
  } // Force React to re-render so consumers get a reference to the editor view
564
578
 
565
579
 
@@ -129,8 +129,6 @@ function getDefaultPresetOptionsFromEditorProps(props, createAnalyticsEvent) {
129
129
 
130
130
 
131
131
  function createPluginsList(props, prevProps, createAnalyticsEvent) {
132
- var _props$featureFlags;
133
-
134
132
  var appearance = props.appearance;
135
133
  var isMobile = appearance === 'mobile';
136
134
  var isComment = appearance === 'comment';
@@ -298,8 +296,8 @@ function createPluginsList(props, prevProps, createAnalyticsEvent) {
298
296
  if (props.allowPanel) {
299
297
  preset.add([_plugins.panelPlugin, {
300
298
  useLongPressSelection: false,
301
- UNSAFE_allowCustomPanel: props.allowPanel.UNSAFE_allowCustomPanel,
302
- UNSAFE_allowCustomPanelEdit: props.allowPanel.UNSAFE_allowCustomPanelEdit
299
+ allowCustomPanel: props.allowPanel.allowCustomPanel,
300
+ allowCustomPanelEdit: props.allowPanel.allowCustomPanelEdit
303
301
  }]);
304
302
  }
305
303
 
@@ -396,20 +394,38 @@ function createPluginsList(props, prevProps, createAnalyticsEvent) {
396
394
  replacePlusMenuWithElementBrowser: props.elementBrowser && props.elementBrowser.replacePlusMenu || false
397
395
  }]);
398
396
 
399
- if (((_props$featureFlags = props.featureFlags) === null || _props$featureFlags === void 0 ? void 0 : _props$featureFlags.showAvatarGroupAsPlugin) === true) {
397
+ var hasBeforePrimaryToolbar = function hasBeforePrimaryToolbar(components) {
398
+ if (components && 'before' in components) {
399
+ return !!components.before;
400
+ }
401
+
402
+ return false;
403
+ };
404
+
405
+ if (hasBeforePrimaryToolbar(props.primaryToolbarComponents) && !featureFlags.twoLineEditorToolbar) {
406
+ preset.add([_plugins.beforePrimaryToolbarPlugin, {
407
+ beforePrimaryToolbarComponents: props.primaryToolbarComponents.before
408
+ }]);
409
+ }
410
+
411
+ if (featureFlags.showAvatarGroupAsPlugin === true && !featureFlags.twoLineEditorToolbar) {
400
412
  preset.add([_plugins.avatarGroupPlugin, {
401
- collabEdit: props.collabEdit
413
+ collabEdit: props.collabEdit,
414
+ takeFullWidth: !hasBeforePrimaryToolbar(props.primaryToolbarComponents)
402
415
  }]);
403
416
  }
404
417
 
405
418
  if (props.allowFindReplace) {
406
- var _props$featureFlags2;
407
-
408
419
  preset.add([_plugins.findReplacePlugin, {
409
- takeFullWidth: !!((_props$featureFlags2 = props.featureFlags) !== null && _props$featureFlags2 !== void 0 && _props$featureFlags2.showAvatarGroupAsPlugin) === false
420
+ takeFullWidth: !!featureFlags.showAvatarGroupAsPlugin === false && !hasBeforePrimaryToolbar(props.primaryToolbarComponents),
421
+ twoLineEditorToolbar: !!featureFlags.twoLineEditorToolbar
410
422
  }]);
411
423
  }
412
424
 
425
+ if (props.UNSAFE_allowFragmentMark) {
426
+ preset.add(_plugins.fragmentMarkPlugin);
427
+ }
428
+
413
429
  if (featureFlags.enableViewUpdateSubscription) {
414
430
  preset.add([_plugins.viewUpdateSubscriptionPlugin]);
415
431
  }
@@ -46,8 +46,7 @@ function useCXHTMLPreset(_ref) {
46
46
  }
47
47
  }]);
48
48
  preset.add([_plugins.panelPlugin, {
49
- UNSAFE_allowCustomPanel: true,
50
- UNSAFE_allowCustomPanelEdit: true
49
+ allowCustomPanel: true
51
50
  }]);
52
51
  preset.add(_plugins.listPlugin);
53
52
  preset.add(_plugins.textColorPlugin);
@@ -191,10 +191,10 @@ var ReactNodeView = /*#__PURE__*/function () {
191
191
  }
192
192
  }, {
193
193
  key: "update",
194
- value: function update(node, _decorations) {
194
+ value: function update(node, _decorations, _innerDecorations) {
195
195
  var _this4 = this;
196
196
 
197
- var validUpdate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {
197
+ var validUpdate = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function () {
198
198
  return true;
199
199
  };
200
200
  // @see https://github.com/ProseMirror/prosemirror/issues/648
@@ -108,6 +108,12 @@ var SelectionBasedNodeView = /*#__PURE__*/function (_ReactNodeView) {
108
108
  to = _this$view$state$sele2.to;
109
109
  return _this.isSelectedNode(_this.view.state.selection) || _this.isSelectionInsideNode(from, to);
110
110
  });
111
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "nodeInsideSelection", function () {
112
+ var selection = _this.view.state.selection;
113
+ var from = selection.from,
114
+ to = selection.to;
115
+ return _this.isSelectedNode(selection) || _this.isNodeInsideSelection(from, to);
116
+ });
111
117
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onSelectionChange", function () {
112
118
  _this.update(_this.node, []);
113
119
  });
@@ -63,6 +63,7 @@ exports.ACTION = ACTION;
63
63
  ACTION["INITIALISED"] = "initialised";
64
64
  ACTION["INPUT_PERF_SAMPLING"] = "inputPerfSampling";
65
65
  ACTION["INSERTED"] = "inserted";
66
+ ACTION["INVALID_DOCUMENT_ENCOUNTERED"] = "invalidDocumentEncountered";
66
67
  ACTION["INVOKED"] = "invoked";
67
68
  ACTION["LANGUAGE_SELECTED"] = "languageSelected";
68
69
  ACTION["LIST_ITEM_JOINED"] = "listItemJoined";
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getSelectionPositions = getSelectionPositions;
7
- exports.hasWhitespaceNode = hasWhitespaceNode;
7
+ exports.hasInvalidWhitespaceNode = hasInvalidWhitespaceNode;
8
8
  exports.hasAnnotationMark = hasAnnotationMark;
9
9
  exports.annotationExists = annotationExists;
10
10
  exports.containsAnyAnnotations = containsAnyAnnotations;
@@ -316,7 +316,7 @@ var isSelectionValid = function isSelectionValid(state) {
316
316
  return _types.AnnotationSelectionType.DISABLED;
317
317
  }
318
318
 
319
- if (disallowOnWhitespace && hasWhitespaceNode(selection)) {
319
+ if (disallowOnWhitespace && hasInvalidWhitespaceNode(selection)) {
320
320
  return _types.AnnotationSelectionType.INVALID;
321
321
  }
322
322
 
@@ -372,16 +372,27 @@ function isEmptyTextSelection(selection, schema) {
372
372
  */
373
373
 
374
374
 
375
- function hasWhitespaceNode(selection) {
376
- var foundWhitespace = false;
377
- selection.content().content.descendants(function (node) {
375
+ function hasInvalidWhitespaceNode(selection) {
376
+ var foundInvalidWhitespace = false;
377
+ var content = selection.content().content;
378
+ content.descendants(function (node) {
378
379
  if (node.textContent.trim() === '') {
379
- foundWhitespace = true;
380
+ // Trailing new lines do not result in the annotation spanning into
381
+ // the trailing new line so can be ignored when looking for invalid
382
+ // whitespace nodes.
383
+ var nodeIsTrailingNewLine = // it is the final node
384
+ node.eq(content.lastChild) && // and there are multiple nodes
385
+ !node.eq(content.firstChild) && // and it is a paragraph node
386
+ node.type.name === 'paragraph';
387
+
388
+ if (!nodeIsTrailingNewLine) {
389
+ foundInvalidWhitespace = true;
390
+ }
380
391
  }
381
392
 
382
- return !foundWhitespace;
393
+ return !foundInvalidWhitespace;
383
394
  });
384
- return foundWhitespace;
395
+ return foundInvalidWhitespace;
385
396
  }
386
397
  /*
387
398
  * verifies if node contains annotation mark
@@ -27,7 +27,8 @@ var avatarGroup = function avatarGroup(props) {
27
27
  dispatchAnalyticsEvent: dispatchAnalyticsEvent,
28
28
  editorView: editorView,
29
29
  eventDispatcher: eventDispatcher,
30
- collabEdit: props.collabEdit
30
+ collabEdit: props.collabEdit,
31
+ takeFullWidth: props.takeFullWidth
31
32
  });
32
33
  }
33
34
  };
@@ -25,7 +25,9 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
25
25
 
26
26
  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; }
27
27
 
28
- var ToolbarButtonWrapper = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-grow: 1;\n justify-content: flex-end;\n align-items: center;\n & > div {\n margin-right: 0;\n }\n"])));
28
+ var ToolbarButtonWrapper = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-grow: ", ";\n justify-content: flex-end;\n align-items: center;\n & > div {\n margin-right: 0;\n }\n"])), function (props) {
29
+ return props.takeFullWidth ? 1 : 0;
30
+ });
29
31
 
30
32
  var AvatarGroupPluginWrapper = function AvatarGroupPluginWrapper(props) {
31
33
  var dispatchAnalyticsEvent = props.dispatchAnalyticsEvent;
@@ -43,7 +45,8 @@ var AvatarGroupPluginWrapper = function AvatarGroupPluginWrapper(props) {
43
45
  }, [dispatchAnalyticsEvent]);
44
46
  return /*#__PURE__*/_react.default.createElement(ToolbarButtonWrapper, {
45
47
  "aria-label": "Editors",
46
- "data-testid": 'avatar-group-in-plugin'
48
+ "data-testid": 'avatar-group-in-plugin',
49
+ takeFullWidth: props.takeFullWidth
47
50
  }, /*#__PURE__*/_react.default.createElement(_avatarsWithPluginState.default, {
48
51
  editorView: props.editorView,
49
52
  eventDispatcher: props.eventDispatcher,
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _BeforePrimaryToolbarWrapper = require("./ui/BeforePrimaryToolbarWrapper");
13
+
14
+ var beforePrimaryToolbar = function beforePrimaryToolbar(props) {
15
+ return {
16
+ name: 'beforePrimaryToolbar',
17
+ primaryToolbarComponent: function primaryToolbarComponent() {
18
+ return /*#__PURE__*/_react.default.createElement(_BeforePrimaryToolbarWrapper.BeforePrimaryToolbarWrapper, {
19
+ beforePrimaryToolbarComponents: props.beforePrimaryToolbarComponents
20
+ });
21
+ }
22
+ };
23
+ };
24
+
25
+ var _default = beforePrimaryToolbar;
26
+ exports.default = _default;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.BeforePrimaryToolbarWrapper = exports.BeforePrimaryToolbarPluginWrapper = void 0;
9
+
10
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
15
+
16
+ var _templateObject;
17
+
18
+ var BeforePrimaryToolbarPluginWrapper = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n margin-right: 8px;\n flex-grow: 1;\n justify-content: flex-end;\n align-items: center;\n"])));
19
+
20
+ exports.BeforePrimaryToolbarPluginWrapper = BeforePrimaryToolbarPluginWrapper;
21
+
22
+ var BeforePrimaryToolbarWrapper = function BeforePrimaryToolbarWrapper(props) {
23
+ return /*#__PURE__*/_react.default.createElement(BeforePrimaryToolbarPluginWrapper, {
24
+ "data-testid": 'before-primary-toolbar-components-plugin'
25
+ }, props.beforePrimaryToolbarComponents);
26
+ };
27
+
28
+ exports.BeforePrimaryToolbarWrapper = BeforePrimaryToolbarWrapper;
@@ -11,6 +11,8 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
11
 
12
12
  var _prosemirrorModel = require("prosemirror-model");
13
13
 
14
+ var _prosemirrorState = require("prosemirror-state");
15
+
14
16
  var _macro = require("../macro");
15
17
 
16
18
  var _pluginKey = require("../macro/plugin-key");
@@ -61,7 +63,7 @@ var extensionAPICallPayload = function extensionAPICallPayload(functionName) {
61
63
 
62
64
  var createExtensionAPI = function createExtensionAPI(options) {
63
65
  var doc = {
64
- insertAfter: function insertAfter(localId, adf) {
66
+ insertAfter: function insertAfter(localId, adf, opt) {
65
67
  var editorView = options.editorView;
66
68
  var dispatch = editorView.dispatch; // Be extra cautious since 3rd party devs can use regular JS without type safety
67
69
 
@@ -101,7 +103,8 @@ var createExtensionAPI = function createExtensionAPI(options) {
101
103
  throw new Error('insertAfter(): Could not create a node for given ADFEntity.');
102
104
  }
103
105
 
104
- tr.insert(nodePos.pos + nodePos.node.nodeSize, newNode); // Validate if the document is valid at this point
106
+ var insertPosition = nodePos.pos + nodePos.node.nodeSize;
107
+ tr.insert(insertPosition, newNode); // Validate if the document is valid at this point
105
108
 
106
109
  try {
107
110
  tr.doc.check();
@@ -145,6 +148,11 @@ var createExtensionAPI = function createExtensionAPI(options) {
145
148
  };
146
149
  (0, _analytics.addAnalytics)(state, tr, payload);
147
150
  });
151
+
152
+ if (opt && opt.allowSelectionToNewNode) {
153
+ tr.setSelection(new _prosemirrorState.NodeSelection(tr.doc.resolve(insertPosition)));
154
+ }
155
+
148
156
  dispatch(tr);
149
157
  },
150
158
  scrollTo: function scrollTo(localId) {
@@ -15,5 +15,5 @@ var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
15
15
 
16
16
  var _templateObject;
17
17
 
18
- var extensionStyles = (0, _styledComponents.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n .extensionView-content-wrap,\n .bodiedExtensionView-content-wrap {\n margin: ", " 0;\n\n &:first-of-type {\n margin-top: 0;\n }\n\n &:last-of-type {\n margin-bottom: 0;\n }\n\n &:not(.danger).", " {\n & > span > .extension-container {\n ", "\n }\n }\n\n &.danger > span > .extension-container {\n box-shadow: 0 0 0 ", "px ", ";\n background-color: ", ";\n }\n\n &.inline {\n word-wrap: break-all;\n }\n }\n\n .extensionView-content-wrap .extension-container {\n overflow: hidden;\n }\n"])), _editorSharedStyles.blockNodesVerticalMargin, _editorSharedStyles.akEditorSelectedNodeClassName, (0, _editorSharedStyles.getSelectionStyles)([_editorSharedStyles.SelectionStyle.BoxShadow]), _editorSharedStyles.akEditorSelectedBorderSize, _editorSharedStyles.akEditorDeleteBorder, _editorSharedStyles.akEditorDeleteBackground);
18
+ var extensionStyles = (0, _styledComponents.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n .extensionView-content-wrap,\n .bodiedExtensionView-content-wrap {\n margin: ", " 0;\n\n &:first-of-type {\n margin-top: 0;\n }\n\n &:last-of-type {\n margin-bottom: 0;\n }\n\n &:not(.danger).", " {\n & > span > .extension-container {\n ", "\n }\n }\n\n &.danger > span > .extension-container {\n box-shadow: 0 0 0 ", "px ", ";\n background-color: ", ";\n }\n\n &.inline {\n word-wrap: break-all;\n }\n }\n\n .extensionView-content-wrap .extension-container {\n overflow: hidden;\n }\n\n .bodiedExtensionView-content-wrap\n .extensionView-content-wrap\n .extension-container {\n width: 100%;\n }\n"])), _editorSharedStyles.blockNodesVerticalMargin, _editorSharedStyles.akEditorSelectedNodeClassName, (0, _editorSharedStyles.getSelectionStyles)([_editorSharedStyles.SelectionStyle.BoxShadow]), _editorSharedStyles.akEditorSelectedBorderSize, _editorSharedStyles.akEditorDeleteBorder, _editorSharedStyles.akEditorDeleteBackground);
19
19
  exports.extensionStyles = extensionStyles;
@@ -24,7 +24,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
24
24
  * which is used by both current and archv3 editors.
25
25
  */
26
26
  function createFeatureFlagsFromProps(props) {
27
- var _props$allowTextColor, _props$performanceTra, _props$performanceTra2, _props$featureFlags, _props$featureFlags2, _props$featureFlags3, _props$allowTables, _props$featureFlags4, _props$featureFlags5, _props$allowTables2, _props$featureFlags6, _props$featureFlags7, _props$allowTables3, _props$featureFlags8, _props$featureFlags9, _props$allowTables4, _props$featureFlags10, _props$featureFlags11, _props$allowTables5, _props$allowExtension, _props$featureFlags12, _props$featureFlags13, _props$featureFlags14, _props$featureFlags15, _props$featureFlags16, _props$featureFlags17, _props$featureFlags18, _props$featureFlags19, _props$featureFlags20, _props$featureFlags21, _props$featureFlags22, _props$featureFlags23, _props$featureFlags24, _props$featureFlags25, _props$featureFlags26, _props$featureFlags27, _props$featureFlags28, _props$featureFlags29;
27
+ var _props$allowTextColor, _props$allowLayouts, _props$performanceTra, _props$performanceTra2, _props$featureFlags, _props$featureFlags2, _props$featureFlags3, _props$allowTables, _props$featureFlags4, _props$featureFlags5, _props$allowTables2, _props$featureFlags6, _props$featureFlags7, _props$allowTables3, _props$featureFlags8, _props$featureFlags9, _props$allowTables4, _props$featureFlags10, _props$featureFlags11, _props$allowTables5, _props$allowExtension, _props$featureFlags12, _props$featureFlags13, _props$featureFlags14, _props$featureFlags15, _props$featureFlags16, _props$featureFlags17, _props$featureFlags18, _props$featureFlags19, _props$featureFlags20, _props$featureFlags21, _props$featureFlags22, _props$featureFlags23, _props$featureFlags24, _props$featureFlags25, _props$featureFlags26, _props$featureFlags27, _props$featureFlags28, _props$featureFlags29, _props$featureFlags30, _props$featureFlags31;
28
28
 
29
29
  var normalizedFeatureFlags = (0, _normalizeFeatureFlags.normalizeFeatureFlags)(props.featureFlags);
30
30
  return _objectSpread(_objectSpread({}, normalizedFeatureFlags), {}, {
@@ -37,6 +37,7 @@ function createFeatureFlagsFromProps(props) {
37
37
  findReplaceMatchCase: (0, _typeof2.default)(props.allowFindReplace) === 'object' && Boolean(props.allowFindReplace.allowMatchCase),
38
38
  keyboardAccessibleDatepicker: typeof props.allowKeyboardAccessibleDatepicker === 'boolean' ? props.allowKeyboardAccessibleDatepicker : false,
39
39
  addColumnWithCustomStep: !props.allowTables || typeof props.allowTables === 'boolean' ? false : Boolean(props.allowTables.allowAddColumnWithCustomStep),
40
+ singleLayout: (0, _typeof2.default)(props.allowLayouts) === 'object' && !!((_props$allowLayouts = props.allowLayouts) !== null && _props$allowLayouts !== void 0 && _props$allowLayouts.UNSAFE_allowSingleColumnLayout),
40
41
  undoRedoButtons: props.UNSAFE_allowUndoRedoButtons,
41
42
  catchAllTracking: (_props$performanceTra = props.performanceTracking) === null || _props$performanceTra === void 0 ? void 0 : (_props$performanceTra2 = _props$performanceTra.catchAllTracking) === null || _props$performanceTra2 === void 0 ? void 0 : _props$performanceTra2.enabled,
42
43
  nextEmojiNodeView: ((_props$featureFlags = props.featureFlags) === null || _props$featureFlags === void 0 ? void 0 : _props$featureFlags.nextEmojiNodeView) === true,
@@ -55,6 +56,7 @@ function createFeatureFlagsFromProps(props) {
55
56
  collabAvatarScroll: Boolean(typeof ((_props$featureFlags24 = props.featureFlags) === null || _props$featureFlags24 === void 0 ? void 0 : _props$featureFlags24.collabAvatarScroll) === 'boolean' ? !!((_props$featureFlags25 = props.featureFlags) !== null && _props$featureFlags25 !== void 0 && _props$featureFlags25.collabAvatarScroll) : false),
56
57
  ufo: Boolean(typeof ((_props$featureFlags26 = props.featureFlags) === null || _props$featureFlags26 === void 0 ? void 0 : _props$featureFlags26.ufo) === 'boolean' ? !!((_props$featureFlags27 = props.featureFlags) !== null && _props$featureFlags27 !== void 0 && _props$featureFlags27.ufo) : false),
57
58
  codeBlockSyntaxHighlighting: Boolean(typeof normalizedFeatureFlags.codeBlockSyntaxHighlighting === 'boolean' ? !!normalizedFeatureFlags.codeBlockSyntaxHighlighting && !_editorCommon.browser.safari : false),
58
- codeBidiWarnings: Boolean(typeof ((_props$featureFlags28 = props.featureFlags) === null || _props$featureFlags28 === void 0 ? void 0 : _props$featureFlags28.codeBidiWarnings) === 'boolean' ? !!((_props$featureFlags29 = props.featureFlags) !== null && _props$featureFlags29 !== void 0 && _props$featureFlags29.codeBidiWarnings) : true)
59
+ twoLineEditorToolbar: Boolean(typeof ((_props$featureFlags28 = props.featureFlags) === null || _props$featureFlags28 === void 0 ? void 0 : _props$featureFlags28.twoLineEditorToolbar) === 'boolean' ? !!((_props$featureFlags29 = props.featureFlags) !== null && _props$featureFlags29 !== void 0 && _props$featureFlags29.twoLineEditorToolbar) : false),
60
+ codeBidiWarnings: Boolean(typeof ((_props$featureFlags30 = props.featureFlags) === null || _props$featureFlags30 === void 0 ? void 0 : _props$featureFlags30.codeBidiWarnings) === 'boolean' ? !!((_props$featureFlags31 = props.featureFlags) !== null && _props$featureFlags31 !== void 0 && _props$featureFlags31.codeBidiWarnings) : true)
59
61
  });
60
62
  }