@atlaskit/editor-core 148.0.0 → 149.0.3

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 (555) hide show
  1. package/CHANGELOG.md +110 -0
  2. package/dist/cjs/create-editor/create-plugins-list.js +6 -1
  3. package/dist/cjs/editor.js +1 -4
  4. package/dist/cjs/index.js +24 -40
  5. package/dist/cjs/labs/next/presets/default.js +1 -1
  6. package/dist/cjs/messages.js +5 -0
  7. package/dist/cjs/nodeviews/SelectionBasedNodeView.js +1 -2
  8. package/dist/cjs/plugins/analytics/plugin.js +9 -7
  9. package/dist/cjs/plugins/analytics/types/enums.js +5 -0
  10. package/dist/cjs/plugins/analytics/types/type-ahead.js +5 -0
  11. package/dist/cjs/plugins/block-type/messages.js +10 -0
  12. package/dist/cjs/plugins/card/nodeviews/embedCard.js +1 -3
  13. package/dist/cjs/plugins/collab-edit/participants.js +15 -0
  14. package/dist/cjs/plugins/collab-edit/plugin-state.js +14 -0
  15. package/dist/cjs/plugins/collab-edit/ui/avatars-with-plugin-state.js +6 -4
  16. package/dist/cjs/plugins/collab-edit/ui/avatars.js +19 -2
  17. package/dist/cjs/plugins/collab-edit/utils.js +42 -2
  18. package/dist/cjs/plugins/date/actions.js +4 -2
  19. package/dist/cjs/plugins/date/index.js +1 -1
  20. package/dist/cjs/plugins/date/pm-plugins/utils.js +6 -1
  21. package/dist/cjs/plugins/emoji/index.js +143 -120
  22. package/dist/cjs/plugins/emoji/pm-plugins/ascii-input-rules.js +0 -14
  23. package/dist/cjs/plugins/expand/pm-plugins/keymap.js +3 -7
  24. package/dist/cjs/plugins/extension/actions.js +16 -16
  25. package/dist/cjs/plugins/extension/pm-plugins/main.js +4 -4
  26. package/dist/cjs/plugins/extension/ui/Extension/ExtensionComponent.js +5 -4
  27. package/dist/cjs/plugins/extension/ui/Extension/index.js +2 -2
  28. package/dist/cjs/plugins/feature-flags-context/feature-flags-from-props.js +3 -2
  29. package/dist/cjs/plugins/floating-toolbar/ui/ConfirmationModal.js +12 -14
  30. package/dist/cjs/plugins/floating-toolbar/ui/EditorEmojiAddIcon.js +35 -0
  31. package/dist/cjs/plugins/floating-toolbar/ui/EditorHideEmojiIcon.js +38 -0
  32. package/dist/cjs/plugins/floating-toolbar/ui/EmojiPickerButton.js +5 -7
  33. package/dist/cjs/plugins/help-dialog/ui/index.js +12 -18
  34. package/dist/cjs/plugins/help-dialog/ui/styles.js +2 -6
  35. package/dist/cjs/plugins/hyperlink/index.js +4 -10
  36. package/dist/cjs/plugins/insert-block/index.js +9 -8
  37. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/index.js +7 -3
  38. package/dist/cjs/plugins/list/index.js +5 -0
  39. package/dist/cjs/plugins/macro/actions.js +14 -14
  40. package/dist/cjs/plugins/media/index.js +1 -0
  41. package/dist/cjs/plugins/media/nodeviews/mediaGroup.js +1 -0
  42. package/dist/cjs/plugins/media/pm-plugins/main.js +26 -14
  43. package/dist/cjs/plugins/media/styles.js +1 -1
  44. package/dist/cjs/plugins/media/toolbar/filePreviewItem.js +86 -0
  45. package/dist/cjs/plugins/media/toolbar/index.js +161 -44
  46. package/dist/cjs/plugins/media/toolbar/utils.js +77 -0
  47. package/dist/cjs/plugins/mentions/index.js +57 -602
  48. package/dist/cjs/plugins/mentions/pm-plugins/key.js +11 -0
  49. package/dist/cjs/plugins/mentions/pm-plugins/main.js +162 -0
  50. package/dist/cjs/plugins/mentions/pm-plugins/utils.js +12 -0
  51. package/dist/cjs/plugins/mentions/type-ahead/index.js +449 -0
  52. package/dist/cjs/plugins/mentions/ui/InviteItem/index.js +3 -1
  53. package/dist/cjs/plugins/mentions/ui/InviteItem/styles.js +8 -3
  54. package/dist/cjs/plugins/mentions/ui/ToolbarMention/index.js +3 -3
  55. package/dist/cjs/plugins/mentions/utils.js +24 -2
  56. package/dist/cjs/plugins/panel/index.js +46 -13
  57. package/dist/cjs/plugins/panel/nodeviews/panel.js +39 -25
  58. package/dist/cjs/plugins/panel/toolbar.js +94 -6
  59. package/dist/cjs/plugins/panel/toolbar.test.js +149 -16
  60. package/dist/cjs/plugins/paste/handlers.js +2 -2
  61. package/dist/cjs/plugins/paste/pm-plugins/analytics.js +6 -3
  62. package/dist/cjs/plugins/placeholder/index.js +6 -0
  63. package/dist/cjs/plugins/quick-insert/api.js +30 -0
  64. package/dist/cjs/plugins/quick-insert/assets/custom-panel.js +55 -0
  65. package/dist/cjs/plugins/quick-insert/assets/index.js +14 -1
  66. package/dist/cjs/plugins/quick-insert/index.js +10 -24
  67. package/dist/cjs/plugins/quick-insert/ui/ModalElementBrowser/index.js +1 -0
  68. package/dist/cjs/plugins/rank.js +1 -1
  69. package/dist/cjs/plugins/rule/index.js +1 -25
  70. package/dist/cjs/plugins/scroll-into-view/index.js +1 -4
  71. package/dist/cjs/plugins/selection/gap-cursor/actions.js +5 -6
  72. package/dist/cjs/plugins/selection/pm-plugins/selection-main.js +1 -3
  73. package/dist/cjs/plugins/status/actions.js +5 -2
  74. package/dist/cjs/plugins/status/plugin.js +1 -1
  75. package/dist/cjs/plugins/table/commands/selection.js +24 -24
  76. package/dist/cjs/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +8 -1
  77. package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +14 -15
  78. package/dist/cjs/plugins/tasks-and-decisions/nodeviews/decisionItem.js +3 -1
  79. package/dist/cjs/plugins/tasks-and-decisions/nodeviews/taskItem.js +3 -1
  80. package/dist/cjs/plugins/tasks-and-decisions/pm-plugins/keymaps.js +1 -2
  81. package/dist/cjs/plugins/text-formatting/pm-plugins/cursor.js +1 -4
  82. package/dist/cjs/plugins/type-ahead/api.js +243 -0
  83. package/dist/cjs/plugins/type-ahead/commands/insert-type-ahead-item.js +238 -0
  84. package/dist/cjs/plugins/type-ahead/commands/update-list-items.js +30 -0
  85. package/dist/cjs/plugins/type-ahead/commands/update-query.js +16 -18
  86. package/dist/cjs/plugins/type-ahead/commands/update-selected-index.js +36 -0
  87. package/dist/cjs/plugins/type-ahead/constants.js +25 -0
  88. package/dist/cjs/plugins/type-ahead/index.js +183 -52
  89. package/dist/cjs/plugins/type-ahead/insert-utils.js +132 -0
  90. package/dist/cjs/plugins/type-ahead/pm-plugins/actions.js +12 -9
  91. package/dist/cjs/plugins/type-ahead/pm-plugins/decorations.js +238 -0
  92. package/dist/cjs/plugins/type-ahead/pm-plugins/input-rules.js +20 -40
  93. package/dist/cjs/plugins/type-ahead/pm-plugins/insert-item-plugin.js +28 -0
  94. package/dist/cjs/plugins/type-ahead/pm-plugins/{plugin-key.js → key.js} +0 -0
  95. package/dist/cjs/plugins/type-ahead/pm-plugins/main.js +79 -424
  96. package/dist/cjs/plugins/type-ahead/pm-plugins/reducer.js +188 -0
  97. package/dist/cjs/plugins/type-ahead/pm-plugins/utils.js +26 -0
  98. package/dist/cjs/plugins/type-ahead/stats-modifier.js +49 -0
  99. package/dist/cjs/plugins/type-ahead/transforms/close-type-ahead.js +18 -0
  100. package/dist/cjs/plugins/type-ahead/transforms/open-typeahead-at-cursor.js +51 -0
  101. package/dist/cjs/plugins/type-ahead/transforms/set-selection-before-query.js +24 -0
  102. package/dist/cjs/plugins/type-ahead/ui/DynamicHeightListItem.js +77 -0
  103. package/dist/cjs/plugins/type-ahead/ui/InputQuery.js +325 -0
  104. package/dist/cjs/plugins/type-ahead/ui/TypeAheadList.js +195 -0
  105. package/dist/cjs/plugins/type-ahead/ui/TypeAheadListItem.js +141 -0
  106. package/dist/cjs/plugins/type-ahead/ui/TypeAheadPopup.js +141 -0
  107. package/dist/cjs/plugins/type-ahead/ui/WrapperTypeAhead.js +151 -0
  108. package/dist/cjs/plugins/type-ahead/ui/hooks/use-dynamic-list-height-calculation.js +118 -0
  109. package/dist/cjs/plugins/type-ahead/ui/hooks/use-item-insert.js +132 -0
  110. package/dist/cjs/plugins/type-ahead/ui/hooks/use-load-items.js +61 -0
  111. package/dist/cjs/plugins/type-ahead/ui/hooks/use-on-force-select.js +50 -0
  112. package/dist/cjs/plugins/type-ahead/ui/hooks/use-resize-observer.js +70 -0
  113. package/dist/cjs/plugins/type-ahead/utils.js +127 -0
  114. package/dist/cjs/plugins/undo-redo/ui/ToolbarUndoRedo/index.js +33 -2
  115. package/dist/cjs/plugins/view-update-subscription/index.js +19 -14
  116. package/dist/cjs/plugins/view-update-subscription/subscribe/toolbarAndPickerUpdates.js +10 -3
  117. package/dist/cjs/plugins/view-update-subscription/subscribe/type-ahead-updates.js +46 -0
  118. package/dist/cjs/test-utils.js +17 -0
  119. package/dist/cjs/types/empty-state-handler.js +5 -0
  120. package/dist/cjs/ui/ConfigPanel/Fields/ColorPicker.js +4 -21
  121. package/dist/cjs/ui/ElementBrowser/ElementBrowser.js +4 -2
  122. package/dist/cjs/ui/ElementBrowser/InsertMenu.js +1 -0
  123. package/dist/cjs/ui/ElementBrowser/ModalElementBrowser.js +16 -23
  124. package/dist/cjs/ui/ElementBrowser/components/ElementList/ElementList.js +11 -4
  125. package/dist/cjs/ui/ElementBrowser/components/StatelessElementBrowser.js +12 -4
  126. package/dist/cjs/ui/PanelTextInput/index.js +1 -3
  127. package/dist/cjs/utils/compare.js +7 -7
  128. package/dist/cjs/utils/index.js +7 -8
  129. package/dist/cjs/utils/rich-media-utils.js +2 -2
  130. package/dist/cjs/utils/selection.js +6 -3
  131. package/dist/cjs/version-wrapper.js +1 -1
  132. package/dist/cjs/version.json +1 -1
  133. package/dist/es2019/create-editor/create-plugins-list.js +6 -1
  134. package/dist/es2019/editor.js +1 -4
  135. package/dist/es2019/index.js +4 -6
  136. package/dist/es2019/labs/next/presets/default.js +2 -2
  137. package/dist/es2019/messages.js +5 -0
  138. package/dist/es2019/nodeviews/SelectionBasedNodeView.js +1 -2
  139. package/dist/es2019/plugins/analytics/plugin.js +5 -1
  140. package/dist/es2019/plugins/analytics/types/enums.js +5 -0
  141. package/dist/es2019/plugins/analytics/types/type-ahead.js +1 -0
  142. package/dist/es2019/plugins/block-type/messages.js +10 -0
  143. package/dist/es2019/plugins/card/nodeviews/embedCard.js +1 -3
  144. package/dist/es2019/plugins/collab-edit/participants.js +14 -0
  145. package/dist/es2019/plugins/collab-edit/plugin-state.js +17 -1
  146. package/dist/es2019/plugins/collab-edit/ui/avatars-with-plugin-state.js +6 -4
  147. package/dist/es2019/plugins/collab-edit/ui/avatars.js +17 -2
  148. package/dist/es2019/plugins/collab-edit/utils.js +34 -0
  149. package/dist/es2019/plugins/date/actions.js +4 -2
  150. package/dist/es2019/plugins/date/index.js +1 -1
  151. package/dist/es2019/plugins/date/pm-plugins/utils.js +6 -1
  152. package/dist/es2019/plugins/emoji/index.js +169 -146
  153. package/dist/es2019/plugins/emoji/pm-plugins/ascii-input-rules.js +0 -11
  154. package/dist/es2019/plugins/expand/pm-plugins/keymap.js +3 -6
  155. package/dist/es2019/plugins/extension/actions.js +16 -16
  156. package/dist/es2019/plugins/extension/pm-plugins/main.js +4 -4
  157. package/dist/es2019/plugins/extension/ui/Extension/ExtensionComponent.js +5 -4
  158. package/dist/es2019/plugins/extension/ui/Extension/index.js +2 -2
  159. package/dist/es2019/plugins/feature-flags-context/feature-flags-from-props.js +3 -2
  160. package/dist/es2019/plugins/floating-toolbar/ui/ConfirmationModal.js +12 -15
  161. package/dist/es2019/plugins/floating-toolbar/ui/EditorEmojiAddIcon.js +25 -0
  162. package/dist/es2019/plugins/floating-toolbar/ui/EditorHideEmojiIcon.js +28 -0
  163. package/dist/es2019/plugins/floating-toolbar/ui/EmojiPickerButton.js +3 -5
  164. package/dist/es2019/plugins/help-dialog/ui/index.js +20 -26
  165. package/dist/es2019/plugins/help-dialog/ui/styles.js +2 -2
  166. package/dist/es2019/plugins/hyperlink/index.js +4 -12
  167. package/dist/es2019/plugins/insert-block/index.js +4 -4
  168. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/index.js +8 -4
  169. package/dist/es2019/plugins/list/index.js +20 -14
  170. package/dist/es2019/plugins/macro/actions.js +14 -14
  171. package/dist/es2019/plugins/media/index.js +1 -0
  172. package/dist/es2019/plugins/media/nodeviews/mediaGroup.js +1 -0
  173. package/dist/es2019/plugins/media/pm-plugins/main.js +27 -12
  174. package/dist/es2019/plugins/media/styles.js +7 -2
  175. package/dist/es2019/plugins/media/toolbar/filePreviewItem.js +59 -0
  176. package/dist/es2019/plugins/media/toolbar/index.js +158 -42
  177. package/dist/es2019/plugins/media/toolbar/utils.js +32 -0
  178. package/dist/es2019/plugins/mentions/index.js +34 -536
  179. package/dist/es2019/plugins/mentions/pm-plugins/key.js +2 -0
  180. package/dist/es2019/plugins/mentions/pm-plugins/main.js +138 -0
  181. package/dist/es2019/plugins/mentions/pm-plugins/utils.js +4 -0
  182. package/dist/es2019/plugins/mentions/type-ahead/index.js +394 -0
  183. package/dist/es2019/plugins/mentions/ui/InviteItem/index.js +2 -1
  184. package/dist/es2019/plugins/mentions/ui/InviteItem/styles.js +4 -2
  185. package/dist/es2019/plugins/mentions/ui/ToolbarMention/index.js +2 -2
  186. package/dist/es2019/plugins/mentions/utils.js +20 -1
  187. package/dist/es2019/plugins/panel/index.js +95 -62
  188. package/dist/es2019/plugins/panel/nodeviews/panel.js +7 -1
  189. package/dist/es2019/plugins/panel/toolbar.js +90 -6
  190. package/dist/es2019/plugins/panel/toolbar.test.js +131 -14
  191. package/dist/es2019/plugins/paste/handlers.js +2 -2
  192. package/dist/es2019/plugins/paste/pm-plugins/analytics.js +6 -3
  193. package/dist/es2019/plugins/placeholder/index.js +5 -0
  194. package/dist/es2019/plugins/quick-insert/api.js +18 -0
  195. package/dist/es2019/plugins/quick-insert/assets/custom-panel.js +45 -0
  196. package/dist/es2019/plugins/quick-insert/assets/index.js +6 -0
  197. package/dist/es2019/plugins/quick-insert/index.js +12 -23
  198. package/dist/es2019/plugins/quick-insert/search.js +1 -3
  199. package/dist/es2019/plugins/quick-insert/ui/ModalElementBrowser/index.js +1 -0
  200. package/dist/es2019/plugins/rank.js +1 -1
  201. package/dist/es2019/plugins/rule/index.js +1 -22
  202. package/dist/es2019/plugins/scroll-into-view/index.js +1 -3
  203. package/dist/es2019/plugins/selection/gap-cursor/actions.js +5 -6
  204. package/dist/es2019/plugins/selection/pm-plugins/selection-main.js +1 -3
  205. package/dist/es2019/plugins/status/actions.js +5 -2
  206. package/dist/es2019/plugins/status/plugin.js +1 -1
  207. package/dist/es2019/plugins/table/commands/selection.js +25 -25
  208. package/dist/es2019/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +8 -1
  209. package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +14 -15
  210. package/dist/es2019/plugins/tasks-and-decisions/nodeviews/decisionItem.js +2 -1
  211. package/dist/es2019/plugins/tasks-and-decisions/nodeviews/taskItem.js +2 -1
  212. package/dist/es2019/plugins/tasks-and-decisions/pm-plugins/keymaps.js +1 -2
  213. package/dist/es2019/plugins/text-formatting/pm-plugins/cursor.js +1 -4
  214. package/dist/es2019/plugins/type-ahead/api.js +224 -0
  215. package/dist/es2019/plugins/type-ahead/commands/insert-type-ahead-item.js +222 -0
  216. package/dist/es2019/plugins/type-ahead/commands/update-list-items.js +19 -0
  217. package/dist/es2019/plugins/type-ahead/commands/update-query.js +17 -15
  218. package/dist/es2019/plugins/type-ahead/commands/update-selected-index.js +25 -0
  219. package/dist/es2019/plugins/type-ahead/constants.js +15 -0
  220. package/dist/es2019/plugins/type-ahead/index.js +203 -78
  221. package/dist/es2019/plugins/type-ahead/insert-utils.js +119 -0
  222. package/dist/es2019/plugins/type-ahead/pm-plugins/actions.js +11 -8
  223. package/dist/es2019/plugins/type-ahead/pm-plugins/decorations.js +211 -0
  224. package/dist/es2019/plugins/type-ahead/pm-plugins/input-rules.js +18 -32
  225. package/dist/es2019/plugins/type-ahead/pm-plugins/insert-item-plugin.js +19 -0
  226. package/dist/es2019/plugins/type-ahead/pm-plugins/{plugin-key.js → key.js} +0 -0
  227. package/dist/es2019/plugins/type-ahead/pm-plugins/main.js +81 -401
  228. package/dist/es2019/plugins/type-ahead/pm-plugins/reducer.js +165 -0
  229. package/dist/es2019/plugins/type-ahead/pm-plugins/utils.js +16 -0
  230. package/dist/es2019/plugins/type-ahead/stats-modifier.js +41 -0
  231. package/dist/es2019/plugins/type-ahead/transforms/close-type-ahead.js +7 -0
  232. package/dist/es2019/plugins/type-ahead/transforms/open-typeahead-at-cursor.js +40 -0
  233. package/dist/es2019/plugins/type-ahead/transforms/set-selection-before-query.js +11 -0
  234. package/dist/es2019/plugins/type-ahead/ui/DynamicHeightListItem.js +51 -0
  235. package/dist/es2019/plugins/type-ahead/ui/InputQuery.js +307 -0
  236. package/dist/es2019/plugins/type-ahead/ui/TypeAheadList.js +163 -0
  237. package/dist/es2019/plugins/type-ahead/ui/TypeAheadListItem.js +136 -0
  238. package/dist/es2019/plugins/type-ahead/ui/TypeAheadPopup.js +120 -0
  239. package/dist/es2019/plugins/type-ahead/ui/WrapperTypeAhead.js +110 -0
  240. package/dist/es2019/plugins/type-ahead/ui/hooks/use-dynamic-list-height-calculation.js +97 -0
  241. package/dist/es2019/plugins/type-ahead/ui/hooks/use-item-insert.js +126 -0
  242. package/dist/es2019/plugins/type-ahead/ui/hooks/use-load-items.js +43 -0
  243. package/dist/es2019/plugins/type-ahead/ui/hooks/use-on-force-select.js +41 -0
  244. package/dist/es2019/plugins/type-ahead/ui/hooks/use-resize-observer.js +53 -0
  245. package/dist/es2019/plugins/type-ahead/utils.js +93 -0
  246. package/dist/es2019/plugins/undo-redo/ui/ToolbarUndoRedo/index.js +29 -2
  247. package/dist/es2019/plugins/view-update-subscription/index.js +19 -14
  248. package/dist/es2019/plugins/view-update-subscription/subscribe/toolbarAndPickerUpdates.js +9 -3
  249. package/dist/es2019/plugins/view-update-subscription/subscribe/type-ahead-updates.js +34 -0
  250. package/dist/es2019/test-utils.js +7 -0
  251. package/dist/es2019/types/empty-state-handler.js +1 -0
  252. package/dist/es2019/ui/ConfigPanel/Fields/ColorPicker.js +4 -8
  253. package/dist/es2019/ui/ConfigPanel/transformers.js +9 -9
  254. package/dist/es2019/ui/ElementBrowser/ElementBrowser.js +4 -2
  255. package/dist/es2019/ui/ElementBrowser/InsertMenu.js +1 -0
  256. package/dist/es2019/ui/ElementBrowser/ModalElementBrowser.js +20 -21
  257. package/dist/es2019/ui/ElementBrowser/components/ElementList/ElementList.js +9 -2
  258. package/dist/es2019/ui/ElementBrowser/components/StatelessElementBrowser.js +12 -4
  259. package/dist/es2019/ui/PanelTextInput/index.js +1 -3
  260. package/dist/es2019/utils/compare.js +7 -7
  261. package/dist/es2019/utils/index.js +7 -8
  262. package/dist/es2019/utils/rich-media-utils.js +2 -2
  263. package/dist/es2019/utils/selection.js +6 -3
  264. package/dist/es2019/version-wrapper.js +1 -1
  265. package/dist/es2019/version.json +1 -1
  266. package/dist/esm/create-editor/create-plugins-list.js +6 -1
  267. package/dist/esm/editor.js +1 -4
  268. package/dist/esm/index.js +4 -6
  269. package/dist/esm/labs/next/presets/default.js +2 -2
  270. package/dist/esm/messages.js +5 -0
  271. package/dist/esm/nodeviews/SelectionBasedNodeView.js +1 -2
  272. package/dist/esm/plugins/analytics/plugin.js +8 -6
  273. package/dist/esm/plugins/analytics/types/enums.js +5 -0
  274. package/dist/esm/plugins/analytics/types/type-ahead.js +1 -0
  275. package/dist/esm/plugins/block-type/messages.js +10 -0
  276. package/dist/esm/plugins/card/nodeviews/embedCard.js +1 -3
  277. package/dist/esm/plugins/collab-edit/participants.js +15 -0
  278. package/dist/esm/plugins/collab-edit/plugin-state.js +15 -1
  279. package/dist/esm/plugins/collab-edit/ui/avatars-with-plugin-state.js +6 -4
  280. package/dist/esm/plugins/collab-edit/ui/avatars.js +17 -2
  281. package/dist/esm/plugins/collab-edit/utils.js +32 -0
  282. package/dist/esm/plugins/date/actions.js +4 -2
  283. package/dist/esm/plugins/date/index.js +1 -1
  284. package/dist/esm/plugins/date/pm-plugins/utils.js +6 -1
  285. package/dist/esm/plugins/emoji/index.js +136 -112
  286. package/dist/esm/plugins/emoji/pm-plugins/ascii-input-rules.js +0 -13
  287. package/dist/esm/plugins/expand/pm-plugins/keymap.js +3 -6
  288. package/dist/esm/plugins/extension/actions.js +16 -16
  289. package/dist/esm/plugins/extension/pm-plugins/main.js +4 -4
  290. package/dist/esm/plugins/extension/ui/Extension/ExtensionComponent.js +5 -4
  291. package/dist/esm/plugins/extension/ui/Extension/index.js +2 -2
  292. package/dist/esm/plugins/feature-flags-context/feature-flags-from-props.js +3 -2
  293. package/dist/esm/plugins/floating-toolbar/ui/ConfirmationModal.js +12 -15
  294. package/dist/esm/plugins/floating-toolbar/ui/EditorEmojiAddIcon.js +25 -0
  295. package/dist/esm/plugins/floating-toolbar/ui/EditorHideEmojiIcon.js +28 -0
  296. package/dist/esm/plugins/floating-toolbar/ui/EmojiPickerButton.js +3 -5
  297. package/dist/esm/plugins/help-dialog/ui/index.js +13 -19
  298. package/dist/esm/plugins/help-dialog/ui/styles.js +2 -6
  299. package/dist/esm/plugins/hyperlink/index.js +4 -10
  300. package/dist/esm/plugins/insert-block/index.js +5 -5
  301. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/index.js +8 -4
  302. package/dist/esm/plugins/list/index.js +5 -0
  303. package/dist/esm/plugins/macro/actions.js +14 -14
  304. package/dist/esm/plugins/media/index.js +1 -0
  305. package/dist/esm/plugins/media/nodeviews/mediaGroup.js +1 -0
  306. package/dist/esm/plugins/media/pm-plugins/main.js +27 -14
  307. package/dist/esm/plugins/media/styles.js +2 -2
  308. package/dist/esm/plugins/media/toolbar/filePreviewItem.js +62 -0
  309. package/dist/esm/plugins/media/toolbar/index.js +154 -43
  310. package/dist/esm/plugins/media/toolbar/utils.js +60 -0
  311. package/dist/esm/plugins/mentions/index.js +45 -557
  312. package/dist/esm/plugins/mentions/pm-plugins/key.js +2 -0
  313. package/dist/esm/plugins/mentions/pm-plugins/main.js +145 -0
  314. package/dist/esm/plugins/mentions/pm-plugins/utils.js +4 -0
  315. package/dist/esm/plugins/mentions/type-ahead/index.js +415 -0
  316. package/dist/esm/plugins/mentions/ui/InviteItem/index.js +2 -1
  317. package/dist/esm/plugins/mentions/ui/InviteItem/styles.js +4 -2
  318. package/dist/esm/plugins/mentions/ui/ToolbarMention/index.js +2 -2
  319. package/dist/esm/plugins/mentions/utils.js +19 -0
  320. package/dist/esm/plugins/panel/index.js +44 -13
  321. package/dist/esm/plugins/panel/nodeviews/panel.js +36 -22
  322. package/dist/esm/plugins/panel/toolbar.js +92 -6
  323. package/dist/esm/plugins/panel/toolbar.test.js +148 -16
  324. package/dist/esm/plugins/paste/handlers.js +2 -2
  325. package/dist/esm/plugins/paste/pm-plugins/analytics.js +6 -3
  326. package/dist/esm/plugins/placeholder/index.js +5 -0
  327. package/dist/esm/plugins/quick-insert/api.js +20 -0
  328. package/dist/esm/plugins/quick-insert/assets/custom-panel.js +45 -0
  329. package/dist/esm/plugins/quick-insert/assets/index.js +12 -0
  330. package/dist/esm/plugins/quick-insert/index.js +10 -24
  331. package/dist/esm/plugins/quick-insert/search.js +1 -3
  332. package/dist/esm/plugins/quick-insert/ui/ModalElementBrowser/index.js +1 -0
  333. package/dist/esm/plugins/rank.js +1 -1
  334. package/dist/esm/plugins/rule/index.js +1 -22
  335. package/dist/esm/plugins/scroll-into-view/index.js +1 -3
  336. package/dist/esm/plugins/selection/gap-cursor/actions.js +5 -6
  337. package/dist/esm/plugins/selection/pm-plugins/selection-main.js +1 -3
  338. package/dist/esm/plugins/status/actions.js +5 -2
  339. package/dist/esm/plugins/status/plugin.js +1 -1
  340. package/dist/esm/plugins/table/commands/selection.js +24 -24
  341. package/dist/esm/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +8 -1
  342. package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +14 -15
  343. package/dist/esm/plugins/tasks-and-decisions/nodeviews/decisionItem.js +2 -1
  344. package/dist/esm/plugins/tasks-and-decisions/nodeviews/taskItem.js +2 -1
  345. package/dist/esm/plugins/tasks-and-decisions/pm-plugins/keymaps.js +1 -2
  346. package/dist/esm/plugins/text-formatting/pm-plugins/cursor.js +1 -4
  347. package/dist/esm/plugins/type-ahead/api.js +228 -0
  348. package/dist/esm/plugins/type-ahead/commands/insert-type-ahead-item.js +217 -0
  349. package/dist/esm/plugins/type-ahead/commands/update-list-items.js +19 -0
  350. package/dist/esm/plugins/type-ahead/commands/update-query.js +13 -13
  351. package/dist/esm/plugins/type-ahead/commands/update-selected-index.js +25 -0
  352. package/dist/esm/plugins/type-ahead/constants.js +15 -0
  353. package/dist/esm/plugins/type-ahead/index.js +173 -53
  354. package/dist/esm/plugins/type-ahead/insert-utils.js +116 -0
  355. package/dist/esm/plugins/type-ahead/pm-plugins/actions.js +11 -8
  356. package/dist/esm/plugins/type-ahead/pm-plugins/decorations.js +204 -0
  357. package/dist/esm/plugins/type-ahead/pm-plugins/input-rules.js +18 -33
  358. package/dist/esm/plugins/type-ahead/pm-plugins/insert-item-plugin.js +18 -0
  359. package/dist/esm/plugins/type-ahead/pm-plugins/{plugin-key.js → key.js} +0 -0
  360. package/dist/esm/plugins/type-ahead/pm-plugins/main.js +80 -393
  361. package/dist/esm/plugins/type-ahead/pm-plugins/reducer.js +168 -0
  362. package/dist/esm/plugins/type-ahead/pm-plugins/utils.js +16 -0
  363. package/dist/esm/plugins/type-ahead/stats-modifier.js +43 -0
  364. package/dist/esm/plugins/type-ahead/transforms/close-type-ahead.js +7 -0
  365. package/dist/esm/plugins/type-ahead/transforms/open-typeahead-at-cursor.js +39 -0
  366. package/dist/esm/plugins/type-ahead/transforms/set-selection-before-query.js +13 -0
  367. package/dist/esm/plugins/type-ahead/ui/DynamicHeightListItem.js +51 -0
  368. package/dist/esm/plugins/type-ahead/ui/InputQuery.js +302 -0
  369. package/dist/esm/plugins/type-ahead/ui/TypeAheadList.js +168 -0
  370. package/dist/esm/plugins/type-ahead/ui/TypeAheadListItem.js +105 -0
  371. package/dist/esm/plugins/type-ahead/ui/TypeAheadPopup.js +114 -0
  372. package/dist/esm/plugins/type-ahead/ui/WrapperTypeAhead.js +125 -0
  373. package/dist/esm/plugins/type-ahead/ui/hooks/use-dynamic-list-height-calculation.js +101 -0
  374. package/dist/esm/plugins/type-ahead/ui/hooks/use-item-insert.js +118 -0
  375. package/dist/esm/plugins/type-ahead/ui/hooks/use-load-items.js +46 -0
  376. package/dist/esm/plugins/type-ahead/ui/hooks/use-on-force-select.js +38 -0
  377. package/dist/esm/plugins/type-ahead/ui/hooks/use-resize-observer.js +48 -0
  378. package/dist/esm/plugins/type-ahead/utils.js +88 -0
  379. package/dist/esm/plugins/undo-redo/ui/ToolbarUndoRedo/index.js +33 -2
  380. package/dist/esm/plugins/view-update-subscription/index.js +19 -14
  381. package/dist/esm/plugins/view-update-subscription/subscribe/toolbarAndPickerUpdates.js +10 -3
  382. package/dist/esm/plugins/view-update-subscription/subscribe/type-ahead-updates.js +33 -0
  383. package/dist/esm/test-utils.js +7 -0
  384. package/dist/esm/types/empty-state-handler.js +1 -0
  385. package/dist/esm/ui/ConfigPanel/Fields/ColorPicker.js +4 -14
  386. package/dist/esm/ui/ElementBrowser/ElementBrowser.js +4 -2
  387. package/dist/esm/ui/ElementBrowser/InsertMenu.js +1 -0
  388. package/dist/esm/ui/ElementBrowser/ModalElementBrowser.js +16 -23
  389. package/dist/esm/ui/ElementBrowser/components/ElementList/ElementList.js +10 -3
  390. package/dist/esm/ui/ElementBrowser/components/StatelessElementBrowser.js +12 -4
  391. package/dist/esm/ui/PanelTextInput/index.js +1 -3
  392. package/dist/esm/utils/compare.js +7 -7
  393. package/dist/esm/utils/index.js +7 -8
  394. package/dist/esm/utils/rich-media-utils.js +2 -2
  395. package/dist/esm/utils/selection.js +6 -3
  396. package/dist/esm/version-wrapper.js +1 -1
  397. package/dist/esm/version.json +1 -1
  398. package/dist/types/commands/index.d.ts +1 -1
  399. package/dist/types/create-editor/ErrorBoundary.d.ts +1 -1
  400. package/dist/types/index.d.ts +3 -5
  401. package/dist/types/labs/next/full-page.d.ts +1 -1
  402. package/dist/types/labs/next/mobile.d.ts +1 -1
  403. package/dist/types/labs/next/presets/default.d.ts +2 -0
  404. package/dist/types/messages.d.ts +5 -0
  405. package/dist/types/plugins/alignment/commands/index.d.ts +2 -2
  406. package/dist/types/plugins/analytics/types/enums.d.ts +6 -1
  407. package/dist/types/plugins/analytics/types/events.d.ts +12 -2
  408. package/dist/types/plugins/analytics/types/general-events.d.ts +2 -23
  409. package/dist/types/plugins/analytics/types/type-ahead.d.ts +27 -0
  410. package/dist/types/plugins/block-type/messages.d.ts +10 -0
  411. package/dist/types/plugins/card/ui/ResizableEmbedCard.d.ts +1 -1
  412. package/dist/types/plugins/collab-edit/participants.d.ts +1 -0
  413. package/dist/types/plugins/collab-edit/ui/avatars.d.ts +3 -1
  414. package/dist/types/plugins/collab-edit/ui/invite-to-edit.d.ts +1 -1
  415. package/dist/types/plugins/collab-edit/utils.d.ts +4 -2
  416. package/dist/types/plugins/date/actions.d.ts +1 -1
  417. package/dist/types/plugins/date/pm-plugins/types.d.ts +1 -0
  418. package/dist/types/plugins/emoji/index.d.ts +2 -4
  419. package/dist/types/plugins/emoji/types.d.ts +2 -2
  420. package/dist/types/plugins/extension/ui/Extension/Extension/index.d.ts +2 -3
  421. package/dist/types/plugins/extension/ui/Extension/Extension/styles.d.ts +1 -1
  422. package/dist/types/plugins/extension/ui/Extension/ExtensionComponent.d.ts +2 -3
  423. package/dist/types/plugins/extension/ui/Extension/index.d.ts +2 -3
  424. package/dist/types/plugins/feature-flags-context/get-enabled-feature-flag-keys.d.ts +1 -1
  425. package/dist/types/plugins/find-replace/ui/styles.d.ts +3 -3
  426. package/dist/types/plugins/floating-toolbar/ui/EditorEmojiAddIcon.d.ts +1 -0
  427. package/dist/types/plugins/floating-toolbar/ui/EditorHideEmojiIcon.d.ts +1 -0
  428. package/dist/types/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.d.ts +1 -1
  429. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/types.d.ts +0 -1
  430. package/dist/types/plugins/media/pm-plugins/main.d.ts +1 -0
  431. package/dist/types/plugins/media/toolbar/filePreviewItem.d.ts +7 -0
  432. package/dist/types/plugins/media/toolbar/utils.d.ts +4 -0
  433. package/dist/types/plugins/media/types.d.ts +3 -0
  434. package/dist/types/plugins/media/ui/ResizableMediaSingle/index.d.ts +1 -1
  435. package/dist/types/plugins/media/utils/media-single.d.ts +1 -1
  436. package/dist/types/plugins/mentions/analytics.d.ts +1 -1
  437. package/dist/types/plugins/mentions/index.d.ts +4 -30
  438. package/dist/types/plugins/mentions/pm-plugins/key.d.ts +3 -0
  439. package/dist/types/plugins/mentions/pm-plugins/main.d.ts +8 -0
  440. package/dist/types/plugins/mentions/pm-plugins/utils.d.ts +3 -0
  441. package/dist/types/plugins/mentions/type-ahead/index.d.ts +17 -0
  442. package/dist/types/plugins/mentions/types.d.ts +2 -0
  443. package/dist/types/plugins/mentions/ui/InviteItem/index.d.ts +1 -0
  444. package/dist/types/plugins/mentions/ui/InviteItem/styles.d.ts +2 -0
  445. package/dist/types/plugins/mentions/utils.d.ts +4 -0
  446. package/dist/types/plugins/panel/nodeviews/panel.d.ts +19 -3
  447. package/dist/types/plugins/paste/pm-plugins/analytics.d.ts +2 -0
  448. package/dist/types/plugins/quick-insert/api.d.ts +6 -0
  449. package/dist/types/plugins/quick-insert/assets/custom-panel.d.ts +1 -0
  450. package/dist/types/plugins/quick-insert/assets/index.d.ts +1 -0
  451. package/dist/types/plugins/quick-insert/search.d.ts +1 -1
  452. package/dist/types/plugins/quick-insert/types.d.ts +3 -0
  453. package/dist/types/plugins/status/actions.d.ts +3 -1
  454. package/dist/types/plugins/status/ui/statusPicker.d.ts +1 -1
  455. package/dist/types/plugins/type-ahead/api.d.ts +53 -0
  456. package/dist/types/plugins/type-ahead/commands/insert-type-ahead-item.d.ts +12 -0
  457. package/dist/types/plugins/type-ahead/commands/update-list-items.d.ts +3 -0
  458. package/dist/types/plugins/type-ahead/commands/update-query.d.ts +2 -2
  459. package/dist/types/plugins/type-ahead/commands/update-selected-index.d.ts +2 -0
  460. package/dist/types/plugins/type-ahead/constants.d.ts +10 -0
  461. package/dist/types/plugins/type-ahead/index.d.ts +5 -4
  462. package/dist/types/plugins/type-ahead/insert-utils.d.ts +18 -0
  463. package/dist/types/plugins/type-ahead/pm-plugins/actions.d.ts +9 -8
  464. package/dist/types/plugins/type-ahead/pm-plugins/decorations.d.ts +24 -0
  465. package/dist/types/plugins/type-ahead/pm-plugins/input-rules.d.ts +0 -1
  466. package/dist/types/plugins/type-ahead/pm-plugins/insert-item-plugin.d.ts +2 -0
  467. package/dist/types/plugins/type-ahead/pm-plugins/{plugin-key.d.ts → key.d.ts} +0 -0
  468. package/dist/types/plugins/type-ahead/pm-plugins/main.d.ts +12 -39
  469. package/dist/types/plugins/type-ahead/pm-plugins/reducer.d.ts +10 -0
  470. package/dist/types/plugins/type-ahead/pm-plugins/utils.d.ts +4 -0
  471. package/dist/types/plugins/type-ahead/stats-modifier.d.ts +20 -0
  472. package/dist/types/plugins/type-ahead/transforms/close-type-ahead.d.ts +2 -0
  473. package/dist/types/plugins/type-ahead/transforms/open-typeahead-at-cursor.d.ts +9 -0
  474. package/dist/types/plugins/type-ahead/transforms/set-selection-before-query.d.ts +2 -0
  475. package/dist/types/plugins/type-ahead/types.d.ts +95 -30
  476. package/dist/types/plugins/type-ahead/ui/DynamicHeightListItem.d.ts +21 -0
  477. package/dist/types/plugins/type-ahead/ui/InputQuery.d.ts +22 -0
  478. package/dist/types/plugins/type-ahead/ui/TypeAheadList.d.ts +11 -0
  479. package/dist/types/plugins/type-ahead/ui/TypeAheadListItem.d.ts +15 -0
  480. package/dist/types/plugins/type-ahead/ui/TypeAheadPopup.d.ts +22 -0
  481. package/dist/types/plugins/type-ahead/ui/WrapperTypeAhead.d.ts +20 -0
  482. package/dist/types/plugins/type-ahead/ui/hooks/use-dynamic-list-height-calculation.d.ts +25 -0
  483. package/dist/types/plugins/type-ahead/ui/hooks/use-item-insert.d.ts +3 -0
  484. package/dist/types/plugins/type-ahead/ui/hooks/use-load-items.d.ts +3 -0
  485. package/dist/types/plugins/type-ahead/ui/hooks/use-on-force-select.d.ts +11 -0
  486. package/dist/types/plugins/type-ahead/ui/hooks/use-resize-observer.d.ts +9 -0
  487. package/dist/types/plugins/type-ahead/utils.d.ts +18 -0
  488. package/dist/types/plugins/view-update-subscription/subscribe/type-ahead-updates.d.ts +9 -0
  489. package/dist/types/test-utils.d.ts +2 -0
  490. package/dist/types/types/editor-props.d.ts +2 -0
  491. package/dist/types/types/empty-state-handler.d.ts +7 -0
  492. package/dist/types/types/feature-flags.d.ts +8 -0
  493. package/dist/types/ui/Appearance/FullPage/StyledComponents.d.ts +1 -1
  494. package/dist/types/ui/ColorPickerButton/index.d.ts +1 -1
  495. package/dist/types/ui/ConfigPanel/ConfigPanel.d.ts +1 -1
  496. package/dist/types/ui/ConfigPanel/FormErrorBoundary.d.ts +1 -1
  497. package/dist/types/ui/ElementBrowser/ElementBrowser.d.ts +2 -0
  498. package/dist/types/ui/ElementBrowser/ModalElementBrowser.d.ts +2 -0
  499. package/dist/types/ui/ElementBrowser/components/CategoryList.d.ts +1 -1
  500. package/dist/types/ui/ElementBrowser/components/ElementList/ElementList.d.ts +5 -1
  501. package/dist/types/ui/ElementBrowser/components/StatelessElementBrowser.d.ts +3 -1
  502. package/dist/types/ui/LinkSearch/index.d.ts +20 -20
  503. package/dist/types/ui/PortalProvider/index.d.ts +1 -1
  504. package/dist/types/ui/ToolbarButton/index.d.ts +4 -4
  505. package/dist/types/ui/ToolbarButton/styles.d.ts +2 -2
  506. package/dist/types/utils/selection.d.ts +2 -2
  507. package/package.json +32 -29
  508. package/dist/cjs/plugins/emoji/commands/insert-emoji-query.js +0 -22
  509. package/dist/cjs/plugins/mentions/commands/insert-mention-query.js +0 -22
  510. package/dist/cjs/plugins/type-ahead/commands/dismiss.js +0 -44
  511. package/dist/cjs/plugins/type-ahead/commands/insert-query.js +0 -38
  512. package/dist/cjs/plugins/type-ahead/commands/items-list-updated.js +0 -25
  513. package/dist/cjs/plugins/type-ahead/commands/select-item.js +0 -163
  514. package/dist/cjs/plugins/type-ahead/commands/set-current-index.js +0 -25
  515. package/dist/cjs/plugins/type-ahead/pm-plugins/keymap.js +0 -115
  516. package/dist/cjs/plugins/type-ahead/ui/TypeAhead.js +0 -221
  517. package/dist/cjs/plugins/type-ahead/ui/TypeAheadItemsList.js +0 -239
  518. package/dist/cjs/plugins/type-ahead/utils/find-query-mark.js +0 -33
  519. package/dist/cjs/plugins/type-ahead/utils/is-query-active.js +0 -16
  520. package/dist/es2019/plugins/emoji/commands/insert-emoji-query.js +0 -13
  521. package/dist/es2019/plugins/mentions/commands/insert-mention-query.js +0 -13
  522. package/dist/es2019/plugins/type-ahead/commands/dismiss.js +0 -36
  523. package/dist/es2019/plugins/type-ahead/commands/insert-query.js +0 -26
  524. package/dist/es2019/plugins/type-ahead/commands/items-list-updated.js +0 -12
  525. package/dist/es2019/plugins/type-ahead/commands/select-item.js +0 -119
  526. package/dist/es2019/plugins/type-ahead/commands/set-current-index.js +0 -13
  527. package/dist/es2019/plugins/type-ahead/pm-plugins/keymap.js +0 -94
  528. package/dist/es2019/plugins/type-ahead/ui/TypeAhead.js +0 -175
  529. package/dist/es2019/plugins/type-ahead/ui/TypeAheadItemsList.js +0 -196
  530. package/dist/es2019/plugins/type-ahead/utils/find-query-mark.js +0 -29
  531. package/dist/es2019/plugins/type-ahead/utils/is-query-active.js +0 -9
  532. package/dist/esm/plugins/emoji/commands/insert-emoji-query.js +0 -13
  533. package/dist/esm/plugins/mentions/commands/insert-mention-query.js +0 -13
  534. package/dist/esm/plugins/type-ahead/commands/dismiss.js +0 -33
  535. package/dist/esm/plugins/type-ahead/commands/insert-query.js +0 -26
  536. package/dist/esm/plugins/type-ahead/commands/items-list-updated.js +0 -14
  537. package/dist/esm/plugins/type-ahead/commands/select-item.js +0 -132
  538. package/dist/esm/plugins/type-ahead/commands/set-current-index.js +0 -15
  539. package/dist/esm/plugins/type-ahead/pm-plugins/keymap.js +0 -94
  540. package/dist/esm/plugins/type-ahead/ui/TypeAhead.js +0 -202
  541. package/dist/esm/plugins/type-ahead/ui/TypeAheadItemsList.js +0 -204
  542. package/dist/esm/plugins/type-ahead/utils/find-query-mark.js +0 -24
  543. package/dist/esm/plugins/type-ahead/utils/is-query-active.js +0 -9
  544. package/dist/types/plugins/emoji/commands/insert-emoji-query.d.ts +0 -2
  545. package/dist/types/plugins/mentions/commands/insert-mention-query.d.ts +0 -2
  546. package/dist/types/plugins/type-ahead/commands/dismiss.d.ts +0 -2
  547. package/dist/types/plugins/type-ahead/commands/insert-query.d.ts +0 -2
  548. package/dist/types/plugins/type-ahead/commands/items-list-updated.d.ts +0 -3
  549. package/dist/types/plugins/type-ahead/commands/select-item.d.ts +0 -9
  550. package/dist/types/plugins/type-ahead/commands/set-current-index.d.ts +0 -2
  551. package/dist/types/plugins/type-ahead/pm-plugins/keymap.d.ts +0 -3
  552. package/dist/types/plugins/type-ahead/ui/TypeAhead.d.ts +0 -37
  553. package/dist/types/plugins/type-ahead/ui/TypeAheadItemsList.d.ts +0 -32
  554. package/dist/types/plugins/type-ahead/utils/find-query-mark.d.ts +0 -10
  555. package/dist/types/plugins/type-ahead/utils/is-query-active.d.ts +0 -2
