@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
@@ -1,5 +1,6 @@
1
1
  import * as colors from '@atlaskit/theme/colors';
2
2
  import { hexToRgba } from '@atlaskit/adf-schema';
3
+ import { token } from '@atlaskit/tokens';
3
4
  const background = {
4
5
  danger: {
5
6
  default: {
@@ -7,28 +8,28 @@ const background = {
7
8
  dark: 'inherit'
8
9
  },
9
10
  hover: {
10
- light: colors.N30A,
11
- dark: colors.N30A
11
+ light: token('color.background.neutral.subtle.hovered', colors.N30A),
12
+ dark: token('color.background.neutral.subtle.hovered', colors.N30A)
12
13
  },
13
14
  active: {
14
- light: hexToRgba(colors.B75, 0.6),
15
- dark: hexToRgba(colors.B75, 0.6)
15
+ light: token('color.background.neutral.pressed', `${hexToRgba(colors.B75, 0.6)}`),
16
+ dark: token('color.background.neutral.pressed', `${hexToRgba(colors.B75, 0.6)}`)
16
17
  }
17
18
  }
18
19
  };
19
20
  const color = {
20
21
  danger: {
21
22
  default: {
22
- light: colors.N400,
23
- dark: colors.DN400
23
+ light: token('color.icon', colors.N400),
24
+ dark: token('color.icon', colors.DN400)
24
25
  },
25
26
  hover: {
26
- light: colors.R400,
27
- dark: colors.R400
27
+ light: token('color.icon.danger', colors.R400),
28
+ dark: token('color.icon.danger', colors.R400)
28
29
  },
29
30
  active: {
30
- light: colors.R400,
31
- dark: colors.R400
31
+ light: token('color.icon.danger', colors.R400),
32
+ dark: token('color.icon.danger', colors.R400)
32
33
  }
33
34
  }
34
35
  };
@@ -1,6 +1,7 @@
1
1
  import { css } from '@emotion/react';
2
2
  import { N30A, B200 } from '@atlaskit/theme/colors';
3
3
  import { akEditorGridLineZIndex } from '@atlaskit/editor-shared-styles';
4
+ import { token } from '@atlaskit/tokens';
4
5
  export const GRID_GUTTER = 12;
5
6
  export const gridStyles = css`
6
7
  .gridParent {
@@ -18,8 +19,9 @@ export const gridStyles = css`
18
19
  pointer-events: none;
19
20
  }
20
21
 
