@atlaskit/editor-core 166.0.3 → 167.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 (554) hide show
  1. package/.eslintrc.js +46 -1
  2. package/CHANGELOG.md +99 -0
  3. package/dist/cjs/actions/index.js +26 -2
  4. package/dist/cjs/create-editor/ReactEditorView.js +2 -0
  5. package/dist/cjs/create-editor/create-plugins-list.js +1 -2
  6. package/dist/cjs/editor.js +5 -2
  7. package/dist/cjs/keymaps/index.js +5 -1
  8. package/dist/cjs/labs/next/ContentComponents.js +8 -4
  9. package/dist/cjs/labs/next/full-page.js +14 -8
  10. package/dist/cjs/nodeviews/getInlineNodeViewProducer.js +7 -3
  11. package/dist/cjs/nodeviews/getInlineNodeViewProducer.styles.js +3 -1
  12. package/dist/cjs/plugins/alignment/ui/ToolbarAlignment/styles.js +3 -1
  13. package/dist/cjs/plugins/analytics/types/enums.js +3 -0
  14. package/dist/cjs/plugins/annotation/pm-plugins/inline-comment.js +2 -2
  15. package/dist/cjs/plugins/annotation/pm-plugins/plugin-factory.js +0 -1
  16. package/dist/cjs/plugins/base/index.js +8 -17
  17. package/dist/cjs/plugins/base/pm-plugins/better-type-history.js +3 -12
  18. package/dist/cjs/plugins/base/pm-plugins/inline-cursor-target.js +71 -16
  19. package/dist/cjs/plugins/block-type/commands/block-type.js +32 -22
  20. package/dist/cjs/plugins/block-type/ui/ToolbarBlockType/styled.js +4 -2
  21. package/dist/cjs/plugins/breakout/ui/LayoutButton.js +4 -11
  22. package/dist/cjs/plugins/card/styles.js +1 -1
  23. package/dist/cjs/plugins/card/ui/LinkToolbarIconDropdown.js +2 -2
  24. package/dist/cjs/plugins/code-block/actions.js +36 -2
  25. package/dist/cjs/plugins/code-block/nodeviews/code-block.js +70 -1
  26. package/dist/cjs/plugins/code-block/pm-plugins/actions.js +2 -1
  27. package/dist/cjs/plugins/code-block/pm-plugins/main.js +46 -8
  28. package/dist/cjs/plugins/code-block/styles.js +28 -24
  29. package/dist/cjs/plugins/collab-edit/index.js +2 -2
  30. package/dist/cjs/plugins/collab-edit/provider/channel.js +2 -2
  31. package/dist/cjs/plugins/collab-edit/styles.js +4 -2
  32. package/dist/cjs/plugins/collab-edit/ui/styles.js +4 -2
  33. package/dist/cjs/plugins/collab-edit/utils.js +1 -0
  34. package/dist/cjs/plugins/date/ui/DatePicker/index.js +3 -1
  35. package/dist/cjs/plugins/expand/ui/styles.js +16 -14
  36. package/dist/cjs/plugins/extension/commands.js +3 -2
  37. package/dist/cjs/plugins/extension/context-panel.js +23 -9
  38. package/dist/cjs/plugins/extension/plugin-factory.js +1 -4
  39. package/dist/cjs/plugins/extension/pm-plugins/main.js +13 -36
  40. package/dist/cjs/plugins/extension/ui/Extension/Extension/styles.js +6 -4
  41. package/dist/cjs/plugins/extension/ui/Extension/InlineExtension/styles.js +3 -1
  42. package/dist/cjs/plugins/extension/ui/Extension/styles.js +7 -5
  43. package/dist/cjs/plugins/extension/ui/SaveIndicator/SaveIndicator.js +4 -2
  44. package/dist/cjs/plugins/extension/utils.js +12 -57
  45. package/dist/cjs/plugins/fake-text-cursor/styles.js +3 -1
  46. package/dist/cjs/plugins/feature-flags-context/feature-flags-from-props.js +3 -2
  47. package/dist/cjs/plugins/feedback-dialog/index.js +0 -1
  48. package/dist/cjs/plugins/find-replace/styles.js +2 -6
  49. package/dist/cjs/plugins/find-replace/ui/styles.js +4 -2
  50. package/dist/cjs/plugins/find-replace/utils/batch-decorations.js +0 -1
  51. package/dist/cjs/plugins/floating-toolbar/ui/DropdownMenu.js +3 -1
  52. package/dist/cjs/plugins/floating-toolbar/ui/EditorEmojiAddIcon.js +3 -1
  53. package/dist/cjs/plugins/floating-toolbar/ui/ExtensionsPlaceholder.js +2 -2
  54. package/dist/cjs/plugins/floating-toolbar/ui/Separator.js +3 -1
  55. package/dist/cjs/plugins/floating-toolbar/ui/Toolbar.js +6 -4
  56. package/dist/cjs/plugins/floating-toolbar/ui/styles.js +12 -10
  57. package/dist/cjs/plugins/grid/styles.js +3 -1
  58. package/dist/cjs/plugins/help-dialog/ui/styles.js +9 -7
  59. package/dist/cjs/plugins/hyperlink/pm-plugins/input-rule.js +23 -1
  60. package/dist/cjs/plugins/hyperlink/pm-plugins/keymap.js +10 -1
  61. package/dist/cjs/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +7 -5
  62. package/dist/cjs/plugins/hyperlink/utils.js +53 -2
  63. package/dist/cjs/plugins/insert-block/index.js +1 -1
  64. package/dist/cjs/plugins/jira-issue/nodeviews/jira-issue.js +4 -2
  65. package/dist/cjs/plugins/layout/styles.js +1 -1
  66. package/dist/cjs/plugins/macro/actions.js +2 -2
  67. package/dist/cjs/plugins/media/commands/helpers.js +10 -9
  68. package/dist/cjs/plugins/media/nodeviews/mediaInline.js +25 -6
  69. package/dist/cjs/plugins/media/nodeviews/mediaNodeView/media.js +6 -0
  70. package/dist/cjs/plugins/media/nodeviews/mediaSingle.js +2 -2
  71. package/dist/cjs/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +5 -3
  72. package/dist/cjs/plugins/media/pm-plugins/main.js +1 -0
  73. package/dist/cjs/plugins/media/styles.js +1 -1
  74. package/dist/cjs/plugins/media/ui/CaptionPlaceholder/index.js +3 -1
  75. package/dist/cjs/plugins/media/ui/Media/DropPlaceholder.js +4 -2
  76. package/dist/cjs/plugins/media/ui/MediaLinkingToolbar.js +3 -1
  77. package/dist/cjs/plugins/media/ui/ResizableMediaSingle/index.js +2 -2
  78. package/dist/cjs/plugins/mentions/styles.js +3 -1
  79. package/dist/cjs/plugins/mentions/ui/InviteItem/index.js +3 -1
  80. package/dist/cjs/plugins/mentions/ui/InviteItem/styles.js +4 -2
  81. package/dist/cjs/plugins/panel/index.js +1 -0
  82. package/dist/cjs/plugins/panel/nodeviews/panel.js +4 -1
  83. package/dist/cjs/plugins/panel/pm-plugins/keymaps.js +21 -3
  84. package/dist/cjs/plugins/paste/handlers.js +23 -0
  85. package/dist/cjs/plugins/paste/linkify-md-plugin.js +7 -0
  86. package/dist/cjs/plugins/paste/pm-plugins/analytics.js +9 -1
  87. package/dist/cjs/plugins/paste/pm-plugins/main.js +27 -1
  88. package/dist/cjs/plugins/placeholder/index.js +15 -3
  89. package/dist/cjs/plugins/placeholder/styles.js +3 -1
  90. package/dist/cjs/plugins/placeholder-text/styles.js +3 -1
  91. package/dist/cjs/plugins/selection/gap-cursor/styles.js +1 -1
  92. package/dist/cjs/plugins/selection/pm-plugins/gap-cursor-main.js +2 -2
  93. package/dist/cjs/plugins/status/ui/statusPicker.js +3 -3
  94. package/dist/cjs/plugins/table/index.js +14 -4
  95. package/dist/cjs/plugins/table/nodeviews/TableComponent.js +6 -6
  96. package/dist/cjs/plugins/table/nodeviews/table.js +9 -4
  97. package/dist/cjs/plugins/table/pm-plugins/main.js +1 -4
  98. package/dist/cjs/plugins/table/pm-plugins/safari-delete-composition-text-issue-workaround.js +118 -0
  99. package/dist/cjs/plugins/table/pm-plugins/table-resizing/event-handlers.js +2 -4
  100. package/dist/cjs/plugins/table/pm-plugins/table-resizing/plugin.js +2 -5
  101. package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/misc.js +4 -8
  102. package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +2 -3
  103. package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/scale-table.js +0 -3
  104. package/dist/cjs/plugins/table/transforms/column-width.js +1 -2
  105. package/dist/cjs/plugins/table/transforms/fix-tables.js +1 -3
  106. package/dist/cjs/plugins/table/ui/FloatingContextualButton/styles.js +4 -1
  107. package/dist/cjs/plugins/table/ui/FloatingContextualMenu/styles.js +3 -1
  108. package/dist/cjs/plugins/table/ui/common-styles.js +4 -2
  109. package/dist/cjs/plugins/table/ui/consts.js +14 -11
  110. package/dist/cjs/plugins/table/ui/ui-styles.js +17 -10
  111. package/dist/cjs/plugins/table/utils/decoration.js +3 -4
  112. package/dist/cjs/plugins/table/utils/paste.js +9 -9
  113. package/dist/cjs/plugins/text-formatting/pm-plugins/input-rule.js +1 -1
  114. package/dist/cjs/plugins/type-ahead/index.js +4 -3
  115. package/dist/cjs/plugins/type-ahead/pm-plugins/decorations.js +3 -1
  116. package/dist/cjs/plugins/type-ahead/ui/TypeAheadList.js +4 -4
  117. package/dist/cjs/plugins/type-ahead/ui/TypeAheadListItem.js +11 -9
  118. package/dist/cjs/plugins/type-ahead/ui/TypeAheadPopup.js +73 -3
  119. package/dist/cjs/plugins/unsupported-content/styles.js +1 -1
  120. package/dist/cjs/ui/Addon/Dropdown/styles.js +3 -1
  121. package/dist/cjs/ui/Addon/DropdownItem/styles.js +3 -1
  122. package/dist/cjs/ui/Appearance/Chromeless.js +2 -1
  123. package/dist/cjs/ui/Appearance/Comment/Comment.js +10 -3
  124. package/dist/cjs/ui/Appearance/Comment/Toolbar.js +4 -2
  125. package/dist/cjs/ui/Appearance/FullPage/FullPage.js +5 -2
  126. package/dist/cjs/ui/Appearance/FullPage/FullPageContentArea.js +2 -1
  127. package/dist/cjs/ui/Appearance/FullPage/FullPageToolbar.js +12 -11
  128. package/dist/cjs/ui/Appearance/FullPage/MainToolbar.js +6 -3
  129. package/dist/cjs/ui/ChromeCollapsed/styles.js +1 -1
  130. package/dist/cjs/ui/ConfigPanel/ConfigPanel.js +23 -16
  131. package/dist/cjs/ui/ConfigPanel/ConfigPanelFieldsLoader.js +2 -0
  132. package/dist/cjs/ui/ConfigPanel/Fields/CheckboxGroup.js +3 -1
  133. package/dist/cjs/ui/ConfigPanel/Fields/CustomSelect.js +2 -2
  134. package/dist/cjs/ui/ConfigPanel/Fields/Expand.js +3 -1
  135. package/dist/cjs/ui/ConfigPanel/Fields/Fieldset.js +3 -1
  136. package/dist/cjs/ui/ConfigPanel/Fields/UserSelect.js +2 -2
  137. package/dist/cjs/ui/ConfigPanel/Fields/common/RequiredIndicator.js +3 -1
  138. package/dist/cjs/ui/ConfigPanel/Header.js +4 -2
  139. package/dist/cjs/ui/ConfigPanel/NestedForms/RemovableField.js +4 -8
  140. package/dist/cjs/ui/ConfigPanel/transformers.js +2 -2
  141. package/dist/cjs/ui/ContentStyles/index.js +4 -2
  142. package/dist/cjs/ui/ContextPanel/index.js +3 -1
  143. package/dist/cjs/ui/DropdownMenu/index.js +5 -0
  144. package/dist/cjs/ui/ElementBrowser/InsertMenu.js +6 -4
  145. package/dist/cjs/ui/ElementBrowser/ModalElementBrowser.js +4 -2
  146. package/dist/cjs/ui/ElementBrowser/components/CategoryList.js +4 -2
  147. package/dist/cjs/ui/ElementBrowser/components/ElementList/ElementList.js +12 -5
  148. package/dist/cjs/ui/ElementBrowser/components/ElementList/EmptyState.js +3 -1
  149. package/dist/cjs/ui/ElementBrowser/components/ElementSearch.js +3 -1
  150. package/dist/cjs/ui/ElementBrowser/constants.js +3 -1
  151. package/dist/cjs/ui/FloatingToolbar/styles.js +2 -2
  152. package/dist/cjs/ui/LinkSearch/LinkSearchListItem.js +5 -3
  153. package/dist/cjs/ui/PanelTextInput/styles.js +3 -1
  154. package/dist/cjs/ui/PluginSlot/index.js +7 -4
  155. package/dist/cjs/ui/Toolbar/ToolbarInner.js +2 -1
  156. package/dist/cjs/ui/Toolbar/ToolbarWithSizeDetector.js +5 -2
  157. package/dist/cjs/ui/ToolbarFeedback/styles.js +5 -3
  158. package/dist/cjs/ui/WithFlash/index.js +4 -2
  159. package/dist/cjs/ui/styles.js +6 -4
  160. package/dist/cjs/utils/document.js +62 -6
  161. package/dist/cjs/utils/filter/privacy-filter.js +2 -2
  162. package/dist/cjs/utils/step.js +17 -1
  163. package/dist/cjs/version-wrapper.js +1 -1
  164. package/dist/cjs/version.json +1 -1
  165. package/dist/es2019/actions/index.js +25 -1
  166. package/dist/es2019/create-editor/ReactEditorView.js +2 -0
  167. package/dist/es2019/create-editor/create-plugins-list.js +1 -2
  168. package/dist/es2019/editor.js +5 -2
  169. package/dist/es2019/keymaps/index.js +5 -1
  170. package/dist/es2019/labs/next/ContentComponents.js +7 -2
  171. package/dist/es2019/labs/next/full-page.js +11 -8
  172. package/dist/es2019/nodeviews/getInlineNodeViewProducer.js +4 -3
  173. package/dist/es2019/nodeviews/getInlineNodeViewProducer.styles.js +16 -4
  174. package/dist/es2019/plugins/alignment/ui/ToolbarAlignment/styles.js +2 -1
  175. package/dist/es2019/plugins/analytics/types/enums.js +3 -0
  176. package/dist/es2019/plugins/base/index.js +6 -15
  177. package/dist/es2019/plugins/base/pm-plugins/better-type-history.js +1 -11
  178. package/dist/es2019/plugins/base/pm-plugins/inline-cursor-target.js +72 -17
  179. package/dist/es2019/plugins/block-type/commands/block-type.js +25 -16
  180. package/dist/es2019/plugins/block-type/ui/ToolbarBlockType/styled.js +3 -2
  181. package/dist/es2019/plugins/breakout/ui/LayoutButton.js +6 -10
  182. package/dist/es2019/plugins/card/styles.js +1 -1
  183. package/dist/es2019/plugins/card/ui/LinkToolbarIconDropdown.js +2 -2
  184. package/dist/es2019/plugins/code-block/actions.js +32 -0
  185. package/dist/es2019/plugins/code-block/nodeviews/code-block.js +61 -1
  186. package/dist/es2019/plugins/code-block/pm-plugins/actions.js +2 -1
  187. package/dist/es2019/plugins/code-block/pm-plugins/main.js +37 -3
  188. package/dist/es2019/plugins/code-block/styles.js +30 -27
  189. package/dist/es2019/plugins/collab-edit/styles.js +3 -2
  190. package/dist/es2019/plugins/collab-edit/ui/styles.js +4 -3
  191. package/dist/es2019/plugins/collab-edit/utils.js +1 -0
  192. package/dist/es2019/plugins/date/ui/DatePicker/index.js +3 -2
  193. package/dist/es2019/plugins/expand/ui/styles.js +15 -14
  194. package/dist/es2019/plugins/extension/commands.js +3 -2
  195. package/dist/es2019/plugins/extension/context-panel.js +11 -3
  196. package/dist/es2019/plugins/extension/plugin-factory.js +1 -3
  197. package/dist/es2019/plugins/extension/pm-plugins/main.js +12 -38
  198. package/dist/es2019/plugins/extension/ui/Extension/Extension/styles.js +5 -4
  199. package/dist/es2019/plugins/extension/ui/Extension/InlineExtension/styles.js +2 -1
  200. package/dist/es2019/plugins/extension/ui/Extension/styles.js +7 -6
  201. package/dist/es2019/plugins/extension/ui/SaveIndicator/SaveIndicator.js +4 -4
  202. package/dist/es2019/plugins/extension/utils.js +2 -37
  203. package/dist/es2019/plugins/fake-text-cursor/styles.js +3 -2
  204. package/dist/es2019/plugins/feature-flags-context/feature-flags-from-props.js +3 -2
  205. package/dist/es2019/plugins/find-replace/styles.js +4 -4
  206. package/dist/es2019/plugins/find-replace/ui/styles.js +3 -2
  207. package/dist/es2019/plugins/floating-toolbar/ui/DropdownMenu.js +2 -1
  208. package/dist/es2019/plugins/floating-toolbar/ui/EditorEmojiAddIcon.js +2 -1
  209. package/dist/es2019/plugins/floating-toolbar/ui/Separator.js +2 -1
  210. package/dist/es2019/plugins/floating-toolbar/ui/Toolbar.js +4 -4
  211. package/dist/es2019/plugins/floating-toolbar/ui/styles.js +11 -10
  212. package/dist/es2019/plugins/grid/styles.js +4 -2
  213. package/dist/es2019/plugins/help-dialog/ui/styles.js +10 -9
  214. package/dist/es2019/plugins/hyperlink/pm-plugins/input-rule.js +24 -2
  215. package/dist/es2019/plugins/hyperlink/pm-plugins/keymap.js +9 -1
  216. package/dist/es2019/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +5 -4
  217. package/dist/es2019/plugins/hyperlink/utils.js +43 -2
  218. package/dist/es2019/plugins/insert-block/index.js +1 -1
  219. package/dist/es2019/plugins/jira-issue/nodeviews/jira-issue.js +6 -5
  220. package/dist/es2019/plugins/layout/styles.js +10 -7
  221. package/dist/es2019/plugins/media/commands/helpers.js +6 -8
  222. package/dist/es2019/plugins/media/nodeviews/mediaInline.js +21 -5
  223. package/dist/es2019/plugins/media/nodeviews/mediaNodeView/media.js +7 -0
  224. package/dist/es2019/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +5 -4
  225. package/dist/es2019/plugins/media/pm-plugins/main.js +2 -0
  226. package/dist/es2019/plugins/media/styles.js +3 -3
  227. package/dist/es2019/plugins/media/ui/CaptionPlaceholder/index.js +2 -1
  228. package/dist/es2019/plugins/media/ui/Media/DropPlaceholder.js +4 -3
  229. package/dist/es2019/plugins/media/ui/MediaLinkingToolbar.js +2 -1
  230. package/dist/es2019/plugins/mentions/styles.js +5 -4
  231. package/dist/es2019/plugins/mentions/ui/InviteItem/index.js +2 -1
  232. package/dist/es2019/plugins/mentions/ui/InviteItem/styles.js +3 -2
  233. package/dist/es2019/plugins/panel/index.js +1 -0
  234. package/dist/es2019/plugins/panel/nodeviews/panel.js +4 -1
  235. package/dist/es2019/plugins/panel/pm-plugins/keymaps.js +22 -4
  236. package/dist/es2019/plugins/paste/handlers.js +23 -0
  237. package/dist/es2019/plugins/paste/linkify-md-plugin.js +7 -1
  238. package/dist/es2019/plugins/paste/pm-plugins/analytics.js +4 -1
  239. package/dist/es2019/plugins/paste/pm-plugins/main.js +27 -2
  240. package/dist/es2019/plugins/placeholder/index.js +12 -1
  241. package/dist/es2019/plugins/placeholder/styles.js +3 -1
  242. package/dist/es2019/plugins/placeholder-text/styles.js +5 -4
  243. package/dist/es2019/plugins/selection/gap-cursor/styles.js +9 -9
  244. package/dist/es2019/plugins/selection/pm-plugins/gap-cursor-main.js +2 -2
  245. package/dist/es2019/plugins/status/ui/statusPicker.js +3 -3
  246. package/dist/es2019/plugins/table/index.js +13 -4
  247. package/dist/es2019/plugins/table/nodeviews/TableComponent.js +6 -6
  248. package/dist/es2019/plugins/table/nodeviews/table.js +6 -2
  249. package/dist/es2019/plugins/table/pm-plugins/main.js +1 -4
  250. package/dist/es2019/plugins/table/pm-plugins/safari-delete-composition-text-issue-workaround.js +106 -0
  251. package/dist/es2019/plugins/table/pm-plugins/table-resizing/event-handlers.js +2 -4
  252. package/dist/es2019/plugins/table/pm-plugins/table-resizing/plugin.js +2 -4
  253. package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/misc.js +3 -7
  254. package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +2 -3
  255. package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/scale-table.js +0 -3
  256. package/dist/es2019/plugins/table/transforms/column-width.js +1 -2
  257. package/dist/es2019/plugins/table/transforms/fix-tables.js +1 -3
  258. package/dist/es2019/plugins/table/ui/FloatingContextualButton/styles.js +4 -2
  259. package/dist/es2019/plugins/table/ui/FloatingContextualMenu/styles.js +4 -3
  260. package/dist/es2019/plugins/table/ui/common-styles.js +29 -27
  261. package/dist/es2019/plugins/table/ui/consts.js +15 -12
  262. package/dist/es2019/plugins/table/ui/ui-styles.js +28 -23
  263. package/dist/es2019/plugins/table/utils/decoration.js +1 -4
  264. package/dist/es2019/plugins/table/utils/paste.js +9 -9
  265. package/dist/es2019/plugins/text-formatting/pm-plugins/input-rule.js +1 -1
  266. package/dist/es2019/plugins/type-ahead/index.js +4 -3
  267. package/dist/es2019/plugins/type-ahead/pm-plugins/decorations.js +2 -1
  268. package/dist/es2019/plugins/type-ahead/ui/TypeAheadList.js +4 -4
  269. package/dist/es2019/plugins/type-ahead/ui/TypeAheadListItem.js +10 -9
  270. package/dist/es2019/plugins/type-ahead/ui/TypeAheadPopup.js +64 -6
  271. package/dist/es2019/plugins/unsupported-content/styles.js +1 -1
  272. package/dist/es2019/ui/Addon/Dropdown/styles.js +3 -2
  273. package/dist/es2019/ui/Addon/DropdownItem/styles.js +3 -2
  274. package/dist/es2019/ui/Appearance/Chromeless.js +2 -1
  275. package/dist/es2019/ui/Appearance/Comment/Comment.js +9 -4
  276. package/dist/es2019/ui/Appearance/Comment/Toolbar.js +4 -2
  277. package/dist/es2019/ui/Appearance/FullPage/FullPage.js +6 -2
  278. package/dist/es2019/ui/Appearance/FullPage/FullPageContentArea.js +2 -1
  279. package/dist/es2019/ui/Appearance/FullPage/FullPageToolbar.js +12 -11
  280. package/dist/es2019/ui/Appearance/FullPage/MainToolbar.js +7 -3
  281. package/dist/es2019/ui/ChromeCollapsed/styles.js +4 -3
  282. package/dist/es2019/ui/ConfigPanel/ConfigPanel.js +10 -2
  283. package/dist/es2019/ui/ConfigPanel/ConfigPanelFieldsLoader.js +2 -0
  284. package/dist/es2019/ui/ConfigPanel/ErrorMessage/ErrorImage.js +3 -0
  285. package/dist/es2019/ui/ConfigPanel/Fields/CheckboxGroup.js +2 -1
  286. package/dist/es2019/ui/ConfigPanel/Fields/Expand.js +2 -1
  287. package/dist/es2019/ui/ConfigPanel/Fields/Fieldset.js +2 -1
  288. package/dist/es2019/ui/ConfigPanel/Fields/common/RequiredIndicator.js +2 -1
  289. package/dist/es2019/ui/ConfigPanel/Header.js +3 -2
  290. package/dist/es2019/ui/ConfigPanel/NestedForms/RemovableField.js +4 -3
  291. package/dist/es2019/ui/ContentStyles/index.js +3 -2
  292. package/dist/es2019/ui/ContextPanel/index.js +2 -1
  293. package/dist/es2019/ui/DropdownMenu/index.js +5 -0
  294. package/dist/es2019/ui/ElementBrowser/InsertMenu.js +6 -3
  295. package/dist/es2019/ui/ElementBrowser/ModalElementBrowser.js +3 -2
  296. package/dist/es2019/ui/ElementBrowser/components/CategoryList.js +3 -2
  297. package/dist/es2019/ui/ElementBrowser/components/ElementList/ElementList.js +12 -5
  298. package/dist/es2019/ui/ElementBrowser/components/ElementList/EmptyState.js +2 -1
  299. package/dist/es2019/ui/ElementBrowser/components/ElementList/NotFoundIllustration.js +3 -0
  300. package/dist/es2019/ui/ElementBrowser/components/ElementSearch.js +2 -1
  301. package/dist/es2019/ui/ElementBrowser/constants.js +3 -1
  302. package/dist/es2019/ui/FloatingToolbar/styles.js +4 -4
  303. package/dist/es2019/ui/LinkSearch/LinkSearchListItem.js +4 -3
  304. package/dist/es2019/ui/PanelTextInput/styles.js +5 -5
  305. package/dist/es2019/ui/PluginSlot/index.js +7 -4
  306. package/dist/es2019/ui/Toolbar/ToolbarInner.js +2 -1
  307. package/dist/es2019/ui/Toolbar/ToolbarWithSizeDetector.js +4 -2
  308. package/dist/es2019/ui/ToolbarFeedback/styles.js +5 -4
  309. package/dist/es2019/ui/WithFlash/index.js +4 -3
  310. package/dist/es2019/ui/styles.js +10 -9
  311. package/dist/es2019/utils/document.js +58 -5
  312. package/dist/es2019/utils/filter/privacy-filter.js +1 -1
  313. package/dist/es2019/utils/step.js +12 -1
  314. package/dist/es2019/version-wrapper.js +1 -1
  315. package/dist/es2019/version.json +1 -1
  316. package/dist/esm/actions/index.js +27 -2
  317. package/dist/esm/create-editor/ErrorBoundary.js +1 -1
  318. package/dist/esm/create-editor/ReactEditorView.js +2 -0
  319. package/dist/esm/create-editor/create-plugins-list.js +1 -2
  320. package/dist/esm/editor.js +6 -4
  321. package/dist/esm/keymaps/index.js +5 -1
  322. package/dist/esm/labs/next/ContentComponents.js +8 -4
  323. package/dist/esm/labs/next/full-page.js +11 -8
  324. package/dist/esm/nodeviews/getInlineNodeViewProducer.js +4 -3
  325. package/dist/esm/nodeviews/getInlineNodeViewProducer.styles.js +3 -2
  326. package/dist/esm/plugins/alignment/ui/ToolbarAlignment/styles.js +2 -1
  327. package/dist/esm/plugins/analytics/types/enums.js +3 -0
  328. package/dist/esm/plugins/annotation/pm-plugins/inline-comment.js +1 -1
  329. package/dist/esm/plugins/annotation/pm-plugins/plugin-factory.js +0 -1
  330. package/dist/esm/plugins/base/index.js +8 -17
  331. package/dist/esm/plugins/base/pm-plugins/better-type-history.js +1 -11
  332. package/dist/esm/plugins/base/pm-plugins/inline-cursor-target.js +72 -17
  333. package/dist/esm/plugins/block-type/commands/block-type.js +31 -22
  334. package/dist/esm/plugins/block-type/ui/ToolbarBlockType/styled.js +3 -2
  335. package/dist/esm/plugins/breakout/ui/LayoutButton.js +3 -5
  336. package/dist/esm/plugins/card/styles.js +1 -1
  337. package/dist/esm/plugins/card/ui/LinkToolbarIconDropdown.js +2 -2
  338. package/dist/esm/plugins/code-block/actions.js +28 -0
  339. package/dist/esm/plugins/code-block/nodeviews/code-block.js +67 -1
  340. package/dist/esm/plugins/code-block/pm-plugins/actions.js +2 -1
  341. package/dist/esm/plugins/code-block/pm-plugins/main.js +39 -3
  342. package/dist/esm/plugins/code-block/styles.js +27 -23
  343. package/dist/esm/plugins/collab-edit/index.js +1 -1
  344. package/dist/esm/plugins/collab-edit/provider/channel.js +1 -1
  345. package/dist/esm/plugins/collab-edit/styles.js +3 -2
  346. package/dist/esm/plugins/collab-edit/ui/styles.js +3 -2
  347. package/dist/esm/plugins/collab-edit/utils.js +2 -0
  348. package/dist/esm/plugins/custom-autoformat/doc.js +1 -1
  349. package/dist/esm/plugins/custom-autoformat/index.js +1 -1
  350. package/dist/esm/plugins/date/ui/DatePicker/index.js +2 -1
  351. package/dist/esm/plugins/expand/ui/styles.js +15 -14
  352. package/dist/esm/plugins/extension/actions.js +1 -1
  353. package/dist/esm/plugins/extension/commands.js +3 -2
  354. package/dist/esm/plugins/extension/context-panel.js +22 -8
  355. package/dist/esm/plugins/extension/plugin-factory.js +1 -3
  356. package/dist/esm/plugins/extension/pm-plugins/main.js +12 -35
  357. package/dist/esm/plugins/extension/ui/Extension/Extension/styles.js +5 -4
  358. package/dist/esm/plugins/extension/ui/Extension/ExtensionComponent.js +1 -1
  359. package/dist/esm/plugins/extension/ui/Extension/InlineExtension/styles.js +2 -1
  360. package/dist/esm/plugins/extension/ui/Extension/styles.js +6 -5
  361. package/dist/esm/plugins/extension/ui/SaveIndicator/SaveIndicator.js +3 -2
  362. package/dist/esm/plugins/extension/utils.js +9 -51
  363. package/dist/esm/plugins/fake-text-cursor/styles.js +2 -1
  364. package/dist/esm/plugins/feature-flags-context/feature-flags-from-props.js +3 -2
  365. package/dist/esm/plugins/feedback-dialog/index.js +1 -2
  366. package/dist/esm/plugins/feedback-dialog/loadJiraCollectorDialogScript.js +1 -1
  367. package/dist/esm/plugins/find-replace/styles.js +3 -3
  368. package/dist/esm/plugins/find-replace/ui/styles.js +3 -2
  369. package/dist/esm/plugins/find-replace/utils/batch-decorations.js +1 -2
  370. package/dist/esm/plugins/floating-toolbar/ui/DropdownMenu.js +2 -1
  371. package/dist/esm/plugins/floating-toolbar/ui/EditorEmojiAddIcon.js +2 -1
  372. package/dist/esm/plugins/floating-toolbar/ui/ExtensionsPlaceholder.js +1 -1
  373. package/dist/esm/plugins/floating-toolbar/ui/Separator.js +2 -1
  374. package/dist/esm/plugins/floating-toolbar/ui/Toolbar.js +5 -4
  375. package/dist/esm/plugins/floating-toolbar/ui/styles.js +11 -10
  376. package/dist/esm/plugins/grid/styles.js +2 -1
  377. package/dist/esm/plugins/help-dialog/ui/styles.js +8 -7
  378. package/dist/esm/plugins/hyperlink/HyperlinkToolbarAppearance.js +1 -1
  379. package/dist/esm/plugins/hyperlink/pm-plugins/input-rule.js +24 -2
  380. package/dist/esm/plugins/hyperlink/pm-plugins/keymap.js +9 -1
  381. package/dist/esm/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +5 -5
  382. package/dist/esm/plugins/hyperlink/utils.js +44 -2
  383. package/dist/esm/plugins/image-upload/pm-plugins/main.js +1 -1
  384. package/dist/esm/plugins/insert-block/index.js +1 -1
  385. package/dist/esm/plugins/jira-issue/nodeviews/jira-issue.js +3 -2
  386. package/dist/esm/plugins/layout/styles.js +1 -1
  387. package/dist/esm/plugins/macro/actions.js +1 -1
  388. package/dist/esm/plugins/media/commands/helpers.js +6 -8
  389. package/dist/esm/plugins/media/nodeviews/mediaGroup.js +1 -1
  390. package/dist/esm/plugins/media/nodeviews/mediaInline.js +23 -6
  391. package/dist/esm/plugins/media/nodeviews/mediaNodeUpdater.js +1 -1
  392. package/dist/esm/plugins/media/nodeviews/mediaNodeView/media.js +8 -1
  393. package/dist/esm/plugins/media/nodeviews/mediaSingle.js +1 -1
  394. package/dist/esm/plugins/media/picker-facade.js +1 -1
  395. package/dist/esm/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +4 -3
  396. package/dist/esm/plugins/media/pm-plugins/main.js +3 -1
  397. package/dist/esm/plugins/media/styles.js +1 -1
  398. package/dist/esm/plugins/media/toolbar/utils.js +1 -1
  399. package/dist/esm/plugins/media/ui/CaptionPlaceholder/index.js +2 -1
  400. package/dist/esm/plugins/media/ui/Media/DropPlaceholder.js +3 -2
  401. package/dist/esm/plugins/media/ui/MediaLinkingToolbar.js +2 -1
  402. package/dist/esm/plugins/media/ui/MediaPicker/PickerFacadeProvider.js +1 -1
  403. package/dist/esm/plugins/media/ui/ResizableMediaSingle/index.js +1 -1
  404. package/dist/esm/plugins/media/utils/check-media-type.js +1 -1
  405. package/dist/esm/plugins/mentions/styles.js +2 -1
  406. package/dist/esm/plugins/mentions/ui/InviteItem/index.js +2 -1
  407. package/dist/esm/plugins/mentions/ui/InviteItem/styles.js +3 -2
  408. package/dist/esm/plugins/panel/index.js +1 -0
  409. package/dist/esm/plugins/panel/nodeviews/panel.js +4 -1
  410. package/dist/esm/plugins/panel/pm-plugins/keymaps.js +22 -4
  411. package/dist/esm/plugins/paste/handlers.js +22 -1
  412. package/dist/esm/plugins/paste/linkify-md-plugin.js +7 -1
  413. package/dist/esm/plugins/paste/pm-plugins/analytics.js +6 -1
  414. package/dist/esm/plugins/paste/pm-plugins/main.js +28 -3
  415. package/dist/esm/plugins/placeholder/index.js +12 -1
  416. package/dist/esm/plugins/placeholder/styles.js +2 -1
  417. package/dist/esm/plugins/placeholder-text/styles.js +2 -1
  418. package/dist/esm/plugins/quick-insert/index.js +1 -1
  419. package/dist/esm/plugins/selection/gap-cursor/styles.js +1 -1
  420. package/dist/esm/plugins/selection/pm-plugins/gap-cursor-main.js +2 -2
  421. package/dist/esm/plugins/status/ui/statusPicker.js +2 -2
  422. package/dist/esm/plugins/table/index.js +13 -4
  423. package/dist/esm/plugins/table/nodeviews/TableComponent.js +6 -6
  424. package/dist/esm/plugins/table/nodeviews/table.js +6 -2
  425. package/dist/esm/plugins/table/pm-plugins/main.js +1 -4
  426. package/dist/esm/plugins/table/pm-plugins/safari-delete-composition-text-issue-workaround.js +102 -0
  427. package/dist/esm/plugins/table/pm-plugins/table-resizing/event-handlers.js +2 -4
  428. package/dist/esm/plugins/table/pm-plugins/table-resizing/plugin.js +2 -5
  429. package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/misc.js +4 -8
  430. package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +2 -3
  431. package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/scale-table.js +0 -3
  432. package/dist/esm/plugins/table/transforms/column-width.js +1 -2
  433. package/dist/esm/plugins/table/transforms/fix-tables.js +1 -3
  434. package/dist/esm/plugins/table/ui/FloatingContextualButton/styles.js +3 -1
  435. package/dist/esm/plugins/table/ui/FloatingContextualMenu/styles.js +2 -1
  436. package/dist/esm/plugins/table/ui/common-styles.js +4 -2
  437. package/dist/esm/plugins/table/ui/consts.js +15 -12
  438. package/dist/esm/plugins/table/ui/ui-styles.js +15 -10
  439. package/dist/esm/plugins/table/utils/decoration.js +3 -4
  440. package/dist/esm/plugins/table/utils/paste.js +9 -9
  441. package/dist/esm/plugins/tasks-and-decisions/ui/Task/task-item-with-providers.js +1 -1
  442. package/dist/esm/plugins/text-formatting/pm-plugins/input-rule.js +1 -1
  443. package/dist/esm/plugins/type-ahead/index.js +4 -3
  444. package/dist/esm/plugins/type-ahead/pm-plugins/decorations.js +2 -1
  445. package/dist/esm/plugins/type-ahead/ui/TypeAheadList.js +4 -4
  446. package/dist/esm/plugins/type-ahead/ui/TypeAheadListItem.js +10 -9
  447. package/dist/esm/plugins/type-ahead/ui/TypeAheadPopup.js +71 -5
  448. package/dist/esm/plugins/unsupported-content/styles.js +1 -1
  449. package/dist/esm/ui/Addon/Dropdown/styles.js +2 -1
  450. package/dist/esm/ui/Addon/DropdownItem/styles.js +2 -1
  451. package/dist/esm/ui/Appearance/Chromeless.js +2 -1
  452. package/dist/esm/ui/Appearance/Comment/Comment.js +10 -3
  453. package/dist/esm/ui/Appearance/Comment/Toolbar.js +3 -2
  454. package/dist/esm/ui/Appearance/FullPage/FullPage.js +6 -2
  455. package/dist/esm/ui/Appearance/FullPage/FullPageContentArea.js +2 -1
  456. package/dist/esm/ui/Appearance/FullPage/FullPageToolbar.js +12 -11
  457. package/dist/esm/ui/Appearance/FullPage/MainToolbar.js +5 -3
  458. package/dist/esm/ui/ChromeCollapsed/styles.js +1 -1
  459. package/dist/esm/ui/ConfigPanel/ConfigPanel.js +22 -15
  460. package/dist/esm/ui/ConfigPanel/ConfigPanelFieldsLoader.js +2 -0
  461. package/dist/esm/ui/ConfigPanel/ErrorMessage/ErrorImage.js +3 -0
  462. package/dist/esm/ui/ConfigPanel/Fields/CheckboxGroup.js +2 -1
  463. package/dist/esm/ui/ConfigPanel/Fields/CustomSelect.js +1 -1
  464. package/dist/esm/ui/ConfigPanel/Fields/Expand.js +2 -1
  465. package/dist/esm/ui/ConfigPanel/Fields/Fieldset.js +2 -1
  466. package/dist/esm/ui/ConfigPanel/Fields/UserSelect.js +1 -1
  467. package/dist/esm/ui/ConfigPanel/Fields/common/RequiredIndicator.js +2 -1
  468. package/dist/esm/ui/ConfigPanel/FormErrorBoundary.js +1 -1
  469. package/dist/esm/ui/ConfigPanel/Header.js +3 -2
  470. package/dist/esm/ui/ConfigPanel/NestedForms/RemovableField.js +3 -2
  471. package/dist/esm/ui/ConfigPanel/transformers.js +1 -1
  472. package/dist/esm/ui/ContentStyles/index.js +3 -2
  473. package/dist/esm/ui/ContextPanel/index.js +2 -1
  474. package/dist/esm/ui/DropdownMenu/index.js +5 -0
  475. package/dist/esm/ui/ElementBrowser/InsertMenu.js +5 -4
  476. package/dist/esm/ui/ElementBrowser/ModalElementBrowser.js +3 -2
  477. package/dist/esm/ui/ElementBrowser/components/CategoryList.js +3 -2
  478. package/dist/esm/ui/ElementBrowser/components/ElementList/ElementList.js +11 -5
  479. package/dist/esm/ui/ElementBrowser/components/ElementList/EmptyState.js +2 -1
  480. package/dist/esm/ui/ElementBrowser/components/ElementList/NotFoundIllustration.js +3 -0
  481. package/dist/esm/ui/ElementBrowser/components/ElementSearch.js +2 -1
  482. package/dist/esm/ui/ElementBrowser/constants.js +3 -1
  483. package/dist/esm/ui/FloatingToolbar/styles.js +3 -3
  484. package/dist/esm/ui/LinkSearch/LinkSearchListItem.js +4 -3
  485. package/dist/esm/ui/LinkSearch/index.js +1 -1
  486. package/dist/esm/ui/PanelTextInput/styles.js +4 -3
  487. package/dist/esm/ui/PluginSlot/index.js +7 -4
  488. package/dist/esm/ui/Toolbar/ToolbarInner.js +2 -1
  489. package/dist/esm/ui/Toolbar/ToolbarWithSizeDetector.js +4 -2
  490. package/dist/esm/ui/ToolbarFeedback/index.js +1 -1
  491. package/dist/esm/ui/ToolbarFeedback/styles.js +4 -3
  492. package/dist/esm/ui/WithFlash/index.js +3 -2
  493. package/dist/esm/ui/styles.js +5 -4
  494. package/dist/esm/utils/action.js +1 -1
  495. package/dist/esm/utils/clipboard.js +1 -1
  496. package/dist/esm/utils/document.js +59 -5
  497. package/dist/esm/utils/extensions.js +1 -1
  498. package/dist/esm/utils/filter/privacy-filter.js +1 -1
  499. package/dist/esm/utils/step.js +12 -1
  500. package/dist/esm/version-wrapper.js +1 -1
  501. package/dist/esm/version.json +1 -1
  502. package/dist/types/actions/index.d.ts +6 -0
  503. package/dist/types/labs/next/ContentComponents.d.ts +7 -1
  504. package/dist/types/nodeviews/getInlineNodeViewProducer.d.ts +1 -0
  505. package/dist/types/plugins/analytics/types/enums.d.ts +3 -0
  506. package/dist/types/plugins/analytics/types/general-events.d.ts +7 -1
  507. package/dist/types/plugins/base/pm-plugins/inline-cursor-target.d.ts +1 -1
  508. package/dist/types/plugins/code-block/actions.d.ts +2 -0
  509. package/dist/types/plugins/code-block/nodeviews/code-block.d.ts +2 -0
  510. package/dist/types/plugins/code-block/pm-plugins/actions.d.ts +1 -0
  511. package/dist/types/plugins/code-block/pm-plugins/main-state.d.ts +1 -0
  512. package/dist/types/plugins/extension/commands.d.ts +1 -1
  513. package/dist/types/plugins/extension/pm-plugins/main.d.ts +1 -2
  514. package/dist/types/plugins/extension/types.d.ts +1 -1
  515. package/dist/types/plugins/extension/ui/Extension/Extension/index.d.ts +6 -0
  516. package/dist/types/plugins/extension/utils.d.ts +1 -3
  517. package/dist/types/plugins/find-replace/styles.d.ts +0 -2
  518. package/dist/types/plugins/hyperlink/utils.d.ts +8 -0
  519. package/dist/types/plugins/media/commands/helpers.d.ts +2 -0
  520. package/dist/types/plugins/media/nodeviews/mediaNodeView/media.d.ts +1 -0
  521. package/dist/types/plugins/media/pm-plugins/main.d.ts +2 -1
  522. package/dist/types/plugins/media/pm-plugins/types.d.ts +2 -1
  523. package/dist/types/plugins/paste/handlers.d.ts +1 -0
  524. package/dist/types/plugins/paste/pm-plugins/analytics.d.ts +1 -0
  525. package/dist/types/plugins/table/commands/misc.d.ts +0 -1
  526. package/dist/types/plugins/table/index.d.ts +0 -1
  527. package/dist/types/plugins/table/nodeviews/TableComponent.d.ts +1 -0
  528. package/dist/types/plugins/table/nodeviews/types.d.ts +0 -1
  529. package/dist/types/plugins/table/pm-plugins/main.d.ts +1 -1
  530. package/dist/types/plugins/table/pm-plugins/safari-delete-composition-text-issue-workaround.d.ts +15 -0
  531. package/dist/types/plugins/table/pm-plugins/table-resizing/event-handlers.d.ts +1 -1
  532. package/dist/types/plugins/table/pm-plugins/table-resizing/plugin.d.ts +1 -1
  533. package/dist/types/plugins/table/pm-plugins/table-resizing/utils/misc.d.ts +1 -2
  534. package/dist/types/plugins/table/pm-plugins/table-resizing/utils/resize-state.d.ts +1 -1
  535. package/dist/types/plugins/table/pm-plugins/table-resizing/utils/scale-table.d.ts +0 -1
  536. package/dist/types/plugins/table/transforms/fix-tables.d.ts +0 -1
  537. package/dist/types/plugins/table/types.d.ts +0 -1
  538. package/dist/types/plugins/table/ui/consts.d.ts +9 -9
  539. package/dist/types/plugins/type-ahead/ui/TypeAheadList.d.ts +2 -0
  540. package/dist/types/plugins/type-ahead/ui/TypeAheadListItem.d.ts +4 -4
  541. package/dist/types/types/editor-appearance-component.d.ts +0 -1
  542. package/dist/types/types/editor-props.d.ts +4 -0
  543. package/dist/types/types/feature-flags.d.ts +8 -0
  544. package/dist/types/types/ui-components.d.ts +1 -0
  545. package/dist/types/ui/Appearance/FullPage/FullPage.d.ts +1 -0
  546. package/dist/types/ui/Appearance/FullPage/FullPageContentArea.d.ts +1 -0
  547. package/dist/types/ui/ConfigPanel/ConfigPanel.d.ts +3 -2
  548. package/dist/types/ui/ConfigPanel/ConfigPanelFieldsLoader.d.ts +3 -2
  549. package/dist/types/ui/PluginSlot/index.d.ts +1 -0
  550. package/dist/types/ui/Toolbar/toolbar-types.d.ts +1 -0
  551. package/dist/types/utils/document.d.ts +1 -0
  552. package/dist/types/utils/step.d.ts +1 -0
  553. package/docs/0-intro.tsx +12 -4
  554. package/package.json +22 -22
