@atlaskit/editor-core 190.2.3 → 191.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (439) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/afm-cc/tsconfig.json +3 -0
  3. package/dist/cjs/actions/index.js +13 -5
  4. package/dist/cjs/create-editor/ErrorBoundary.js +2 -2
  5. package/dist/cjs/create-editor/ReactEditorView.js +8 -8
  6. package/dist/cjs/plugins/avatar-group/index.js +2 -1
  7. package/dist/cjs/plugins/avatar-group/ui/AvatarGroupPluginWrapper.js +3 -2
  8. package/dist/cjs/plugins/{collab-edit → avatar-group}/ui/avatars-with-plugin-state.js +10 -11
  9. package/dist/cjs/plugins/avatar-group/ui/avatars.js +70 -0
  10. package/dist/cjs/plugins/{collab-edit → avatar-group}/ui/colored-avatar-item.js +4 -3
  11. package/dist/cjs/plugins/{collab-edit → avatar-group}/ui/to-avatar.js +2 -1
  12. package/dist/cjs/plugins/extension/actions.js +3 -0
  13. package/dist/cjs/plugins/extension/context-panel.js +1 -1
  14. package/dist/cjs/plugins/extension/pm-plugins/main.js +5 -5
  15. package/dist/cjs/plugins/extension/toolbar.js +5 -2
  16. package/dist/cjs/{ui → plugins/extension/ui}/ConfigPanel/ConfigPanel.js +3 -3
  17. package/dist/cjs/{ui → plugins/extension/ui}/ConfigPanel/ConfigPanelFieldsLoader.js +1 -1
  18. package/dist/cjs/plugins/index.js +0 -7
  19. package/dist/cjs/presets/universal.js +2 -1
  20. package/dist/cjs/ui/Appearance/FullPage/FullPageToolbar.js +3 -2
  21. package/dist/cjs/ui/ContentStyles/index.js +6 -6
  22. package/dist/cjs/version-wrapper.js +1 -1
  23. package/dist/es2019/actions/index.js +12 -3
  24. package/dist/es2019/create-editor/ErrorBoundary.js +1 -1
  25. package/dist/es2019/create-editor/ReactEditorView.js +7 -7
  26. package/dist/es2019/plugins/avatar-group/index.js +2 -1
  27. package/dist/es2019/plugins/avatar-group/ui/AvatarGroupPluginWrapper.js +3 -2
  28. package/dist/es2019/plugins/{collab-edit → avatar-group}/ui/avatars-with-plugin-state.js +11 -11
  29. package/dist/es2019/plugins/avatar-group/ui/avatars.js +62 -0
  30. package/dist/es2019/plugins/avatar-group/ui/colored-avatar-item.js +13 -0
  31. package/dist/es2019/plugins/{collab-edit → avatar-group}/ui/to-avatar.js +2 -1
  32. package/dist/es2019/plugins/extension/actions.js +3 -0
  33. package/dist/es2019/plugins/extension/context-panel.js +1 -1
  34. package/dist/es2019/plugins/extension/pm-plugins/main.js +1 -1
  35. package/dist/es2019/plugins/extension/toolbar.js +5 -2
  36. package/dist/es2019/{ui → plugins/extension/ui}/ConfigPanel/ConfigPanel.js +2 -2
  37. package/dist/es2019/{ui → plugins/extension/ui}/ConfigPanel/ConfigPanelFieldsLoader.js +1 -1
  38. package/dist/es2019/plugins/index.js +0 -1
  39. package/dist/es2019/presets/universal.js +2 -1
  40. package/dist/es2019/ui/Appearance/FullPage/FullPageToolbar.js +3 -2
  41. package/dist/es2019/ui/ContentStyles/index.js +1 -1
  42. package/dist/es2019/version-wrapper.js +1 -1
  43. package/dist/esm/actions/index.js +14 -5
  44. package/dist/esm/create-editor/ErrorBoundary.js +1 -1
  45. package/dist/esm/create-editor/ReactEditorView.js +7 -7
  46. package/dist/esm/plugins/avatar-group/index.js +2 -1
  47. package/dist/esm/plugins/avatar-group/ui/AvatarGroupPluginWrapper.js +3 -2
  48. package/dist/esm/plugins/{collab-edit → avatar-group}/ui/avatars-with-plugin-state.js +10 -11
  49. package/dist/esm/plugins/avatar-group/ui/avatars.js +62 -0
  50. package/dist/esm/plugins/avatar-group/ui/colored-avatar-item.js +13 -0
  51. package/dist/esm/plugins/{collab-edit → avatar-group}/ui/to-avatar.js +2 -1
  52. package/dist/esm/plugins/extension/actions.js +3 -0
  53. package/dist/esm/plugins/extension/context-panel.js +1 -1
  54. package/dist/esm/plugins/extension/pm-plugins/main.js +1 -1
  55. package/dist/esm/plugins/extension/toolbar.js +5 -2
  56. package/dist/esm/{ui → plugins/extension/ui}/ConfigPanel/ConfigPanel.js +2 -2
  57. package/dist/esm/{ui → plugins/extension/ui}/ConfigPanel/ConfigPanelFieldsLoader.js +1 -1
  58. package/dist/esm/plugins/index.js +0 -1
  59. package/dist/esm/presets/universal.js +2 -1
  60. package/dist/esm/ui/Appearance/FullPage/FullPageToolbar.js +3 -2
  61. package/dist/esm/ui/ContentStyles/index.js +1 -1
  62. package/dist/esm/version-wrapper.js +1 -1
  63. package/dist/types/plugins/avatar-group/index.d.ts +5 -2
  64. package/dist/types/plugins/avatar-group/ui/AvatarGroupPluginWrapper.d.ts +3 -1
  65. package/dist/types/plugins/avatar-group/ui/avatars-with-plugin-state.d.ts +86 -0
  66. package/dist/types/plugins/avatar-group/ui/avatars.d.ts +17 -0
  67. package/dist/types/plugins/avatar-group/ui/colored-avatar-item.d.ts +10 -0
  68. package/dist/{types-ts4.5/plugins/collab-edit → types/plugins/avatar-group}/ui/invite-to-edit.d.ts +1 -1
  69. package/dist/types/plugins/avatar-group/ui/to-avatar.d.ts +33 -0
  70. package/dist/types/plugins/extension/actions.d.ts +3 -1
  71. package/dist/types/plugins/index.d.ts +0 -1
  72. package/dist/types/ui/Appearance/FullPage/StyledComponents.d.ts +2 -2
  73. package/dist/types/ui/ContentStyles/index.d.ts +2 -2
  74. package/dist/types-ts4.5/plugins/avatar-group/index.d.ts +5 -2
  75. package/dist/types-ts4.5/plugins/avatar-group/ui/AvatarGroupPluginWrapper.d.ts +3 -1
  76. package/dist/types-ts4.5/plugins/avatar-group/ui/avatars-with-plugin-state.d.ts +102 -0
  77. package/dist/types-ts4.5/plugins/avatar-group/ui/avatars.d.ts +19 -0
  78. package/dist/types-ts4.5/plugins/avatar-group/ui/colored-avatar-item.d.ts +12 -0
  79. package/dist/{types/plugins/collab-edit → types-ts4.5/plugins/avatar-group}/ui/invite-to-edit.d.ts +1 -1
  80. package/dist/types-ts4.5/plugins/avatar-group/ui/to-avatar.d.ts +40 -0
  81. package/dist/types-ts4.5/plugins/extension/actions.d.ts +3 -1
  82. package/dist/types-ts4.5/plugins/index.d.ts +0 -1
  83. package/dist/types-ts4.5/ui/Appearance/FullPage/StyledComponents.d.ts +2 -2
  84. package/dist/types-ts4.5/ui/ContentStyles/index.d.ts +2 -2
  85. package/docs/3-annotations.tsx +5 -5
  86. package/package.json +7 -8
  87. package/tsconfig.json +1 -1
  88. package/dist/cjs/extensibility.js +0 -59
  89. package/dist/cjs/extensions.js +0 -12
  90. package/dist/cjs/plugins/collab-edit/actions.js +0 -110
  91. package/dist/cjs/plugins/collab-edit/analytics.js +0 -47
  92. package/dist/cjs/plugins/collab-edit/events/handlers.js +0 -88
  93. package/dist/cjs/plugins/collab-edit/events/initialize.js +0 -58
  94. package/dist/cjs/plugins/collab-edit/events/send-transaction.js +0 -48
  95. package/dist/cjs/plugins/collab-edit/get-participants-count.js +0 -17
  96. package/dist/cjs/plugins/collab-edit/index.js +0 -115
  97. package/dist/cjs/plugins/collab-edit/native-collab-provider-plugin.js +0 -37
  98. package/dist/cjs/plugins/collab-edit/participants.js +0 -95
  99. package/dist/cjs/plugins/collab-edit/plugin-key.js +0 -8
  100. package/dist/cjs/plugins/collab-edit/plugin-state.js +0 -235
  101. package/dist/cjs/plugins/collab-edit/plugin.js +0 -102
  102. package/dist/cjs/plugins/collab-edit/styles.js +0 -19
  103. package/dist/cjs/plugins/collab-edit/types.js +0 -5
  104. package/dist/cjs/plugins/collab-edit/ui/avatars.js +0 -46
  105. package/dist/cjs/plugins/collab-edit/utils.js +0 -156
  106. package/dist/cjs/plugins/extension/nodeviews/extension.js +0 -91
  107. package/dist/cjs/plugins/extension/ui/Extension/Extension/index.js +0 -150
  108. package/dist/cjs/plugins/extension/ui/Extension/Extension/styles.js +0 -17
  109. package/dist/cjs/plugins/extension/ui/Extension/ExtensionComponent.js +0 -252
  110. package/dist/cjs/plugins/extension/ui/Extension/ExtensionNodeWrapper.js +0 -22
  111. package/dist/cjs/plugins/extension/ui/Extension/InlineExtension/index.js +0 -50
  112. package/dist/cjs/plugins/extension/ui/Extension/InlineExtension/styles.js +0 -12
  113. package/dist/cjs/plugins/extension/ui/Extension/Lozenge.js +0 -95
  114. package/dist/cjs/plugins/extension/ui/Extension/MultiBodiedExtension/index.js +0 -263
  115. package/dist/cjs/plugins/extension/ui/Extension/index.js +0 -79
  116. package/dist/cjs/plugins/extension/ui/Extension/styles.js +0 -30
  117. package/dist/cjs/utils/document-logger.js +0 -171
  118. package/dist/es2019/extensibility.js +0 -17
  119. package/dist/es2019/extensions.js +0 -1
  120. package/dist/es2019/plugins/collab-edit/actions.js +0 -119
  121. package/dist/es2019/plugins/collab-edit/analytics.js +0 -41
  122. package/dist/es2019/plugins/collab-edit/events/handlers.js +0 -72
  123. package/dist/es2019/plugins/collab-edit/events/initialize.js +0 -44
  124. package/dist/es2019/plugins/collab-edit/events/send-transaction.js +0 -42
  125. package/dist/es2019/plugins/collab-edit/get-participants-count.js +0 -11
  126. package/dist/es2019/plugins/collab-edit/index.js +0 -73
  127. package/dist/es2019/plugins/collab-edit/native-collab-provider-plugin.js +0 -32
  128. package/dist/es2019/plugins/collab-edit/participants.js +0 -57
  129. package/dist/es2019/plugins/collab-edit/plugin-key.js +0 -2
  130. package/dist/es2019/plugins/collab-edit/plugin-state.js +0 -218
  131. package/dist/es2019/plugins/collab-edit/plugin.js +0 -83
  132. package/dist/es2019/plugins/collab-edit/styles.js +0 -45
  133. package/dist/es2019/plugins/collab-edit/types.js +0 -1
  134. package/dist/es2019/plugins/collab-edit/ui/avatars.js +0 -38
  135. package/dist/es2019/plugins/collab-edit/ui/colored-avatar-item.js +0 -12
  136. package/dist/es2019/plugins/collab-edit/utils.js +0 -141
  137. package/dist/es2019/plugins/extension/nodeviews/extension.js +0 -62
  138. package/dist/es2019/plugins/extension/ui/Extension/Extension/index.js +0 -154
  139. package/dist/es2019/plugins/extension/ui/Extension/Extension/styles.js +0 -42
  140. package/dist/es2019/plugins/extension/ui/Extension/ExtensionComponent.js +0 -204
  141. package/dist/es2019/plugins/extension/ui/Extension/ExtensionNodeWrapper.js +0 -14
  142. package/dist/es2019/plugins/extension/ui/Extension/InlineExtension/index.js +0 -26
  143. package/dist/es2019/plugins/extension/ui/Extension/InlineExtension/styles.js +0 -26
  144. package/dist/es2019/plugins/extension/ui/Extension/Lozenge.js +0 -71
  145. package/dist/es2019/plugins/extension/ui/Extension/MultiBodiedExtension/index.js +0 -282
  146. package/dist/es2019/plugins/extension/ui/Extension/index.js +0 -53
  147. package/dist/es2019/plugins/extension/ui/Extension/styles.js +0 -62
  148. package/dist/es2019/utils/document-logger.js +0 -161
  149. package/dist/esm/extensibility.js +0 -17
  150. package/dist/esm/extensions.js +0 -1
  151. package/dist/esm/plugins/collab-edit/actions.js +0 -103
  152. package/dist/esm/plugins/collab-edit/analytics.js +0 -41
  153. package/dist/esm/plugins/collab-edit/events/handlers.js +0 -82
  154. package/dist/esm/plugins/collab-edit/events/initialize.js +0 -51
  155. package/dist/esm/plugins/collab-edit/events/send-transaction.js +0 -42
  156. package/dist/esm/plugins/collab-edit/get-participants-count.js +0 -11
  157. package/dist/esm/plugins/collab-edit/index.js +0 -103
  158. package/dist/esm/plugins/collab-edit/native-collab-provider-plugin.js +0 -31
  159. package/dist/esm/plugins/collab-edit/participants.js +0 -88
  160. package/dist/esm/plugins/collab-edit/plugin-key.js +0 -2
  161. package/dist/esm/plugins/collab-edit/plugin-state.js +0 -228
  162. package/dist/esm/plugins/collab-edit/plugin.js +0 -85
  163. package/dist/esm/plugins/collab-edit/styles.js +0 -12
  164. package/dist/esm/plugins/collab-edit/types.js +0 -1
  165. package/dist/esm/plugins/collab-edit/ui/avatars.js +0 -38
  166. package/dist/esm/plugins/collab-edit/ui/colored-avatar-item.js +0 -12
  167. package/dist/esm/plugins/collab-edit/utils.js +0 -146
  168. package/dist/esm/plugins/extension/nodeviews/extension.js +0 -83
  169. package/dist/esm/plugins/extension/ui/Extension/Extension/index.js +0 -145
  170. package/dist/esm/plugins/extension/ui/Extension/Extension/styles.js +0 -10
  171. package/dist/esm/plugins/extension/ui/Extension/ExtensionComponent.js +0 -244
  172. package/dist/esm/plugins/extension/ui/Extension/ExtensionNodeWrapper.js +0 -15
  173. package/dist/esm/plugins/extension/ui/Extension/InlineExtension/index.js +0 -43
  174. package/dist/esm/plugins/extension/ui/Extension/InlineExtension/styles.js +0 -5
  175. package/dist/esm/plugins/extension/ui/Extension/Lozenge.js +0 -90
  176. package/dist/esm/plugins/extension/ui/Extension/MultiBodiedExtension/index.js +0 -256
  177. package/dist/esm/plugins/extension/ui/Extension/index.js +0 -71
  178. package/dist/esm/plugins/extension/ui/Extension/styles.js +0 -11
  179. package/dist/esm/utils/document-logger.js +0 -165
  180. package/dist/types/extensibility.d.ts +0 -15
  181. package/dist/types/extensions.d.ts +0 -1
  182. package/dist/types/plugins/collab-edit/actions.d.ts +0 -11
  183. package/dist/types/plugins/collab-edit/analytics.d.ts +0 -6
  184. package/dist/types/plugins/collab-edit/events/handlers.d.ts +0 -24
  185. package/dist/types/plugins/collab-edit/events/initialize.d.ts +0 -16
  186. package/dist/types/plugins/collab-edit/events/send-transaction.d.ts +0 -11
  187. package/dist/types/plugins/collab-edit/get-participants-count.d.ts +0 -2
  188. package/dist/types/plugins/collab-edit/index.d.ts +0 -14
  189. package/dist/types/plugins/collab-edit/native-collab-provider-plugin.d.ts +0 -7
  190. package/dist/types/plugins/collab-edit/participants.d.ts +0 -18
  191. package/dist/types/plugins/collab-edit/plugin-key.d.ts +0 -3
  192. package/dist/types/plugins/collab-edit/plugin-state.d.ts +0 -24
  193. package/dist/types/plugins/collab-edit/plugin.d.ts +0 -11
  194. package/dist/types/plugins/collab-edit/styles.d.ts +0 -1
  195. package/dist/types/plugins/collab-edit/types.d.ts +0 -8
  196. package/dist/types/plugins/collab-edit/ui/avatars-with-plugin-state.d.ts +0 -27
  197. package/dist/types/plugins/collab-edit/ui/avatars.d.ts +0 -14
  198. package/dist/types/plugins/collab-edit/ui/colored-avatar-item.d.ts +0 -7
  199. package/dist/types/plugins/collab-edit/ui/to-avatar.d.ts +0 -4
  200. package/dist/types/plugins/collab-edit/utils.d.ts +0 -19
  201. package/dist/types/plugins/extension/nodeviews/extension.d.ts +0 -31
  202. package/dist/types/plugins/extension/ui/Extension/Extension/index.d.ts +0 -108
  203. package/dist/types/plugins/extension/ui/Extension/Extension/styles.d.ts +0 -5
  204. package/dist/types/plugins/extension/ui/Extension/ExtensionComponent.d.ts +0 -53
  205. package/dist/types/plugins/extension/ui/Extension/ExtensionNodeWrapper.d.ts +0 -14
  206. package/dist/types/plugins/extension/ui/Extension/InlineExtension/index.d.ts +0 -12
  207. package/dist/types/plugins/extension/ui/Extension/InlineExtension/styles.d.ts +0 -1
  208. package/dist/types/plugins/extension/ui/Extension/Lozenge.d.ts +0 -14
  209. package/dist/types/plugins/extension/ui/Extension/MultiBodiedExtension/index.d.ts +0 -26
  210. package/dist/types/plugins/extension/ui/Extension/index.d.ts +0 -29
  211. package/dist/types/plugins/extension/ui/Extension/styles.d.ts +0 -7
  212. package/dist/types/utils/document-logger.d.ts +0 -6
  213. package/dist/types-ts4.5/extensibility.d.ts +0 -15
  214. package/dist/types-ts4.5/extensions.d.ts +0 -1
  215. package/dist/types-ts4.5/plugins/collab-edit/actions.d.ts +0 -11
  216. package/dist/types-ts4.5/plugins/collab-edit/analytics.d.ts +0 -6
  217. package/dist/types-ts4.5/plugins/collab-edit/events/handlers.d.ts +0 -24
  218. package/dist/types-ts4.5/plugins/collab-edit/events/initialize.d.ts +0 -16
  219. package/dist/types-ts4.5/plugins/collab-edit/events/send-transaction.d.ts +0 -11
  220. package/dist/types-ts4.5/plugins/collab-edit/get-participants-count.d.ts +0 -2
  221. package/dist/types-ts4.5/plugins/collab-edit/index.d.ts +0 -14
  222. package/dist/types-ts4.5/plugins/collab-edit/native-collab-provider-plugin.d.ts +0 -7
  223. package/dist/types-ts4.5/plugins/collab-edit/participants.d.ts +0 -18
  224. package/dist/types-ts4.5/plugins/collab-edit/plugin-key.d.ts +0 -3
  225. package/dist/types-ts4.5/plugins/collab-edit/plugin-state.d.ts +0 -24
  226. package/dist/types-ts4.5/plugins/collab-edit/plugin.d.ts +0 -11
  227. package/dist/types-ts4.5/plugins/collab-edit/styles.d.ts +0 -1
  228. package/dist/types-ts4.5/plugins/collab-edit/types.d.ts +0 -8
  229. package/dist/types-ts4.5/plugins/collab-edit/ui/avatars-with-plugin-state.d.ts +0 -27
  230. package/dist/types-ts4.5/plugins/collab-edit/ui/avatars.d.ts +0 -14
  231. package/dist/types-ts4.5/plugins/collab-edit/ui/colored-avatar-item.d.ts +0 -7
  232. package/dist/types-ts4.5/plugins/collab-edit/ui/to-avatar.d.ts +0 -4
  233. package/dist/types-ts4.5/plugins/collab-edit/utils.d.ts +0 -19
  234. package/dist/types-ts4.5/plugins/extension/nodeviews/extension.d.ts +0 -31
  235. package/dist/types-ts4.5/plugins/extension/ui/Extension/Extension/index.d.ts +0 -108
  236. package/dist/types-ts4.5/plugins/extension/ui/Extension/Extension/styles.d.ts +0 -5
  237. package/dist/types-ts4.5/plugins/extension/ui/Extension/ExtensionComponent.d.ts +0 -53
  238. package/dist/types-ts4.5/plugins/extension/ui/Extension/ExtensionNodeWrapper.d.ts +0 -14
  239. package/dist/types-ts4.5/plugins/extension/ui/Extension/InlineExtension/index.d.ts +0 -12
  240. package/dist/types-ts4.5/plugins/extension/ui/Extension/InlineExtension/styles.d.ts +0 -1
  241. package/dist/types-ts4.5/plugins/extension/ui/Extension/Lozenge.d.ts +0 -14
  242. package/dist/types-ts4.5/plugins/extension/ui/Extension/MultiBodiedExtension/index.d.ts +0 -26
  243. package/dist/types-ts4.5/plugins/extension/ui/Extension/index.d.ts +0 -29
  244. package/dist/types-ts4.5/plugins/extension/ui/Extension/styles.d.ts +0 -7
  245. package/dist/types-ts4.5/utils/document-logger.d.ts +0 -6
  246. package/extensibility/package.json +0 -15
  247. package/extensions/package.json +0 -15
  248. /package/dist/cjs/plugins/{collab-edit → avatar-group}/ui/index.js +0 -0
  249. /package/dist/cjs/plugins/{collab-edit → avatar-group}/ui/invite-to-edit.js +0 -0
  250. /package/dist/cjs/plugins/{collab-edit → avatar-group}/ui/styles.js +0 -0
  251. /package/dist/cjs/{ui → plugins/extension/ui}/ConfigPanel/ConfigPanelLoader.js +0 -0
  252. /package/dist/cjs/{ui → plugins/extension/ui}/ConfigPanel/ErrorMessage/ErrorImage.js +0 -0
  253. /package/dist/cjs/{ui → plugins/extension/ui}/ConfigPanel/ErrorMessage/index.js +0 -0
  254. /package/dist/cjs/{ui → plugins/extension/ui}/ConfigPanel/FieldMessages.js +0 -0
  255. /package/dist/cjs/{ui → plugins/extension/ui}/ConfigPanel/Fields/Boolean.js +0 -0
  256. /package/dist/cjs/{ui → plugins/extension/ui}/ConfigPanel/Fields/CheckboxGroup.js +0 -0
  257. /package/dist/cjs/{ui → plugins/extension/ui}/ConfigPanel/Fields/ColorPicker.js +0 -0
  258. /package/dist/cjs/{ui → plugins/extension/ui}/ConfigPanel/Fields/CustomSelect.js +0 -0
  259. /package/dist/cjs/{ui → plugins/extension/ui}/ConfigPanel/Fields/Date.js +0 -0
  260. /package/dist/cjs/{ui → plugins/extension/ui}/ConfigPanel/Fields/DateRange.js +0 -0
  261. /package/dist/cjs/{ui → plugins/extension/ui}/ConfigPanel/Fields/Enum.js +0 -0
  262. /package/dist/cjs/{ui → plugins/extension/ui}/ConfigPanel/Fields/Expand.js +0 -0
  263. /package/dist/cjs/{ui → plugins/extension/ui}/ConfigPanel/Fields/Fieldset.js +0 -0
  264. /package/dist/cjs/{ui → plugins/extension/ui}/ConfigPanel/Fields/Number.js +0 -0
  265. /package/dist/cjs/{ui → plugins/extension/ui}/ConfigPanel/Fields/RadioGroup.js +0 -0
  266. /package/dist/cjs/{ui → plugins/extension/ui}/ConfigPanel/Fields/Select.js +0 -0
  267. /package/dist/cjs/{ui → plugins/extension/ui}/ConfigPanel/Fields/SelectItem.js +0 -0
  268. /package/dist/cjs/{ui → plugins/extension/ui}/ConfigPanel/Fields/String.js +0 -0
  269. /package/dist/cjs/{ui → plugins/extension/ui}/ConfigPanel/Fields/TabGroup.js +0 -0
  270. /package/dist/cjs/{ui → plugins/extension/ui}/ConfigPanel/Fields/UnhandledType.js +0 -0
  271. /package/dist/cjs/{ui → plugins/extension/ui}/ConfigPanel/Fields/UserSelect.js +0 -0
  272. /package/dist/cjs/{ui → plugins/extension/ui}/ConfigPanel/Fields/common/RequiredIndicator.js +0 -0
  273. /package/dist/cjs/{ui → plugins/extension/ui}/ConfigPanel/FormContent.js +0 -0
  274. /package/dist/cjs/{ui → plugins/extension/ui}/ConfigPanel/FormErrorBoundary.js +0 -0
  275. /package/dist/cjs/{ui → plugins/extension/ui}/ConfigPanel/Header.js +0 -0
  276. /package/dist/cjs/{ui → plugins/extension/ui}/ConfigPanel/LoadingState.js +0 -0
  277. /package/dist/cjs/{ui → plugins/extension/ui}/ConfigPanel/NestedForms/RemovableField.js +0 -0
  278. /package/dist/cjs/{ui → plugins/extension/ui}/ConfigPanel/constants.js +0 -0
  279. /package/dist/cjs/{ui → plugins/extension/ui}/ConfigPanel/index.js +0 -0
  280. /package/dist/cjs/{ui → plugins/extension/ui}/ConfigPanel/messages.js +0 -0
  281. /package/dist/cjs/{ui → plugins/extension/ui}/ConfigPanel/transformers.js +0 -0
  282. /package/dist/cjs/{ui → plugins/extension/ui}/ConfigPanel/types.js +0 -0
  283. /package/dist/cjs/{utils/react-hooks → plugins/extension/ui/ConfigPanel}/use-abortable-effect/index.js +0 -0
  284. /package/dist/cjs/{utils/react-hooks → plugins/extension/ui/ConfigPanel}/use-state-from-promise/index.js +0 -0
  285. /package/dist/cjs/{ui → plugins/extension/ui}/ConfigPanel/utils.js +0 -0
  286. /package/dist/es2019/plugins/{collab-edit → avatar-group}/ui/index.js +0 -0
  287. /package/dist/es2019/plugins/{collab-edit → avatar-group}/ui/invite-to-edit.js +0 -0
  288. /package/dist/es2019/plugins/{collab-edit → avatar-group}/ui/styles.js +0 -0
  289. /package/dist/es2019/{ui → plugins/extension/ui}/ConfigPanel/ConfigPanelLoader.js +0 -0
  290. /package/dist/es2019/{ui → plugins/extension/ui}/ConfigPanel/ErrorMessage/ErrorImage.js +0 -0
  291. /package/dist/es2019/{ui → plugins/extension/ui}/ConfigPanel/ErrorMessage/index.js +0 -0
  292. /package/dist/es2019/{ui → plugins/extension/ui}/ConfigPanel/FieldMessages.js +0 -0
  293. /package/dist/es2019/{ui → plugins/extension/ui}/ConfigPanel/Fields/Boolean.js +0 -0
  294. /package/dist/es2019/{ui → plugins/extension/ui}/ConfigPanel/Fields/CheckboxGroup.js +0 -0
  295. /package/dist/es2019/{ui → plugins/extension/ui}/ConfigPanel/Fields/ColorPicker.js +0 -0
  296. /package/dist/es2019/{ui → plugins/extension/ui}/ConfigPanel/Fields/CustomSelect.js +0 -0
  297. /package/dist/es2019/{ui → plugins/extension/ui}/ConfigPanel/Fields/Date.js +0 -0
  298. /package/dist/es2019/{ui → plugins/extension/ui}/ConfigPanel/Fields/DateRange.js +0 -0
  299. /package/dist/es2019/{ui → plugins/extension/ui}/ConfigPanel/Fields/Enum.js +0 -0
  300. /package/dist/es2019/{ui → plugins/extension/ui}/ConfigPanel/Fields/Expand.js +0 -0
  301. /package/dist/es2019/{ui → plugins/extension/ui}/ConfigPanel/Fields/Fieldset.js +0 -0
  302. /package/dist/es2019/{ui → plugins/extension/ui}/ConfigPanel/Fields/Number.js +0 -0
  303. /package/dist/es2019/{ui → plugins/extension/ui}/ConfigPanel/Fields/RadioGroup.js +0 -0
  304. /package/dist/es2019/{ui → plugins/extension/ui}/ConfigPanel/Fields/Select.js +0 -0
  305. /package/dist/es2019/{ui → plugins/extension/ui}/ConfigPanel/Fields/SelectItem.js +0 -0
  306. /package/dist/es2019/{ui → plugins/extension/ui}/ConfigPanel/Fields/String.js +0 -0
  307. /package/dist/es2019/{ui → plugins/extension/ui}/ConfigPanel/Fields/TabGroup.js +0 -0
  308. /package/dist/es2019/{ui → plugins/extension/ui}/ConfigPanel/Fields/UnhandledType.js +0 -0
  309. /package/dist/es2019/{ui → plugins/extension/ui}/ConfigPanel/Fields/UserSelect.js +0 -0
  310. /package/dist/es2019/{ui → plugins/extension/ui}/ConfigPanel/Fields/common/RequiredIndicator.js +0 -0
  311. /package/dist/es2019/{ui → plugins/extension/ui}/ConfigPanel/FormContent.js +0 -0
  312. /package/dist/es2019/{ui → plugins/extension/ui}/ConfigPanel/FormErrorBoundary.js +0 -0
  313. /package/dist/es2019/{ui → plugins/extension/ui}/ConfigPanel/Header.js +0 -0
  314. /package/dist/es2019/{ui → plugins/extension/ui}/ConfigPanel/LoadingState.js +0 -0
  315. /package/dist/es2019/{ui → plugins/extension/ui}/ConfigPanel/NestedForms/RemovableField.js +0 -0
  316. /package/dist/es2019/{ui → plugins/extension/ui}/ConfigPanel/constants.js +0 -0
  317. /package/dist/es2019/{ui → plugins/extension/ui}/ConfigPanel/index.js +0 -0
  318. /package/dist/es2019/{ui → plugins/extension/ui}/ConfigPanel/messages.js +0 -0
  319. /package/dist/es2019/{ui → plugins/extension/ui}/ConfigPanel/transformers.js +0 -0
  320. /package/dist/es2019/{ui → plugins/extension/ui}/ConfigPanel/types.js +0 -0
  321. /package/dist/es2019/{utils/react-hooks → plugins/extension/ui/ConfigPanel}/use-abortable-effect/index.js +0 -0
  322. /package/dist/es2019/{utils/react-hooks → plugins/extension/ui/ConfigPanel}/use-state-from-promise/index.js +0 -0
  323. /package/dist/es2019/{ui → plugins/extension/ui}/ConfigPanel/utils.js +0 -0
  324. /package/dist/esm/plugins/{collab-edit → avatar-group}/ui/index.js +0 -0
  325. /package/dist/esm/plugins/{collab-edit → avatar-group}/ui/invite-to-edit.js +0 -0
  326. /package/dist/esm/plugins/{collab-edit → avatar-group}/ui/styles.js +0 -0
  327. /package/dist/esm/{ui → plugins/extension/ui}/ConfigPanel/ConfigPanelLoader.js +0 -0
  328. /package/dist/esm/{ui → plugins/extension/ui}/ConfigPanel/ErrorMessage/ErrorImage.js +0 -0
  329. /package/dist/esm/{ui → plugins/extension/ui}/ConfigPanel/ErrorMessage/index.js +0 -0
  330. /package/dist/esm/{ui → plugins/extension/ui}/ConfigPanel/FieldMessages.js +0 -0
  331. /package/dist/esm/{ui → plugins/extension/ui}/ConfigPanel/Fields/Boolean.js +0 -0
  332. /package/dist/esm/{ui → plugins/extension/ui}/ConfigPanel/Fields/CheckboxGroup.js +0 -0
  333. /package/dist/esm/{ui → plugins/extension/ui}/ConfigPanel/Fields/ColorPicker.js +0 -0
  334. /package/dist/esm/{ui → plugins/extension/ui}/ConfigPanel/Fields/CustomSelect.js +0 -0
  335. /package/dist/esm/{ui → plugins/extension/ui}/ConfigPanel/Fields/Date.js +0 -0
  336. /package/dist/esm/{ui → plugins/extension/ui}/ConfigPanel/Fields/DateRange.js +0 -0
  337. /package/dist/esm/{ui → plugins/extension/ui}/ConfigPanel/Fields/Enum.js +0 -0
  338. /package/dist/esm/{ui → plugins/extension/ui}/ConfigPanel/Fields/Expand.js +0 -0
  339. /package/dist/esm/{ui → plugins/extension/ui}/ConfigPanel/Fields/Fieldset.js +0 -0
  340. /package/dist/esm/{ui → plugins/extension/ui}/ConfigPanel/Fields/Number.js +0 -0
  341. /package/dist/esm/{ui → plugins/extension/ui}/ConfigPanel/Fields/RadioGroup.js +0 -0
  342. /package/dist/esm/{ui → plugins/extension/ui}/ConfigPanel/Fields/Select.js +0 -0
  343. /package/dist/esm/{ui → plugins/extension/ui}/ConfigPanel/Fields/SelectItem.js +0 -0
  344. /package/dist/esm/{ui → plugins/extension/ui}/ConfigPanel/Fields/String.js +0 -0
  345. /package/dist/esm/{ui → plugins/extension/ui}/ConfigPanel/Fields/TabGroup.js +0 -0
  346. /package/dist/esm/{ui → plugins/extension/ui}/ConfigPanel/Fields/UnhandledType.js +0 -0
  347. /package/dist/esm/{ui → plugins/extension/ui}/ConfigPanel/Fields/UserSelect.js +0 -0
  348. /package/dist/esm/{ui → plugins/extension/ui}/ConfigPanel/Fields/common/RequiredIndicator.js +0 -0
  349. /package/dist/esm/{ui → plugins/extension/ui}/ConfigPanel/FormContent.js +0 -0
  350. /package/dist/esm/{ui → plugins/extension/ui}/ConfigPanel/FormErrorBoundary.js +0 -0
  351. /package/dist/esm/{ui → plugins/extension/ui}/ConfigPanel/Header.js +0 -0
  352. /package/dist/esm/{ui → plugins/extension/ui}/ConfigPanel/LoadingState.js +0 -0
  353. /package/dist/esm/{ui → plugins/extension/ui}/ConfigPanel/NestedForms/RemovableField.js +0 -0
  354. /package/dist/esm/{ui → plugins/extension/ui}/ConfigPanel/constants.js +0 -0
  355. /package/dist/esm/{ui → plugins/extension/ui}/ConfigPanel/index.js +0 -0
  356. /package/dist/esm/{ui → plugins/extension/ui}/ConfigPanel/messages.js +0 -0
  357. /package/dist/esm/{ui → plugins/extension/ui}/ConfigPanel/transformers.js +0 -0
  358. /package/dist/esm/{ui → plugins/extension/ui}/ConfigPanel/types.js +0 -0
  359. /package/dist/esm/{utils/react-hooks → plugins/extension/ui/ConfigPanel}/use-abortable-effect/index.js +0 -0
  360. /package/dist/esm/{utils/react-hooks → plugins/extension/ui/ConfigPanel}/use-state-from-promise/index.js +0 -0
  361. /package/dist/esm/{ui → plugins/extension/ui}/ConfigPanel/utils.js +0 -0
  362. /package/dist/types/plugins/{collab-edit → avatar-group}/ui/index.d.ts +0 -0
  363. /package/dist/types/plugins/{collab-edit → avatar-group}/ui/styles.d.ts +0 -0
  364. /package/dist/types/{ui → plugins/extension/ui}/ConfigPanel/ConfigPanel.d.ts +0 -0
  365. /package/dist/types/{ui → plugins/extension/ui}/ConfigPanel/ConfigPanelFieldsLoader.d.ts +0 -0
  366. /package/dist/types/{ui → plugins/extension/ui}/ConfigPanel/ConfigPanelLoader.d.ts +0 -0
  367. /package/dist/types/{ui → plugins/extension/ui}/ConfigPanel/ErrorMessage/ErrorImage.d.ts +0 -0
  368. /package/dist/types/{ui → plugins/extension/ui}/ConfigPanel/ErrorMessage/index.d.ts +0 -0
  369. /package/dist/types/{ui → plugins/extension/ui}/ConfigPanel/FieldMessages.d.ts +0 -0
  370. /package/dist/types/{ui → plugins/extension/ui}/ConfigPanel/Fields/Boolean.d.ts +0 -0
  371. /package/dist/types/{ui → plugins/extension/ui}/ConfigPanel/Fields/CheckboxGroup.d.ts +0 -0
  372. /package/dist/types/{ui → plugins/extension/ui}/ConfigPanel/Fields/ColorPicker.d.ts +0 -0
  373. /package/dist/types/{ui → plugins/extension/ui}/ConfigPanel/Fields/CustomSelect.d.ts +0 -0
  374. /package/dist/types/{ui → plugins/extension/ui}/ConfigPanel/Fields/Date.d.ts +0 -0
  375. /package/dist/types/{ui → plugins/extension/ui}/ConfigPanel/Fields/DateRange.d.ts +0 -0
  376. /package/dist/types/{ui → plugins/extension/ui}/ConfigPanel/Fields/Enum.d.ts +0 -0
  377. /package/dist/types/{ui → plugins/extension/ui}/ConfigPanel/Fields/Expand.d.ts +0 -0
  378. /package/dist/types/{ui → plugins/extension/ui}/ConfigPanel/Fields/Fieldset.d.ts +0 -0
  379. /package/dist/types/{ui → plugins/extension/ui}/ConfigPanel/Fields/Number.d.ts +0 -0
  380. /package/dist/types/{ui → plugins/extension/ui}/ConfigPanel/Fields/RadioGroup.d.ts +0 -0
  381. /package/dist/types/{ui → plugins/extension/ui}/ConfigPanel/Fields/Select.d.ts +0 -0
  382. /package/dist/types/{ui → plugins/extension/ui}/ConfigPanel/Fields/SelectItem.d.ts +0 -0
  383. /package/dist/types/{ui → plugins/extension/ui}/ConfigPanel/Fields/String.d.ts +0 -0
  384. /package/dist/types/{ui → plugins/extension/ui}/ConfigPanel/Fields/TabGroup.d.ts +0 -0
  385. /package/dist/types/{ui → plugins/extension/ui}/ConfigPanel/Fields/UnhandledType.d.ts +0 -0
  386. /package/dist/types/{ui → plugins/extension/ui}/ConfigPanel/Fields/UserSelect.d.ts +0 -0
  387. /package/dist/types/{ui → plugins/extension/ui}/ConfigPanel/Fields/common/RequiredIndicator.d.ts +0 -0
  388. /package/dist/types/{ui → plugins/extension/ui}/ConfigPanel/FormContent.d.ts +0 -0
  389. /package/dist/types/{ui → plugins/extension/ui}/ConfigPanel/FormErrorBoundary.d.ts +0 -0
  390. /package/dist/types/{ui → plugins/extension/ui}/ConfigPanel/Header.d.ts +0 -0
  391. /package/dist/types/{ui → plugins/extension/ui}/ConfigPanel/LoadingState.d.ts +0 -0
  392. /package/dist/types/{ui → plugins/extension/ui}/ConfigPanel/NestedForms/RemovableField.d.ts +0 -0
  393. /package/dist/types/{ui → plugins/extension/ui}/ConfigPanel/constants.d.ts +0 -0
  394. /package/dist/types/{ui → plugins/extension/ui}/ConfigPanel/index.d.ts +0 -0
  395. /package/dist/types/{ui → plugins/extension/ui}/ConfigPanel/messages.d.ts +0 -0
  396. /package/dist/types/{ui → plugins/extension/ui}/ConfigPanel/transformers.d.ts +0 -0
  397. /package/dist/types/{ui → plugins/extension/ui}/ConfigPanel/types.d.ts +0 -0
  398. /package/dist/types/{utils/react-hooks → plugins/extension/ui/ConfigPanel}/use-abortable-effect/index.d.ts +0 -0
  399. /package/dist/types/{utils/react-hooks → plugins/extension/ui/ConfigPanel}/use-state-from-promise/index.d.ts +0 -0
  400. /package/dist/types/{ui → plugins/extension/ui}/ConfigPanel/utils.d.ts +0 -0
  401. /package/dist/types-ts4.5/plugins/{collab-edit → avatar-group}/ui/index.d.ts +0 -0
  402. /package/dist/types-ts4.5/plugins/{collab-edit → avatar-group}/ui/styles.d.ts +0 -0
  403. /package/dist/types-ts4.5/{ui → plugins/extension/ui}/ConfigPanel/ConfigPanel.d.ts +0 -0
  404. /package/dist/types-ts4.5/{ui → plugins/extension/ui}/ConfigPanel/ConfigPanelFieldsLoader.d.ts +0 -0
  405. /package/dist/types-ts4.5/{ui → plugins/extension/ui}/ConfigPanel/ConfigPanelLoader.d.ts +0 -0
  406. /package/dist/types-ts4.5/{ui → plugins/extension/ui}/ConfigPanel/ErrorMessage/ErrorImage.d.ts +0 -0
  407. /package/dist/types-ts4.5/{ui → plugins/extension/ui}/ConfigPanel/ErrorMessage/index.d.ts +0 -0
  408. /package/dist/types-ts4.5/{ui → plugins/extension/ui}/ConfigPanel/FieldMessages.d.ts +0 -0
  409. /package/dist/types-ts4.5/{ui → plugins/extension/ui}/ConfigPanel/Fields/Boolean.d.ts +0 -0
  410. /package/dist/types-ts4.5/{ui → plugins/extension/ui}/ConfigPanel/Fields/CheckboxGroup.d.ts +0 -0
  411. /package/dist/types-ts4.5/{ui → plugins/extension/ui}/ConfigPanel/Fields/ColorPicker.d.ts +0 -0
  412. /package/dist/types-ts4.5/{ui → plugins/extension/ui}/ConfigPanel/Fields/CustomSelect.d.ts +0 -0
  413. /package/dist/types-ts4.5/{ui → plugins/extension/ui}/ConfigPanel/Fields/Date.d.ts +0 -0
  414. /package/dist/types-ts4.5/{ui → plugins/extension/ui}/ConfigPanel/Fields/DateRange.d.ts +0 -0
  415. /package/dist/types-ts4.5/{ui → plugins/extension/ui}/ConfigPanel/Fields/Enum.d.ts +0 -0
  416. /package/dist/types-ts4.5/{ui → plugins/extension/ui}/ConfigPanel/Fields/Expand.d.ts +0 -0
  417. /package/dist/types-ts4.5/{ui → plugins/extension/ui}/ConfigPanel/Fields/Fieldset.d.ts +0 -0
  418. /package/dist/types-ts4.5/{ui → plugins/extension/ui}/ConfigPanel/Fields/Number.d.ts +0 -0
  419. /package/dist/types-ts4.5/{ui → plugins/extension/ui}/ConfigPanel/Fields/RadioGroup.d.ts +0 -0
  420. /package/dist/types-ts4.5/{ui → plugins/extension/ui}/ConfigPanel/Fields/Select.d.ts +0 -0
  421. /package/dist/types-ts4.5/{ui → plugins/extension/ui}/ConfigPanel/Fields/SelectItem.d.ts +0 -0
  422. /package/dist/types-ts4.5/{ui → plugins/extension/ui}/ConfigPanel/Fields/String.d.ts +0 -0
  423. /package/dist/types-ts4.5/{ui → plugins/extension/ui}/ConfigPanel/Fields/TabGroup.d.ts +0 -0
  424. /package/dist/types-ts4.5/{ui → plugins/extension/ui}/ConfigPanel/Fields/UnhandledType.d.ts +0 -0
  425. /package/dist/types-ts4.5/{ui → plugins/extension/ui}/ConfigPanel/Fields/UserSelect.d.ts +0 -0
  426. /package/dist/types-ts4.5/{ui → plugins/extension/ui}/ConfigPanel/Fields/common/RequiredIndicator.d.ts +0 -0
  427. /package/dist/types-ts4.5/{ui → plugins/extension/ui}/ConfigPanel/FormContent.d.ts +0 -0
  428. /package/dist/types-ts4.5/{ui → plugins/extension/ui}/ConfigPanel/FormErrorBoundary.d.ts +0 -0
  429. /package/dist/types-ts4.5/{ui → plugins/extension/ui}/ConfigPanel/Header.d.ts +0 -0
  430. /package/dist/types-ts4.5/{ui → plugins/extension/ui}/ConfigPanel/LoadingState.d.ts +0 -0
  431. /package/dist/types-ts4.5/{ui → plugins/extension/ui}/ConfigPanel/NestedForms/RemovableField.d.ts +0 -0
  432. /package/dist/types-ts4.5/{ui → plugins/extension/ui}/ConfigPanel/constants.d.ts +0 -0
  433. /package/dist/types-ts4.5/{ui → plugins/extension/ui}/ConfigPanel/index.d.ts +0 -0
  434. /package/dist/types-ts4.5/{ui → plugins/extension/ui}/ConfigPanel/messages.d.ts +0 -0
  435. /package/dist/types-ts4.5/{ui → plugins/extension/ui}/ConfigPanel/transformers.d.ts +0 -0
  436. /package/dist/types-ts4.5/{ui → plugins/extension/ui}/ConfigPanel/types.d.ts +0 -0
  437. /package/dist/types-ts4.5/{utils/react-hooks → plugins/extension/ui/ConfigPanel}/use-abortable-effect/index.d.ts +0 -0
  438. /package/dist/types-ts4.5/{utils/react-hooks → plugins/extension/ui/ConfigPanel}/use-state-from-promise/index.d.ts +0 -0
  439. /package/dist/types-ts4.5/{ui → plugins/extension/ui}/ConfigPanel/utils.d.ts +0 -0