@@ -186,7 +186,8 @@ function createPasteAnalyticsPayload(view, event, slice, pasteContext) {
186
186
  pasteSize: text.length,
187
187
  type: pasteContext.type,
188
188
  content: _analytics.PasteContents.text,
189
- source: source
189
+ source: source,
190
+ hyperlinkPasteOnText: false
190
191
  });
191
192
  }
192
193
 
@@ -214,7 +215,8 @@ function createPasteAnalyticsPayload(view, event, slice, pasteContext) {
214
215
  type: pasteContext.type,
215
216
  pasteSize: pasteSize,
216
217
  content: content,
217
- source: source
218
+ source: source,
219
+ hyperlinkPasteOnText: !!pasteContext.hyperlinkPasteOnText
218
220
  }, linkDomains);
219
221
  } // TODO: ED-6612 We should not dispatch only analytics, it's preferred to wrap each command with his own analytics.
220
222
  // However, handlers like handleMacroAutoConvert dispatch multiple time,
@@ -307,7 +309,8 @@ exports.handleSelectedTableWithAnalytics = handleSelectedTableWithAnalytics;
307
309
 
308
310
  var handlePasteLinkOnSelectedTextWithAnalytics = function handlePasteLinkOnSelectedTextWithAnalytics(view, event, slice, type) {
309
311
  return (0, _utils.pipe)(_handlers.handlePasteLinkOnSelectedText, pasteCommandWithAnalytics(view, event, slice, {
310
- type: type
312
+ type: type,
313
+ hyperlinkPasteOnText: true
311
314
  }))(slice);
312
315
  };