22
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4352
21
23
  .gridLine {
22
- border-left: 1px solid ${N30A};
24
+ border-left: 1px solid ${token('color.border', N30A)};
23
25
  display: inline-block;
24
26
  box-sizing: border-box;
25
27
  height: 100%;
@@ -30,6 +32,6 @@ export const gridStyles = css`
30
32
  }
31
33
 
32
34
  .highlight {
33
- border-left: 1px solid ${B200};
35
+ border-left: 1px solid ${token('color.border.focused', B200)};
34
36
  }
35
37
  `;
@@ -2,6 +2,7 @@ import { css } from '@emotion/react';
2
2
  import { borderRadius } from '@atlaskit/theme/constants';
3
3
  import * as colors from '@atlaskit/theme/colors';
4
4
  import { akEditorUnitZIndex, relativeFontSizeToBase16 } from '@atlaskit/editor-shared-styles';
5
+ import { token } from '@atlaskit/tokens';
5
6
  export const header = css`
6
7
  z-index: ${akEditorUnitZIndex};
7
8
  min-height: 24px;
@@ -11,15 +12,15 @@ export const header = css`
11
12
  justify-content: space-between;
12
13
  align-items: center;
13
14
  box-shadow: 'none';
14
- color: ${colors.N400};
15
- background-color: ${colors.N0};
15
+ color: ${token('color.text', colors.N400)};
16
+ background-color: ${token('color.background.neutral.subtle', colors.N0)};
16
17
  border-radius: ${borderRadius()}px;
17
18
  `;
18
19
  export const footer = css`
19
20
  z-index: ${akEditorUnitZIndex};
20
21
  font-size: ${relativeFontSizeToBase16(14)};
21
22
  line-height: 20px;
22
- color: ${colors.N300};
23
+ color: ${token('color.text.subtlest', colors.N300)};
23
24
  padding: 24px;
24
25
  text-align: right;
25
26
  box-shadow: 'none';
@@ -29,11 +30,11 @@ export const contentWrapper = css`
29
30
  border-bottom-right-radius: ${borderRadius()}px;
30
31
  overflow: auto;
31
32
  position: relative;
32
- color: ${colors.N400};
33
- background-color: ${colors.N0};
33
+ color: ${token('color.text.subtle', colors.N400)};
34
+ background-color: ${token('color.background.neutral.subtle', colors.N0)};
34
35
  `;
35
36
  export const line = css`
36
- background: #fff;
37
+ background: ${token('color.background.neutral.subtle', '#fff')};
37
38
  content: '';
38
39
  display: block;
39
40
  height: 2px;
@@ -67,7 +68,7 @@ export const title = css`
67
68
  font-weight: 400;
68
69
  `;
69
70
  export const codeSm = css`
70
- background-color: ${colors.N20};
71
+ background-color: ${token('color.background.neutral', colors.N20)};
71
72
  border-radius: ${borderRadius()}px;
72
73
  width: 24px;
73
74
  display: inline-block;
@@ -76,7 +77,7 @@ export const codeSm = css`
76
77
  text-align: center;
77
78
  `;
78
79
  export const codeMd = css`
79
- background-color: ${colors.N20};
80
+ background-color: ${token('color.background.neutral', colors.N20)};
80
81
  border-radius: ${borderRadius()}px;
81
82
  display: inline-block;
82
83
  height: 24px;
@@ -85,7 +86,7 @@ export const codeMd = css`
85
86
  text-align: center;
86
87
  `;
87
88
  export const codeLg = css`
88
- background-color: ${colors.N20};
89
+ background-color: ${token('color.background.neutral', colors.N20)};
89
90
  border-radius: ${borderRadius()}px;
90
91
  display: inline-block;
91
92
  height: 24px;
@@ -1,5 +1,5 @@
1
1
  import { createRule, createPlugin } from '../../../utils/input-rules';
2
- import { LinkMatcher, normalizeUrl } from '../utils';
2
+ import { findFilepaths, isLinkInMatches, LinkMatcher, normalizeUrl } from '../utils';
3
3
  import { INPUT_METHOD, addAnalytics } from '../../analytics';
4
4
  import { getLinkCreationAnalyticsEvent } from '../analytics';
5
5
  export function createLinkInputRule(regexp, skipAnalytics = false, useUnpredictableInputRule = true) {
@@ -17,7 +17,29 @@ export function createLinkInputRule(regexp, skipAnalytics = false, useUnpredicta
17
17
  const url = normalizeUrl(link.url);
18
18
  const markType = schema.mark('link', {
19
19
  href: url
20
- });
20
+ }); // Need access to complete text to check if last URL is part of a filepath before linkifying
21
+
22
+ const nodeBefore = state.selection.$from.nodeBefore;
23
+
24
+ if (!nodeBefore || !nodeBefore.isText || !nodeBefore.text) {
25
+ return null;
26
+ }
27
+
28
+ const filepaths = findFilepaths(nodeBefore.text, // The position referenced by 'start' is relative to the start of the document, findFilepaths deals with index in a node only.
29
+ start - (nodeBefore.text.length - link.text.length) // (start of link match) - (whole node text length - link length) gets start of text node, which is used as offset
30
+ );
31
+
32
+ if (isLinkInMatches(start, filepaths)) {
33
+ const tr = state.tr;
34
+
35
+ if (useUnpredictableInputRule) {
36
+ tr.insertText(' ');
37
+ } // To keep consistent with original behaviour.
38
+
39
+
40
+ return tr;
41
+ }
42
+
21
43
  const from = start;
22
44
  const to = Math.min(start + link.text.length, state.doc.content.size);
23
45
  const tr = state.tr.addMark(from, to, markType); // Keep old behavior that will delete the space after the link
@@ -5,6 +5,7 @@ import { stateKey } from '../pm-plugins/main';
5
5
  import { showLinkToolbar, hideLinkToolbar } from '../commands';
6
6
  import { INPUT_METHOD, addAnalytics } from '../../analytics';
7
7
  import { getLinkCreationAnalyticsEvent } from '../analytics';
8
+ import { findFilepaths, isLinkInMatches } from '../utils';
8
9
  export function createKeymapPlugin(skipAnalytics = false) {
9
10
  const list = {};
10
11
  keymaps.bindKeymapWithCommand(keymaps.addLink.common, showLinkToolbar(INPUT_METHOD.SHORTCUT), list);
@@ -32,7 +33,7 @@ const mayConvertLastWordToHyperlink = skipAnalytics => {
32
33
  return function (state, dispatch) {
33
34
  const nodeBefore = state.selection.$from.nodeBefore;
34
35
 
35
- if (!nodeBefore || !nodeBefore.isText) {
36
+ if (!nodeBefore || !nodeBefore.isText || !nodeBefore.text) {
36
37
  return false;
37
38
  }
38
39
 
@@ -53,6 +54,13 @@ const mayConvertLastWordToHyperlink = skipAnalytics => {
53
54
  const markType = state.schema.mark('link', {
54
55
  href: url
55
56
  });
57
+ const filepaths = findFilepaths(nodeBefore.text, start - (nodeBefore.text.length - hyperlinkedText.length) // The position referenced by 'start' is relative to the start of the document, findFilepaths deals with index in a node only.
58
+ );
59
+
60
+ if (isLinkInMatches(start, filepaths)) {
61
+ return false;
62
+ }
63
+
56
64
  const tr = state.tr.addMark(start, end, markType);
57
65
 
58
66
  if (dispatch) {
@@ -8,6 +8,7 @@ import CrossCircleIcon from '@atlaskit/icon/glyph/cross-circle';
8
8
  import EditorAlignLeftIcon from '@atlaskit/icon/glyph/editor/align-left';
9
9
  import LinkIcon from '@atlaskit/icon/glyph/link';
10
10
  import { N90, N80, N30 } from '@atlaskit/theme/colors';
11
+ import { token } from '@atlaskit/tokens';
11
12
  import Page16Icon from '@atlaskit/icon-object/glyph/page/16';
12
13
  import Tooltip from '@atlaskit/tooltip';
13
14
  import { PureComponent } from 'react';
@@ -33,17 +34,17 @@ const clearText = css`
33
34
  cursor: pointer;
34
35
  padding: 0;
35
36
  margin-right: 8px;
36
- color: ${N90};
37
+ color: ${token('color.icon.subtle', N90)};
37
38
  background: transparent;
38
39
  border: none;
39
40
  `;
40
41
  const textInputWrapper = css`
41
42
  ${inputWrapper};
42
- border-top: 1px solid ${N30};
43
- border-bottom: 1px solid ${N30};
43
+ border-top: 1px solid ${token('color.border', N30)};
44
+ border-bottom: 1px solid ${token('color.border', N30)};
44
45
  `;
45
46
  const iconWrapper = css`
46
- color: ${N80};
47
+ color: ${token('color.icon.subtle', N80)};
47
48
  padding: 4px 8px;
48
49
  width: 18px;
49
50
  `;
@@ -1,5 +1,7 @@
1
1
  import { mapSlice } from '../../utils/slice';
2
- import { isSafeUrl, linkify, normalizeUrl as normaliseLinkHref } from '@atlaskit/adf-schema';
2
+ import { isSafeUrl, linkify, normalizeUrl as normaliseLinkHref } from '@atlaskit/adf-schema'; // Regular expression for a windows filepath in the format <DRIVE LETTER>:\<folder name>\
3
+
4
+ export const FILEPATH_REGEXP = /([a-zA-Z]:|\\)([^\/:*?<>"|]+\\)?([^\/:*?<>"| ]+(?=\s?))?/gim;
3
5
  /**
4
6
  * Instance of class LinkMatcher are used in autoformatting in place of Regex.
5
7
  * Hence it has been made similar to regex with an exec method.
@@ -76,7 +78,12 @@ export function linkifyContent(schema) {
76
78
  const text = node.text;
77
79
  const matches = findLinkMatches(text);
78
80
  let pos = 0;
81
+ const filepaths = findFilepaths(text);
79
82
  matches.forEach(match => {
83
+ if (isLinkInMatches(match.start, filepaths)) {
84
+ return;
85
+ }
86
+
80
87
  if (match.start > 0) {
81
88
  linkified.push(node.cut(pos, match.start));
82
89
  }
@@ -130,4 +137,38 @@ function findLinkMatches(text) {
130
137
  }
131
138
 
132
139
  return matches;
133
- }
140
+ }
141
+
142
+ export const findFilepaths = (text, offset = 0) => {
143
+ // Creation of a copy of the RegExp is necessary as lastIndex is stored on it when we run .exec()
144
+ const localRegExp = new RegExp(FILEPATH_REGEXP);
145
+ let match;
146
+ const matchesList = [];
147
+ const maxFilepathSize = 260;
148
+
149
+ while ((match = localRegExp.exec(text)) !== null) {
150
+ const start = match.index + offset;
151
+ let end = localRegExp.lastIndex + offset;
152
+
153
+ if (end - start > maxFilepathSize) {
154
+ end = start + maxFilepathSize;
155
+ } // We don't care about big strings of text that are pretending to be filepaths!!
156
+
157
+
158
+ matchesList.push({
159
+ startIndex: start,
160
+ endIndex: end
161
+ });
162
+ }
163
+
164
+ return matchesList;
165
+ };
166
+ export const isLinkInMatches = (linkStart, matchesList) => {
167
+ for (let i = 0; i < matchesList.length; i++) {
168
+ if (linkStart >= matchesList[i].startIndex && linkStart < matchesList[i].endIndex) {
169
+ return true;
170
+ }
171
+ }
172
+
173
+ return false;
174
+ };
@@ -94,7 +94,7 @@ const insertBlockPlugin = (options = {}) => ({
94
94
  isDisabled: disabled,
95
95
  isTypeAheadAllowed: isTypeAheadAllowed(editorView.state),
96
96
  editorView: editorView,
97
- tableSupported: options.allowTables,
97
+ tableSupported: !!editorView.state.schema.nodes.table,
98
98
  actionSupported: !!editorView.state.schema.nodes.taskItem,
99
99
  mentionsSupported: !!(mentionState && mentionState.mentionProvider),
100
100
  decisionSupported: !!editorView.state.schema.nodes.decisionItem,
@@ -4,10 +4,11 @@ import { JiraIcon } from '@atlaskit/logo/jira-icon';
4
4
  import { borderRadius } from '@atlaskit/theme/constants';
5
5
  import { N30, N50 } from '@atlaskit/theme/colors';
6
6
  import { relativeFontSizeToBase16 } from '@atlaskit/editor-shared-styles';
7
+ import { token } from '@atlaskit/tokens';
7
8
  const wrapperNode = css`
8
9
  align-items: center;
9
- background: ${N30};
10
- border: 1px solid ${N50};
10
+ background: ${token('color.background.neutral', N30)};
11
+ border: 1px solid ${token('color.border', N50)};
11
12
  border-radius: ${borderRadius()}px;
12
13
  box-sizing: border-box;
13
14
  cursor: default;
@@ -21,18 +22,18 @@ const wrapperNode = css`
21
22
  white-space: nowrap;
22
23
 
23
24
  .ProseMirror-selectednode & {
24
- background: ${N50};
25
+ background: ${token('color.background.selected', N50)};
25
26
  outline: none;
26
27
  }
27
28
  `;
28
29
  const jiraChildNode = css`
29
30
  display: inline-block;
30
- color: #707070;
31
+ color: ${token('color.text.subtlest', '#707070')};
31
32
  line-height: 24px;
32
33
  vertical-align: top;
33
34
 
34
35
  &::before {
35
- color: black;
36
+ color: ${token('color.text', 'black')};
36
37
  content: 'JIRA | ';
37
38
  }
38
39
  `;
@@ -19,7 +19,9 @@ export const layoutStyles = css`
19
19
  [data-layout-column] {
20
20
  flex: 1;
21
21
  min-width: 0;
22
- border: ${akEditorSelectedBorderSize}px solid ${N40A};
22
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4353
23
+ border: ${akEditorSelectedBorderSize}px solid
24
+ ${token('color.border', N40A)};
23
25
  border-radius: 4px;
24
26
  padding: ${LAYOUT_COLUMN_PADDING}px;
25
27
  box-sizing: border-box;
@@ -29,11 +31,11 @@ export const layoutStyles = css`
29
31
  margin-top: 0;
30
32
  }
31
33
 
32
- > .ProseMirror-gapcursor.-right:first-child + * {
34
+ > .ProseMirror-gapcursor.-right:first-of-type + * {
33
35
  margin-top: 0;
34
36
  }
35
37
 
36
- > .ProseMirror-gapcursor:first-child + span + * {
38
+ > .ProseMirror-gapcursord:first-of-type + span + * {
37
39
  margin-top: 0;
38
40
  }
39
41
 
@@ -41,17 +43,17 @@ export const layoutStyles = css`
41
43
  margin-top: 0;
42
44
  }
43
45
 
44
- > .mediaSingleView-content-wrap:first-child .rich-media-item {
46
+ > .mediaSingleView-content-wrap:first-of-type .rich-media-item {
45
47
  margin-top: 0;
46
48
  }
47
49
 
48
- > .ProseMirror-gapcursor.-right:first-child
50
+ > .ProseMirror-gapcursor.-right:first-of-type
49
51
  + .mediaSingleView-content-wrap
50
52
  .rich-media-item {
51
53
  margin-top: 0;
52
54
  }
53
55
 
54
- > .ProseMirror-gapcursor:first-child
56
+ > .ProseMirror-gapcursor:first-of-type
55
57
  + span
56
58
  + .mediaSingleView-content-wrap
57
59
  .rich-media-item {
@@ -85,10 +87,11 @@ export const layoutStyles = css`
85
87
  }
86
88
  }
87
89
 
90
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4441
88
91
  /* Shows the border when cursor is inside a layout */
89
92
  &.selected [data-layout-column],
90
93
  &:hover [data-layout-column] {
91
- border-color: ${N50A};
94
+ border-color: ${token('color.border', N50A)};
92
95
  }
93
96
 
94
97
  &.selected.danger > [data-layout-column] {
@@ -56,6 +56,10 @@ export const findMediaNode = (mediaPluginState, id, isMediaSingle) => {
56
56
  };
57
57
  export const isMobileUploadCompleted = (mediaPluginState, mediaId) => !!mediaPluginState.mediaOptions && // This flag tells us that it's a 'mobile' env.
58
58
  !!mediaPluginState.mediaOptions.allowMarkingUploadsAsIncomplete && typeof mediaPluginState.mobileUploadComplete[mediaId] === 'boolean' ? mediaPluginState.mobileUploadComplete[mediaId] : undefined;
59
+ export const isMediaNode = (pos, state) => {
60
+ const node = state.doc.nodeAt(pos);
61
+ return node && ['media', 'mediaInline'].includes(node.type.name);
62
+ };
59
63
  export const updateAllMediaNodesAttrs = (id, attrs, isMediaSingle) => (state, dispatch) => {
60
64
  const mediaPluginState = mediaPluginKey.getState(state);
61
65
  let mediaNodes;
@@ -67,17 +71,12 @@ export const updateAllMediaNodesAttrs = (id, attrs, isMediaSingle) => (state, di
67
71
  mediaNodes = mediaGroupNode ? [mediaGroupNode] : [];
68
72
  }
69
73
 
70
- const isMediaNode = pos => {
71
- const node = state.doc.nodeAt(pos);
72
- return node && node.type.name === 'media';
73
- };
74
-
75
74
  const validMediaNodePositions = mediaNodes.reduce((acc, {
76
75
  getPos
77
76
  }) => {
78
77
  const pos = getPos();
79
78
 
80
- if (typeof pos === 'number' && !isMediaNode(pos)) {
79
+ if (typeof pos === 'number' && !isMediaNode(pos, state)) {
81
80
  return acc;
82
81
  }
83
82
 
@@ -109,9 +108,8 @@ export const updateMediaNodeAttrs = (id, attrs, isMediaSingle) => (state, dispat
109
108
 
110
109
  const tr = state.tr;
111
110
  const pos = mediaNodeWithPos.getPos();
112
- const node = tr.doc.nodeAt(pos);
113
111
 
114
- if (!node || node.type.name !== 'media') {
112
+ if (!isMediaNode(pos, state)) {
115
113
  return false;
116
114
  }
117
115
 
@@ -6,12 +6,14 @@ import { WithProviders } from '@atlaskit/editor-common/provider-factory';
6
6
  import { MediaInlineNodeSelector } from './styles';
7
7
  import { stateKey as mediaStateKey } from '../pm-plugins/plugin-key';
8
8
  import { MediaNodeUpdater } from './mediaNodeUpdater';
9
+ import { MediaInlineCardLoadingView } from '@atlaskit/media-ui';
9
10
  export const createMediaNodeUpdater = props => {
10
- const node = props.node.firstChild;
11
+ const node = props.node;
11
12
  return new MediaNodeUpdater({ ...props,
12
13
  isMediaSingle: true,
13
14
  node: node ? node : props.node,
14
- dispatchAnalyticsEvent: props.dispatchAnalyticsEvent
15
+ dispatchAnalyticsEvent: props.dispatchAnalyticsEvent,
16
+ contextIdentifierProvider: props.contextIdentifierProvider
15
17
  });
16
18
  };
17
19
  /**
@@ -45,10 +47,12 @@ export const updateMediaNodeAttributes = async props => {
45
47
  const copyNode = mediaNodeUpdater.copyNode();
46
48
  addPendingTask(copyNode);
47
49
  await copyNode;
48
- } catch {
50
+ } catch (e) {
49
51
  return;
50
52
  }
51
53
  }
54
+
55
+ await mediaNodeUpdater.updateFileAttrs();
52
56
  };
53
57
  export const handleNewNode = props => {
54
58
  const {
@@ -59,7 +63,7 @@ export const handleNewNode = props => {
59
63
  mediaPluginState.handleMediaNodeMount(node, () => getPos());
60
64
  };
61
65
  export const MediaInline = props => {
62
- const [viewMediaClientConfig, setViewMediaClientConfig] = useState({});
66
+ const [viewMediaClientConfig, setViewMediaClientConfig] = useState();
63
67
  useEffect(() => {
64
68
  handleNewNode(props);
65
69
  updateMediaNodeAttributes(props);
@@ -90,6 +94,18 @@ export const MediaInline = props => {
90
94
  mediaItemType: 'file',
91
95
  collectionName: collection
92
96
  };
97
+ /*
98
+ * Only show the loading view if the media provider is not ready
99
+ * prevents calling the media API before the provider is ready
100
+ */
101
+
102
+ if (!viewMediaClientConfig) {
103
+ return /*#__PURE__*/React.createElement(MediaInlineCardLoadingView, {
104
+ message: "",
105
+ isSelected: false
106
+ });
107
+ }
108
+
93
109
  return /*#__PURE__*/React.createElement(MediaInlineCard, {
94
110
  isSelected: props.isSelected,
95
111
  identifier: identifier,
@@ -100,12 +116,12 @@ export class MediaInlineNodeView extends SelectionBasedNodeView {
100
116
  createDomRef() {
101
117
  const domRef = document.createElement('span');
102
118
  domRef.contentEditable = 'false';
103
- domRef.classList.add(MediaInlineNodeSelector);
104
119
  return domRef;
105
120
  }
106
121
 
107
122
  getContentDOM() {
108
123
  const dom = document.createElement('span');
124
+ dom.classList.add(MediaInlineNodeSelector);
109
125
  return {
110
126
  dom
111
127
  };
@@ -54,6 +54,12 @@ export class MediaNode extends Component {
54
54
  }
55
55
  });
56
56
 
57
+ _defineProperty(this, "onFullscreenChange", fullscreen => {
58
+ this.mediaPluginState.updateAndDispatch({
59
+ isFullscreen: fullscreen
60
+ });
61
+ });
62
+
57
63
  _defineProperty(this, "handleNewNode", props => {
58
64
  const {
59
65
  node
@@ -161,6 +167,7 @@ export class MediaNode extends Component {
161
167
  selectable: true,
162
168
  selected: selected,
163
169
  disableOverlay: true,
170
+ onFullscreenChange: this.onFullscreenChange,
164
171
  onClick: this.selectMediaSingleFromCard,
165
172
  useInlinePlayer: mediaOptions && mediaOptions.allowLazyLoading,
166
173
  isLazy: mediaOptions && mediaOptions.allowLazyLoading,
@@ -18,15 +18,16 @@ import { ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE, fireAnalyticsEvent, ACTI
18
18
  import { RECENT_SEARCH_WIDTH_IN_PX } from '../../../../../ui/LinkSearch/ToolbarComponents';
19
19
  import { relativeFontSizeToBase16 } from '@atlaskit/editor-shared-styles';
20
20
  import { ErrorMessage } from '@atlaskit/editor-common/ui';
21
+ import { token } from '@atlaskit/tokens';
21
22
  export const CONTAINER_WIDTH_IN_PX = RECENT_SEARCH_WIDTH_IN_PX;
22
23
  export const MAX_ALT_TEXT_LENGTH = 510; // double tweet length
23
24
 
24
25
  const supportText = css`
25
- color: ${N100};
26
+ color: ${token('color.text.subtlest', N100)};
26
27
  font-size: ${relativeFontSizeToBase16(12)};
27
28
  padding: 12px 40px;
28
29
  line-height: 20px;
29
- border-top: 1px solid ${N30};
30
+ border-top: 1px solid ${token('color.border', N30)};
30
31
  margin: 0;
31
32
  `;
32
33
  const container = css`
@@ -47,7 +48,7 @@ const validationWrapper = css`
47
48
  line-height: 0;
48
49
  padding: 12px 24px 12px 0;
49
50
  margin: 0 12px 0 40px;
50
- border-top: 1px solid ${R400};
51
+ border-top: 1px solid ${token('color.border.danger', R400)};
51
52
  align-items: start;
52
53
  flex-direction: column;
53
54
  `;
@@ -56,7 +57,7 @@ const buttonWrapper = css`
56
57
  padding: 4px 8px;
57
58
  `;
58
59
  const clearText = css`
59
- color: ${N80};
60
+ color: ${token('color.icon.subtle', N80)};
60
61
  `;
61
62
  export class AltTextEditComponent extends React.Component {
62
63
  constructor(props) {
@@ -57,6 +57,8 @@ export class MediaPluginStateImplementation {
57
57
 
58
58
  _defineProperty(this, "showDropzone", false);
59
59
 
60
+ _defineProperty(this, "isFullscreen", false);
61
+
60
62
  _defineProperty(this, "layout", 'center');
61
63
 
62
64
  _defineProperty(this, "mediaNodes", []);
@@ -95,7 +95,7 @@ export const mediaStyles = css`
95
95
 
96
96
  .${richMediaClassName}:hover .richMedia-resize-handle-left::after,
97
97
  .${richMediaClassName}:hover .richMedia-resize-handle-right::after {
98
- background: ${N60};
98
+ background: ${token('color.border', N60)};
99
99
  }
100
100
 
101
101
  .${akEditorSelectedNodeClassName} .richMedia-resize-handle-right::after,
@@ -104,7 +104,7 @@ export const mediaStyles = css`
104
104
  .${richMediaClassName} .richMedia-resize-handle-left:hover::after,
105
105
  .${richMediaClassName}.is-resizing .richMedia-resize-handle-right::after,
106
106
  .${richMediaClassName}.is-resizing .richMedia-resize-handle-left::after {
107
- background: ${B200};
107
+ background: ${token('color.border.focused', B200)};
108
108
  }
109
109
 
110
110
  .__resizable_base__ {
@@ -151,7 +151,7 @@ export const mediaStyles = css`
151
151
  /* Smart cards */
152
152
  div div .media-card-frame,
153
153
  .inlineCardView-content-wrap > span > a {
154
- background-color: rgb(255, 189, 173, 0.5); /* R75 with 50% opactiy */
154
+ background-color: ${token('color.blanket.danger', 'rgb(255, 189, 173, 0.5)')}; /* R75 with 50% opactiy */
155
155
  transition: background-color 0s;
156
156
  }
157
157
 
@@ -2,9 +2,10 @@
2
2
  import { css, jsx } from '@emotion/react';
3
3
  import { FormattedMessage } from 'react-intl-next';
4
4
  import { N200 } from '@atlaskit/theme/colors';
5
+ import { token } from '@atlaskit/tokens';
5
6
  import { messages } from './messages';
6
7
  const placeholder = css`
7
- color: ${N200};
8
+ color: ${token('color.text.subtlest', N200)};
8
9
  width: 100%;
9
10
  text-align: center;
10
11
  margin-top: 8px !important;
@@ -6,10 +6,11 @@ import DocumentFilledIcon from '@atlaskit/icon/glyph/document-filled';
6
6
  import { hexToRgba } from '@atlaskit/adf-schema';
7
7
  import { injectIntl } from 'react-intl-next';
8
8
  import { dropPlaceholderMessages } from './drop-placeholder-messages';
9
+ import { token } from '@atlaskit/tokens';
9
10
  import { MEDIA_HEIGHT, FILE_WIDTH } from '../../nodeviews/mediaNodeView/media';
10
11
  const iconWrapper = css`
11
- color: ${hexToRgba(B400, 0.4) || B400};
12
- background: ${hexToRgba(B300, 0.6) || B300};
12
+ color: ${token('color.icon.accent.blue', hexToRgba(B400, 0.4) || B400)};
13
+ background: ${token('color.background.accent.blue.subtle', hexToRgba(B300, 0.6) || B300)};
13
14
  border-radius: ${borderRadius()}px;
14
15
  margin: 5px 3px 25px;
15
16
  width: ${FILE_WIDTH}px;
@@ -19,7 +20,7 @@ const iconWrapper = css`
19
20
  justify-content: center;
20
21
  `;
21
22
  const dropLine = css`
22
- background: ${B200};
23
+ background: ${token('color.border.focused', B200)};
23
24
  border-radius: ${borderRadius()}px;
24
25
  margin: 2px 0;
25
26
  width: 100%;
@@ -17,11 +17,12 @@ import { normalizeUrl } from '../../hyperlink/utils';
17
17
  import { R400 } from '@atlaskit/theme/colors';
18
18
  import { INPUT_METHOD } from '../../analytics/types/enums';
19
19
  import { mediaLinkToolbarMessages } from './media-linking-toolbar-messages';
20
+ import { token } from '@atlaskit/tokens';
20
21
  const validationWrapper = css`
21
22
  line-height: 0;
22
23
  padding: 12px 24px 12px 0;
23
24
  margin: 0 4px 0 32px;
24
- border-top: 1px solid ${R400};
25
+ border-top: 1px solid ${token('color.border.danger', R400)};
25
26
  align-items: start;
26
27
  display: flex;
27
28
  flex-direction: column;