@atlaskit/editor-core 166.0.4 → 167.0.2

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 (498) 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/base/index.js +8 -17
  15. package/dist/cjs/plugins/base/pm-plugins/better-type-history.js +3 -12
  16. package/dist/cjs/plugins/base/pm-plugins/inline-cursor-target.js +71 -16
  17. package/dist/cjs/plugins/block-type/commands/block-type.js +32 -22
  18. package/dist/cjs/plugins/block-type/ui/ToolbarBlockType/styled.js +4 -2
  19. package/dist/cjs/plugins/breakout/ui/LayoutButton.js +4 -11
  20. package/dist/cjs/plugins/card/styles.js +1 -1
  21. package/dist/cjs/plugins/card/ui/LinkToolbarIconDropdown.js +2 -2
  22. package/dist/cjs/plugins/code-block/actions.js +36 -2
  23. package/dist/cjs/plugins/code-block/nodeviews/code-block.js +70 -1
  24. package/dist/cjs/plugins/code-block/pm-plugins/actions.js +2 -1
  25. package/dist/cjs/plugins/code-block/pm-plugins/main.js +46 -8
  26. package/dist/cjs/plugins/code-block/styles.js +28 -24
  27. package/dist/cjs/plugins/collab-edit/styles.js +4 -2
  28. package/dist/cjs/plugins/collab-edit/ui/styles.js +4 -2
  29. package/dist/cjs/plugins/collab-edit/utils.js +1 -0
  30. package/dist/cjs/plugins/date/ui/DatePicker/index.js +3 -1
  31. package/dist/cjs/plugins/expand/ui/styles.js +16 -14
  32. package/dist/cjs/plugins/extension/commands.js +3 -2
  33. package/dist/cjs/plugins/extension/context-panel.js +21 -7
  34. package/dist/cjs/plugins/extension/ui/Extension/Extension/styles.js +6 -4
  35. package/dist/cjs/plugins/extension/ui/Extension/InlineExtension/styles.js +3 -1
  36. package/dist/cjs/plugins/extension/ui/Extension/styles.js +7 -5
  37. package/dist/cjs/plugins/extension/ui/SaveIndicator/SaveIndicator.js +4 -2
  38. package/dist/cjs/plugins/fake-text-cursor/styles.js +3 -1
  39. package/dist/cjs/plugins/feature-flags-context/feature-flags-from-props.js +3 -2
  40. package/dist/cjs/plugins/find-replace/styles.js +2 -6
  41. package/dist/cjs/plugins/find-replace/ui/styles.js +4 -2
  42. package/dist/cjs/plugins/floating-toolbar/ui/DropdownMenu.js +3 -1
  43. package/dist/cjs/plugins/floating-toolbar/ui/EditorEmojiAddIcon.js +3 -1
  44. package/dist/cjs/plugins/floating-toolbar/ui/Separator.js +3 -1
  45. package/dist/cjs/plugins/floating-toolbar/ui/Toolbar.js +6 -4
  46. package/dist/cjs/plugins/floating-toolbar/ui/styles.js +12 -10
  47. package/dist/cjs/plugins/grid/styles.js +3 -1
  48. package/dist/cjs/plugins/help-dialog/ui/styles.js +9 -7
  49. package/dist/cjs/plugins/hyperlink/pm-plugins/input-rule.js +23 -1
  50. package/dist/cjs/plugins/hyperlink/pm-plugins/keymap.js +10 -1
  51. package/dist/cjs/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +5 -3
  52. package/dist/cjs/plugins/hyperlink/utils.js +53 -2
  53. package/dist/cjs/plugins/insert-block/index.js +1 -1
  54. package/dist/cjs/plugins/jira-issue/nodeviews/jira-issue.js +4 -2
  55. package/dist/cjs/plugins/layout/styles.js +1 -1
  56. package/dist/cjs/plugins/media/commands/helpers.js +10 -9
  57. package/dist/cjs/plugins/media/nodeviews/mediaInline.js +23 -4
  58. package/dist/cjs/plugins/media/nodeviews/mediaNodeView/media.js +6 -0
  59. package/dist/cjs/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +5 -3
  60. package/dist/cjs/plugins/media/pm-plugins/main.js +1 -0
  61. package/dist/cjs/plugins/media/styles.js +1 -1
  62. package/dist/cjs/plugins/media/ui/CaptionPlaceholder/index.js +3 -1
  63. package/dist/cjs/plugins/media/ui/Media/DropPlaceholder.js +4 -2
  64. package/dist/cjs/plugins/media/ui/MediaLinkingToolbar.js +3 -1
  65. package/dist/cjs/plugins/mentions/styles.js +3 -1
  66. package/dist/cjs/plugins/mentions/ui/InviteItem/index.js +3 -1
  67. package/dist/cjs/plugins/mentions/ui/InviteItem/styles.js +4 -2
  68. package/dist/cjs/plugins/panel/index.js +1 -0
  69. package/dist/cjs/plugins/panel/nodeviews/panel.js +4 -1
  70. package/dist/cjs/plugins/panel/pm-plugins/keymaps.js +21 -3
  71. package/dist/cjs/plugins/paste/handlers.js +23 -0
  72. package/dist/cjs/plugins/paste/linkify-md-plugin.js +7 -0
  73. package/dist/cjs/plugins/paste/pm-plugins/analytics.js +9 -1
  74. package/dist/cjs/plugins/paste/pm-plugins/main.js +27 -1
  75. package/dist/cjs/plugins/placeholder/index.js +15 -3
  76. package/dist/cjs/plugins/placeholder/styles.js +3 -1
  77. package/dist/cjs/plugins/placeholder-text/styles.js +3 -1
  78. package/dist/cjs/plugins/quick-insert/search.js +3 -1
  79. package/dist/cjs/plugins/selection/gap-cursor/styles.js +1 -1
  80. package/dist/cjs/plugins/selection/pm-plugins/gap-cursor-main.js +2 -2
  81. package/dist/cjs/plugins/status/ui/statusPicker.js +3 -3
  82. package/dist/cjs/plugins/table/index.js +14 -4
  83. package/dist/cjs/plugins/table/nodeviews/TableComponent.js +6 -6
  84. package/dist/cjs/plugins/table/nodeviews/table.js +9 -4
  85. package/dist/cjs/plugins/table/pm-plugins/main.js +1 -4
  86. package/dist/cjs/plugins/table/pm-plugins/safari-delete-composition-text-issue-workaround.js +118 -0
  87. package/dist/cjs/plugins/table/pm-plugins/table-resizing/event-handlers.js +2 -4
  88. package/dist/cjs/plugins/table/pm-plugins/table-resizing/plugin.js +2 -5
  89. package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/misc.js +4 -8
  90. package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +2 -3
  91. package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/scale-table.js +0 -3
  92. package/dist/cjs/plugins/table/transforms/column-width.js +1 -2
  93. package/dist/cjs/plugins/table/transforms/fix-tables.js +1 -3
  94. package/dist/cjs/plugins/table/ui/FloatingContextualButton/styles.js +4 -1
  95. package/dist/cjs/plugins/table/ui/FloatingContextualMenu/styles.js +3 -1
  96. package/dist/cjs/plugins/table/ui/common-styles.js +4 -2
  97. package/dist/cjs/plugins/table/ui/consts.js +14 -11
  98. package/dist/cjs/plugins/table/ui/ui-styles.js +17 -10
  99. package/dist/cjs/plugins/table/utils/decoration.js +3 -4
  100. package/dist/cjs/plugins/table/utils/paste.js +9 -9
  101. package/dist/cjs/plugins/text-formatting/pm-plugins/input-rule.js +1 -1
  102. package/dist/cjs/plugins/type-ahead/index.js +4 -3
  103. package/dist/cjs/plugins/type-ahead/pm-plugins/decorations.js +3 -1
  104. package/dist/cjs/plugins/type-ahead/ui/TypeAheadList.js +4 -4
  105. package/dist/cjs/plugins/type-ahead/ui/TypeAheadListItem.js +11 -9
  106. package/dist/cjs/plugins/type-ahead/ui/TypeAheadPopup.js +73 -3
  107. package/dist/cjs/plugins/unsupported-content/styles.js +1 -1
  108. package/dist/cjs/ui/Addon/Dropdown/styles.js +3 -1
  109. package/dist/cjs/ui/Addon/DropdownItem/styles.js +3 -1
  110. package/dist/cjs/ui/Appearance/Chromeless.js +2 -1
  111. package/dist/cjs/ui/Appearance/Comment/Comment.js +10 -3
  112. package/dist/cjs/ui/Appearance/Comment/Toolbar.js +4 -2
  113. package/dist/cjs/ui/Appearance/FullPage/FullPage.js +5 -2
  114. package/dist/cjs/ui/Appearance/FullPage/FullPageContentArea.js +2 -1
  115. package/dist/cjs/ui/Appearance/FullPage/FullPageToolbar.js +12 -11
  116. package/dist/cjs/ui/Appearance/FullPage/MainToolbar.js +6 -3
  117. package/dist/cjs/ui/ChromeCollapsed/styles.js +1 -1
  118. package/dist/cjs/ui/ConfigPanel/ConfigPanel.js +21 -14
  119. package/dist/cjs/ui/ConfigPanel/ConfigPanelFieldsLoader.js +2 -0
  120. package/dist/cjs/ui/ConfigPanel/Fields/CheckboxGroup.js +3 -1
  121. package/dist/cjs/ui/ConfigPanel/Fields/Expand.js +3 -1
  122. package/dist/cjs/ui/ConfigPanel/Fields/Fieldset.js +3 -1
  123. package/dist/cjs/ui/ConfigPanel/Fields/common/RequiredIndicator.js +3 -1
  124. package/dist/cjs/ui/ConfigPanel/Header.js +4 -2
  125. package/dist/cjs/ui/ConfigPanel/NestedForms/RemovableField.js +4 -8
  126. package/dist/cjs/ui/ContentStyles/index.js +4 -2
  127. package/dist/cjs/ui/ContextPanel/index.js +3 -1
  128. package/dist/cjs/ui/DropdownMenu/index.js +5 -0
  129. package/dist/cjs/ui/ElementBrowser/InsertMenu.js +6 -4
  130. package/dist/cjs/ui/ElementBrowser/ModalElementBrowser.js +4 -2
  131. package/dist/cjs/ui/ElementBrowser/components/CategoryList.js +4 -2
  132. package/dist/cjs/ui/ElementBrowser/components/ElementList/ElementList.js +12 -5
  133. package/dist/cjs/ui/ElementBrowser/components/ElementList/EmptyState.js +3 -1
  134. package/dist/cjs/ui/ElementBrowser/components/ElementSearch.js +3 -1
  135. package/dist/cjs/ui/ElementBrowser/constants.js +3 -1
  136. package/dist/cjs/ui/FloatingToolbar/styles.js +2 -2
  137. package/dist/cjs/ui/LinkSearch/LinkSearchListItem.js +5 -3
  138. package/dist/cjs/ui/PanelTextInput/styles.js +3 -1
  139. package/dist/cjs/ui/PluginSlot/index.js +7 -4
  140. package/dist/cjs/ui/Toolbar/ToolbarInner.js +2 -1
  141. package/dist/cjs/ui/Toolbar/ToolbarWithSizeDetector.js +5 -2
  142. package/dist/cjs/ui/ToolbarFeedback/styles.js +5 -3
  143. package/dist/cjs/ui/WithFlash/index.js +4 -2
  144. package/dist/cjs/ui/styles.js +6 -4
  145. package/dist/cjs/utils/document.js +62 -6
  146. package/dist/cjs/utils/filter/privacy-filter.js +2 -2
  147. package/dist/cjs/utils/step.js +17 -1
  148. package/dist/cjs/version-wrapper.js +1 -1
  149. package/dist/cjs/version.json +1 -1
  150. package/dist/es2019/actions/index.js +25 -1
  151. package/dist/es2019/create-editor/ReactEditorView.js +2 -0
  152. package/dist/es2019/create-editor/create-plugins-list.js +1 -2
  153. package/dist/es2019/editor.js +5 -2
  154. package/dist/es2019/keymaps/index.js +5 -1
  155. package/dist/es2019/labs/next/ContentComponents.js +7 -2
  156. package/dist/es2019/labs/next/full-page.js +11 -8
  157. package/dist/es2019/nodeviews/getInlineNodeViewProducer.js +4 -3
  158. package/dist/es2019/nodeviews/getInlineNodeViewProducer.styles.js +16 -4
  159. package/dist/es2019/plugins/alignment/ui/ToolbarAlignment/styles.js +2 -1
  160. package/dist/es2019/plugins/analytics/types/enums.js +3 -0
  161. package/dist/es2019/plugins/base/index.js +6 -15
  162. package/dist/es2019/plugins/base/pm-plugins/better-type-history.js +1 -11
  163. package/dist/es2019/plugins/base/pm-plugins/inline-cursor-target.js +72 -17
  164. package/dist/es2019/plugins/block-type/commands/block-type.js +25 -16
  165. package/dist/es2019/plugins/block-type/ui/ToolbarBlockType/styled.js +3 -2
  166. package/dist/es2019/plugins/breakout/ui/LayoutButton.js +6 -10
  167. package/dist/es2019/plugins/card/styles.js +1 -1
  168. package/dist/es2019/plugins/card/ui/LinkToolbarIconDropdown.js +2 -2
  169. package/dist/es2019/plugins/code-block/actions.js +32 -0
  170. package/dist/es2019/plugins/code-block/nodeviews/code-block.js +61 -1
  171. package/dist/es2019/plugins/code-block/pm-plugins/actions.js +2 -1
  172. package/dist/es2019/plugins/code-block/pm-plugins/main.js +37 -3
  173. package/dist/es2019/plugins/code-block/styles.js +30 -27
  174. package/dist/es2019/plugins/collab-edit/styles.js +3 -2
  175. package/dist/es2019/plugins/collab-edit/ui/styles.js +4 -3
  176. package/dist/es2019/plugins/collab-edit/utils.js +1 -0
  177. package/dist/es2019/plugins/date/ui/DatePicker/index.js +3 -2
  178. package/dist/es2019/plugins/expand/ui/styles.js +15 -14
  179. package/dist/es2019/plugins/extension/commands.js +3 -2
  180. package/dist/es2019/plugins/extension/context-panel.js +11 -3
  181. package/dist/es2019/plugins/extension/ui/Extension/Extension/styles.js +5 -4
  182. package/dist/es2019/plugins/extension/ui/Extension/InlineExtension/styles.js +2 -1
  183. package/dist/es2019/plugins/extension/ui/Extension/styles.js +7 -6
  184. package/dist/es2019/plugins/extension/ui/SaveIndicator/SaveIndicator.js +4 -4
  185. package/dist/es2019/plugins/fake-text-cursor/styles.js +3 -2
  186. package/dist/es2019/plugins/feature-flags-context/feature-flags-from-props.js +3 -2
  187. package/dist/es2019/plugins/find-replace/styles.js +4 -4
  188. package/dist/es2019/plugins/find-replace/ui/styles.js +3 -2
  189. package/dist/es2019/plugins/floating-toolbar/ui/DropdownMenu.js +2 -1
  190. package/dist/es2019/plugins/floating-toolbar/ui/EditorEmojiAddIcon.js +2 -1
  191. package/dist/es2019/plugins/floating-toolbar/ui/Separator.js +2 -1
  192. package/dist/es2019/plugins/floating-toolbar/ui/Toolbar.js +4 -4
  193. package/dist/es2019/plugins/floating-toolbar/ui/styles.js +11 -10
  194. package/dist/es2019/plugins/grid/styles.js +4 -2
  195. package/dist/es2019/plugins/help-dialog/ui/styles.js +10 -9
  196. package/dist/es2019/plugins/hyperlink/pm-plugins/input-rule.js +24 -2
  197. package/dist/es2019/plugins/hyperlink/pm-plugins/keymap.js +9 -1
  198. package/dist/es2019/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +5 -4
  199. package/dist/es2019/plugins/hyperlink/utils.js +43 -2
  200. package/dist/es2019/plugins/insert-block/index.js +1 -1
  201. package/dist/es2019/plugins/jira-issue/nodeviews/jira-issue.js +6 -5
  202. package/dist/es2019/plugins/layout/styles.js +10 -7
  203. package/dist/es2019/plugins/media/commands/helpers.js +6 -8
  204. package/dist/es2019/plugins/media/nodeviews/mediaInline.js +21 -5
  205. package/dist/es2019/plugins/media/nodeviews/mediaNodeView/media.js +7 -0
  206. package/dist/es2019/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +5 -4
  207. package/dist/es2019/plugins/media/pm-plugins/main.js +2 -0
  208. package/dist/es2019/plugins/media/styles.js +3 -3
  209. package/dist/es2019/plugins/media/ui/CaptionPlaceholder/index.js +2 -1
  210. package/dist/es2019/plugins/media/ui/Media/DropPlaceholder.js +4 -3
  211. package/dist/es2019/plugins/media/ui/MediaLinkingToolbar.js +2 -1
  212. package/dist/es2019/plugins/mentions/styles.js +5 -4
  213. package/dist/es2019/plugins/mentions/ui/InviteItem/index.js +2 -1
  214. package/dist/es2019/plugins/mentions/ui/InviteItem/styles.js +3 -2
  215. package/dist/es2019/plugins/panel/index.js +1 -0
  216. package/dist/es2019/plugins/panel/nodeviews/panel.js +4 -1
  217. package/dist/es2019/plugins/panel/pm-plugins/keymaps.js +22 -4
  218. package/dist/es2019/plugins/paste/handlers.js +23 -0
  219. package/dist/es2019/plugins/paste/linkify-md-plugin.js +7 -1
  220. package/dist/es2019/plugins/paste/pm-plugins/analytics.js +4 -1
  221. package/dist/es2019/plugins/paste/pm-plugins/main.js +27 -2
  222. package/dist/es2019/plugins/placeholder/index.js +12 -1
  223. package/dist/es2019/plugins/placeholder/styles.js +3 -1
  224. package/dist/es2019/plugins/placeholder-text/styles.js +5 -4
  225. package/dist/es2019/plugins/quick-insert/search.js +1 -1
  226. package/dist/es2019/plugins/selection/gap-cursor/styles.js +9 -9
  227. package/dist/es2019/plugins/selection/pm-plugins/gap-cursor-main.js +2 -2
  228. package/dist/es2019/plugins/status/ui/statusPicker.js +3 -3
  229. package/dist/es2019/plugins/table/index.js +13 -4
  230. package/dist/es2019/plugins/table/nodeviews/TableComponent.js +6 -6
  231. package/dist/es2019/plugins/table/nodeviews/table.js +6 -2
  232. package/dist/es2019/plugins/table/pm-plugins/main.js +1 -4
  233. package/dist/es2019/plugins/table/pm-plugins/safari-delete-composition-text-issue-workaround.js +106 -0
  234. package/dist/es2019/plugins/table/pm-plugins/table-resizing/event-handlers.js +2 -4
  235. package/dist/es2019/plugins/table/pm-plugins/table-resizing/plugin.js +2 -4
  236. package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/misc.js +3 -7
  237. package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +2 -3
  238. package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/scale-table.js +0 -3
  239. package/dist/es2019/plugins/table/transforms/column-width.js +1 -2
  240. package/dist/es2019/plugins/table/transforms/fix-tables.js +1 -3
  241. package/dist/es2019/plugins/table/ui/FloatingContextualButton/styles.js +4 -2
  242. package/dist/es2019/plugins/table/ui/FloatingContextualMenu/styles.js +4 -3
  243. package/dist/es2019/plugins/table/ui/common-styles.js +29 -27
  244. package/dist/es2019/plugins/table/ui/consts.js +15 -12
  245. package/dist/es2019/plugins/table/ui/ui-styles.js +28 -23
  246. package/dist/es2019/plugins/table/utils/decoration.js +1 -4
  247. package/dist/es2019/plugins/table/utils/paste.js +9 -9
  248. package/dist/es2019/plugins/text-formatting/pm-plugins/input-rule.js +1 -1
  249. package/dist/es2019/plugins/type-ahead/index.js +4 -3
  250. package/dist/es2019/plugins/type-ahead/pm-plugins/decorations.js +2 -1
  251. package/dist/es2019/plugins/type-ahead/ui/TypeAheadList.js +4 -4
  252. package/dist/es2019/plugins/type-ahead/ui/TypeAheadListItem.js +10 -9
  253. package/dist/es2019/plugins/type-ahead/ui/TypeAheadPopup.js +64 -6
  254. package/dist/es2019/plugins/unsupported-content/styles.js +1 -1
  255. package/dist/es2019/ui/Addon/Dropdown/styles.js +3 -2
  256. package/dist/es2019/ui/Addon/DropdownItem/styles.js +3 -2
  257. package/dist/es2019/ui/Appearance/Chromeless.js +2 -1
  258. package/dist/es2019/ui/Appearance/Comment/Comment.js +9 -4
  259. package/dist/es2019/ui/Appearance/Comment/Toolbar.js +4 -2
  260. package/dist/es2019/ui/Appearance/FullPage/FullPage.js +6 -2
  261. package/dist/es2019/ui/Appearance/FullPage/FullPageContentArea.js +2 -1
  262. package/dist/es2019/ui/Appearance/FullPage/FullPageToolbar.js +12 -11
  263. package/dist/es2019/ui/Appearance/FullPage/MainToolbar.js +7 -3
  264. package/dist/es2019/ui/ChromeCollapsed/styles.js +4 -3
  265. package/dist/es2019/ui/ConfigPanel/ConfigPanel.js +10 -2
  266. package/dist/es2019/ui/ConfigPanel/ConfigPanelFieldsLoader.js +2 -0
  267. package/dist/es2019/ui/ConfigPanel/ErrorMessage/ErrorImage.js +3 -0
  268. package/dist/es2019/ui/ConfigPanel/Fields/CheckboxGroup.js +2 -1
  269. package/dist/es2019/ui/ConfigPanel/Fields/Expand.js +2 -1
  270. package/dist/es2019/ui/ConfigPanel/Fields/Fieldset.js +2 -1
  271. package/dist/es2019/ui/ConfigPanel/Fields/common/RequiredIndicator.js +2 -1
  272. package/dist/es2019/ui/ConfigPanel/Header.js +3 -2
  273. package/dist/es2019/ui/ConfigPanel/NestedForms/RemovableField.js +4 -3
  274. package/dist/es2019/ui/ContentStyles/index.js +3 -2
  275. package/dist/es2019/ui/ContextPanel/index.js +2 -1
  276. package/dist/es2019/ui/DropdownMenu/index.js +5 -0
  277. package/dist/es2019/ui/ElementBrowser/InsertMenu.js +6 -3
  278. package/dist/es2019/ui/ElementBrowser/ModalElementBrowser.js +3 -2
  279. package/dist/es2019/ui/ElementBrowser/components/CategoryList.js +3 -2
  280. package/dist/es2019/ui/ElementBrowser/components/ElementList/ElementList.js +12 -5
  281. package/dist/es2019/ui/ElementBrowser/components/ElementList/EmptyState.js +2 -1
  282. package/dist/es2019/ui/ElementBrowser/components/ElementList/NotFoundIllustration.js +3 -0
  283. package/dist/es2019/ui/ElementBrowser/components/ElementSearch.js +2 -1
  284. package/dist/es2019/ui/ElementBrowser/constants.js +3 -1
  285. package/dist/es2019/ui/FloatingToolbar/styles.js +4 -4
  286. package/dist/es2019/ui/LinkSearch/LinkSearchListItem.js +4 -3
  287. package/dist/es2019/ui/PanelTextInput/styles.js +5 -5
  288. package/dist/es2019/ui/PluginSlot/index.js +7 -4
  289. package/dist/es2019/ui/Toolbar/ToolbarInner.js +2 -1
  290. package/dist/es2019/ui/Toolbar/ToolbarWithSizeDetector.js +4 -2
  291. package/dist/es2019/ui/ToolbarFeedback/styles.js +5 -4
  292. package/dist/es2019/ui/WithFlash/index.js +4 -3
  293. package/dist/es2019/ui/styles.js +10 -9
  294. package/dist/es2019/utils/document.js +58 -5
  295. package/dist/es2019/utils/filter/privacy-filter.js +1 -1
  296. package/dist/es2019/utils/step.js +12 -1
  297. package/dist/es2019/version-wrapper.js +1 -1
  298. package/dist/es2019/version.json +1 -1
  299. package/dist/esm/actions/index.js +26 -1
  300. package/dist/esm/create-editor/ReactEditorView.js +2 -0
  301. package/dist/esm/create-editor/create-plugins-list.js +1 -2
  302. package/dist/esm/editor.js +5 -2
  303. package/dist/esm/keymaps/index.js +5 -1
  304. package/dist/esm/labs/next/ContentComponents.js +8 -4
  305. package/dist/esm/labs/next/full-page.js +11 -8
  306. package/dist/esm/nodeviews/getInlineNodeViewProducer.js +4 -3
  307. package/dist/esm/nodeviews/getInlineNodeViewProducer.styles.js +3 -2
  308. package/dist/esm/plugins/alignment/ui/ToolbarAlignment/styles.js +2 -1
  309. package/dist/esm/plugins/analytics/types/enums.js +3 -0
  310. package/dist/esm/plugins/base/index.js +8 -17
  311. package/dist/esm/plugins/base/pm-plugins/better-type-history.js +1 -11
  312. package/dist/esm/plugins/base/pm-plugins/inline-cursor-target.js +72 -17
  313. package/dist/esm/plugins/block-type/commands/block-type.js +31 -22
  314. package/dist/esm/plugins/block-type/ui/ToolbarBlockType/styled.js +3 -2
  315. package/dist/esm/plugins/breakout/ui/LayoutButton.js +3 -5
  316. package/dist/esm/plugins/card/styles.js +1 -1
  317. package/dist/esm/plugins/card/ui/LinkToolbarIconDropdown.js +2 -2
  318. package/dist/esm/plugins/code-block/actions.js +28 -0
  319. package/dist/esm/plugins/code-block/nodeviews/code-block.js +67 -1
  320. package/dist/esm/plugins/code-block/pm-plugins/actions.js +2 -1
  321. package/dist/esm/plugins/code-block/pm-plugins/main.js +39 -3
  322. package/dist/esm/plugins/code-block/styles.js +27 -23
  323. package/dist/esm/plugins/collab-edit/styles.js +3 -2
  324. package/dist/esm/plugins/collab-edit/ui/styles.js +3 -2
  325. package/dist/esm/plugins/collab-edit/utils.js +2 -0
  326. package/dist/esm/plugins/date/ui/DatePicker/index.js +2 -1
  327. package/dist/esm/plugins/expand/ui/styles.js +15 -14
  328. package/dist/esm/plugins/extension/commands.js +3 -2
  329. package/dist/esm/plugins/extension/context-panel.js +21 -7
  330. package/dist/esm/plugins/extension/ui/Extension/Extension/styles.js +5 -4
  331. package/dist/esm/plugins/extension/ui/Extension/InlineExtension/styles.js +2 -1
  332. package/dist/esm/plugins/extension/ui/Extension/styles.js +6 -5
  333. package/dist/esm/plugins/extension/ui/SaveIndicator/SaveIndicator.js +3 -2
  334. package/dist/esm/plugins/fake-text-cursor/styles.js +2 -1
  335. package/dist/esm/plugins/feature-flags-context/feature-flags-from-props.js +3 -2
  336. package/dist/esm/plugins/find-replace/styles.js +3 -3
  337. package/dist/esm/plugins/find-replace/ui/styles.js +3 -2
  338. package/dist/esm/plugins/floating-toolbar/ui/DropdownMenu.js +2 -1
  339. package/dist/esm/plugins/floating-toolbar/ui/EditorEmojiAddIcon.js +2 -1
  340. package/dist/esm/plugins/floating-toolbar/ui/Separator.js +2 -1
  341. package/dist/esm/plugins/floating-toolbar/ui/Toolbar.js +5 -4
  342. package/dist/esm/plugins/floating-toolbar/ui/styles.js +11 -10
  343. package/dist/esm/plugins/grid/styles.js +2 -1
  344. package/dist/esm/plugins/help-dialog/ui/styles.js +8 -7
  345. package/dist/esm/plugins/hyperlink/pm-plugins/input-rule.js +24 -2
  346. package/dist/esm/plugins/hyperlink/pm-plugins/keymap.js +9 -1
  347. package/dist/esm/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +4 -3
  348. package/dist/esm/plugins/hyperlink/utils.js +44 -2
  349. package/dist/esm/plugins/insert-block/index.js +1 -1
  350. package/dist/esm/plugins/jira-issue/nodeviews/jira-issue.js +3 -2
  351. package/dist/esm/plugins/layout/styles.js +1 -1
  352. package/dist/esm/plugins/media/commands/helpers.js +6 -8
  353. package/dist/esm/plugins/media/nodeviews/mediaInline.js +22 -4
  354. package/dist/esm/plugins/media/nodeviews/mediaNodeView/media.js +7 -0
  355. package/dist/esm/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +4 -3
  356. package/dist/esm/plugins/media/pm-plugins/main.js +2 -0
  357. package/dist/esm/plugins/media/styles.js +1 -1
  358. package/dist/esm/plugins/media/ui/CaptionPlaceholder/index.js +2 -1
  359. package/dist/esm/plugins/media/ui/Media/DropPlaceholder.js +3 -2
  360. package/dist/esm/plugins/media/ui/MediaLinkingToolbar.js +2 -1
  361. package/dist/esm/plugins/mentions/styles.js +2 -1
  362. package/dist/esm/plugins/mentions/ui/InviteItem/index.js +2 -1
  363. package/dist/esm/plugins/mentions/ui/InviteItem/styles.js +3 -2
  364. package/dist/esm/plugins/panel/index.js +1 -0
  365. package/dist/esm/plugins/panel/nodeviews/panel.js +4 -1
  366. package/dist/esm/plugins/panel/pm-plugins/keymaps.js +22 -4
  367. package/dist/esm/plugins/paste/handlers.js +21 -0
  368. package/dist/esm/plugins/paste/linkify-md-plugin.js +7 -1
  369. package/dist/esm/plugins/paste/pm-plugins/analytics.js +6 -1
  370. package/dist/esm/plugins/paste/pm-plugins/main.js +27 -2
  371. package/dist/esm/plugins/placeholder/index.js +12 -1
  372. package/dist/esm/plugins/placeholder/styles.js +2 -1
  373. package/dist/esm/plugins/placeholder-text/styles.js +2 -1
  374. package/dist/esm/plugins/quick-insert/search.js +3 -1
  375. package/dist/esm/plugins/selection/gap-cursor/styles.js +1 -1
  376. package/dist/esm/plugins/selection/pm-plugins/gap-cursor-main.js +2 -2
  377. package/dist/esm/plugins/status/ui/statusPicker.js +2 -2
  378. package/dist/esm/plugins/table/index.js +13 -4
  379. package/dist/esm/plugins/table/nodeviews/TableComponent.js +6 -6
  380. package/dist/esm/plugins/table/nodeviews/table.js +6 -2
  381. package/dist/esm/plugins/table/pm-plugins/main.js +1 -4
  382. package/dist/esm/plugins/table/pm-plugins/safari-delete-composition-text-issue-workaround.js +102 -0
  383. package/dist/esm/plugins/table/pm-plugins/table-resizing/event-handlers.js +2 -4
  384. package/dist/esm/plugins/table/pm-plugins/table-resizing/plugin.js +2 -5
  385. package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/misc.js +4 -8
  386. package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +2 -3
  387. package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/scale-table.js +0 -3
  388. package/dist/esm/plugins/table/transforms/column-width.js +1 -2
  389. package/dist/esm/plugins/table/transforms/fix-tables.js +1 -3
  390. package/dist/esm/plugins/table/ui/FloatingContextualButton/styles.js +3 -1
  391. package/dist/esm/plugins/table/ui/FloatingContextualMenu/styles.js +2 -1
  392. package/dist/esm/plugins/table/ui/common-styles.js +4 -2
  393. package/dist/esm/plugins/table/ui/consts.js +15 -12
  394. package/dist/esm/plugins/table/ui/ui-styles.js +15 -10
  395. package/dist/esm/plugins/table/utils/decoration.js +3 -4
  396. package/dist/esm/plugins/table/utils/paste.js +9 -9
  397. package/dist/esm/plugins/text-formatting/pm-plugins/input-rule.js +1 -1
  398. package/dist/esm/plugins/type-ahead/index.js +4 -3
  399. package/dist/esm/plugins/type-ahead/pm-plugins/decorations.js +2 -1
  400. package/dist/esm/plugins/type-ahead/ui/TypeAheadList.js +4 -4
  401. package/dist/esm/plugins/type-ahead/ui/TypeAheadListItem.js +10 -9
  402. package/dist/esm/plugins/type-ahead/ui/TypeAheadPopup.js +71 -5
  403. package/dist/esm/plugins/unsupported-content/styles.js +1 -1
  404. package/dist/esm/ui/Addon/Dropdown/styles.js +2 -1
  405. package/dist/esm/ui/Addon/DropdownItem/styles.js +2 -1
  406. package/dist/esm/ui/Appearance/Chromeless.js +2 -1
  407. package/dist/esm/ui/Appearance/Comment/Comment.js +10 -3
  408. package/dist/esm/ui/Appearance/Comment/Toolbar.js +3 -2
  409. package/dist/esm/ui/Appearance/FullPage/FullPage.js +6 -2
  410. package/dist/esm/ui/Appearance/FullPage/FullPageContentArea.js +2 -1
  411. package/dist/esm/ui/Appearance/FullPage/FullPageToolbar.js +12 -11
  412. package/dist/esm/ui/Appearance/FullPage/MainToolbar.js +5 -3
  413. package/dist/esm/ui/ChromeCollapsed/styles.js +1 -1
  414. package/dist/esm/ui/ConfigPanel/ConfigPanel.js +21 -14
  415. package/dist/esm/ui/ConfigPanel/ConfigPanelFieldsLoader.js +2 -0
  416. package/dist/esm/ui/ConfigPanel/ErrorMessage/ErrorImage.js +3 -0
  417. package/dist/esm/ui/ConfigPanel/Fields/CheckboxGroup.js +2 -1
  418. package/dist/esm/ui/ConfigPanel/Fields/Expand.js +2 -1
  419. package/dist/esm/ui/ConfigPanel/Fields/Fieldset.js +2 -1
  420. package/dist/esm/ui/ConfigPanel/Fields/common/RequiredIndicator.js +2 -1
  421. package/dist/esm/ui/ConfigPanel/Header.js +3 -2
  422. package/dist/esm/ui/ConfigPanel/NestedForms/RemovableField.js +3 -2
  423. package/dist/esm/ui/ContentStyles/index.js +3 -2
  424. package/dist/esm/ui/ContextPanel/index.js +2 -1
  425. package/dist/esm/ui/DropdownMenu/index.js +5 -0
  426. package/dist/esm/ui/ElementBrowser/InsertMenu.js +5 -4
  427. package/dist/esm/ui/ElementBrowser/ModalElementBrowser.js +3 -2
  428. package/dist/esm/ui/ElementBrowser/components/CategoryList.js +3 -2
  429. package/dist/esm/ui/ElementBrowser/components/ElementList/ElementList.js +11 -5
  430. package/dist/esm/ui/ElementBrowser/components/ElementList/EmptyState.js +2 -1
  431. package/dist/esm/ui/ElementBrowser/components/ElementList/NotFoundIllustration.js +3 -0
  432. package/dist/esm/ui/ElementBrowser/components/ElementSearch.js +2 -1
  433. package/dist/esm/ui/ElementBrowser/constants.js +3 -1
  434. package/dist/esm/ui/FloatingToolbar/styles.js +3 -3
  435. package/dist/esm/ui/LinkSearch/LinkSearchListItem.js +4 -3
  436. package/dist/esm/ui/PanelTextInput/styles.js +4 -3
  437. package/dist/esm/ui/PluginSlot/index.js +7 -4
  438. package/dist/esm/ui/Toolbar/ToolbarInner.js +2 -1
  439. package/dist/esm/ui/Toolbar/ToolbarWithSizeDetector.js +4 -2
  440. package/dist/esm/ui/ToolbarFeedback/styles.js +4 -3
  441. package/dist/esm/ui/WithFlash/index.js +3 -2
  442. package/dist/esm/ui/styles.js +5 -4
  443. package/dist/esm/utils/document.js +59 -5
  444. package/dist/esm/utils/filter/privacy-filter.js +1 -1
  445. package/dist/esm/utils/step.js +12 -1
  446. package/dist/esm/version-wrapper.js +1 -1
  447. package/dist/esm/version.json +1 -1
  448. package/dist/types/actions/index.d.ts +6 -0
  449. package/dist/types/labs/next/ContentComponents.d.ts +7 -1
  450. package/dist/types/nodeviews/getInlineNodeViewProducer.d.ts +1 -0
  451. package/dist/types/plugins/analytics/types/enums.d.ts +3 -0
  452. package/dist/types/plugins/analytics/types/general-events.d.ts +7 -1
  453. package/dist/types/plugins/base/pm-plugins/inline-cursor-target.d.ts +1 -1
  454. package/dist/types/plugins/code-block/actions.d.ts +2 -0
  455. package/dist/types/plugins/code-block/nodeviews/code-block.d.ts +2 -0
  456. package/dist/types/plugins/code-block/pm-plugins/actions.d.ts +1 -0
  457. package/dist/types/plugins/code-block/pm-plugins/main-state.d.ts +1 -0
  458. package/dist/types/plugins/extension/commands.d.ts +1 -1
  459. package/dist/types/plugins/extension/types.d.ts +1 -0
  460. package/dist/types/plugins/extension/ui/Extension/Extension/index.d.ts +6 -0
  461. package/dist/types/plugins/find-replace/styles.d.ts +0 -2
  462. package/dist/types/plugins/hyperlink/utils.d.ts +8 -0
  463. package/dist/types/plugins/media/commands/helpers.d.ts +2 -0
  464. package/dist/types/plugins/media/nodeviews/mediaNodeView/media.d.ts +1 -0
  465. package/dist/types/plugins/media/pm-plugins/main.d.ts +2 -1
  466. package/dist/types/plugins/media/pm-plugins/types.d.ts +2 -1
  467. package/dist/types/plugins/paste/handlers.d.ts +1 -0
  468. package/dist/types/plugins/paste/pm-plugins/analytics.d.ts +1 -0
  469. package/dist/types/plugins/table/commands/misc.d.ts +0 -1
  470. package/dist/types/plugins/table/index.d.ts +0 -1
  471. package/dist/types/plugins/table/nodeviews/TableComponent.d.ts +1 -0
  472. package/dist/types/plugins/table/nodeviews/types.d.ts +0 -1
  473. package/dist/types/plugins/table/pm-plugins/main.d.ts +1 -1
  474. package/dist/types/plugins/table/pm-plugins/safari-delete-composition-text-issue-workaround.d.ts +15 -0
  475. package/dist/types/plugins/table/pm-plugins/table-resizing/event-handlers.d.ts +1 -1
  476. package/dist/types/plugins/table/pm-plugins/table-resizing/plugin.d.ts +1 -1
  477. package/dist/types/plugins/table/pm-plugins/table-resizing/utils/misc.d.ts +1 -2
  478. package/dist/types/plugins/table/pm-plugins/table-resizing/utils/resize-state.d.ts +1 -1
  479. package/dist/types/plugins/table/pm-plugins/table-resizing/utils/scale-table.d.ts +0 -1
  480. package/dist/types/plugins/table/transforms/fix-tables.d.ts +0 -1
  481. package/dist/types/plugins/table/types.d.ts +0 -1
  482. package/dist/types/plugins/table/ui/consts.d.ts +9 -9
  483. package/dist/types/plugins/type-ahead/ui/TypeAheadList.d.ts +2 -0
  484. package/dist/types/plugins/type-ahead/ui/TypeAheadListItem.d.ts +4 -4
  485. package/dist/types/types/editor-appearance-component.d.ts +0 -1
  486. package/dist/types/types/editor-props.d.ts +4 -0
  487. package/dist/types/types/feature-flags.d.ts +8 -0
  488. package/dist/types/types/ui-components.d.ts +1 -0
  489. package/dist/types/ui/Appearance/FullPage/FullPage.d.ts +1 -0
  490. package/dist/types/ui/Appearance/FullPage/FullPageContentArea.d.ts +1 -0
  491. package/dist/types/ui/ConfigPanel/ConfigPanel.d.ts +3 -2
  492. package/dist/types/ui/ConfigPanel/ConfigPanelFieldsLoader.d.ts +3 -2
  493. package/dist/types/ui/PluginSlot/index.d.ts +1 -0
  494. package/dist/types/ui/Toolbar/toolbar-types.d.ts +1 -0
  495. package/dist/types/utils/document.d.ts +1 -0
  496. package/dist/types/utils/step.d.ts +1 -0
  497. package/docs/0-intro.tsx +12 -4
  498. package/package.json +23 -23
@@ -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';