313
316
 
@@ -19,6 +19,8 @@ var _styles = require("./styles");
19
19
 
20
20
  var _focusHandler = require("../base/pm-plugins/focus-handler");
21
21
 
22
+ var _utils = require("../type-ahead/utils");
23
+
22
24
  var pluginKey = new _prosemirrorState.PluginKey('placeholderPlugin');
23
25
  exports.pluginKey = pluginKey;
24
26
 
@@ -64,6 +66,10 @@ var emptyPlaceholder = {
64
66
  function createPlaceHolderStateFrom(editorState, getPlaceholderHintMessage, defaultPlaceholderText, bracketPlaceholderText) {
65
67
  var isEditorFocused = _focusHandler.focusStateKey.getState(editorState);
66
68
 
69
+ if ((0, _utils.isTypeAheadOpen)(editorState)) {
70
+ return emptyPlaceholder;
71
+ }
72
+
67
73
  if (defaultPlaceholderText && (0, _document.isEmptyDocument)(editorState.doc)) {
68
74
  return setPlaceHolderState(defaultPlaceholderText);
69
75
  }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createQuickInsertTools = void 0;
7
+
8
+ var _pluginKey = require("./plugin-key");
9
+
10
+ var _search = require("./search");
11
+
12
+ var getItems = function getItems(editorView) {
13
+ return function (query, options) {
14
+ var pluginState = _pluginKey.pluginKey.getState(editorView.state);
15
+
16
+ if (!pluginState) {
17
+ return [];
18
+ }
19
+
20
+ return (0, _search.searchQuickInsertItems)(pluginState, options)(query);
21
+ };
22
+ };
23
+
24
+ var createQuickInsertTools = function createQuickInsertTools(editorView) {
25
+ return {
26
+ getItems: getItems(editorView)
27
+ };
28
+ };
29
+
30
+ exports.createQuickInsertTools = createQuickInsertTools;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = IconCustomPanel;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ function IconCustomPanel() {
13
+ return /*#__PURE__*/_react.default.createElement("svg", {
14
+ width: "40",
15
+ height: "40",
16
+ viewBox: "0 0 40 40",
17
+ fill: "none",
18
+ focusable: "false",
19
+ "aria-hidden": true
20
+ }, /*#__PURE__*/_react.default.createElement("rect", {
21
+ width: "40",
22
+ height: "40",
23
+ fill: "white"
24
+ }), /*#__PURE__*/_react.default.createElement("path", {
25
+ d: "M8 13C8 12.4477 8.44772 12 9 12H40V28H9C8.44772 28 8 27.5523 8 27V13Z",
26
+ fill: "#E6FCFF"
27
+ }), /*#__PURE__*/_react.default.createElement("g", {
28
+ clipPath: "url(#clip0)"
29
+ }, /*#__PURE__*/_react.default.createElement("path", {
30
+ d: "M19.9999 16.2222C15.5817 16.2222 12.2222 19.5818 12.2222 24H16.0093C16.0093 21.7962 17.7964 20.0093 19.9999 20.0093V16.2222Z",
31
+ fill: "#8767AC"
32
+ }), /*#__PURE__*/_react.default.createElement("path", {
33
+ d: "M12 23.9998H12.676C12.676 19.9578 15.9502 16.6809 19.9909 16.676V16C15.5767 16.0051 12 19.5847 12 23.9998Z",
34
+ fill: "#EB2027"
35
+ }), /*#__PURE__*/_react.default.createElement("path", {
36
+ d: "M12.6851 24H13.3517C13.3517 20.3262 16.3273 17.3478 19.9999 17.3429V16.6762C15.9593 16.6811 12.6851 19.958 12.6851 24Z",
37
+ fill: "#F19020"
38
+ }), /*#__PURE__*/_react.default.createElement("path", {
39
+ d: "M13.3518 24H14.0185C14.0185 20.6945 16.6956 18.0145 20 18.0096V17.3429C16.3274 17.3478 13.3518 20.3262 13.3518 24Z",
40
+ fill: "#FFCB4C"
41
+ }), /*#__PURE__*/_react.default.createElement("path", {
42
+ d: "M14.0184 24H14.6851C14.6851 21.0629 17.064 18.6811 20 18.6762V18.0096C16.6955 18.0144 14.0184 20.6944 14.0184 24Z",
43
+ fill: "#5C903F"
44
+ }), /*#__PURE__*/_react.default.createElement("path", {
45
+ d: "M14.6851 24H15.3517C15.3517 21.4311 17.4322 19.348 19.9999 19.3431V18.6762C17.0639 18.6811 14.6851 21.0629 14.6851 24Z",
46
+ fill: "#226798"
47
+ })), /*#__PURE__*/_react.default.createElement("defs", null, /*#__PURE__*/_react.default.createElement("clipPath", {
48
+ id: "clip0"
49
+ }, /*#__PURE__*/_react.default.createElement("rect", {
50
+ width: "8",
51
+ height: "8",
52
+ fill: "white",
53
+ transform: "translate(12 16)"
54
+ }))));
55
+ }
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.IconExpand = exports.IconFeedback = exports.IconHeading = exports.IconFallback = exports.IconTable = exports.IconStatus = exports.IconQuote = exports.IconPanel = exports.IconPanelWarning = exports.IconPanelSuccess = exports.IconPanelNote = exports.IconPanelError = exports.IconMention = exports.IconList = exports.IconListNumber = exports.IconLink = exports.IconLayout = exports.IconImages = exports.IconEmoji = exports.IconDivider = exports.IconDecision = exports.IconDate = exports.IconCode = exports.IconAction = void 0;
8
+ exports.IconExpand = exports.IconFeedback = exports.IconHeading = exports.IconFallback = exports.IconTable = exports.IconStatus = exports.IconQuote = exports.IconCustomPanel = exports.IconPanel = exports.IconPanelWarning = exports.IconPanelSuccess = exports.IconPanelNote = exports.IconPanelError = exports.IconMention = exports.IconList = exports.IconListNumber = exports.IconLink = exports.IconLayout = exports.IconImages = exports.IconEmoji = exports.IconDivider = exports.IconDecision = exports.IconDate = exports.IconCode = exports.IconAction = void 0;
9
9
 
10
10
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
11
 
@@ -240,6 +240,19 @@ var IconPanel = (0, _reactLoadable.default)({
240
240
  }
241
241
  });
242
242
  exports.IconPanel = IconPanel;
243
+ var IconCustomPanel = (0, _reactLoadable.default)({
244
+ loader: function loader() {
245
+ return Promise.resolve().then(function () {
246
+ return _interopRequireWildcard(require('./custom-panel'));
247
+ }).then(function (module) {
248
+ return module.default;
249
+ });
250
+ },
251
+ loading: function loading() {
252
+ return null;
253
+ }
254
+ });
255
+ exports.IconCustomPanel = IconCustomPanel;
243
256
  var IconQuote = (0, _reactLoadable.default)({
244
257
  loader: function loader() {
245
258
  return Promise.resolve().then(function () {
@@ -25,9 +25,7 @@ var _prosemirrorState = require("prosemirror-state");
25
25
 
26
26
  var _memoizeOne = _interopRequireDefault(require("memoize-one"));
27
27
 
28
- var _analytics = require("../analytics");
29
-
30
- var _consts = require("../analytics/consts");
28
+ var _typeAhead = require("@atlaskit/editor-common/type-ahead");
31
29
 
32
30
  var _pluginKey = require("./plugin-key");
33
31
 
@@ -50,35 +48,22 @@ var quickInsertPlugin = function quickInsertPlugin(options) {
50
48
  var providerFactory = _ref.providerFactory,
51
49
  reactContext = _ref.reactContext,
52
50
  dispatch = _ref.dispatch;
53
- return quickInsertPluginFactory(quickInsert, providerFactory, reactContext().intl, dispatch);
51
+ return quickInsertPluginFactory(quickInsert, providerFactory, reactContext().intl, dispatch, options === null || options === void 0 ? void 0 : options.emptyStateHandler);
54
52
  }
55
53
  }];
56
54
  },
57
55
  pluginsOptions: {
58
56
  typeAhead: {
57
+ id: _typeAhead.TypeAheadAvailableNodes.QUICK_INSERT,
59
58
  trigger: '/',
60
59
  headless: options ? options.headless : undefined,
61
- getItems: function getItems(query, state, intl, _ref2, _tr, dispatch) {
62
- var prevActive = _ref2.prevActive,
63
- queryChanged = _ref2.queryChanged;
64
-
65
- if (!prevActive && queryChanged) {
66
- dispatch(_consts.analyticsEventKey, {
67
- payload: {
68
- action: _analytics.ACTION.INVOKED,
69
- actionSubject: _analytics.ACTION_SUBJECT.TYPEAHEAD,
70
- actionSubjectId: _analytics.ACTION_SUBJECT_ID.TYPEAHEAD_QUICK_INSERT,
71
- attributes: {
72
- inputMethod: _analytics.INPUT_METHOD.KEYBOARD
73
- },
74
- eventType: _analytics.EVENT_TYPE.UI
75
- }
76
- });
77
- }
60
+ getItems: function getItems(_ref2) {
61
+ var query = _ref2.query,
62
+ editorState = _ref2.editorState;
78
63
 
79
- var quickInsertState = _pluginKey.pluginKey.getState(state);
64
+ var quickInsertState = _pluginKey.pluginKey.getState(editorState);
80
65
 
81
- return (0, _search.searchQuickInsertItems)(quickInsertState, options)(query);
66
+ return Promise.resolve((0, _search.searchQuickInsertItems)(quickInsertState, options)(query));
82
67
  },
83
68
  selectItem: function selectItem(state, item, insert) {
84
69
  return item.action(insert, state);
@@ -156,13 +141,14 @@ var setProviderState = function setProviderState(providerState) {
156
141
  };
157
142
  };
158
143
 
159
- function quickInsertPluginFactory(quickInsertItems, providerFactory, intl, dispatch) {
144
+ function quickInsertPluginFactory(quickInsertItems, providerFactory, intl, dispatch, emptyStateHandler) {
160
145
  return new _prosemirrorState.Plugin({
161
146
  key: _pluginKey.pluginKey,
162
147
  state: {
163
148
  init: function init() {
164
149
  return {
165
150
  isElementBrowserModalOpen: false,
151
+ emptyStateHandler: emptyStateHandler,
166
152
  // lazy so it doesn't run on editor initialization
167
153
  // memo here to avoid using a singleton cache, avoids editor
168
154
  // getting confused when two editors exist within the same page.
@@ -51,6 +51,7 @@ var Modal = function Modal(_ref) {
51
51
  onInsertItem: onInsertItem,
52
52
  helpUrl: helpUrl,
53
53
  isOpen: quickInsertState && quickInsertState.isElementBrowserModalOpen || false,
54
+ emptyStateHandler: quickInsertState && quickInsertState.emptyStateHandler,
54
55
  onClose: onClose
55
56
  });
56
57
  };
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _default = {
8
- plugins: ['featureFlagsContextPlugin', 'compositionPlugin', 'inlineCursorTargetPlugin', 'focusHandlerPlugin', 'frozenEditor', 'submitEditor', 'saveOnEnter', 'customAutoformatting', 'newlinePreserveMarksPlugin', 'imageUpload', 'imageUploadInputRule', 'clipboard', 'paste', 'pasteKeymap', 'mention', 'mentionInputRule', 'mentionKeymap', 'emoji', 'placeholderText', 'emojiInputRule', 'emojiKeymap', 'emojiAsciiInputRule', 'blockType', 'quickInsert', 'tasksAndDecisions', 'blockTypeInputRule', 'tasksAndDecisionsInputRule', 'list', 'typeAhead', 'typeAheadKeymap', 'typeAheadInputRule', 'date', // Needs to be before indentation to handle tab into input field
8
+ plugins: ['featureFlagsContextPlugin', 'compositionPlugin', 'inlineCursorTargetPlugin', 'typeAhead', 'typeAheadInsertItem', 'focusHandlerPlugin', 'frozenEditor', 'submitEditor', 'saveOnEnter', 'customAutoformatting', 'newlinePreserveMarksPlugin', 'imageUpload', 'imageUploadInputRule', 'clipboard', 'paste', 'pasteKeymap', 'mention', 'mentionInputRule', 'mentionKeymap', 'emoji', 'placeholderText', 'emojiInputRule', 'emojiKeymap', 'emojiAsciiInputRule', 'blockType', 'quickInsert', 'tasksAndDecisions', 'blockTypeInputRule', 'tasksAndDecisionsInputRule', 'list', 'typeAhead', 'typeAheadKeymap', 'typeAheadInputRule', 'date', // Needs to be before indentation to handle tab into input field
9
9
  'dateKeymap', // This should be always after `typeAheadKeymap` & `emojiKeymap`
10
10
  'indentationKeymap', 'textColor', 'alignmentPlugin', 'listInputRule', 'listKeymap', 'codeBlock', 'codeBlockIDEKeyBindings', 'codeBlockKeyMap', 'textFormatting', 'textFormattingCursor', 'textFormattingInputRule', 'textFormattingSmartRule', 'textFormattingClear', 'textFormattingKeymap', // task/decisions keymap needs to be above table keymap so can indent actions in a table
11
11
  'tasksAndDecisionsKeyMap', // expand and table keymaps need to be above selection keymap to add their custom selection behaviour:
@@ -9,16 +9,10 @@ exports.default = void 0;
9
9
 
10
10
  var _react = _interopRequireDefault(require("react"));
11
11
 
12
- var _prosemirrorModel = require("prosemirror-model");
13
-
14
12
  var _adfSchema = require("@atlaskit/adf-schema");
15
13
 
16
- var _insert = require("../../utils/insert");
17
-
18
14
  var _analytics = require("../analytics");
19
15
 
20
- var _featureFlagsContext = require("../feature-flags-context");
21
-
22
16
  var _messages = require("../insert-block/ui/ToolbarInsertBlock/messages");
23
17
 
24
18
  var _assets = require("../quick-insert/assets");
@@ -65,25 +59,7 @@ var rulePlugin = function rulePlugin() {
65
59
  return /*#__PURE__*/_react.default.createElement(_assets.IconDivider, null);
66
60
  },
67
61
  action: function action(insert, state) {
68
- var tr = null;
69
-
70
- var _getFeatureFlags = (0, _featureFlagsContext.getFeatureFlags)(state),
71
- newInsertionBehaviour = _getFeatureFlags.newInsertionBehaviour;
72
-
73
- if (newInsertionBehaviour) {
74
- /**
75
- * This is a workaround to get rid of the typeahead text when using quick insert
76
- * Once we insert *nothing*, we get a new transaction, so we can use the new selection
77
- * without considering the extra text after the `/` command.
78
- **/
79
- tr = insert(_prosemirrorModel.Fragment.empty);
80
- tr = (0, _insert.safeInsert)(state.schema.nodes.rule.createChecked(), tr.selection.from)(tr);
81
- }
82
-
83
- if (!tr) {
84
- tr = insert(state.schema.nodes.rule.createChecked());
85
- }
86
-
62
+ var tr = insert(state.schema.nodes.rule.createChecked());
87
63
  return (0, _analytics.addAnalytics)(state, tr, {
88
64
  action: _analytics.ACTION.INSERTED,
89
65
  actionSubject: _analytics.ACTION_SUBJECT.DOCUMENT,
@@ -7,8 +7,6 @@ exports.default = exports.scrollIntoViewPluginKey = void 0;
7
7
 
8
8
  var _prosemirrorState = require("prosemirror-state");
9
9
 
10
- var _inputRules = require("../type-ahead/pm-plugins/input-rules");
11
-
12
10
  var _prosemirrorInputRules = require("@atlaskit/prosemirror-input-rules");
13
11
 
14
12
  /**
@@ -36,8 +34,7 @@ var createPlugin = function createPlugin() {
36
34
  if ((tr.docChanged || tr.storedMarksSet) && !tr.scrolledIntoView && tr.getMeta('scrollIntoView') !== false && // ignore anything we would not want to undo
37
35
  // this covers things like autofixing layouts, hovering table rows/cols
38
36
  tr.getMeta('addToHistory') !== false && // ignore collab changes from another user
39
- !tr.getMeta('isRemote') && // ignore typeahead triggers
40
- !tr.getMeta(_inputRules.typeAheadInputRulesPluginKey) && // ignore any transaction coming from the input text rule plugin
37
+ !tr.getMeta('isRemote') && // ignore any transaction coming from the input text rule plugin
41
38
  !tr.getMeta(_prosemirrorInputRules.TEXT_INPUT_RULE_TRANSACTION_KEY)) {
42
39
  return newState.tr.scrollIntoView();
43
40
  }
@@ -116,8 +116,7 @@ var arrow = function arrow(dir, endOfTextblock) {
116
116
 
117
117
 
118
118
  if (selection instanceof _selection.GapCursorSelection && // next node allow gap cursor position
119
- (0, _isValidTargetNode.isValidTargetNode)((0, _direction.isBackward)(dir) ? $pos.nodeBefore : $pos.nodeAfter) && ( // gap cursor changes block node
120
- (0, _direction.isBackward)(dir) && selection.side === _selection.Side.LEFT || (0, _direction.isForward)(dir) && selection.side === _selection.Side.RIGHT)) {
119
+ (0, _isValidTargetNode.isValidTargetNode)((0, _direction.isBackward)(dir) ? $pos.nodeBefore : $pos.nodeAfter) && ((0, _direction.isBackward)(dir) && selection.side === _selection.Side.LEFT || (0, _direction.isForward)(dir) && selection.side === _selection.Side.RIGHT)) {
121
120
  // reverse cursor position
122
121
  if (dispatch) {
123
122
  dispatch(tr.setSelection(new _selection.GapCursorSelection($pos, selection.side === _selection.Side.RIGHT ? _selection.Side.LEFT : _selection.Side.RIGHT)).scrollIntoView());
@@ -291,12 +290,12 @@ var setSelectionTopLevelBlocks = function setSelectionTopLevelBlocks(tr, event,
291
290
  } // try to set text selection if the editor isnt focused
292
291
  // if the editor is focused, we are most likely dragging a selection outside.
293
292
  else if (editorFocused === false) {
294
- var selectionTemp = _prosemirrorState.Selection.findFrom($pos, cursorCoords.side === _selection.Side.LEFT ? 1 : -1, true);
293
+ var selectionTemp = _prosemirrorState.Selection.findFrom($pos, cursorCoords.side === _selection.Side.LEFT ? 1 : -1, true);
295
294
 
296
- if (selectionTemp) {
297
- tr.setSelection(selectionTemp);
298
- }
295
+ if (selectionTemp) {
296
+ tr.setSelection(selectionTemp);
299
297
  }
298
+ }
300
299
  };
301
300
 
302
301
  exports.setSelectionTopLevelBlocks = setSelectionTopLevelBlocks;
@@ -43,9 +43,7 @@ var createPlugin = function createPlugin(dispatch, dispatchAnalyticsEvent) {
43
43
  return;
44
44
  }
45
45
 
46
- var analyticsPayload = (0, _utils.getNodeSelectionAnalyticsPayload)(state.selection) || (0, _utils.getAllSelectionAnalyticsPayload)(state.selection) || // We handle all range/cell selections except click and drag here, which is
47
- // handled in mouseup handler below
48
- !editorView.mouseDown && ((0, _utils.getRangeSelectionAnalyticsPayload)(state.selection, state.doc) || (0, _utils.getCellSelectionAnalyticsPayload)(state)); // We have to use dispatchAnalyticsEvent over any of the analytics plugin helpers
46
+ var analyticsPayload = (0, _utils.getNodeSelectionAnalyticsPayload)(state.selection) || (0, _utils.getAllSelectionAnalyticsPayload)(state.selection) || !editorView.mouseDown && ((0, _utils.getRangeSelectionAnalyticsPayload)(state.selection, state.doc) || (0, _utils.getCellSelectionAnalyticsPayload)(state)); // We have to use dispatchAnalyticsEvent over any of the analytics plugin helpers
49
47
  // as there were several issues caused by the fact that adding analytics through
50
48
  // the plugin adds a new step to the transaction
51
49
  // This causes prosemirror to run through some different code paths, eg. attempting
@@ -32,12 +32,15 @@ var DEFAULT_STATUS = {
32
32
  exports.DEFAULT_STATUS = DEFAULT_STATUS;
33
33
 
34
34
  var createStatus = function createStatus() {
35
- var showStatusPickerAtOffset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -2;
35
+ var showStatusPickerAtOffset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
36
36
  return function (insert, state) {
37
37
  var statusNode = state.schema.nodes.status.createChecked(_objectSpread(_objectSpread({}, DEFAULT_STATUS), {}, {
38
38
  localId: _adfSchema.uuid.generate()
39
39
  }));
40
- var tr = insert(statusNode);
40
+ var space = state.schema.text(' ');
41
+ var tr = insert(_prosemirrorModel.Fragment.from([statusNode, space]), {
42
+ selectInlineNode: true
43
+ });
41
44
  var showStatusPickerAt = tr.selection.from + showStatusPickerAtOffset;
42
45
  return tr.setSelection(_prosemirrorState.NodeSelection.create(tr.doc, showStatusPickerAt)).setMeta(_pluginKey.pluginKey, {
43
46
  showStatusPickerAt: showStatusPickerAt,
@@ -73,7 +73,7 @@ var createPlugin = function createPlugin(dispatch, portalProviderAPI, eventDispa
73
73
  }
74
74
  }
75
75
 
76
- if (!tr.selection.eq(oldEditorState.selection)) {
76
+ if (tr.selectionSet) {
77
77
  // Change in selection, while status picker was open, update state, if required.
78
78
  var selectionFrom = tr.selection.from;
79
79
  var nodeAtSelection = tr.doc.nodeAt(selectionFrom);
@@ -187,23 +187,23 @@ var arrowLeftFromText = function arrowLeftFromText(selection) {
187
187
 
188
188
  if (isSelectionAtStartOfTable($from, selection) && $from.parent.type.name === 'paragraph' && $from.depth === table.depth + 3 // + 3 for: row, cell & paragraph nodes
189
189
  ) {
190
- var _getSelectionPluginSt4 = (0, _pluginFactory.getPluginState)(state),
191
- selectionRelativeToNode = _getSelectionPluginSt4.selectionRelativeToNode;
192
-
193
- if (selectionRelativeToNode === _types.RelativeSelectionPos.Before) {
194
- // we have a text selection at start of first table cell, directly inside a top level paragraph,
195
- // and want to set gap cursor selection before table
196
- return setGapCursorBeforeTable()(state, dispatch);
197
- } else {
198
- // we have a text selection at start of first table cell, directly inside a top level paragraph,
199
- // and want to set a full table cell selection
200
- return selectFullTable({
201
- node: table.node,
202
- startPos: table.start,
203
- dir: TableSelectionDirection.BottomToTop
204
- })(state, dispatch);
205
- }
190
+ var _getSelectionPluginSt4 = (0, _pluginFactory.getPluginState)(state),
191
+ selectionRelativeToNode = _getSelectionPluginSt4.selectionRelativeToNode;
192
+
193
+ if (selectionRelativeToNode === _types.RelativeSelectionPos.Before) {
194
+ // we have a text selection at start of first table cell, directly inside a top level paragraph,
195
+ // and want to set gap cursor selection before table
196
+ return setGapCursorBeforeTable()(state, dispatch);
197
+ } else {
198
+ // we have a text selection at start of first table cell, directly inside a top level paragraph,
199
+ // and want to set a full table cell selection
200
+ return selectFullTable({
201
+ node: table.node,
202
+ startPos: table.start,
203
+ dir: TableSelectionDirection.BottomToTop
204
+ })(state, dispatch);
206
205
  }
206
+ }
207
207
  }
208
208
 
209
209
  return false;
@@ -219,14 +219,14 @@ var arrowRightFromText = function arrowRightFromText(selection) {
219
219
 
220
220
  if (isSelectionAtEndOfTable($to, selection) && $to.parent.type.name === 'paragraph' && $to.depth === table.depth + 3 // + 3 for: row, cell & paragraph nodes
221
221
  ) {
222
- // we have a text selection at end of last table cell, directly inside a top level paragraph,
223
- // and want to set a full table cell selection
224
- return selectFullTable({
225
- node: table.node,
226
- startPos: table.start,
227
- dir: TableSelectionDirection.TopToBottom
228
- })(state, dispatch);
229
- }
222
+ // we have a text selection at end of last table cell, directly inside a top level paragraph,
223
+ // and want to set a full table cell selection
224
+ return selectFullTable({
225
+ node: table.node,
226
+ startPos: table.start,
227
+ dir: TableSelectionDirection.TopToBottom
228
+ })(state, dispatch);
229
+ }
230
230
  }
231
231
 
232
232
  return false;
@@ -109,6 +109,7 @@ var TableRowNodeView = /*#__PURE__*/function () {
109
109
  });
110
110
  (0, _defineProperty2.default)(this, "onTablePluginState", function (state) {
111
111
  var tableRef = state.tableRef;
112
+ var focusChanged = false;
112
113
  var tree = _this.tree;
113
114
 
114
115
  if (!tree) {
@@ -125,6 +126,11 @@ var TableRowNodeView = /*#__PURE__*/function () {
125
126
  }
126
127
 
127
128
  var isCurrentTableSelected = tableRef === tree.table;
129
+
130
+ if (isCurrentTableSelected !== _this.focused) {
131
+ focusChanged = true;
132
+ }
133
+
128
134
  _this.focused = isCurrentTableSelected;
129
135
  var wrapper = tree.wrapper;
130
136
  var tableContainer = wrapper.parentElement;
@@ -149,7 +155,8 @@ var TableRowNodeView = /*#__PURE__*/function () {
149
155
 
150
156
 
151
157
  setTimeout(function () {
152
- if (!_this.stickyHeadersOptimization) {
158
+ // if focus changed while header is sticky - still repaint the positions will shift
159
+ if (!_this.stickyHeadersOptimization || focusChanged && _this.isSticky) {
153
160
  _this.paint(tree);
154
161
  }
155
162
 
@@ -218,8 +218,7 @@ var bulkColumnsResize = function bulkColumnsResize(resizeState, columnsIndexes,
218
218
 
219
219
  var newState = _objectSpread(_objectSpread({}, resizeState), {}, {
220
220
  cols: cols.map(function (col) {
221
- if (columnsIndexes.indexOf(col.index) > -1 || // take from prev columns only if dragging the first handle to the left
222
- columnsIndexes.indexOf(sourceColumnIndex) > -1 && col.index < colIndex) {
221
+ if (columnsIndexes.indexOf(col.index) > -1 || columnsIndexes.indexOf(sourceColumnIndex) > -1 && col.index < colIndex) {
223
222
  return col;
224
223
  }
225
224
 
@@ -257,19 +256,19 @@ var bulkColumnsResize = function bulkColumnsResize(resizeState, columnsIndexes,
257
256
  } // table is in overflow: keep the dragged column at its widths and evenly distribute columns
258
257
  // to recover from overflow state
259
258
  else {
260
- var columnWidth = Math.floor((minTableWidth - sourceCol.width) / (newState.cols.length - 1));
261
- newState = _objectSpread(_objectSpread({}, resizeState), {}, {
262
- cols: newState.cols.map(function (col) {
263
- if (col.index === sourceCol.index) {
264
- return col;
265
- }
266
-
267
- return _objectSpread(_objectSpread({}, col), {}, {
268
- width: columnWidth
269
- });
270
- })
271
- });
272
- }
259
+ var columnWidth = Math.floor((minTableWidth - sourceCol.width) / (newState.cols.length - 1));
260
+ newState = _objectSpread(_objectSpread({}, resizeState), {}, {
261
+ cols: newState.cols.map(function (col) {
262
+ if (col.index === sourceCol.index) {
263
+ return col;
264
+ }
265
+
266
+ return _objectSpread(_objectSpread({}, col), {}, {
267
+ width: columnWidth
268
+ });
269
+ })
270
+ });
271
+ }
273
272
  } // fix total table widths by adding missing pixels to columns widths here and there
274
273
 
275
274
 
@@ -25,6 +25,8 @@ var _nodeviews = require("../../../nodeviews");
25
25
 
26
26
  var _Decision = _interopRequireDefault(require("../ui/Decision"));
27
27
 
28
+ var _utils = require("../../type-ahead/utils");
29
+
28
30
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
29
31
 
30
32
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
@@ -67,7 +69,7 @@ var Decision = /*#__PURE__*/function (_ReactNodeView) {
67
69
  value: function render(_props, forwardRef) {
68
70
  return /*#__PURE__*/_react.default.createElement(_Decision.default, {
69
71
  contentRef: forwardRef,
70
- showPlaceholder: this.isContentEmpty(this.node)
72
+ showPlaceholder: this.isContentEmpty(this.node) && !(0, _utils.isTypeAheadOpen)(this.view.state)
71
73
  });
72
74
  }
73
75
  }, {
@@ -35,6 +35,8 @@ var _pluginKey = require("../pm-plugins/plugin-key");
35
35
 
36
36
  var _Task = _interopRequireDefault(require("../ui/Task"));
37
37
 
38
+ var _utils = require("../../type-ahead/utils");
39
+
38
40
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
39
41
 
40
42
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
@@ -147,7 +149,7 @@ var Task = /*#__PURE__*/function (_ReactNodeView) {
147
149
  contentRef: forwardRef,
148
150
  isDone: state === 'DONE',
149
151
  onChange: _this2.handleOnChange,
150
- showPlaceholder: _this2.isContentEmpty(_this2.node),
152
+ showPlaceholder: _this2.isContentEmpty(_this2.node) && !(0, _utils.isTypeAheadOpen)(_this2.view.state),
151
153
  providers: props.providerFactory
152
154
  });
153
155
  }
@@ -204,8 +204,7 @@ var deleteHandler = (0, _commands.filter)([_helpers.isInsideTaskOrDecisionItem,
204
204
  } // if nested, just unindent
205
205
 
206
206
 
207
- if ($next.node($next.depth - 2).type === taskList || // this is for the case when we are on a non-nested item and next one is nested
208
- $next.node($next.depth - 1).type === taskList && $next.parent.type === taskList) {
207
+ if ($next.node($next.depth - 2).type === taskList || $next.node($next.depth - 1).type === taskList && $next.parent.type === taskList) {
209
208
  var tr = (0, _helpers.liftBlock)(state.tr, $next, $next);
210
209
 
211
210
  if (dispatch && tr) {
@@ -32,10 +32,7 @@ var _default = new _prosemirrorState.Plugin({
32
32
  var clickWasAtTextNode = !!(clickNode && clickNode.isText);
33
33
  var clickWasAtEndOfAParagraphNode = $click.parent.type === paragraph && $click.textOffset === 0 && $click.nodeAfter === null;
34
34
 
35
- if (clickWasAtEdgeOfATextNode && clickWasNearACodeMark && clickedDOMElementPosition && ( // if click did not occur at a text node or end of paragraph, then
36
- // it was at a directly adjacent non-text node, so we skip this manual
37
- // text selection logic to preserve that non-text node's selection
38
- clickWasAtTextNode || clickWasAtEndOfAParagraphNode)) {
35
+ if (clickWasAtEdgeOfATextNode && clickWasNearACodeMark && clickedDOMElementPosition && (clickWasAtTextNode || clickWasAtEndOfAParagraphNode)) {
39
36
  var clickWasInsideNodeDOM = event.target.parentNode === view.domAtPos(clickedDOMElementPosition).node && code.isInSet(view.state.doc.resolve(clickedDOMElementPosition).nodeAfter.marks);
40
37
  var nodeNextToClick = $click.nodeBefore && code.isInSet($click.nodeBefore.marks) ? $click.nodeAfter : $click.nodeBefore; // Need to set the selection here to allow clicking between [code('text'),{<>},emoji()]
41
38