@@ -1,218 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- import { Selection } from '@atlaskit/editor-prosemirror/state';
3
- import { DecorationSet } from '@atlaskit/editor-prosemirror/view';
4
- import { ReplaceStep } from '@atlaskit/editor-prosemirror/transform';
5
- import { browser } from '@atlaskit/editor-common/utils';
6
- import { Participants } from './participants';
7
- import { findPointers, createTelepointers, getPositionOfTelepointer } from './utils';
8
- const isReplaceStep = step => step instanceof ReplaceStep;
9
- export const TELEPOINTER_DIM_CLASS = 'telepointer-dim';
10
-
11
- /**
12
- * Returns position where it's possible to place a decoration.
13
- */
14
- export const getValidPos = (tr, pos) => {
15
- const endOfDocPos = tr.doc.nodeSize - 2;
16
- if (pos <= endOfDocPos) {
17
- const resolvedPos = tr.doc.resolve(pos);
18
- const backwardSelection = Selection.findFrom(resolvedPos, -1, true);
19
- // if there's no correct cursor position before the `pos`, we try to find it after the `pos`
20
- const forwardSelection = Selection.findFrom(resolvedPos, 1, true);
21
- return backwardSelection ? backwardSelection.from : forwardSelection ? forwardSelection.from : pos;
22
- }
23
- return endOfDocPos;
24
- };
25
- export class PluginState {
26
- get decorations() {
27
- return this.decorationSet;
28
- }
29
- get activeParticipants() {
30
- return this.participants;
31
- }
32
- get sessionId() {
33
- return this.sid;
34
- }
35
- constructor(decorations, participants, sessionId, collabInitalised = false, onError) {
36
- // eslint-disable-next-line no-console
37
- _defineProperty(this, "onError", error => console.error(error));
38
- this.decorationSet = decorations;
39
- this.participants = participants;
40
- this.sid = sessionId;
41
- this.isReady = collabInitalised;
42
- this.onError = onError || this.onError;
43
- }
44
- getInitial(sessionId) {
45
- const participant = this.participants.get(sessionId);
46
- return participant ? participant.name.substring(0, 1).toUpperCase() : 'X';
47
- }
48
- apply(tr) {
49
- let {
50
- participants,
51
- sid,
52
- isReady
53
- } = this;
54
- const presenceData = tr.getMeta('presence');
55
- const telepointerData = tr.getMeta('telepointer');
56
- const sessionIdData = tr.getMeta('sessionId');
57
- let collabInitialised = tr.getMeta('collabInitialised');
58
- if (typeof collabInitialised !== 'boolean') {
59
- collabInitialised = isReady;
60
- }
61
- if (sessionIdData) {
62
- sid = sessionIdData.sid;
63
- }
64
- let add = [];
65
- let remove = [];
66
- if (presenceData) {
67
- const {
68
- joined = [],
69
- left = []
70
- } = presenceData;
71
- participants = participants.remove(left.map(i => i.sessionId));
72
- participants = participants.add(joined);
73
-
74
- // Remove telepointers for users that left
75
- left.forEach(i => {
76
- const pointers = findPointers(i.sessionId, this.decorationSet);
77
- if (pointers) {
78
- remove = remove.concat(pointers);
79
- }
80
- });
81
- }
82
- if (telepointerData) {
83
- const {
84
- sessionId
85
- } = telepointerData;
86
- if (participants.get(sessionId) && sessionId !== sid) {
87
- const oldPointers = findPointers(telepointerData.sessionId, this.decorationSet);
88
- if (oldPointers) {
89
- remove = remove.concat(oldPointers);
90
- }
91
- const endOfDocPos = tr.doc.nodeSize - 2;
92
- const anchor = telepointerData.selection.anchor;
93
- const head = telepointerData.selection.head;
94
- let rawFrom = anchor < head ? anchor : head;
95
- let rawTo = anchor >= head ? anchor : head;
96
- if (rawFrom > endOfDocPos) {
97
- rawFrom = endOfDocPos;
98
- }
99
- if (rawTo > endOfDocPos) {
100
- rawTo = endOfDocPos;
101
- }
102
- const isSelection = rawTo - rawFrom > 0;
103
- let from = 1;
104
- let to = 1;
105
- try {
106
- from = getValidPos(tr, isSelection ? Math.max(rawFrom - 1, 0) : rawFrom);
107
- to = isSelection ? getValidPos(tr, rawTo) : from;
108
- } catch (err) {
109
- this.onError(err);
110
- }
111
- add = add.concat(createTelepointers(from, to, sessionId, isSelection, this.getInitial(sessionId)));
112
- }
113
- }
114
- if (tr.docChanged) {
115
- // Adjust decoration positions to changes made by the transaction
116
- try {
117
- this.decorationSet = this.decorationSet.map(tr.mapping, tr.doc, {
118
- // Reapplies decorators those got removed by the state change
119
- onRemove: spec => {
120
- if (spec.pointer && spec.pointer.sessionId && spec.key === `telepointer-${spec.pointer.sessionId}`) {
121
- const step = tr.steps.filter(isReplaceStep)[0];
122
- if (step) {
123
- const {
124
- sessionId
125
- } = spec.pointer;
126
- const {
127
- slice: {
128
- content: {
129
- size
130
- }
131
- },
132
- from
133
- } = step;
134
- const pos = getValidPos(tr, size ? Math.min(from + size, tr.doc.nodeSize - 3) : Math.max(from, 1));
135
- add = add.concat(createTelepointers(pos, pos, sessionId, false, this.getInitial(sessionId)));
136
- }
137
- }
138
- }
139
- });
140
- } catch (err) {
141
- this.onError(err);
142
- }
143
-
144
- // Remove any selection decoration within the change range,
145
- // takes care of the issue when after pasting we end up with a dead selection
146
- tr.steps.filter(isReplaceStep).forEach(s => {
147
- const {
148
- from,
149
- to
150
- } = s;
151
- this.decorationSet.find(from, to).forEach(deco => {
152
- // `type` is private, `from` and `to` are public in latest version
153
- // `from` != `to` means it's a selection
154
- if (deco.from !== deco.to) {
155
- remove.push(deco);
156
- }
157
- });
158
- });
159
- }
160
- const {
161
- selection
162
- } = tr;
163
- this.decorationSet.find().forEach(deco => {
164
- if (deco.type.toDOM) {
165
- const hasTelepointerDimClass = deco.type.toDOM.classList.contains(TELEPOINTER_DIM_CLASS);
166
- if (deco.from === selection.from && deco.to === selection.to) {
167
- if (!hasTelepointerDimClass) {
168
- deco.type.toDOM.classList.add(TELEPOINTER_DIM_CLASS);
169
- }
170
-
171
- // Browser condition here to fix ED-14722 where telepointer
172
- // decorations with side -1 in Firefox causes backspace issues.
173
- // This is likely caused by contenteditable quirks in Firefox
174
- if (!browser.gecko) {
175
- deco.type.side = -1;
176
- }
177
- } else {
178
- if (hasTelepointerDimClass) {
179
- deco.type.toDOM.classList.remove(TELEPOINTER_DIM_CLASS);
180
- }
181
- deco.type.side = 0;
182
- }
183
- }
184
- });
185
- if (remove.length) {
186
- this.decorationSet = this.decorationSet.remove(remove);
187
- }
188
- if (add.length) {
189
- this.decorationSet = this.decorationSet.add(tr.doc, add);
190
- }
191
-
192
- // This piece needs to be after the decorationSet adjustments,
193
- // otherwise it's always one step behind where the cursor is
194
- if (telepointerData) {
195
- const {
196
- sessionId
197
- } = telepointerData;
198
- if (participants.get(sessionId)) {
199
- const positionForScroll = getPositionOfTelepointer(sessionId, this.decorationSet);
200
- if (positionForScroll) {
201
- participants = participants.updateCursorPos(sessionId, positionForScroll);
202
- }
203
- }
204
- }
205
- const nextState = new PluginState(this.decorationSet, participants, sid, collabInitialised);
206
- return PluginState.eq(nextState, this) ? this : nextState;
207
- }
208
- static eq(a, b) {
209
- return a.participants === b.participants && a.sessionId === b.sessionId && a.isReady === b.isReady;
210
- }
211
- static init(config) {
212
- const {
213
- doc,
214
- onError
215
- } = config;
216
- return new PluginState(DecorationSet.create(doc, []), new Participants(), undefined, undefined, onError);
217
- }
218
- }
@@ -1,83 +0,0 @@
1
- import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
2
- import { initialize } from './events/initialize';
3
- import { PluginState } from './plugin-state';
4
- import { pluginKey } from './plugin-key';
5
- import { addSynchronyErrorAnalytics } from './analytics';
6
- import { fireAnalyticsEvent, ACTION, ACTION_SUBJECT, EVENT_TYPE } from '@atlaskit/editor-common/analytics';
7
- export { PluginState, pluginKey };
8
- export const createPlugin = (dispatch, providerFactory, providerResolver, collabProviderCallback, options, featureFlags, pluginInjectionApi) => {
9
- return new SafePlugin({
10
- key: pluginKey,
11
- state: {
12
- init(config) {
13
- return PluginState.init(config);
14
- },
15
- apply(transaction, prevPluginState, oldEditorState, newEditorState) {
16
- const pluginState = prevPluginState.apply(transaction);
17
- dispatch(pluginKey, pluginState);
18
- return pluginState;
19
- }
20
- },
21
- props: {
22
- decorations(state) {
23
- var _pluginKey$getState;
24
- return (_pluginKey$getState = pluginKey.getState(state)) === null || _pluginKey$getState === void 0 ? void 0 : _pluginKey$getState.decorations;
25
- }
26
- },
27
- filterTransaction(tr, state) {
28
- const pluginState = pluginKey.getState(state);
29
- const collabInitialiseTr = tr.getMeta('collabInitialised');
30
-
31
- // Don't allow transactions that modifies the document before
32
- // collab-plugin is ready.
33
- if (collabInitialiseTr) {
34
- return true;
35
- }
36
- if (!(pluginState !== null && pluginState !== void 0 && pluginState.isReady) && tr.docChanged) {
37
- return false;
38
- }
39
- return true;
40
- },
41
- view(view) {
42
- var _pluginInjectionApi$a, _pluginInjectionApi$a5;
43
- const addErrorAnalytics = addSynchronyErrorAnalytics(view.state, view.state.tr, featureFlags, pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$a = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a === void 0 ? void 0 : _pluginInjectionApi$a.actions);
44
- const onSyncUpError = attributes => {
45
- var _pluginInjectionApi$a2, _pluginInjectionApi$a3, _pluginInjectionApi$a4;
46
- const fireAnalyticsCallback = fireAnalyticsEvent((_pluginInjectionApi$a2 = pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$a3 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a3 === void 0 ? void 0 : (_pluginInjectionApi$a4 = _pluginInjectionApi$a3.sharedState.currentState()) === null || _pluginInjectionApi$a4 === void 0 ? void 0 : _pluginInjectionApi$a4.createAnalyticsEvent) !== null && _pluginInjectionApi$a2 !== void 0 ? _pluginInjectionApi$a2 : undefined);
47
- fireAnalyticsCallback({
48
- payload: {
49
- action: ACTION.NEW_COLLAB_SYNC_UP_ERROR_NO_STEPS,
50
- actionSubject: ACTION_SUBJECT.EDITOR,
51
- eventType: EVENT_TYPE.OPERATIONAL,
52
- attributes
53
- }
54
- });
55
- };
56
- options.onSyncUpError = onSyncUpError;
57
- const cleanup = collabProviderCallback(initialize({
58
- view,
59
- options,
60
- providerFactory,
61
- featureFlags,
62
- editorAnalyticsApi: pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$a5 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a5 === void 0 ? void 0 : _pluginInjectionApi$a5.actions
63
- }), addErrorAnalytics);
64
- providerFactory && providerFactory.subscribe('collabEditProvider', (_name, providerPromise) => {
65
- if (providerPromise) {
66
- providerPromise.then(provider => providerResolver(provider));
67
- }
68
- });
69
- return {
70
- destroy() {
71
- providerFactory.unsubscribeAll('collabEditProvider');
72
- if (cleanup) {
73
- cleanup.then(unsubscribe => {
74
- if (unsubscribe) {
75
- unsubscribe();
76
- }
77
- });
78
- }
79
- }
80
- };
81
- }
82
- });
83
- };
@@ -1,45 +0,0 @@
1
- import { css } from '@emotion/react';
2
- import { TELEPOINTER_DIM_CLASS } from './plugin-state';
3
- import { colors } from './utils';
4
- import { relativeFontSizeToBase16 } from '@atlaskit/editor-shared-styles';
5
- const telepointerColorStyle = (color, index) => `
6
- &.color-${index} {
7
- background-color: ${color.selection};
8
- &::after {
9
- background-color: ${color.solid};
10
- color: ${"var(--ds-text-inverse, #fff)"};
11
- border-color: ${color.solid};
12
- }
13
- }
14
- `;
15
- export const telepointerStyle = css`
16
- .ProseMirror .telepointer {
17
- position: relative;
18
- transition: opacity 200ms;
19
-
20
- &.telepointer-selection {
21
- line-height: 1.2;
22
- pointer-events: none;
23
- user-select: none;
24
- }
25
-
26
- &.telepointer-selection-badge::after {
27
- content: attr(data-initial);
28
- position: absolute;
29
- display: block;
30
- top: -14px;
31
- font-size: ${relativeFontSizeToBase16(9)};
32
- padding: ${"var(--ds-space-025, 2px)"};
33
- color: ${"var(--ds-text-inverse, white)"};
34
- left: -1px;
35
- border-radius: 2px 2px 2px 0;
36
- line-height: initial;
37
- }
38
-
39
- &.${TELEPOINTER_DIM_CLASS} {
40
- opacity: 0.2;
41
- }
42
-
43
- ${colors.map((color, index) => telepointerColorStyle(color, index))};
44
- }
45
- `;
@@ -1 +0,0 @@
1
- export {};
@@ -1,38 +0,0 @@
1
- /** @jsx jsx */
2
- import React from 'react';
3
- import { jsx } from '@emotion/react';
4
- import AvatarGroup from '@atlaskit/avatar-group';
5
- import { avatarContainer } from './styles';
6
- import toAvatar from './to-avatar';
7
- import { scrollToCollabCursor } from '../utils';
8
- export const Avatars = /*#__PURE__*/React.memo(props => {
9
- const {
10
- sessionId,
11
- editorView,
12
- featureFlags
13
- } = props;
14
- const participants = props.participants.toArray();
15
- const avatars = participants.sort(p => p.sessionId === sessionId ? -1 : 1).map(toAvatar);
16
- if (!avatars.length) {
17
- return null;
18
- }
19
- return jsx("div", {
20
- css: avatarContainer
21
- }, jsx(AvatarGroup, {
22
- appearance: "stack",
23
- size: "medium",
24
- data: avatars,
25
- maxCount: 3,
26
- onAvatarClick: (_event, _analytics, index) => {
27
- if (!editorView) {
28
- return;
29
- }
30
- const allowCollabAvatarScroll = featureFlags === null || featureFlags === void 0 ? void 0 : featureFlags.collabAvatarScroll;
31
-
32
- // user does not need to scroll to their own position (index 0)
33
- if (allowCollabAvatarScroll && index > 0) {
34
- scrollToCollabCursor(editorView, participants, props.sessionId, index, props.editorAnalyticsAPI);
35
- }
36
- }
37
- }), props.children);
38
- });
@@ -1,12 +0,0 @@
1
- /** @jsx jsx */
2
- import { jsx } from '@emotion/react';
3
- import { getAvatarColor } from '../utils';
4
- import { badge } from './styles';
5
- export const ColoredAvatarItem = props => {
6
- const color = getAvatarColor(props.sessionId).color.solid;
7
- const avatar = props.name.substr(0, 1).toUpperCase();
8
- return jsx("div", {
9
- css: badge(color),
10
- "data-testid": "editor-collab-badge"
11
- }, avatar);
12
- };
@@ -1,141 +0,0 @@
1
- import { Selection, TextSelection } from '@atlaskit/editor-prosemirror/state';
2
- import { Decoration } from '@atlaskit/editor-prosemirror/view';
3
- import * as themeColors from '@atlaskit/theme/colors';
4
- import { hexToRgba } from '@atlaskit/adf-schema';
5
- import { ZERO_WIDTH_JOINER } from '@atlaskit/editor-common/utils';
6
- import { EVENT_TYPE, ACTION, ACTION_SUBJECT } from '@atlaskit/editor-common/analytics';
7
- // TODO: https://product-fabric.atlassian.net/browse/DSP-7269
8
- /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
9
- export const colors = [themeColors.R100, themeColors.R300, themeColors.R500, themeColors.Y100, themeColors.Y300, themeColors.Y500, themeColors.G100, themeColors.G300, themeColors.G500, themeColors.T100, themeColors.T300, themeColors.T500, themeColors.B100, themeColors.B300, themeColors.B500, themeColors.P100, themeColors.P300, themeColors.P500, themeColors.N70, themeColors.N200, themeColors.N800].map(solid => ({
10
- solid,
11
- selection: hexToRgba(solid, 0.2)
12
- }));
13
- /* eslint-enable @atlaskit/design-system/ensure-design-token-usage */
14
-
15
- export const getAvatarColor = str => {
16
- let hash = 0;
17
- for (let i = 0; i < str.length; i++) {
18
- /* eslint-disable no-bitwise */
19
- hash = (hash << 5) - hash + str.charCodeAt(i);
20
- hash = hash & hash;
21
- /* eslint-enable no-bitwise */
22
- }
23
-
24
- const index = Math.abs(hash) % colors.length;
25
- return {
26
- index,
27
- color: colors[index]
28
- };
29
- };
30
- export const findPointers = (id, decorations) => decorations.find().reduce((arr, deco) => deco.spec.pointer.sessionId === id ? arr.concat(deco) : arr, []);
31
- function style(options) {
32
- const color = options && options.color || 'black';
33
- return `border-left: 1px solid ${color}; border-right: 1px solid ${color}; margin-right: -2px;`;
34
- }
35
- export const createTelepointers = (from, to, sessionId, isSelection, initial) => {
36
- let decorations = [];
37
- const avatarColor = getAvatarColor(sessionId);
38
- const color = avatarColor.index.toString();
39
- if (isSelection) {
40
- const className = `telepointer color-${color} telepointer-selection`;
41
- decorations.push(Decoration.inline(from, to, {
42
- class: className,
43
- 'data-initial': initial
44
- }, {
45
- pointer: {
46
- sessionId
47
- }
48
- }));
49
- }
50
- const spaceJoinerBefore = document.createElement('span');
51
- spaceJoinerBefore.textContent = ZERO_WIDTH_JOINER;
52
- const spaceJoinerAfter = document.createElement('span');
53
- spaceJoinerAfter.textContent = ZERO_WIDTH_JOINER;
54
- const cursor = document.createElement('span');
55
- cursor.textContent = ZERO_WIDTH_JOINER;
56
- cursor.className = `telepointer color-${color} telepointer-selection-badge`;
57
- cursor.style.cssText = `${style({
58
- color: avatarColor.color.solid
59
- })};`;
60
- cursor.setAttribute('data-initial', initial);
61
- return decorations.concat(Decoration.widget(to, spaceJoinerAfter, {
62
- pointer: {
63
- sessionId
64
- },
65
- key: `telepointer-${sessionId}-zero`
66
- })).concat(Decoration.widget(to, cursor, {
67
- pointer: {
68
- sessionId
69
- },
70
- key: `telepointer-${sessionId}`
71
- })).concat(Decoration.widget(to, spaceJoinerBefore, {
72
- pointer: {
73
- sessionId
74
- },
75
- key: `telepointer-${sessionId}-zero`
76
- }));
77
- };
78
- export const replaceDocument = (doc, state, version, options, reserveCursor) => {
79
- const {
80
- schema,
81
- tr
82
- } = state;
83
- let content = (doc.content || []).map(child => schema.nodeFromJSON(child));
84
- let hasContent = !!content.length;
85
- if (hasContent) {
86
- tr.setMeta('addToHistory', false);
87
- tr.replaceWith(0, state.doc.nodeSize - 2, content);
88
- const selection = state.selection;
89
- if (reserveCursor) {
90
- // If the cursor is still in the range of the new document,
91
- // keep where it was.
92
- if (selection.to < tr.doc.content.size - 2) {
93
- const $from = tr.doc.resolve(selection.from);
94
- const $to = tr.doc.resolve(selection.to);
95
- const newselection = new TextSelection($from, $to);
96
- tr.setSelection(newselection);
97
- }
98
- } else {
99
- tr.setSelection(Selection.atStart(tr.doc));
100
- }
101
- tr.setMeta('replaceDocument', true);
102
- if (typeof version !== undefined && options && options.useNativePlugin) {
103
- const collabState = {
104
- version,
105
- unconfirmed: []
106
- };
107
- tr.setMeta('collab$', collabState);
108
- }
109
- }
110
- return tr;
111
- };
112
- export const scrollToCollabCursor = (editorView, participants, sessionId, index, editorAnalyticsAPI) => {
113
- const selectedUser = participants[index];
114
- if (selectedUser && selectedUser.cursorPos !== undefined && selectedUser.sessionId !== sessionId) {
115
- const {
116
- state
117
- } = editorView;
118
- let tr = state.tr;
119
- const analyticsPayload = {
120
- action: ACTION.MATCHED,
121
- actionSubject: ACTION_SUBJECT.SELECTION,
122
- eventType: EVENT_TYPE.TRACK
123
- };
124
- tr.setSelection(Selection.near(tr.doc.resolve(selectedUser.cursorPos)));
125
- editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 ? void 0 : editorAnalyticsAPI.attachAnalyticsEvent(analyticsPayload)(tr);
126
- tr.scrollIntoView();
127
- editorView.dispatch(tr);
128
- if (!editorView.hasFocus()) {
129
- editorView.focus();
130
- }
131
- }
132
- };
133
- export const getPositionOfTelepointer = (sessionId, decorationSet) => {
134
- let scrollPosition;
135
- decorationSet.find().forEach(deco => {
136
- if (deco.type.spec.pointer.sessionId === sessionId) {
137
- scrollPosition = deco.from;
138
- }
139
- });
140
- return scrollPosition;
141
- };
@@ -1,62 +0,0 @@
1
- import React from 'react';
2
- import ReactNodeView from '@atlaskit/editor-common/react-node-view';
3
- import Extension from '../ui/Extension';
4
- import ExtensionNodeWrapper from '../ui/Extension/ExtensionNodeWrapper';
5
- // getInlineNodeViewProducer is a new api to use instead of ReactNodeView
6
- // when creating inline node views, however, it is difficult to test the impact
7
- // on selections when migrating inlineExtension to use the new api.
8
- // The ReactNodeView api will be visited in the second phase of the selections
9
- // project whilst investigating block nodes. We will revisit the Extension node view there too.
10
- export class ExtensionNode extends ReactNodeView {
11
- ignoreMutation(mutation) {
12
- // Extensions can perform async operations that will change the DOM.
13
- // To avoid having their tree rebuilt, we need to ignore the mutation
14
- // for atom based extensions if its not a layout, we need to give
15
- // children a chance to recalc
16
- return this.node.type.isAtom || mutation.type !== 'selection' && mutation.attributeName !== 'data-layout';
17
- }
18
- getContentDOM() {
19
- if (this.node.isInline) {
20
- return;
21
- }
22
- const dom = document.createElement('div');
23
- dom.className = `${this.node.type.name}-content-dom-wrapper`;
24
- return {
25
- dom
26
- };
27
- }
28
- render(props, forwardRef) {
29
- var _props$extensionNodeV;
30
- return /*#__PURE__*/React.createElement(ExtensionNodeWrapper, {
31
- nodeType: this.node.type.name
32
- }, /*#__PURE__*/React.createElement(Extension, {
33
- editorView: this.view,
34
- node: this.node,
35
- eventDispatcher: this.eventDispatcher
36
- // The getPos arg is always a function when used with nodes
37
- // the version of the types we use has a union with the type
38
- // for marks.
39
- // This has been fixed in later versions of the definitly typed
40
- // types (and also in prosmirror-views inbuilt types).
41
- // https://github.com/DefinitelyTyped/DefinitelyTyped/pull/57384
42
- ,
43
- getPos: this.getPos,
44
- providerFactory: props.providerFactory,
45
- handleContentDOMRef: forwardRef,
46
- extensionHandlers: props.extensionHandlers,
47
- editorAppearance: (_props$extensionNodeV = props.extensionNodeViewOptions) === null || _props$extensionNodeV === void 0 ? void 0 : _props$extensionNodeV.appearance,
48
- pluginInjectionApi: props.pluginInjectionApi
49
- }));
50
- }
51
- }
52
- export default function ExtensionNodeView(portalProviderAPI, eventDispatcher, providerFactory, extensionHandlers, extensionNodeViewOptions, pluginInjectionApi) {
53
- return (node, view, getPos) => {
54
- const hasIntlContext = true;
55
- return new ExtensionNode(node, view, getPos, portalProviderAPI, eventDispatcher, {
56
- providerFactory,
57
- extensionHandlers,
58
- extensionNodeViewOptions,
59
- pluginInjectionApi
60
- }, undefined, undefined, undefined, hasIntlContext).init();
61
- };
62
- }