@@ -76,10 +76,7 @@ export const createColumnControlsDecoration = selection => {
76
76
  element.dataset.startIndex = `${index}`;
77
77
  index += colspan;
78
78
  element.dataset.endIndex = `${index}`;
79
- return Decoration.widget(cell.pos + 1, // Do not delay the rendering for this Decoration
80
- // because we need to always render all controls
81
- // to keep the order safe
82
- element, {
79
+ return Decoration.widget(cell.pos + 1, () => element, {
83
80
  key: `${TableDecorations.COLUMN_CONTROLS_DECORATIONS}_${index}`,
84
81
  // this decoration should be the first one, even before gap cursor.
85
82
  side: -100
@@ -62,6 +62,8 @@ export const transformSliceToFixHardBreakProblemOnCopyFromCell = (slice, schema)
62
62
  return slice;
63
63
  };
64
64
  export const transformSliceToRemoveOpenTable = (slice, schema) => {
65
+ var _slice$content$firstC;
66
+
65
67
  // we're removing the table, tableRow and tableCell reducing the open depth by 3
66
68
  const depthDecrement = 3; // Case 1: A slice entirely within a single CELL
67
69
 
@@ -69,17 +71,15 @@ export const transformSliceToRemoveOpenTable = (slice, schema) => {
69
71
  slice.openStart >= 4 && slice.openEnd >= 4 && // slice is a table node
70
72
  slice.content.childCount === 1 && slice.content.firstChild.type === schema.nodes.table) {
71
73
  return new Slice(flatmap(slice.content, unwrapContentFromTable), slice.openStart - depthDecrement, slice.openEnd - depthDecrement);
72
- } // Case 2: A slice starting inside a table and finishing outside
73
- // slice.openStart can only be >= 4 if its a TextSelection. CellSelection would give openStart = 1
74
-
75
-
76
- if (slice.openStart >= 4 && slice.content.firstChild.type === schema.nodes.table) {
77
- return new Slice(flatmap(slice.content, removeTableFromFirstChild), slice.openStart - depthDecrement, slice.openEnd);
78
- } // Case 3: A slice starting outside a table and finishing inside
74
+ } // Case 2: A slice starting within a CELL and ending outside the table
79
75
 
80
76
 
81
- if (slice.openEnd >= 4 && slice.content.lastChild.type === schema.nodes.table) {
82
- return new Slice(flatmap(slice.content, removeTableFromLastChild), slice.openStart, slice.openEnd - depthDecrement);
77
+ if ( // starts inside of a cell but ends outside of the starting table
78
+ slice.openStart >= 4 && // slice starts from a table node (and spans across more than one node)
79
+ slice.content.childCount > 1 && ((_slice$content$firstC = slice.content.firstChild) === null || _slice$content$firstC === void 0 ? void 0 : _slice$content$firstC.type) === schema.nodes.table) {
80
+ // repoint the slice's cutting depth so that cell content where the slice starts
81
+ // does not get lifted out of the cell on paste
82
+ return new Slice(slice.content, 1, slice.openEnd);
83
83
  }
84
84
 
85
85
  return slice;
@@ -152,7 +152,7 @@ const buildRegex = char => {
152
152
  // Double X - https://regex101.com/r/pQUgjx/1/
153
153
 
154
154
  const baseRegex = '^X(?=[^X\\s]).*?[^\\sX]X(?=[\\sOBJECT_REPLACEMENT_CHARACTER]COMBINATIONS|$)'.replace('OBJECT_REPLACEMENT_CHARACTER', leafNodeReplacementCharacter).replace('COMBINATIONS', combinations ? `|${combinations}` : '');
155
- const replacedRegex = baseRegex.replaceAll ? baseRegex.replaceAll('X', escapedChar) : baseRegex.replace(/X/g, escapedChar);
155
+ const replacedRegex = String.prototype.hasOwnProperty('replaceAll') ? baseRegex.replaceAll('X', escapedChar) : baseRegex.replace(/X/g, escapedChar);
156
156
  return new ReverseRegexExp(replacedRegex);
157
157
  };
158
158
 
@@ -151,12 +151,13 @@ const typeAheadPlugin = options => {
151
151
  containerElement,
152
152
  popupsMountPoint,
153
153
  popupsBoundariesElement,
154
- popupsScrollableElement
154
+ popupsScrollableElement,
155
+ wrapperElement
155
156
  }) {
156
157
  popupMountRef.current = {
157
- popupsMountPoint: popupsMountPoint || containerElement || undefined,
158
+ popupsMountPoint: popupsMountPoint || wrapperElement || undefined,
158
159
  popupsBoundariesElement,
159
- popupsScrollableElement
160
+ popupsScrollableElement: popupsScrollableElement || containerElement || undefined
160
161
  };
161
162
  return /*#__PURE__*/React.createElement(WithPluginState, {
162
163
  plugins: {
@@ -12,6 +12,7 @@ import { WrapperTypeAhead } from '../ui/WrapperTypeAhead';
12
12
  import { StatsModifier } from '../stats-modifier';
13
13
  import { getTypeAheadQuery } from '../utils';
14
14
  import { closeTypeAhead } from '../transforms/close-type-ahead';
15
+ import { token } from '@atlaskit/tokens';
15
16
  export const factoryDecorations = ({
16
17
  intl,
17
18
  popupMountRef,
@@ -56,7 +57,7 @@ export const factoryDecorations = ({
56
57
 
57
58
  typeaheadComponent.dataset.editorPopup = 'true';
58
59
  typeaheadComponent.dataset.typeAhead = TYPE_AHEAD_DECORATION_DATA_ATTRIBUTE;
59
- typeaheadComponent.style.color = B400;
60
+ typeaheadComponent.style.color = token('color.text.accent.blue', B400);
60
61
  typeaheadComponent.style.backgroundColor = 'transparent';
61
62
 
62
63
  const onUndoRedo = inputType => {
@@ -11,14 +11,14 @@ import { DynamicHeightListItem, SelectedIndexContext, ListItemActionsContext, Up
11
11
  import { injectIntl } from 'react-intl-next';
12
12
  import { typeAheadListMessages } from '../messages';
13
13
  const LIST_ITEM_ESTIMATED_HEIGHT = ICON_HEIGHT + ITEM_PADDING * 2;
14
- const LIST_MAX_HEIGHT = 380;
15
14
  const LIST_WIDTH = 320;
16
15
  const TypeAheadListComponent = /*#__PURE__*/React.memo(({
17
16
  items,
18
17
  selectedIndex,
19
18
  onItemHover,
20
19
  onItemClick,
21
- intl
20
+ intl,
21
+ fitHeight
22
22
  }) => {
23
23
  const listRef = useRef();
24
24
  const redrawListAtIndex = useCallback(index => {
@@ -41,7 +41,7 @@ const TypeAheadListComponent = /*#__PURE__*/React.memo(({
41
41
  redrawListAtIndex,
42
42
  getFirstVisibleIndex,
43
43
  listLength: items.length,
44
- listMaxHeight: LIST_MAX_HEIGHT,
44
+ listMaxHeight: fitHeight,
45
45
  listItemEstimatedHeight: LIST_ITEM_ESTIMATED_HEIGHT
46
46
  });
47
47
  const onItemsRendered = useCallback(props => {
@@ -99,7 +99,7 @@ const TypeAheadListComponent = /*#__PURE__*/React.memo(({
99
99
  }
100
100
 
101
101
  const estimatedHeight = items.length * LIST_ITEM_ESTIMATED_HEIGHT;
102
- const height = Math.min(typeof renderedListHeight === 'number' ? renderedListHeight : estimatedHeight, LIST_MAX_HEIGHT);
102
+ const height = Math.min(typeof renderedListHeight === 'number' ? renderedListHeight : estimatedHeight, fitHeight);
103
103
  return jsx(ItemGroup, {
104
104
  role: "listbox",
105
105
  "aria-live": "polite",
@@ -10,6 +10,7 @@ import { relativeFontSizeToBase16 } from '@atlaskit/editor-shared-styles';
10
10
  import IconFallback from '../../quick-insert/assets/fallback';
11
11
  import { shortcutStyle } from '../../../ui/styles';
12
12
  import { SelectItemMode } from '@atlaskit/editor-common/type-ahead';
13
+ import { token } from '@atlaskit/tokens';
13
14
  export const ICON_HEIGHT = 40;
14
15
  export const ICON_WIDTH = 40;
15
16
  export const ITEM_PADDING = 12;
@@ -30,20 +31,20 @@ export const itemTheme = {
30
31
  hover: {
31
32
  // background: colors.transparent, transparent is not a thing
32
33
  text: colorsText,
33
- secondaryText: N200
34
+ secondaryText: token('color.text.subtlest', N200)
34
35
  },
35
36
  selected: {
36
37
  background: themed({
37
- light: N20,
38
- dark: DN70
38
+ light: token('color.background.neutral.subtle.hovered', N20),
39
+ dark: token('color.background.neutral.subtle.hovered', DN70)
39
40
  }),
40
41
  text: themed({
41
- light: N800,
42
- dark: DN600
42
+ light: token('color.text', N800),
43
+ dark: token('color.text', DN600)
43
44
  }),
44
45
  secondaryText: themed({
45
- light: N200,
46
- dark: DN300
46
+ light: token('color.text.subtlest', N200),
47
+ dark: token('color.text.subtlest', DN300)
47
48
  })
48
49
  }
49
50
  }
@@ -52,7 +53,7 @@ export const itemIcon = css`
52
53
  width: ${ICON_WIDTH}px;
53
54
  height: ${ICON_HEIGHT}px;
54
55
  overflow: hidden;
55
- border: 1px solid rgba(223, 225, 229, 0.5); /* N60 at 50% */
56
+ border: 1px solid ${token('color.border', 'rgba(223, 225, 229, 0.5)')}; /* N60 at 50% */
56
57
  border-radius: ${borderRadius()}px;
57
58
  box-sizing: border-box;
58
59
 
@@ -76,7 +77,7 @@ const itemText = css`
76
77
  white-space: initial;
77
78
  .item-description {
78
79
  font-size: ${relativeFontSizeToBase16(11.67)};
79
- color: ${N200};
80
+ color: ${token('color.text.subtlest', N200)};
80
81
  margin-top: 4px;
81
82
  }
82
83
  `;
@@ -1,17 +1,21 @@
1
1
  /** @jsx jsx */
2
- import React, { useEffect, useMemo } from 'react';
2
+ import React, { useCallback, useEffect, useMemo, useState } from 'react';
3
3
  import { css, jsx } from '@emotion/react';
4
+ import rafSchedule from 'raf-schd';
4
5
  import { akEditorFloatingDialogZIndex } from '@atlaskit/editor-shared-styles';
5
- import { Popup } from '@atlaskit/editor-common/ui';
6
+ import { findOverflowScrollParent, Popup } from '@atlaskit/editor-common/ui';
6
7
  import { borderRadius, gridSize } from '@atlaskit/theme/constants';
7
8
  import { N0, N60A, N50A } from '@atlaskit/theme/colors';
8
9
  import { ACTION, ACTION_SUBJECT, EVENT_TYPE } from '../../analytics';
9
10
  import { TYPE_AHEAD_POPUP_CONTENT_CLASS } from '../constants';
10
11
  import { TypeAheadList } from './TypeAheadList';
12
+ import { ITEM_PADDING } from './TypeAheadListItem';
13
+ import { token } from '@atlaskit/tokens';
14
+ const DEFAULT_TYPEAHEAD_MENU_HEIGHT = 380;
11
15
  const typeAheadContent = css`
12
- background: ${N0};
16
+ background: ${token('elevation.surface.overlay', N0)};
13
17
  border-radius: ${borderRadius()}px;
14
- box-shadow: 0 0 1px ${N60A}, 0 4px 8px -2px ${N50A};
18
+ box-shadow: ${token('elevation.shadow.overlay', `0 0 1px ${N60A}, 0 4px 8px -2px ${N50A}`)};
15
19
  padding: ${gridSize() / 2}px 0;
16
20
  width: 320px;
17
21
  max-height: 380px; /* ~5.5 visibile items */
@@ -97,13 +101,66 @@ export const TypeAheadPopup = /*#__PURE__*/React.memo(props => {
97
101
  // we need to send the event again
98
102
  // eslint-disable-next-line react-hooks/exhaustive-deps
99
103
  triggerHandler]);
104
+ const [fitHeight, setFitHeight] = useState(DEFAULT_TYPEAHEAD_MENU_HEIGHT);
105
+ const getFitHeight = useCallback(() => {
106
+ if (!anchorElement || !popupsMountPoint) {
107
+ return;
108
+ }
109
+
110
+ const target = anchorElement;
111
+ const {
112
+ top: targetTop,
113
+ height: targetHeight
114
+ } = target.getBoundingClientRect();
115
+ const boundariesElement = document.body;
116
+ const {
117
+ height: boundariesHeight,
118
+ top: boundariesTop
119
+ } = boundariesElement.getBoundingClientRect(); // Calculating the space above and space below our decoration
120
+
121
+ const spaceAbove = targetTop - (boundariesTop - boundariesElement.scrollTop);
122
+ const spaceBelow = boundariesTop + boundariesHeight - (targetTop + targetHeight); // Keep default height if more than enough space
123
+
124
+ if (spaceBelow >= DEFAULT_TYPEAHEAD_MENU_HEIGHT) {
125
+ return setFitHeight(DEFAULT_TYPEAHEAD_MENU_HEIGHT);
126
+ } // Determines whether typeahead will fit above or below decoration
127
+ // and return the space available.
128
+
129
+
130
+ const newFitHeight = spaceBelow >= spaceAbove ? spaceBelow : spaceAbove; // Each typeahead item has some padding
131
+ // We want to leave some space at the top so first item
132
+ // is not partially cropped
133
+
134
+ const fitHeightWithSpace = newFitHeight - ITEM_PADDING * 2; // Ensure typeahead height is max its default height
135
+
136
+ const minFitHeight = Math.min(DEFAULT_TYPEAHEAD_MENU_HEIGHT, fitHeightWithSpace);
137
+ return setFitHeight(minFitHeight);
138
+ }, [anchorElement, popupsMountPoint]);
139
+ const getFitHeightDebounced = rafSchedule(getFitHeight);
140
+ useEffect(() => {
141
+ const scrollableElement = popupsScrollableElement || findOverflowScrollParent(anchorElement);
142
+ getFitHeight();
143
+ window.addEventListener('resize', getFitHeightDebounced);
144
+
145
+ if (scrollableElement) {
146
+ scrollableElement.addEventListener('scroll', getFitHeightDebounced);
147
+ }
148
+
149
+ return () => {
150
+ window.removeEventListener('resize', getFitHeightDebounced);
151
+
152
+ if (scrollableElement) {
153
+ scrollableElement.removeEventListener('scroll', getFitHeightDebounced);
154
+ }
155
+ };
156
+ }, [anchorElement, popupsScrollableElement, getFitHeightDebounced, getFitHeight]);
100
157
  return jsx(Popup, {
101
158
  zIndex: akEditorFloatingDialogZIndex,
102
159
  target: anchorElement,
103
160
  mountTo: popupsMountPoint,
104
161
  boundariesElement: popupsBoundariesElement,
105
162
  scrollableElement: popupsScrollableElement,
106
- fitHeight: 300,
163
+ fitHeight: fitHeight,
107
164
  fitWidth: 340,
108
165
  offset: OFFSET
109
166
  }, jsx("div", {
@@ -117,7 +174,8 @@ export const TypeAheadPopup = /*#__PURE__*/React.memo(props => {
117
174
  items: items,
118
175
  selectedIndex: selectedIndex,
119
176
  onItemHover: setSelectedItem,
120
- onItemClick: onItemInsert
177
+ onItemClick: onItemInsert,
178
+ fitHeight: fitHeight
121
179
  })));
122
180
  });
123
181
  TypeAheadPopup.displayName = 'TypeAheadPopup';
@@ -5,7 +5,7 @@ export const UnsupportedSharedCssClassName = {
5
5
  BLOCK_CONTAINER: 'unsupportedBlockView-content-wrap',
6
6
  INLINE_CONTAINER: 'unsupportedInlineView-content-wrap'
7
7
  };
8
- const inlineUnsupportedSelector = `.${UnsupportedSharedCssClassName.INLINE_CONTAINER} > span:nth-child(2)`;
8
+ const inlineUnsupportedSelector = `.${UnsupportedSharedCssClassName.INLINE_CONTAINER} > span:nth-of-type(2)`;
9
9
  const blockUnsupportedSelector = `.${UnsupportedSharedCssClassName.BLOCK_CONTAINER} > div`;
10
10
  export const unsupportedStyles = css`
11
11
  ${blockUnsupportedSelector}, ${inlineUnsupportedSelector} {
@@ -1,12 +1,13 @@
1
1
  import { css } from '@emotion/react';
2
2
  import { borderRadius } from '@atlaskit/theme/constants';
3
3
  import { N60A } from '@atlaskit/theme/colors';
4
+ import { token } from '@atlaskit/tokens';
4
5
  export const dropdown = css`
5
6
  display: flex;
6
7
  flex-direction: column;
7
- background: white;
8
+ background: ${token('elevation.surface.overlay', 'white')};
8
9
  border-radius: ${borderRadius()}px;
9
- box-shadow: 0 4px 8px -2px ${N60A}, 0 0 1px ${N60A};
10
+ box-shadow: ${token('elevation.shadow.overlay', `0 4px 8px -2px ${N60A}, 0 0 1px ${N60A}`)};
10
11
  box-sizing: border-box;
11
12
  padding: 4px 0;
12
13
  `;
@@ -1,17 +1,18 @@
1
1
  import { css } from '@emotion/react';
2
2
  import { N800, N20 } from '@atlaskit/theme/colors';
3
+ import { token } from '@atlaskit/tokens';
3
4
  export const dropdownItem = css`
4
5
  display: flex;
5
6
  align-items: center;
6
7
  cursor: pointer;
7
8
  text-decoration: none;
8
9
  padding: 8px 32px 8px 12px;
9
- color: ${N800};
10
+ color: ${token('color.text', N800)};
10
11
  > span {
11
12
  display: flex;
12
13
  margin-right: 8px;
13
14
  }
14
15
  &:hover {
15
- background-color: ${N20};
16
+ background-color: ${token('color.background.neutral.subtle.hovered', N20)};
16
17
  }
17
18
  `;
@@ -79,7 +79,8 @@ export default class Editor extends React.Component {
79
79
  popupsScrollableElement: popupsScrollableElement,
80
80
  containerElement: this.containerElement,
81
81
  disabled: !!disabled,
82
- dispatchAnalyticsEvent: dispatchAnalyticsEvent
82
+ dispatchAnalyticsEvent: dispatchAnalyticsEvent,
83
+ wrapperElement: this.containerElement
83
84
  }), editorDOMElement)));
84
85
  });
85
86
  }
@@ -7,6 +7,7 @@ import ButtonGroup from '@atlaskit/button/button-group';
7
7
  import Button from '@atlaskit/button/custom-theme-button';
8
8
  import { borderRadius } from '@atlaskit/theme/constants';
9
9
  import { N40 } from '@atlaskit/theme/colors';
10
+ import { token } from '@atlaskit/tokens';
10
11
  import Toolbar from '../../Toolbar';
11
12
  import PluginSlot from '../../PluginSlot';
12
13
  import WithPluginState from '../../WithPluginState';
@@ -39,8 +40,8 @@ const commentEditorStyle = css`
39
40
  /* calc(2px + 40px + 24px + ( 20px + (32px * 2))) */
40
41
 
41
42
  height: auto;
42
- background-color: white;
43
- border: 1px solid ${N40};
43
+ background-color: ${token('color.background.input', 'white')};
44
+ border: 1px solid ${token('color.border', N40)};
44
45
  box-sizing: border-box;
45
46
  border-radius: ${borderRadius()}px;
46
47
 
@@ -86,6 +87,8 @@ class Editor extends React.Component {
86
87
 
87
88
  _defineProperty(this, "containerElement", null);
88
89
 
90
+ _defineProperty(this, "wrapperElement", null);
91
+
89
92
  _defineProperty(this, "handleSave", () => {
90
93
  if (this.props.editorView && this.props.onSave) {
91
94
  this.props.onSave(this.props.editorView);
@@ -133,7 +136,8 @@ class Editor extends React.Component {
133
136
  css: [commentEditorStyle, css`
134
137
  min-height: ${minHeight}px;
135
138
  `],
136
- className: "akEditor"
139
+ className: "akEditor",
140
+ ref: ref => this.wrapperElement = ref
137
141
  }, jsx(MainToolbar, {
138
142
  useStickyToolbar: useStickyToolbar
139
143
  }, jsx(Toolbar, {
@@ -176,7 +180,8 @@ class Editor extends React.Component {
176
180
  popupsBoundariesElement: popupsBoundariesElement,
177
181
  popupsScrollableElement: popupsScrollableElement,
178
182
  containerElement: this.containerElement,
179
- disabled: !!disabled
183
+ disabled: !!disabled,
184
+ wrapperElement: this.wrapperElement
180
185
  }), editorDOMElement);
181
186
  })), jsx(WidthEmitter, {
182
187
  editorView: editorView
@@ -3,6 +3,7 @@ import React, { useEffect, useState } from 'react';
3
3
  import { css, jsx } from '@emotion/react';
4
4
  import { gridSize } from '@atlaskit/theme/constants';
5
5
  import { N30 } from '@atlaskit/theme/colors';
6
+ import { token } from '@atlaskit/tokens';
6
7
  import { akEditorToolbarKeylineHeight, akEditorGridLineZIndex, akEditorMenuZIndex } from '@atlaskit/editor-shared-styles';
7
8
  export const TableControlsPadding = 20;
8
9
  const mainToolbarWrapperStyle = css`
@@ -11,7 +12,7 @@ const mainToolbarWrapperStyle = css`
11
12
  padding: ${gridSize()}px ${gridSize()}px 0;
12
13
  display: flex;
13
14
  height: auto;
14
- background-color: white;
15
+ background-color: ${token('elevation.surface', 'white')};
15
16
  box-shadow: none;
16
17
  padding-left: ${TableControlsPadding}px;
17
18
 
@@ -32,7 +33,8 @@ const stickyToolbarWrapperStyle = css`
32
33
  z-index: ${akEditorGridLineZIndex + akEditorMenuZIndex};
33
34
  transition: box-shadow ease-in-out 0.2s;
34
35
  &.show-keyline {
35
- box-shadow: 0 ${akEditorToolbarKeylineHeight}px 0 0 ${N30};
36
+ box-shadow: 0 ${akEditorToolbarKeylineHeight}px 0 0
37
+ ${token('color.border', N30)};
36
38
  }
37
39
  `;
38
40
 
@@ -20,6 +20,8 @@ export class FullPageEditor extends React.Component {
20
20
 
21
21
  _defineProperty(this, "scrollContainer", null);
22
22
 
23
+ _defineProperty(this, "wrapperElementRef", /*#__PURE__*/React.createRef());
24
+
23
25
  _defineProperty(this, "contentAreaRef", contentArea => {
24
26
  this.contentArea = contentArea;
25
27
  });
@@ -84,7 +86,8 @@ export class FullPageEditor extends React.Component {
84
86
  const featureFlags = (_props$editorView = props.editorView) !== null && _props$editorView !== void 0 && _props$editorView.state ? getFeatureFlags(props.editorView.state) : undefined;
85
87
  return jsx(ContextPanelWidthProvider, null, jsx("div", {
86
88
  css: fullPageEditorWrapper,
87
- className: "akEditor"
89
+ className: "akEditor",
90
+ ref: this.wrapperElementRef
88
91
  }, jsx(FullPageToolbar, {
89
92
  appearance: props.appearance,
90
93
  beforeIcon: props.primaryToolbarIconBefore,
@@ -123,7 +126,8 @@ export class FullPageEditor extends React.Component {
123
126
  popupsScrollableElement: props.popupsScrollableElement,
124
127
  providerFactory: props.providerFactory,
125
128
  scrollContainer: this.scrollContainer,
126
- scrollContainerRef: this.scrollContainerRef
129
+ scrollContainerRef: this.scrollContainerRef,
130
+ wrapperElement: this.wrapperElementRef.current
127
131
  })));
128
132
  }
129
133
 
@@ -51,7 +51,8 @@ const Content = /*#__PURE__*/React.memo(props => {
51
51
  popupsScrollableElement: props.popupsScrollableElement,
52
52
  disabled: !!props.disabled,
53
53
  containerElement: props.scrollContainer,
54
- dispatchAnalyticsEvent: props.dispatchAnalyticsEvent
54
+ dispatchAnalyticsEvent: props.dispatchAnalyticsEvent,
55
+ wrapperElement: props.wrapperElement
55
56
  }), props.editorDOMElement)))), jsx("div", {
56
57
  css: sidebarArea
57
58
  }, props.contextPanel || jsx(ContextPanel, {
@@ -10,7 +10,7 @@ import { mainToolbarStyle, mainToolbarIconBeforeStyle, mainToolbarFirstChildStyl
10
10
  import { ContextPanelConsumer } from '../../ContextPanel/context';
11
11
  import messages from './messages';
12
12
  export const EditorToolbar = /*#__PURE__*/React.memo(props => {
13
- var _props$featureFlags, _props$featureFlags2, _props$featureFlags3, _props$collabEdit, _props$collabEdit2, _props$collabEdit3, _props$featureFlags4, _props$featureFlags5;
13
+ var _props$featureFlags, _props$featureFlags2, _props$featureFlags3, _props$featureFlags4, _props$collabEdit, _props$collabEdit2, _props$collabEdit3, _props$featureFlags5, _props$featureFlags6;
14
14
 
15
15
  const [shouldSplitToolbar, setShouldSplitToolbar] = useState(false);
16
16
  const nonCustomToolbar = jsx("div", {
@@ -30,19 +30,20 @@ export const EditorToolbar = /*#__PURE__*/React.memo(props => {
30
30
  disabled: props.disabled,
31
31
  dispatchAnalyticsEvent: props.dispatchAnalyticsEvent,
32
32
  containerElement: props.containerElement,
33
- hasMinWidth: props.hasMinWidth
33
+ hasMinWidth: props.hasMinWidth,
34
+ twoLineEditorToolbar: !!((_props$featureFlags = props.featureFlags) !== null && _props$featureFlags !== void 0 && _props$featureFlags.twoLineEditorToolbar)
34
35
  }));
35
36
  const customToolbar = jsx("div", {
36
37
  css: customToolbarWrapperStyle
37
- }, (_props$featureFlags = props.featureFlags) !== null && _props$featureFlags !== void 0 && _props$featureFlags.twoLineEditorToolbar && !!props.customPrimaryToolbarComponents && 'before' in props.customPrimaryToolbarComponents ? jsx(BeforePrimaryToolbarWrapper, {
38
+ }, (_props$featureFlags2 = props.featureFlags) !== null && _props$featureFlags2 !== void 0 && _props$featureFlags2.twoLineEditorToolbar && !!props.customPrimaryToolbarComponents && 'before' in props.customPrimaryToolbarComponents ? jsx(BeforePrimaryToolbarWrapper, {
38
39
  beforePrimaryToolbarComponents: props.customPrimaryToolbarComponents.before
39
- }) : null, (props === null || props === void 0 ? void 0 : (_props$featureFlags2 = props.featureFlags) === null || _props$featureFlags2 === void 0 ? void 0 : _props$featureFlags2.showAvatarGroupAsPlugin) === true && !((_props$featureFlags3 = props.featureFlags) !== null && _props$featureFlags3 !== void 0 && _props$featureFlags3.twoLineEditorToolbar) ? null : jsx(AvatarsWithPluginState, {
40
+ }) : null, (props === null || props === void 0 ? void 0 : (_props$featureFlags3 = props.featureFlags) === null || _props$featureFlags3 === void 0 ? void 0 : _props$featureFlags3.showAvatarGroupAsPlugin) === true && !((_props$featureFlags4 = props.featureFlags) !== null && _props$featureFlags4 !== void 0 && _props$featureFlags4.twoLineEditorToolbar) ? null : jsx(AvatarsWithPluginState, {
40
41
  editorView: props.editorView,
41
42
  eventDispatcher: props.eventDispatcher,
42
43
  inviteToEditComponent: (_props$collabEdit = props.collabEdit) === null || _props$collabEdit === void 0 ? void 0 : _props$collabEdit.inviteToEditComponent,
43
44
  inviteToEditHandler: (_props$collabEdit2 = props.collabEdit) === null || _props$collabEdit2 === void 0 ? void 0 : _props$collabEdit2.inviteToEditHandler,
44
45
  isInviteToEditButtonSelected: (_props$collabEdit3 = props.collabEdit) === null || _props$collabEdit3 === void 0 ? void 0 : _props$collabEdit3.isInviteToEditButtonSelected
45
- }), (_props$featureFlags4 = props.featureFlags) !== null && _props$featureFlags4 !== void 0 && _props$featureFlags4.findReplace && (_props$featureFlags5 = props.featureFlags) !== null && _props$featureFlags5 !== void 0 && _props$featureFlags5.twoLineEditorToolbar ? jsx(FindReplaceToolbarButtonWithState, {
46
+ }), (_props$featureFlags5 = props.featureFlags) !== null && _props$featureFlags5 !== void 0 && _props$featureFlags5.findReplace && (_props$featureFlags6 = props.featureFlags) !== null && _props$featureFlags6 !== void 0 && _props$featureFlags6.twoLineEditorToolbar ? jsx(FindReplaceToolbarButtonWithState, {
46
47
  popupsBoundariesElement: props.popupsBoundariesElement,
47
48
  popupsMountPoint: props.popupsMountPoint,
48
49
  popupsScrollableElement: props.popupsScrollableElement,
@@ -51,9 +52,9 @@ export const EditorToolbar = /*#__PURE__*/React.memo(props => {
51
52
  dispatchAnalyticsEvent: props.dispatchAnalyticsEvent
52
53
  }) : null, !!props.customPrimaryToolbarComponents && 'after' in props.customPrimaryToolbarComponents ? props.customPrimaryToolbarComponents.after : props.customPrimaryToolbarComponents);
53
54
  useEffect(() => {
54
- var _props$featureFlags6;
55
+ var _props$featureFlags7;
55
56
 
56
- if ((_props$featureFlags6 = props.featureFlags) !== null && _props$featureFlags6 !== void 0 && _props$featureFlags6.twoLineEditorToolbar) {
57
+ if ((_props$featureFlags7 = props.featureFlags) !== null && _props$featureFlags7 !== void 0 && _props$featureFlags7.twoLineEditorToolbar) {
57
58
  const updateOnResize = () => {
58
59
  setShouldSplitToolbar(window.innerWidth <= MAXIMUM_TWO_LINE_TOOLBAR_BREAKPOINT);
59
60
  };
@@ -66,17 +67,17 @@ export const EditorToolbar = /*#__PURE__*/React.memo(props => {
66
67
  return jsx(ContextPanelConsumer, null, ({
67
68
  width: contextPanelWidth
68
69
  }) => {
69
- var _props$featureFlags7, _props$featureFlags8, _props$featureFlags9;
70
+ var _props$featureFlags8, _props$featureFlags9, _props$featureFlags10;
70
71
 
71
72
  return jsx("div", {
72
- css: mainToolbarStyle(props.showKeyline || contextPanelWidth > 0, !!((_props$featureFlags7 = props.featureFlags) !== null && _props$featureFlags7 !== void 0 && _props$featureFlags7.twoLineEditorToolbar)),
73
+ css: mainToolbarStyle(props.showKeyline || contextPanelWidth > 0, !!((_props$featureFlags8 = props.featureFlags) !== null && _props$featureFlags8 !== void 0 && _props$featureFlags8.twoLineEditorToolbar)),
73
74
  "data-testid": "ak-editor-main-toolbar"
74
75
  }, jsx("div", {
75
- css: mainToolbarFirstChildStyle(!!((_props$featureFlags8 = props.featureFlags) !== null && _props$featureFlags8 !== void 0 && _props$featureFlags8.twoLineEditorToolbar)),
76
+ css: mainToolbarFirstChildStyle(!!((_props$featureFlags9 = props.featureFlags) !== null && _props$featureFlags9 !== void 0 && _props$featureFlags9.twoLineEditorToolbar)),
76
77
  role: "region",
77
78
  "aria-label": props.intl.formatMessage(messages.toolbarLabel)
78
79
  }, shouldSplitToolbar ? customToolbar : nonCustomToolbar), jsx("div", {
79
- css: mainToolbarSecondChildStyle(!!((_props$featureFlags9 = props.featureFlags) !== null && _props$featureFlags9 !== void 0 && _props$featureFlags9.twoLineEditorToolbar)),
80
+ css: mainToolbarSecondChildStyle(!!((_props$featureFlags10 = props.featureFlags) !== null && _props$featureFlags10 !== void 0 && _props$featureFlags10.twoLineEditorToolbar)),
80
81
  "data-testid": 'avatar-group-outside-plugin',
81
82
  role: "region",
82
83
  "aria-label": props.intl.formatMessage(messages.pageActionsLabel)
@@ -1,11 +1,14 @@
1
1
  import { css } from '@emotion/react';
2
2
  import { N30 } from '@atlaskit/theme/colors';
3
+ import { token } from '@atlaskit/tokens';
3
4
  import { gridSize } from '@atlaskit/theme/constants';
4
5
  import { akEditorMenuZIndex, akEditorSwoopCubicBezier, akEditorToolbarKeylineHeight, akEditorMobileMaxWidth } from '@atlaskit/editor-shared-styles';
5
6
  export const MAXIMUM_TWO_LINE_TOOLBAR_BREAKPOINT = 868;
6
- const toolbarLineHeight = 56;
7
+ const toolbarLineHeight = 56; // box-shadow is overriden by the mainToolbar
8
+
7
9
  const mainToolbarWithKeyline = css`
8
- box-shadow: 0 ${akEditorToolbarKeylineHeight}px 0 0 ${N30};
10
+ box-shadow: 0 ${akEditorToolbarKeylineHeight}px 0 0
11
+ ${token('color.border', N30)};
9
12
  `;
10
13
  const mainToolbarTwoLineStyle = css`
11
14
  @media (max-width: ${MAXIMUM_TWO_LINE_TOOLBAR_BREAKPOINT}px) {
@@ -22,7 +25,8 @@ const mainToolbar = css`
22
25
  display: flex;
23
26
  height: ${toolbarLineHeight}px;
24
27
  flex-shrink: 0;
25
- background-color: white;
28
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4456
29
+ background-color: ${token('elevation.surface', 'white')};
26
30
 
27
31
  & object {
28
32
  height: 0 !important;
@@ -6,7 +6,7 @@ import { token } from '@atlaskit/tokens';
6
6
  export const inputStyle = css`
7
7
  /* Normal .className gets overridden by input[type=text] hence this hack to produce input.className */
8
8
  input& {
9
- background-color: white;
9
+ background-color: ${token('color.background.input', 'white')};
10
10
  border: 1px solid ${token('color.border.input', akEditorSubtleAccent)};
11
11
  border-radius: ${borderRadius()}px;
12
12
  box-sizing: border-box;
@@ -19,10 +19,11 @@ export const inputStyle = css`
19
19
  font-weight: 400;
20
20
  line-height: 1.42857142857143;
21
21
  letter-spacing: -0.005em;
22
- color: ${N300};
22
+ color: ${token('color.text.subtlest', N300)};
23
23
 
24
24
  &:hover {
25
- border-color: ${N50};
25
+ background-color: ${token('color.background.input.hovered', 'white')};
26
+ border-color: ${token('color.border.input', N50)};
26
27
  cursor: text;
27
28
  }
28
29
  }
@@ -180,10 +180,17 @@ class ConfigPanel extends React.Component {
180
180
  const {
181
181
  fields,
182
182
  extensionManifest,
183
- onChange
183
+ onChange,
184
+ autoSaveReject
184
185
  } = this.props;
185
186
 
186
187
  if (!extensionManifest || !fields) {
188
+ if (!extensionManifest) {
189
+ autoSaveReject === null || autoSaveReject === void 0 ? void 0 : autoSaveReject(new Error('Extension manifest not loaded'));
190
+ } else if (!fields) {
191
+ autoSaveReject === null || autoSaveReject === void 0 ? void 0 : autoSaveReject(new Error('Config fields not loaded'));
192
+ }
193
+
187
194
  return;
188
195
  }
189
196
 
@@ -191,7 +198,8 @@ class ConfigPanel extends React.Component {
191
198
  const serializedData = await serialize(extensionManifest, this.backfillTabFormData(fields, formData, this.state.currentParameters), fields);
192
199
  onChange(serializedData);
193
200
  } catch (error) {
194
- // eslint-disable-next-line no-console
201
+ autoSaveReject === null || autoSaveReject === void 0 ? void 0 : autoSaveReject(error); // eslint-disable-next-line no-console
202
+
195
203
  console.error(`Error serializing parameters`, error);
196
204
  }
197
205
  });
@@ -75,6 +75,7 @@ export default function FieldsLoader({
75
75
  parameters = defaultEmptyObject,
76
76
  autoSave,
77
77
  autoSaveTrigger,
78
+ autoSaveReject,
78
79
  closeOnEsc,
79
80
  showHeader,
80
81
  onChange,
@@ -94,6 +95,7 @@ export default function FieldsLoader({
94
95
  parameters: parameters,
95
96
  autoSave: autoSave,
96
97
  autoSaveTrigger: autoSaveTrigger,
98
+ autoSaveReject: autoSaveReject,
97
99
  closeOnEsc: closeOnEsc,
98
100
  showHeader: showHeader,
99
101
  onChange: onChange,
@@ -1,3 +1,6 @@
1
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
2
+ // Quality Ticket: https://product-fabric.atlassian.net/browse/DSP-4249
3
+
1
4
  /** @jsx jsx */
2
5
  import React from 'react';
3
6
  import { css, jsx } from '@emotion/react';