@atlaskit/editor-core 172.1.1 → 172.2.0

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 (541) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/cjs/analytics-api/api.js +38 -0
  3. package/dist/cjs/analytics-api/attach-payload-into-transaction.js +36 -0
  4. package/dist/cjs/analytics-api/editor-state-context.js +96 -0
  5. package/dist/cjs/analytics-api/map-attributes.js +30 -0
  6. package/dist/cjs/create-editor/ReactEditorView.js +47 -6
  7. package/dist/cjs/create-editor/ReactEditorViewContext.js +2 -6
  8. package/dist/cjs/create-editor/create-plugins-list.js +12 -3
  9. package/dist/cjs/event-dispatcher/index.js +12 -81
  10. package/dist/cjs/insert-api/api.js +48 -0
  11. package/dist/cjs/insert-api/insert-content-handlers.js +101 -0
  12. package/dist/cjs/insert-api/insert-node-helpers.js +157 -0
  13. package/dist/cjs/{plugins/analytics/types/avatar.js → insert-api/types.js} +0 -0
  14. package/dist/cjs/keymaps/index.js +437 -288
  15. package/dist/cjs/messages.js +8 -125
  16. package/dist/cjs/plugins/analytics/index.js +26 -26
  17. package/dist/cjs/plugins/analytics/types/enums.js +49 -344
  18. package/dist/cjs/plugins/analytics/types/extension-events.js +19 -26
  19. package/dist/cjs/plugins/analytics/types/general-events.js +25 -34
  20. package/dist/cjs/plugins/analytics/types/index.js +10 -56
  21. package/dist/cjs/plugins/analytics/types/inline-comment-events.js +7 -8
  22. package/dist/cjs/plugins/analytics/types/node-events.js +13 -20
  23. package/dist/cjs/plugins/analytics/types/smart-links.js +8 -14
  24. package/dist/cjs/plugins/analytics/types/toolbar-button.js +7 -20
  25. package/dist/cjs/plugins/analytics/utils.js +37 -127
  26. package/dist/cjs/plugins/expand/utils.js +18 -45
  27. package/dist/cjs/plugins/extension/actions.js +10 -30
  28. package/dist/cjs/plugins/extension/ui/Extension/styles.js +18 -8
  29. package/dist/cjs/plugins/insert-block/index.js +1 -0
  30. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/index.js +31 -22
  31. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/messages.js +6 -170
  32. package/dist/cjs/plugins/layout/styles.js +14 -6
  33. package/dist/cjs/plugins/layout/utils.js +25 -66
  34. package/dist/cjs/plugins/media/nodeviews/mediaSingle.js +10 -0
  35. package/dist/cjs/plugins/paste/handlers.js +19 -15
  36. package/dist/cjs/plugins/paste/util/index.js +30 -1
  37. package/dist/cjs/plugins/selection/gap-cursor/selection.js +23 -188
  38. package/dist/cjs/plugins/selection/gap-cursor/utils/is-ignored.js +7 -8
  39. package/dist/cjs/plugins/selection/gap-cursor/utils/is-valid-target-node.js +7 -8
  40. package/dist/cjs/plugins/selection/gap-cursor/utils.js +6 -6
  41. package/dist/cjs/plugins/selection/gap-cursor-selection.js +1 -1
  42. package/dist/cjs/plugins/selection/types.js +9 -11
  43. package/dist/cjs/plugins/selection/utils.js +2 -2
  44. package/dist/cjs/plugins/table/commands/go-to-next-cell.js +40 -38
  45. package/dist/cjs/plugins/table/commands/insert.js +57 -49
  46. package/dist/cjs/plugins/table/commands/selection.js +302 -218
  47. package/dist/cjs/plugins/table/commands-with-analytics.js +241 -219
  48. package/dist/cjs/plugins/table/event-handlers.js +60 -60
  49. package/dist/cjs/plugins/table/index.js +64 -20
  50. package/dist/cjs/plugins/table/nodeviews/TableComponent.js +20 -22
  51. package/dist/cjs/plugins/table/nodeviews/table.js +19 -11
  52. package/dist/cjs/plugins/table/nodeviews/tableCell.js +11 -13
  53. package/dist/cjs/plugins/table/nodeviews/update-overflow-shadows.js +25 -25
  54. package/dist/cjs/plugins/table/pm-plugins/keymap.js +15 -13
  55. package/dist/cjs/plugins/table/pm-plugins/main.js +8 -8
  56. package/dist/cjs/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +4 -8
  57. package/dist/cjs/plugins/table/pm-plugins/sticky-headers/plugin.js +2 -1
  58. package/dist/cjs/plugins/table/pm-plugins/table-resizing/event-handlers.js +7 -10
  59. package/dist/cjs/plugins/table/pm-plugins/table-resizing/plugin.js +2 -2
  60. package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/dom.js +30 -28
  61. package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/misc.js +4 -7
  62. package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +3 -2
  63. package/dist/cjs/plugins/table/pm-plugins/table-selection-keymap.js +3 -3
  64. package/dist/cjs/plugins/table/toolbar.js +74 -72
  65. package/dist/cjs/plugins/table/transforms/column-width.js +41 -38
  66. package/dist/cjs/plugins/table/transforms/replace-table.js +4 -4
  67. package/dist/cjs/plugins/table/ui/FloatingContextualButton/index.js +2 -4
  68. package/dist/cjs/plugins/table/ui/FloatingContextualMenu/ContextualMenu.js +25 -21
  69. package/dist/cjs/plugins/table/ui/FloatingContextualMenu/index.js +6 -2
  70. package/dist/cjs/plugins/table/ui/FloatingDeleteButton/index.js +7 -4
  71. package/dist/cjs/plugins/table/ui/FloatingInsertButton/index.js +12 -11
  72. package/dist/cjs/plugins/table/ui/LayoutButton/index.js +2 -2
  73. package/dist/cjs/plugins/table/ui/TableFloatingControls/index.js +4 -6
  74. package/dist/cjs/plugins/table/ui/common-styles.js +3 -3
  75. package/dist/cjs/plugins/table/utils/analytics.js +26 -1
  76. package/dist/cjs/plugins/table/utils/index.js +0 -6
  77. package/dist/cjs/selection-api/api.js +34 -0
  78. package/dist/cjs/types/browser.js +1 -2
  79. package/dist/cjs/ui/ColorPalette/Color/index.js +2 -106
  80. package/dist/cjs/ui/ColorPalette/Palettes/cellBackgroundColorPalette.js +2 -21
  81. package/dist/cjs/ui/ColorPalette/Palettes/common.js +7 -25
  82. package/dist/cjs/ui/ColorPalette/Palettes/paletteMessages.js +2 -114
  83. package/dist/cjs/ui/ColorPalette/Palettes/panelBackgroundPalette.js +12 -152
  84. package/dist/cjs/ui/ColorPalette/Palettes/statusColorPalette.js +13 -61
  85. package/dist/cjs/ui/ColorPalette/Palettes/textColorPalette.js +12 -34
  86. package/dist/cjs/ui/ColorPalette/index.js +2 -76
  87. package/dist/cjs/ui/Dropdown/index.js +3 -119
  88. package/dist/cjs/ui/DropdownMenu/index.js +3 -286
  89. package/dist/cjs/ui/Toolbar/types.js +19 -33
  90. package/dist/cjs/ui/ToolbarButton/index.js +8 -120
  91. package/dist/cjs/ui/WithPluginState/index.js +1 -3
  92. package/dist/cjs/ui/styles.js +35 -27
  93. package/dist/cjs/ui/with-outer-listeners.js +4 -152
  94. package/dist/cjs/utils/dom.js +46 -123
  95. package/dist/cjs/utils/index.js +40 -42
  96. package/dist/cjs/utils/node-width.js +7 -79
  97. package/dist/cjs/utils/nodes.js +57 -124
  98. package/dist/cjs/utils/plugin-state-factory.js +7 -107
  99. package/dist/cjs/utils/selection.js +11 -62
  100. package/dist/cjs/utils/slice.js +28 -68
  101. package/dist/cjs/utils/step.js +18 -46
  102. package/dist/cjs/version-wrapper.js +1 -1
  103. package/dist/cjs/version.json +1 -1
  104. package/dist/es2019/analytics-api/api.js +30 -0
  105. package/dist/es2019/analytics-api/attach-payload-into-transaction.js +25 -0
  106. package/dist/es2019/analytics-api/editor-state-context.js +85 -0
  107. package/dist/es2019/analytics-api/map-attributes.js +14 -0
  108. package/dist/es2019/create-editor/ReactEditorView.js +33 -4
  109. package/dist/es2019/create-editor/ReactEditorViewContext.js +1 -2
  110. package/dist/es2019/create-editor/create-plugins-list.js +13 -4
  111. package/dist/es2019/event-dispatcher/index.js +1 -60
  112. package/dist/es2019/insert-api/api.js +43 -0
  113. package/dist/es2019/insert-api/insert-content-handlers.js +85 -0
  114. package/dist/es2019/insert-api/insert-node-helpers.js +149 -0
  115. package/dist/es2019/{plugins/analytics/types/avatar.js → insert-api/types.js} +0 -0
  116. package/dist/es2019/keymaps/index.js +1 -186
  117. package/dist/es2019/messages.js +2 -123
  118. package/dist/es2019/plugins/analytics/index.js +1 -1
  119. package/dist/es2019/plugins/analytics/types/enums.js +1 -336
  120. package/dist/es2019/plugins/analytics/types/extension-events.js +1 -22
  121. package/dist/es2019/plugins/analytics/types/general-events.js +1 -30
  122. package/dist/es2019/plugins/analytics/types/index.js +1 -6
  123. package/dist/es2019/plugins/analytics/types/inline-comment-events.js +1 -7
  124. package/dist/es2019/plugins/analytics/types/node-events.js +1 -18
  125. package/dist/es2019/plugins/analytics/types/smart-links.js +1 -12
  126. package/dist/es2019/plugins/analytics/types/toolbar-button.js +1 -19
  127. package/dist/es2019/plugins/analytics/utils.js +12 -113
  128. package/dist/es2019/plugins/expand/utils.js +1 -36
  129. package/dist/es2019/plugins/extension/actions.js +1 -26
  130. package/dist/es2019/plugins/extension/ui/Extension/styles.js +2 -3
  131. package/dist/es2019/plugins/insert-block/index.js +1 -0
  132. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/index.js +22 -12
  133. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/messages.js +1 -168
  134. package/dist/es2019/plugins/layout/styles.js +2 -3
  135. package/dist/es2019/plugins/layout/utils.js +1 -54
  136. package/dist/es2019/plugins/media/nodeviews/mediaSingle.js +10 -0
  137. package/dist/es2019/plugins/paste/handlers.js +8 -4
  138. package/dist/es2019/plugins/paste/util/index.js +23 -0
  139. package/dist/es2019/plugins/selection/gap-cursor/selection.js +1 -136
  140. package/dist/es2019/plugins/selection/gap-cursor/utils/is-ignored.js +1 -5
  141. package/dist/es2019/plugins/selection/gap-cursor/utils/is-valid-target-node.js +1 -4
  142. package/dist/es2019/plugins/selection/gap-cursor/utils.js +4 -4
  143. package/dist/es2019/plugins/selection/gap-cursor-selection.js +1 -1
  144. package/dist/es2019/plugins/selection/types.js +2 -9
  145. package/dist/es2019/plugins/selection/utils.js +1 -1
  146. package/dist/es2019/plugins/table/commands/go-to-next-cell.js +4 -4
  147. package/dist/es2019/plugins/table/commands/insert.js +26 -24
  148. package/dist/es2019/plugins/table/commands/selection.js +109 -51
  149. package/dist/es2019/plugins/table/commands-with-analytics.js +39 -38
  150. package/dist/es2019/plugins/table/event-handlers.js +6 -7
  151. package/dist/es2019/plugins/table/index.js +56 -16
  152. package/dist/es2019/plugins/table/nodeviews/TableComponent.js +11 -12
  153. package/dist/es2019/plugins/table/nodeviews/table.js +18 -8
  154. package/dist/es2019/plugins/table/nodeviews/tableCell.js +2 -3
  155. package/dist/es2019/plugins/table/nodeviews/update-overflow-shadows.js +3 -4
  156. package/dist/es2019/plugins/table/pm-plugins/keymap.js +13 -12
  157. package/dist/es2019/plugins/table/pm-plugins/main.js +8 -8
  158. package/dist/es2019/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +4 -6
  159. package/dist/es2019/plugins/table/pm-plugins/sticky-headers/plugin.js +2 -2
  160. package/dist/es2019/plugins/table/pm-plugins/table-resizing/event-handlers.js +7 -8
  161. package/dist/es2019/plugins/table/pm-plugins/table-resizing/plugin.js +2 -2
  162. package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/dom.js +2 -2
  163. package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/misc.js +4 -4
  164. package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +3 -2
  165. package/dist/es2019/plugins/table/pm-plugins/table-selection-keymap.js +3 -3
  166. package/dist/es2019/plugins/table/toolbar.js +24 -24
  167. package/dist/es2019/plugins/table/transforms/column-width.js +3 -2
  168. package/dist/es2019/plugins/table/transforms/replace-table.js +4 -4
  169. package/dist/es2019/plugins/table/ui/FloatingContextualButton/index.js +2 -2
  170. package/dist/es2019/plugins/table/ui/FloatingContextualMenu/ContextualMenu.js +19 -16
  171. package/dist/es2019/plugins/table/ui/FloatingContextualMenu/index.js +6 -2
  172. package/dist/es2019/plugins/table/ui/FloatingDeleteButton/index.js +8 -4
  173. package/dist/es2019/plugins/table/ui/FloatingInsertButton/index.js +9 -6
  174. package/dist/es2019/plugins/table/ui/LayoutButton/index.js +2 -2
  175. package/dist/es2019/plugins/table/ui/TableFloatingControls/index.js +2 -3
  176. package/dist/es2019/plugins/table/ui/common-styles.js +1 -1
  177. package/dist/es2019/plugins/table/utils/analytics.js +16 -1
  178. package/dist/es2019/plugins/table/utils/index.js +1 -1
  179. package/dist/es2019/selection-api/api.js +22 -0
  180. package/dist/es2019/types/browser.js +0 -1
  181. package/dist/es2019/ui/ColorPalette/Color/index.js +1 -66
  182. package/dist/es2019/ui/ColorPalette/Palettes/cellBackgroundColorPalette.js +1 -14
  183. package/dist/es2019/ui/ColorPalette/Palettes/common.js +1 -20
  184. package/dist/es2019/ui/ColorPalette/Palettes/paletteMessages.js +2 -113
  185. package/dist/es2019/ui/ColorPalette/Palettes/panelBackgroundPalette.js +1 -137
  186. package/dist/es2019/ui/ColorPalette/Palettes/statusColorPalette.js +1 -51
  187. package/dist/es2019/ui/ColorPalette/Palettes/textColorPalette.js +1 -25
  188. package/dist/es2019/ui/ColorPalette/index.js +2 -62
  189. package/dist/es2019/ui/Dropdown/index.js +2 -84
  190. package/dist/es2019/ui/DropdownMenu/index.js +2 -244
  191. package/dist/es2019/ui/Toolbar/types.js +1 -30
  192. package/dist/es2019/ui/ToolbarButton/index.js +2 -94
  193. package/dist/es2019/ui/WithPluginState/index.js +1 -1
  194. package/dist/es2019/ui/styles.js +9 -47
  195. package/dist/es2019/ui/with-outer-listeners.js +2 -104
  196. package/dist/es2019/utils/dom.js +1 -113
  197. package/dist/es2019/utils/index.js +2 -21
  198. package/dist/es2019/utils/node-width.js +1 -75
  199. package/dist/es2019/utils/nodes.js +1 -88
  200. package/dist/es2019/utils/plugin-state-factory.js +1 -107
  201. package/dist/es2019/utils/selection.js +2 -52
  202. package/dist/es2019/utils/slice.js +1 -56
  203. package/dist/es2019/utils/step.js +1 -35
  204. package/dist/es2019/version-wrapper.js +1 -1
  205. package/dist/es2019/version.json +1 -1
  206. package/dist/esm/analytics-api/api.js +27 -0
  207. package/dist/esm/analytics-api/attach-payload-into-transaction.js +22 -0
  208. package/dist/esm/analytics-api/editor-state-context.js +81 -0
  209. package/dist/esm/analytics-api/map-attributes.js +20 -0
  210. package/dist/esm/create-editor/ReactEditorView.js +44 -6
  211. package/dist/esm/create-editor/ReactEditorViewContext.js +1 -2
  212. package/dist/esm/create-editor/create-plugins-list.js +15 -4
  213. package/dist/esm/event-dispatcher/index.js +1 -74
  214. package/dist/esm/insert-api/api.js +37 -0
  215. package/dist/esm/insert-api/insert-content-handlers.js +88 -0
  216. package/dist/esm/insert-api/insert-node-helpers.js +138 -0
  217. package/dist/{es2019/plugins/analytics/types/config-panel-events.js → esm/insert-api/types.js} +0 -0
  218. package/dist/esm/keymaps/index.js +1 -184
  219. package/dist/esm/messages.js +2 -123
  220. package/dist/esm/plugins/analytics/index.js +1 -1
  221. package/dist/esm/plugins/analytics/types/enums.js +1 -336
  222. package/dist/esm/plugins/analytics/types/extension-events.js +1 -22
  223. package/dist/esm/plugins/analytics/types/general-events.js +1 -30
  224. package/dist/esm/plugins/analytics/types/index.js +1 -6
  225. package/dist/esm/plugins/analytics/types/inline-comment-events.js +1 -7
  226. package/dist/esm/plugins/analytics/types/node-events.js +1 -18
  227. package/dist/esm/plugins/analytics/types/smart-links.js +1 -12
  228. package/dist/esm/plugins/analytics/types/toolbar-button.js +1 -19
  229. package/dist/esm/plugins/analytics/utils.js +12 -113
  230. package/dist/esm/plugins/expand/utils.js +1 -34
  231. package/dist/esm/plugins/extension/actions.js +1 -24
  232. package/dist/esm/plugins/extension/ui/Extension/styles.js +2 -3
  233. package/dist/esm/plugins/insert-block/index.js +1 -0
  234. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/index.js +22 -12
  235. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/messages.js +1 -168
  236. package/dist/esm/plugins/layout/styles.js +2 -3
  237. package/dist/esm/plugins/layout/utils.js +1 -58
  238. package/dist/esm/plugins/media/nodeviews/mediaSingle.js +10 -0
  239. package/dist/esm/plugins/paste/handlers.js +8 -4
  240. package/dist/esm/plugins/paste/util/index.js +23 -0
  241. package/dist/esm/plugins/selection/gap-cursor/selection.js +1 -176
  242. package/dist/esm/plugins/selection/gap-cursor/utils/is-ignored.js +1 -5
  243. package/dist/esm/plugins/selection/gap-cursor/utils/is-valid-target-node.js +1 -4
  244. package/dist/esm/plugins/selection/gap-cursor/utils.js +4 -4
  245. package/dist/esm/plugins/selection/gap-cursor-selection.js +1 -1
  246. package/dist/esm/plugins/selection/types.js +2 -9
  247. package/dist/esm/plugins/selection/utils.js +1 -1
  248. package/dist/esm/plugins/table/commands/go-to-next-cell.js +34 -32
  249. package/dist/esm/plugins/table/commands/insert.js +57 -49
  250. package/dist/esm/plugins/table/commands/selection.js +303 -215
  251. package/dist/esm/plugins/table/commands-with-analytics.js +241 -220
  252. package/dist/esm/plugins/table/event-handlers.js +60 -59
  253. package/dist/esm/plugins/table/index.js +62 -18
  254. package/dist/esm/plugins/table/nodeviews/TableComponent.js +20 -21
  255. package/dist/esm/plugins/table/nodeviews/table.js +19 -9
  256. package/dist/esm/plugins/table/nodeviews/tableCell.js +11 -12
  257. package/dist/esm/plugins/table/nodeviews/update-overflow-shadows.js +25 -24
  258. package/dist/esm/plugins/table/pm-plugins/keymap.js +14 -13
  259. package/dist/esm/plugins/table/pm-plugins/main.js +8 -8
  260. package/dist/esm/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +4 -6
  261. package/dist/esm/plugins/table/pm-plugins/sticky-headers/plugin.js +2 -1
  262. package/dist/esm/plugins/table/pm-plugins/table-resizing/event-handlers.js +7 -8
  263. package/dist/esm/plugins/table/pm-plugins/table-resizing/plugin.js +2 -2
  264. package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/dom.js +30 -28
  265. package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/misc.js +4 -4
  266. package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +3 -2
  267. package/dist/esm/plugins/table/pm-plugins/table-selection-keymap.js +3 -3
  268. package/dist/esm/plugins/table/toolbar.js +75 -73
  269. package/dist/esm/plugins/table/transforms/column-width.js +41 -38
  270. package/dist/esm/plugins/table/transforms/replace-table.js +4 -4
  271. package/dist/esm/plugins/table/ui/FloatingContextualButton/index.js +2 -2
  272. package/dist/esm/plugins/table/ui/FloatingContextualMenu/ContextualMenu.js +25 -21
  273. package/dist/esm/plugins/table/ui/FloatingContextualMenu/index.js +6 -2
  274. package/dist/esm/plugins/table/ui/FloatingDeleteButton/index.js +6 -4
  275. package/dist/esm/plugins/table/ui/FloatingInsertButton/index.js +9 -6
  276. package/dist/esm/plugins/table/ui/LayoutButton/index.js +2 -2
  277. package/dist/esm/plugins/table/ui/TableFloatingControls/index.js +4 -5
  278. package/dist/esm/plugins/table/ui/common-styles.js +1 -1
  279. package/dist/esm/plugins/table/utils/analytics.js +22 -1
  280. package/dist/esm/plugins/table/utils/index.js +1 -1
  281. package/dist/esm/selection-api/api.js +23 -0
  282. package/dist/esm/types/browser.js +0 -1
  283. package/dist/esm/ui/ColorPalette/Color/index.js +1 -93
  284. package/dist/esm/ui/ColorPalette/Palettes/cellBackgroundColorPalette.js +1 -14
  285. package/dist/esm/ui/ColorPalette/Palettes/common.js +1 -19
  286. package/dist/esm/ui/ColorPalette/Palettes/paletteMessages.js +2 -113
  287. package/dist/esm/ui/ColorPalette/Palettes/panelBackgroundPalette.js +1 -147
  288. package/dist/esm/ui/ColorPalette/Palettes/statusColorPalette.js +1 -51
  289. package/dist/esm/ui/ColorPalette/Palettes/textColorPalette.js +1 -25
  290. package/dist/esm/ui/ColorPalette/index.js +2 -64
  291. package/dist/esm/ui/Dropdown/index.js +2 -106
  292. package/dist/esm/ui/DropdownMenu/index.js +2 -265
  293. package/dist/esm/ui/Toolbar/types.js +1 -30
  294. package/dist/esm/ui/ToolbarButton/index.js +2 -102
  295. package/dist/esm/ui/WithPluginState/index.js +1 -1
  296. package/dist/esm/ui/styles.js +17 -20
  297. package/dist/esm/ui/with-outer-listeners.js +2 -139
  298. package/dist/esm/utils/dom.js +1 -113
  299. package/dist/esm/utils/index.js +5 -23
  300. package/dist/esm/utils/node-width.js +1 -73
  301. package/dist/esm/utils/nodes.js +1 -100
  302. package/dist/esm/utils/plugin-state-factory.js +1 -106
  303. package/dist/esm/utils/selection.js +2 -50
  304. package/dist/esm/utils/slice.js +1 -59
  305. package/dist/esm/utils/step.js +1 -37
  306. package/dist/esm/version-wrapper.js +1 -1
  307. package/dist/esm/version.json +1 -1
  308. package/dist/types/actions/index.d.ts +2 -16
  309. package/dist/types/analytics-api/api.d.ts +9 -0
  310. package/dist/types/analytics-api/attach-payload-into-transaction.d.ts +10 -0
  311. package/dist/types/analytics-api/editor-state-context.d.ts +9 -0
  312. package/dist/types/analytics-api/map-attributes.d.ts +2 -0
  313. package/dist/types/create-editor/ReactEditorView.d.ts +1 -0
  314. package/dist/types/create-editor/ReactEditorViewContext.d.ts +1 -7
  315. package/dist/types/create-editor/create-plugins-list.d.ts +5 -1
  316. package/dist/types/event-dispatcher/index.d.ts +2 -19
  317. package/dist/types/insert-api/api.d.ts +9 -0
  318. package/dist/types/insert-api/insert-content-handlers.d.ts +9 -0
  319. package/dist/types/insert-api/insert-node-helpers.d.ts +30 -0
  320. package/dist/types/insert-api/types.d.ts +16 -0
  321. package/dist/types/keymaps/index.d.ts +2 -89
  322. package/dist/types/labs/next/presets/cxhtml.d.ts +1 -1
  323. package/dist/types/labs/next/presets/mobile.d.ts +1 -1
  324. package/dist/types/messages.d.ts +2 -124
  325. package/dist/types/plugins/analytics/index.d.ts +2 -2
  326. package/dist/types/plugins/analytics/types/dispatch-analytics-event.d.ts +1 -2
  327. package/dist/types/plugins/analytics/types/enums.d.ts +1 -313
  328. package/dist/types/plugins/analytics/types/events.d.ts +1 -111
  329. package/dist/types/plugins/analytics/types/experimental-events.d.ts +1 -17
  330. package/dist/types/plugins/analytics/types/extension-events.d.ts +2 -43
  331. package/dist/types/plugins/analytics/types/general-events.d.ts +2 -179
  332. package/dist/types/plugins/analytics/types/index.d.ts +4 -14
  333. package/dist/types/plugins/analytics/types/inline-comment-events.d.ts +2 -17
  334. package/dist/types/plugins/analytics/types/link-tool-bar-events.d.ts +1 -76
  335. package/dist/types/plugins/analytics/types/media-events.d.ts +1 -16
  336. package/dist/types/plugins/analytics/types/node-events.d.ts +2 -56
  337. package/dist/types/plugins/analytics/types/selection-events.d.ts +1 -18
  338. package/dist/types/plugins/analytics/types/smart-links.d.ts +2 -13
  339. package/dist/types/plugins/analytics/types/toolbar-button.d.ts +2 -22
  340. package/dist/types/plugins/analytics/types/type-ahead.d.ts +1 -27
  341. package/dist/types/plugins/analytics/utils.d.ts +3 -8
  342. package/dist/types/plugins/annotation/pm-plugins/plugin-factory.d.ts +1 -1
  343. package/dist/types/plugins/card/pm-plugins/util/state.d.ts +1 -1
  344. package/dist/types/plugins/code-bidi-warning/pm-plugins/plugin-factory.d.ts +1 -1
  345. package/dist/types/plugins/context-panel/types.d.ts +1 -3
  346. package/dist/types/plugins/expand/pm-plugins/plugin-factory.d.ts +1 -1
  347. package/dist/types/plugins/expand/utils.d.ts +1 -5
  348. package/dist/types/plugins/extension/actions.d.ts +2 -6
  349. package/dist/types/plugins/extension/commands.d.ts +7 -7
  350. package/dist/types/plugins/extension/plugin-factory.d.ts +2 -2
  351. package/dist/types/plugins/extension/ui/Extension/styles.d.ts +2 -2
  352. package/dist/types/plugins/find-replace/commands.d.ts +7 -7
  353. package/dist/types/plugins/find-replace/plugin.d.ts +1 -1
  354. package/dist/types/plugins/floating-toolbar/pm-plugins/toolbar-data/plugin-factory.d.ts +1 -1
  355. package/dist/types/plugins/floating-toolbar/types.d.ts +1 -153
  356. package/dist/types/plugins/floating-toolbar/ui/Button.d.ts +2 -1
  357. package/dist/types/plugins/floating-toolbar/ui/Select.d.ts +2 -12
  358. package/dist/types/plugins/floating-toolbar/ui/types.d.ts +1 -20
  359. package/dist/types/plugins/insert-block/index.d.ts +2 -0
  360. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/messages.d.ts +1 -167
  361. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/types.d.ts +3 -1
  362. package/dist/types/plugins/layout/styles.d.ts +2 -2
  363. package/dist/types/plugins/layout/utils.d.ts +1 -15
  364. package/dist/types/plugins/media/commands/linking.d.ts +3 -3
  365. package/dist/types/plugins/media/nodeviews/mediaNodeView/index.d.ts +1 -1
  366. package/dist/types/plugins/media/nodeviews/mediaSingle.d.ts +1 -1
  367. package/dist/types/plugins/media/pm-plugins/alt-text/commands.d.ts +2 -2
  368. package/dist/types/plugins/media/pm-plugins/alt-text/index.d.ts +1 -1
  369. package/dist/types/plugins/media/pm-plugins/linking/index.d.ts +1 -1
  370. package/dist/types/plugins/mobile-dimensions/commands.d.ts +4 -4
  371. package/dist/types/plugins/mobile-dimensions/plugin-factory.d.ts +1 -1
  372. package/dist/types/plugins/paste/util/index.d.ts +2 -1
  373. package/dist/types/plugins/selection/commands.d.ts +1 -1
  374. package/dist/types/plugins/selection/gap-cursor/selection.d.ts +1 -40
  375. package/dist/types/plugins/selection/gap-cursor/utils/is-ignored.d.ts +1 -2
  376. package/dist/types/plugins/selection/gap-cursor/utils/is-valid-target-node.d.ts +1 -2
  377. package/dist/types/plugins/selection/gap-cursor-selection.d.ts +1 -1
  378. package/dist/types/plugins/selection/plugin-factory.d.ts +1 -1
  379. package/dist/types/plugins/selection/types.d.ts +4 -19
  380. package/dist/types/plugins/table/commands/go-to-next-cell.d.ts +3 -2
  381. package/dist/types/plugins/table/commands/hover.d.ts +7 -7
  382. package/dist/types/plugins/table/commands/insert.d.ts +5 -4
  383. package/dist/types/plugins/table/commands/misc.d.ts +8 -8
  384. package/dist/types/plugins/table/commands/selection.d.ts +4 -3
  385. package/dist/types/plugins/table/commands/toggle.d.ts +1 -1
  386. package/dist/types/plugins/table/commands-with-analytics.d.ts +21 -19
  387. package/dist/types/plugins/table/event-handlers.d.ts +4 -2
  388. package/dist/types/plugins/table/index.d.ts +7 -0
  389. package/dist/types/plugins/table/nodeviews/TableComponent.d.ts +4 -2
  390. package/dist/types/plugins/table/nodeviews/table.d.ts +2 -1
  391. package/dist/types/plugins/table/nodeviews/tableCell.d.ts +2 -1
  392. package/dist/types/plugins/table/nodeviews/types.d.ts +3 -0
  393. package/dist/types/plugins/table/nodeviews/update-overflow-shadows.d.ts +2 -1
  394. package/dist/types/plugins/table/pm-plugins/keymap.d.ts +3 -1
  395. package/dist/types/plugins/table/pm-plugins/main.d.ts +4 -2
  396. package/dist/types/plugins/table/pm-plugins/plugin-factory.d.ts +1 -1
  397. package/dist/types/plugins/table/pm-plugins/sticky-headers/commands.d.ts +2 -2
  398. package/dist/types/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.d.ts +2 -1
  399. package/dist/types/plugins/table/pm-plugins/sticky-headers/plugin-state.d.ts +1 -1
  400. package/dist/types/plugins/table/pm-plugins/sticky-headers/plugin.d.ts +2 -1
  401. package/dist/types/plugins/table/pm-plugins/table-resizing/commands.d.ts +4 -4
  402. package/dist/types/plugins/table/pm-plugins/table-resizing/event-handlers.d.ts +3 -1
  403. package/dist/types/plugins/table/pm-plugins/table-resizing/plugin-factory.d.ts +2 -2
  404. package/dist/types/plugins/table/pm-plugins/table-resizing/plugin.d.ts +3 -1
  405. package/dist/types/plugins/table/pm-plugins/table-resizing/utils/dom.d.ts +2 -1
  406. package/dist/types/plugins/table/pm-plugins/table-resizing/utils/misc.d.ts +3 -1
  407. package/dist/types/plugins/table/pm-plugins/table-resizing/utils/resize-state.d.ts +2 -1
  408. package/dist/types/plugins/table/pm-plugins/table-selection-keymap.d.ts +2 -1
  409. package/dist/types/plugins/table/toolbar.d.ts +5 -3
  410. package/dist/types/plugins/table/transforms/column-width.d.ts +2 -1
  411. package/dist/types/plugins/table/transforms/replace-table.d.ts +3 -2
  412. package/dist/types/plugins/table/types.d.ts +3 -1
  413. package/dist/types/plugins/table/ui/FloatingContextualButton/index.d.ts +1 -1
  414. package/dist/types/plugins/table/ui/FloatingContextualMenu/ContextualMenu.d.ts +4 -0
  415. package/dist/types/plugins/table/ui/FloatingContextualMenu/index.d.ts +5 -1
  416. package/dist/types/plugins/table/ui/FloatingDeleteButton/index.d.ts +2 -0
  417. package/dist/types/plugins/table/ui/FloatingInsertButton/index.d.ts +5 -1
  418. package/dist/types/plugins/table/ui/LayoutButton/index.d.ts +2 -0
  419. package/dist/types/plugins/table/ui/TableFloatingControls/index.d.ts +2 -0
  420. package/dist/types/plugins/table/utils/analytics.d.ts +3 -0
  421. package/dist/types/plugins/table/utils/index.d.ts +1 -1
  422. package/dist/types/plugins/type-ahead/types.d.ts +2 -50
  423. package/dist/types/plugins/width/index.d.ts +3 -6
  424. package/dist/types/selection-api/api.d.ts +11 -0
  425. package/dist/types/types/browser.d.ts +1 -10
  426. package/dist/types/types/editor-appearance.d.ts +1 -1
  427. package/dist/types/types/editor-plugin.d.ts +1 -59
  428. package/dist/types/types/editor-react-context.d.ts +1 -6
  429. package/dist/types/types/empty-state-handler.d.ts +1 -7
  430. package/dist/types/types/feature-flags.d.ts +1 -343
  431. package/dist/types/types/pm-config.d.ts +1 -14
  432. package/dist/types/types/pm-plugin.d.ts +1 -27
  433. package/dist/types/types/ui-components.d.ts +1 -22
  434. package/dist/types/ui/Appearance/FullPage/StyledComponents.d.ts +118 -118
  435. package/dist/types/ui/ColorPalette/Color/index.d.ts +1 -19
  436. package/dist/types/ui/ColorPalette/Palettes/cellBackgroundColorPalette.d.ts +1 -2
  437. package/dist/types/ui/ColorPalette/Palettes/common.d.ts +1 -1
  438. package/dist/types/ui/ColorPalette/Palettes/paletteMessages.d.ts +2 -113
  439. package/dist/types/ui/ColorPalette/Palettes/panelBackgroundPalette.d.ts +1 -3
  440. package/dist/types/ui/ColorPalette/Palettes/statusColorPalette.d.ts +1 -3
  441. package/dist/types/ui/ColorPalette/Palettes/textColorPalette.d.ts +1 -3
  442. package/dist/types/ui/ColorPalette/Palettes/type.d.ts +1 -8
  443. package/dist/types/ui/ColorPalette/index.d.ts +2 -23
  444. package/dist/types/ui/ColorPickerButton/index.d.ts +1 -1
  445. package/dist/types/ui/ConfigPanel/ConfigPanel.d.ts +1 -1
  446. package/dist/types/ui/ContentStyles/index.d.ts +2 -2
  447. package/dist/types/ui/Dropdown/index.d.ts +2 -33
  448. package/dist/types/ui/DropdownMenu/index.d.ts +2 -18
  449. package/dist/types/ui/DropdownMenu/types.d.ts +1 -43
  450. package/dist/types/ui/Toolbar/types.d.ts +2 -30
  451. package/dist/types/ui/ToolbarButton/index.d.ts +3 -52
  452. package/dist/types/ui/styles.d.ts +3 -3
  453. package/dist/types/ui/with-outer-listeners.d.ts +2 -10
  454. package/dist/types/utils/document-logger.d.ts +2 -7
  455. package/dist/types/utils/dom.d.ts +2 -26
  456. package/dist/types/utils/index.d.ts +3 -6
  457. package/dist/types/utils/node-width.d.ts +1 -7
  458. package/dist/types/utils/nodes.d.ts +1 -35
  459. package/dist/types/utils/performance/plugin-performance-report.d.ts +2 -25
  460. package/dist/types/utils/plugin-state-factory.d.ts +2 -16
  461. package/dist/types/utils/selection.d.ts +3 -6
  462. package/dist/types/utils/slice.d.ts +2 -11
  463. package/dist/types/utils/step.d.ts +1 -15
  464. package/package.json +8 -9
  465. package/dist/cjs/plugins/analytics/types/config-panel-events.js +0 -5
  466. package/dist/cjs/plugins/analytics/types/cut-copy-events.js +0 -5
  467. package/dist/cjs/plugins/analytics/types/date-events.js +0 -5
  468. package/dist/cjs/plugins/analytics/types/element-browser-events.js +0 -5
  469. package/dist/cjs/plugins/analytics/types/find-replace-events.js +0 -5
  470. package/dist/cjs/plugins/analytics/types/format-events.js +0 -24
  471. package/dist/cjs/plugins/analytics/types/insert-events.js +0 -51
  472. package/dist/cjs/plugins/analytics/types/list-events.js +0 -25
  473. package/dist/cjs/plugins/analytics/types/paste-events.js +0 -55
  474. package/dist/cjs/plugins/analytics/types/substitute-events.js +0 -24
  475. package/dist/cjs/plugins/analytics/types/table-events.js +0 -43
  476. package/dist/cjs/plugins/analytics/types/utils.js +0 -27
  477. package/dist/cjs/ui/ColorPalette/Color/styles.js +0 -21
  478. package/dist/cjs/ui/ColorPalette/Palettes/getColorMessage.js +0 -17
  479. package/dist/cjs/ui/ColorPalette/styles.js +0 -19
  480. package/dist/cjs/ui/DropList/index.js +0 -215
  481. package/dist/cjs/ui/Layer/index.js +0 -245
  482. package/dist/cjs/ui/Layer/internal/helpers.js +0 -70
  483. package/dist/cjs/ui/ToolbarButton/styles.js +0 -26
  484. package/dist/es2019/plugins/analytics/types/cut-copy-events.js +0 -1
  485. package/dist/es2019/plugins/analytics/types/date-events.js +0 -1
  486. package/dist/es2019/plugins/analytics/types/element-browser-events.js +0 -1
  487. package/dist/es2019/plugins/analytics/types/find-replace-events.js +0 -1
  488. package/dist/es2019/plugins/analytics/types/format-events.js +0 -16
  489. package/dist/es2019/plugins/analytics/types/insert-events.js +0 -41
  490. package/dist/es2019/plugins/analytics/types/list-events.js +0 -17
  491. package/dist/es2019/plugins/analytics/types/paste-events.js +0 -46
  492. package/dist/es2019/plugins/analytics/types/substitute-events.js +0 -16
  493. package/dist/es2019/plugins/analytics/types/table-events.js +0 -34
  494. package/dist/es2019/plugins/analytics/types/utils.js +0 -19
  495. package/dist/es2019/ui/ColorPalette/Color/styles.js +0 -24
  496. package/dist/es2019/ui/ColorPalette/Palettes/getColorMessage.js +0 -14
  497. package/dist/es2019/ui/ColorPalette/styles.js +0 -7
  498. package/dist/es2019/ui/DropList/index.js +0 -186
  499. package/dist/es2019/ui/Layer/index.js +0 -195
  500. package/dist/es2019/ui/Layer/internal/helpers.js +0 -62
  501. package/dist/es2019/ui/ToolbarButton/styles.js +0 -12
  502. package/dist/esm/plugins/analytics/types/avatar.js +0 -1
  503. package/dist/esm/plugins/analytics/types/config-panel-events.js +0 -1
  504. package/dist/esm/plugins/analytics/types/cut-copy-events.js +0 -1
  505. package/dist/esm/plugins/analytics/types/date-events.js +0 -1
  506. package/dist/esm/plugins/analytics/types/element-browser-events.js +0 -1
  507. package/dist/esm/plugins/analytics/types/find-replace-events.js +0 -1
  508. package/dist/esm/plugins/analytics/types/format-events.js +0 -16
  509. package/dist/esm/plugins/analytics/types/insert-events.js +0 -41
  510. package/dist/esm/plugins/analytics/types/list-events.js +0 -17
  511. package/dist/esm/plugins/analytics/types/paste-events.js +0 -46
  512. package/dist/esm/plugins/analytics/types/substitute-events.js +0 -16
  513. package/dist/esm/plugins/analytics/types/table-events.js +0 -34
  514. package/dist/esm/plugins/analytics/types/utils.js +0 -19
  515. package/dist/esm/ui/ColorPalette/Color/styles.js +0 -8
  516. package/dist/esm/ui/ColorPalette/Palettes/getColorMessage.js +0 -10
  517. package/dist/esm/ui/ColorPalette/styles.js +0 -7
  518. package/dist/esm/ui/DropList/index.js +0 -203
  519. package/dist/esm/ui/Layer/index.js +0 -228
  520. package/dist/esm/ui/Layer/internal/helpers.js +0 -62
  521. package/dist/esm/ui/ToolbarButton/styles.js +0 -12
  522. package/dist/types/plugins/analytics/types/avatar.d.ts +0 -5
  523. package/dist/types/plugins/analytics/types/config-panel-events.d.ts +0 -17
  524. package/dist/types/plugins/analytics/types/cut-copy-events.d.ts +0 -12
  525. package/dist/types/plugins/analytics/types/date-events.d.ts +0 -17
  526. package/dist/types/plugins/analytics/types/element-browser-events.d.ts +0 -11
  527. package/dist/types/plugins/analytics/types/find-replace-events.d.ts +0 -23
  528. package/dist/types/plugins/analytics/types/format-events.d.ts +0 -49
  529. package/dist/types/plugins/analytics/types/insert-events.d.ts +0 -128
  530. package/dist/types/plugins/analytics/types/list-events.d.ts +0 -52
  531. package/dist/types/plugins/analytics/types/paste-events.d.ts +0 -39
  532. package/dist/types/plugins/analytics/types/substitute-events.d.ts +0 -26
  533. package/dist/types/plugins/analytics/types/table-events.d.ts +0 -94
  534. package/dist/types/plugins/analytics/types/utils.d.ts +0 -45
  535. package/dist/types/ui/ColorPalette/Color/styles.d.ts +0 -2
  536. package/dist/types/ui/ColorPalette/Palettes/getColorMessage.d.ts +0 -2
  537. package/dist/types/ui/ColorPalette/styles.d.ts +0 -1
  538. package/dist/types/ui/DropList/index.d.ts +0 -22
  539. package/dist/types/ui/Layer/index.d.ts +0 -47
  540. package/dist/types/ui/Layer/internal/helpers.d.ts +0 -5
  541. package/dist/types/ui/ToolbarButton/styles.d.ts +0 -4
@@ -1,139 +1,2 @@
1
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
- import _createClass from "@babel/runtime/helpers/createClass";
4
- import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
5
- import _inherits from "@babel/runtime/helpers/inherits";
6
- import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
7
- import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
8
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
9
- var _excluded = ["handleClickOutside", "handleEnterKeydown", "handleEscapeKeydown"];
10
-
11
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
12
-
13
- 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; } }
14
-
15
- import React from 'react';
16
- import { PureComponent } from 'react';
17
- import ReactDOM from 'react-dom';
18
- import ReactEditorViewContext from '../create-editor/ReactEditorViewContext';
19
-
20
- var WithOutsideClick = /*#__PURE__*/function (_PureComponent) {
21
- _inherits(WithOutsideClick, _PureComponent);
22
-
23
- var _super = _createSuper(WithOutsideClick);
24
-
25
- function WithOutsideClick() {
26
- var _this;
27
-
28
- _classCallCheck(this, WithOutsideClick);
29
-
30
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
31
- args[_key] = arguments[_key];
32
- }
33
-
34
- _this = _super.call.apply(_super, [this].concat(args));
35
-
36
- _defineProperty(_assertThisInitialized(_this), "handleClick", function (evt) {
37
- if (!_this.props.isActiveComponent) {
38
- return;
39
- }
40
-
41
- var domNode = ReactDOM.findDOMNode(_assertThisInitialized(_this)); // eslint-disable-line react/no-find-dom-node
42
-
43
- if (!domNode || evt.target instanceof Node && !domNode.contains(evt.target)) {
44
- if (_this.props.handleClickOutside) {
45
- _this.props.handleClickOutside(evt);
46
- }
47
- }
48
- });
49
-
50
- _defineProperty(_assertThisInitialized(_this), "handleKeydown", function (evt) {
51
- if (!_this.props.isActiveComponent) {
52
- return;
53
- }
54
-
55
- if (evt.code === 'Escape' && _this.props.handleEscapeKeydown) {
56
- var _this$props$editorVie;
57
-
58
- evt.preventDefault();
59
- evt.stopPropagation();
60
-
61
- _this.props.handleEscapeKeydown(evt);
62
-
63
- if (!((_this$props$editorVie = _this.props.editorView) !== null && _this$props$editorVie !== void 0 && _this$props$editorVie.hasFocus())) {
64
- var _this$props$editorVie2;
65
-
66
- (_this$props$editorVie2 = _this.props.editorView) === null || _this$props$editorVie2 === void 0 ? void 0 : _this$props$editorVie2.focus();
67
- }
68
-
69
- return false;
70
- } else if (evt.code === 'Enter' && _this.props.handleEnterKeydown) {
71
- _this.props.handleEnterKeydown(evt);
72
- }
73
- });
74
-
75
- return _this;
76
- }
77
-
78
- _createClass(WithOutsideClick, [{
79
- key: "componentDidMount",
80
- value: function componentDidMount() {
81
- if (this.props.handleClickOutside) {
82
- document.addEventListener('click', this.handleClick, false);
83
- }
84
-
85
- if (this.props.handleEscapeKeydown) {
86
- var _this$props$editorRef;
87
-
88
- (((_this$props$editorRef = this.props.editorRef) === null || _this$props$editorRef === void 0 ? void 0 : _this$props$editorRef.current) || document).addEventListener('keydown', this.handleKeydown, false);
89
- }
90
- }
91
- }, {
92
- key: "componentWillUnmount",
93
- value: function componentWillUnmount() {
94
- if (this.props.handleClickOutside) {
95
- document.removeEventListener('click', this.handleClick, false);
96
- }
97
-
98
- if (this.props.handleEscapeKeydown) {
99
- var _this$props$editorRef2;
100
-
101
- (((_this$props$editorRef2 = this.props.editorRef) === null || _this$props$editorRef2 === void 0 ? void 0 : _this$props$editorRef2.current) || document).removeEventListener('keydown', this.handleKeydown, false);
102
- }
103
- }
104
- }, {
105
- key: "render",
106
- value: function render() {
107
- return this.props.children;
108
- }
109
- }]);
110
-
111
- return WithOutsideClick;
112
- }(PureComponent);
113
-
114
- function hasIsOpen(props) {
115
- return 'isOpen' in props;
116
- }
117
-
118
- export default function withOuterListeners(Component) {
119
- return function (_ref) {
120
- var handleClickOutside = _ref.handleClickOutside,
121
- handleEnterKeydown = _ref.handleEnterKeydown,
122
- handleEscapeKeydown = _ref.handleEscapeKeydown,
123
- props = _objectWithoutProperties(_ref, _excluded);
124
-
125
- var isActiveComponent = hasIsOpen(props) ? props.isOpen : true;
126
- return /*#__PURE__*/React.createElement(ReactEditorViewContext.Consumer, null, function (_ref2) {
127
- var editorView = _ref2.editorView,
128
- editorRef = _ref2.editorRef;
129
- return /*#__PURE__*/React.createElement(WithOutsideClick, {
130
- editorView: editorView,
131
- editorRef: editorRef,
132
- isActiveComponent: isActiveComponent,
133
- handleClickOutside: handleClickOutside,
134
- handleEnterKeydown: handleEnterKeydown,
135
- handleEscapeKeydown: handleEscapeKeydown
136
- }, /*#__PURE__*/React.createElement(Component, props));
137
- });
138
- };
139
- }
1
+ import { withReactEditorViewOuterListeners } from '@atlaskit/editor-common/ui-react';
2
+ export default withReactEditorViewOuterListeners;
@@ -1,113 +1 @@
1
- /**
2
- * Walks a DOM tree up to the provided `stopElement`, or if falsy before.
3
- * @param element
4
- * @param stopElement
5
- */
6
- export function walkUpTreeUntil(element, shouldStop) {
7
- var rootElement = element;
8
-
9
- while (rootElement && rootElement.parentElement && !shouldStop(rootElement)) {
10
- rootElement = rootElement.parentElement;
11
- }
12
-
13
- return rootElement;
14
- }
15
- /**
16
- * Takes all children out from wrapped el and puts them directly inside
17
- * the parent el, at the wrapped el's position
18
- */
19
-
20
- export function unwrap(parent, wrapped) {
21
- var docsFragment = document.createDocumentFragment();
22
- Array.from(wrapped.children).forEach(function (child) {
23
- docsFragment.appendChild(child);
24
- });
25
- parent.replaceChild(docsFragment, wrapped);
26
- }
27
- /**
28
- * Walks up DOM removing elements if they are empty until it finds
29
- * one that is not
30
- */
31
-
32
- export function removeNestedEmptyEls(el) {
33
- while (el.parentElement && el.childElementCount === 0 && el.textContent === '') {
34
- var parentEl = el.parentElement;
35
- parentEl.removeChild(el);
36
- el = parentEl;
37
- }
38
- }
39
- /**
40
- * IE11 doesn't support classList to SVGElements
41
- **/
42
-
43
- export var containsClassName = function containsClassName(node, className) {
44
- if (!node) {
45
- return false;
46
- }
47
-
48
- if (node.classList && node.classList.contains) {
49
- return node.classList.contains(className);
50
- }
51
-
52
- if (!node.className) {
53
- return false;
54
- }
55
-
56
- var classNames = typeof node.className.baseVal === 'string' ? node.className.baseVal : node.className;
57
- return classNames.split(' ').indexOf(className) !== -1;
58
- };
59
- export function closest(node, s) {
60
- if (!node) {
61
- return null;
62
- }
63
-
64
- var el = node;
65
-
66
- if (!document.documentElement || !document.documentElement.contains(el)) {
67
- return null;
68
- }
69
-
70
- if (el.closest) {
71
- return el.closest(s);
72
- }
73
-
74
- do {
75
- var matchfn = el.matches ? el.matches : el.msMatchesSelector;
76
-
77
- if (matchfn && matchfn.call(el, s)) {
78
- return el;
79
- }
80
-
81
- el = el.parentElement || el.parentNode;
82
- } while (el !== null && el.nodeType === 1);
83
-
84
- return null;
85
- }
86
- /*
87
- * @deprecated - Use HTMLElement.protoype.closest instead
88
- */
89
-
90
- export function closestElement(node, s) {
91
- return closest(node, s);
92
- }
93
- export function parsePx(pxStr) {
94
- if (!pxStr.endsWith('px')) {
95
- return undefined;
96
- }
97
-
98
- var maybeNumber = parseInt(pxStr, 10);
99
- return !Number.isNaN(maybeNumber) ? maybeNumber : undefined;
100
- }
101
- // does typescript have function templates yet?
102
- export function mapElem(elem, callback) {
103
- var array = [];
104
-
105
- for (var i = 0; i < elem.childElementCount; i++) {
106
- array.push(callback(elem.children[i], i, elem));
107
- }
108
-
109
- return array;
110
- }
111
- export function maphElem(elem, callback) {
112
- return mapElem(elem, callback);
113
- }
1
+ export { walkUpTreeUntil, unwrap, removeNestedEmptyEls, containsClassName, closest, closestElement, parsePx, mapElem, maphElem } from '@atlaskit/editor-common/utils';
@@ -7,7 +7,7 @@ import { FakeTextCursorSelection } from '../plugins/fake-text-cursor/cursor';
7
7
  import { hasParentNodeOfType } from 'prosemirror-utils';
8
8
  import { isNodeEmpty } from './document';
9
9
  import { atTheBeginningOfDoc, atTheEndOfDoc } from './prosemirror/position';
10
- import { closest } from './dom';
10
+ export { insideTable } from '@atlaskit/editor-common/core-utils';
11
11
  export { isEmptyParagraph, hasVisibleContent, isNodeEmpty, isEmptyDocument, processRawValue, getStepRange, findFarthestParentNode, isSelectionEndOfParagraph, nodesBetweenChanged, getNodesCount } from './document';
12
12
  export { cascadeCommands, getEditorValueWithMedia } from './action';
13
13
  export { isMarkAllowedInRange, isMarkExcluded, removeBlockMarks, sanitiseSelectionMarksForWrapping, sanitiseMarksInSelection } from './mark';
@@ -500,25 +500,12 @@ export var isEmptyNode = function isEmptyNode(schema) {
500
500
 
501
501
  return innerIsEmptyNode;
502
502
  };
503
- export var insideTable = function insideTable(state) {
504
- var _state$schema$nodes2 = state.schema.nodes,
505
- table = _state$schema$nodes2.table,
506
- tableCell = _state$schema$nodes2.tableCell;
507
- return hasParentNodeOfType([table, tableCell])(state.selection);
508
- };
509
503
  export var insideTableCell = function insideTableCell(state) {
510
- var _state$schema$nodes3 = state.schema.nodes,
511
- tableCell = _state$schema$nodes3.tableCell,
512
- tableHeader = _state$schema$nodes3.tableHeader;
504
+ var _state$schema$nodes2 = state.schema.nodes,
505
+ tableCell = _state$schema$nodes2.tableCell,
506
+ tableHeader = _state$schema$nodes2.tableHeader;
513
507
  return hasParentNodeOfType([tableCell, tableHeader])(state.selection);
514
508
  };
515
- export var isElementInTableCell = function isElementInTableCell(element) {
516
- return closest(element, 'td') || closest(element, 'th');
517
- };
518
- export var isLastItemMediaGroup = function isLastItemMediaGroup(node) {
519
- var content = node.content;
520
- return !!content.lastChild && content.lastChild.type.name === 'mediaGroup';
521
- };
522
509
  export var isInLayoutColumn = function isInLayoutColumn(state) {
523
510
  return hasParentNodeOfType(state.schema.nodes.layoutSection)(state.selection);
524
511
  };
@@ -573,9 +560,7 @@ export function dedupe() {
573
560
  return false;
574
561
  });
575
562
  }
576
- export var isTextSelection = function isTextSelection(selection) {
577
- return selection instanceof TextSelection;
578
- };
563
+ export { isTextSelection, isElementInTableCell, isLastItemMediaGroup, nonNullable } from '@atlaskit/editor-common/utils';
579
564
  /** Helper type for single arg function */
580
565
 
581
566
  /**
@@ -631,7 +616,4 @@ export function sum(arr, f) {
631
616
  return val + f(x);
632
617
  }, 0);
633
618
  }
634
- export function nonNullable(value) {
635
- return value !== null && value !== undefined;
636
- }
637
619
  export { SetAttrsStep } from '@atlaskit/adf-schema/steps';
@@ -1,80 +1,8 @@
1
- import { findParentNodeOfTypeClosestToPos } from 'prosemirror-utils';
2
- import { absoluteBreakoutWidth } from '@atlaskit/editor-common/utils';
3
- import { akEditorFullWidthLayoutWidth, akLayoutGutterOffset, gridMediumMaxWidth } from '@atlaskit/editor-shared-styles';
4
- import { LAYOUT_SECTION_MARGIN, LAYOUT_COLUMN_PADDING } from '../plugins/layout/styles';
5
- import { BODIED_EXT_PADDING } from '../plugins/extension/ui/Extension/styles';
6
-
7
- /**
8
- * Calculates width of parent node of a nested node (inside layouts, extension)
9
- * If current node selection is not nested will return undefined
10
- */
11
- export var getParentNodeWidth = function getParentNodeWidth(pos, state, containerWidth, isFullWidthModeEnabled) {
12
- if (!pos) {
13
- return;
14
- }
15
-
16
- var node = getNestedParentNode(pos, state);
17
-
18
- if (!node) {
19
- return;
20
- }
21
-
22
- var layout = node.attrs.layout || 'default';
23
- var schema = state.schema;
24
- var breakoutMark = schema.marks.breakout && schema.marks.breakout.isInSet(node.marks);
25
-
26
- if (breakoutMark && breakoutMark.attrs.mode) {
27
- layout = breakoutMark.attrs.mode;
28
- }
29
-
30
- var parentWidth = calcBreakoutNodeWidth(layout, containerWidth, isFullWidthModeEnabled);
31
-
32
- if (node.type === schema.nodes.layoutSection) {
33
- parentWidth += akLayoutGutterOffset * 2; // extra width that gets added to layout
34
-
35
- if (containerWidth.width > gridMediumMaxWidth) {
36
- parentWidth -= (LAYOUT_SECTION_MARGIN + 2) * (node.childCount - 1); // margin between sections
37
-
38
- var $pos = state.doc.resolve(pos);
39
- var column = findParentNodeOfTypeClosestToPos($pos, [state.schema.nodes.layoutColumn]);
40
-
41
- if (column && column.node && !isNaN(column.node.attrs.width)) {
42
- // get exact width of parent layout column using node attrs
43
- parentWidth = Math.round(parentWidth * column.node.attrs.width * 0.01);
44
- }
45
- }
46
- } // account for the padding of the parent node
47
-
48
-
49
- if (node.type === schema.nodes.layoutSection) {
50
- parentWidth -= LAYOUT_COLUMN_PADDING * 2;
51
- } else if (node.type === schema.nodes.bodiedExtension) {
52
- parentWidth -= BODIED_EXT_PADDING * 2;
53
- }
54
-
55
- parentWidth -= 2; // border
56
-
57
- return parentWidth;
58
- };
59
-
60
- var getNestedParentNode = function getNestedParentNode(tablePos, state) {
61
- if (tablePos === undefined) {
62
- return null;
63
- }
64
-
65
- var $pos = state.doc.resolve(tablePos);
66
- var parent = findParentNodeOfTypeClosestToPos($pos, [state.schema.nodes.bodiedExtension, state.schema.nodes.layoutSection, state.schema.nodes.expand]);
67
- return parent ? parent.node : null;
68
- };
69
-
70
- var calcBreakoutNodeWidth = function calcBreakoutNodeWidth(layout, containerWidth, isFullWidthModeEnabled) {
71
- return isFullWidthModeEnabled ? Math.min(containerWidth.lineLength, akEditorFullWidthLayoutWidth) : absoluteBreakoutWidth(layout, containerWidth.width);
72
- };
1
+ export { getParentNodeWidth } from '@atlaskit/editor-common/node-width';
73
2
  /**
74
3
  * Returns the breakout mode of a given node
75
4
  */
76
5
 
77
-
78
6
  export var getBreakoutMode = function getBreakoutMode(node, breakout) {
79
7
  var breakoutMark = breakout && breakout.isInSet(node.marks);
80
8
  return breakoutMark ? breakoutMark.attrs.mode : node.attrs.layout;
@@ -1,100 +1 @@
1
- /**
2
- * Finds all top level nodes affected by the transaction
3
- * Uses from/to positions in transaction's steps to work out which nodes will
4
- * be changed by the transaction
5
- */
6
- export var findChangedNodesFromTransaction = function findChangedNodesFromTransaction(tr) {
7
- var nodes = [];
8
- var steps = tr.steps || [];
9
- steps.forEach(function (step) {
10
- var to = step.to,
11
- from = step.from,
12
- slice = step.slice;
13
- var size = slice && slice.content ? slice.content.size : 0;
14
-
15
- for (var i = from; i <= to + size; i++) {
16
- if (i <= tr.doc.content.size) {
17
- (function () {
18
- var topLevelNode = tr.doc.resolve(i).node(1);
19
-
20
- if (topLevelNode && !nodes.find(function (n) {
21
- return n === topLevelNode;
22
- })) {
23
- nodes.push(topLevelNode);
24
- }
25
- })();
26
- }
27
- }
28
- });
29
- return nodes;
30
- };
31
- export var validNode = function validNode(node) {
32
- try {
33
- node.check(); // this will throw an error if the node is invalid
34
- } catch (error) {
35
- return false;
36
- }
37
-
38
- return true;
39
- };
40
- /** Validates prosemirror nodes, and returns true only if all nodes are valid */
41
-
42
- export var validateNodes = function validateNodes(nodes) {
43
- return nodes.every(validNode);
44
- };
45
- export var isType = function isType(node, type) {
46
- return type && node && node.type === type;
47
- };
48
- export var isParagraph = function isParagraph(node, schema) {
49
- return isType(node, schema.nodes.paragraph);
50
- };
51
- export var isText = function isText(node, schema) {
52
- return isType(node, schema.nodes.text);
53
- };
54
- export var isLinkMark = function isLinkMark(node, schema) {
55
- return isType(node, schema.marks.link);
56
- };
57
- export var SelectedState;
58
- /**
59
- * Returns if the current selection from achor-head is selecting the node.
60
- * If the node is not selected then null is returned.
61
- * If the node is selected then an enum is returned that describes weather the node
62
- * is fully selected by a range or if the "inside" of the node has been selected or clicked.
63
- */
64
-
65
- (function (SelectedState) {
66
- SelectedState[SelectedState["selectedInRange"] = 0] = "selectedInRange";
67
- SelectedState[SelectedState["selectedInside"] = 1] = "selectedInside";
68
- })(SelectedState || (SelectedState = {}));
69
-
70
- export var isNodeSelectedOrInRange = function isNodeSelectedOrInRange(anchorPosition, headPosition, nodePosition, nodeSize) {
71
- var rangeStart = Math.min(anchorPosition, headPosition);
72
- var rangeEnd = Math.max(anchorPosition, headPosition);
73
- var nodeStart = nodePosition;
74
- var nodeEnd = nodePosition + nodeSize;
75
-
76
- if (anchorPosition === headPosition) {
77
- return null;
78
- }
79
-
80
- if (rangeStart <= nodeStart && nodeEnd < rangeEnd || rangeStart < nodeStart && nodeEnd <= rangeEnd) {
81
- return SelectedState.selectedInRange;
82
- }
83
-
84
- if (nodeStart <= anchorPosition && headPosition <= nodeEnd) {
85
- return SelectedState.selectedInside;
86
- }
87
-
88
- return null;
89
- };
90
- /**
91
- * Checks if a particular node fragment is supported in the parent
92
- * @param state EditorState
93
- * @param fragment The fragment to be checked for
94
- */
95
-
96
- export var isSupportedInParent = function isSupportedInParent(state, fragment, currentAppearance) {
97
- var depth = currentAppearance === 'embed' || currentAppearance === 'block' ? undefined : -1;
98
- var parent = state.selection.$from.node(depth);
99
- return parent && parent.type.validContent(fragment);
100
- };
1
+ export { findChangedNodesFromTransaction, validNode, validateNodes, isType, isParagraph, isText, isLinkMark, SelectedState, isNodeSelectedOrInRange, isSupportedInParent } from '@atlaskit/editor-common/utils';
@@ -1,106 +1 @@
1
- /**
2
- * Creates a ProseMirror plugin's state and handles UI updates.
3
- *
4
- * Here's a few things to keep in mind:
5
- * - plugin's state is stored as a single object
6
- * - `Reducer` specifies how plugin's state changes in response to commands
7
- * - `Command` describes only what happen, but not how state changes
8
- * - `mapping` could be used to map ProseMirror positions stored in plugin's state
9
- *
10
- * Example:
11
- * const { createPluginState, createCommand, getPluginState } = pluginFactory(
12
- * reducer,
13
- * pluginKey
14
- * );
15
- *
16
- * export const createPlugin = (dispatch: Dispatch, initialState) =>
17
- * new SafePlugin({
18
- * state: createPluginState(dispatch, initialState),
19
- * key: pluginKey
20
- * });
21
- *
22
- * Example of a reducer:
23
- *
24
- * export const reducer = (
25
- * state: TablePluginState,
26
- * action: TableAction,
27
- * ): TablePluginState => {
28
- * switch (action.type) {
29
- * case 'TOGGLE_CONTEXTUAL_MENU':
30
- * return {
31
- * ...state,
32
- * isContextualMenuOpen: !state.isContextualMenuOpen,
33
- * };
34
- * default:
35
- * return state;
36
- * }
37
- * };
38
- *
39
- *
40
- * Example of a command:
41
- *
42
- * export const toggleContextualMenu = createCommand({
43
- * type: 'TOGGLE_CONTEXTUAL_MENU',
44
- * }, tr => tr.setMeta('addToHistory', false));
45
- *
46
- */
47
- function isFunction(x) {
48
- return typeof x === 'function';
49
- }
50
-
51
- export function pluginFactory(pluginKey, reducer) {
52
- var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
53
- var mapping = options.mapping,
54
- onDocChanged = options.onDocChanged,
55
- onSelectionChanged = options.onSelectionChanged;
56
- return {
57
- createPluginState: function createPluginState(dispatch, initialState) {
58
- return {
59
- init: function init(_, state) {
60
- return isFunction(initialState) ? initialState(state) : initialState;
61
- },
62
- apply: function apply(tr, _pluginState) {
63
- var oldState = mapping ? mapping(tr, _pluginState) : _pluginState;
64
- var newState = oldState;
65
- var meta = tr.getMeta(pluginKey);
66
-
67
- if (meta) {
68
- newState = reducer(oldState, meta);
69
- }
70
-
71
- if (onDocChanged && tr.docChanged) {
72
- newState = onDocChanged(tr, newState);
73
- } else if (onSelectionChanged && tr.selectionSet) {
74
- newState = onSelectionChanged(tr, newState);
75
- }
76
-
77
- if (newState !== oldState) {
78
- dispatch(pluginKey, newState);
79
- }
80
-
81
- return newState;
82
- }
83
- };
84
- },
85
- createCommand: function createCommand(action, transform) {
86
- return function (state, dispatch) {
87
- if (dispatch) {
88
- var _tr = transform ? transform(state.tr, state) : state.tr;
89
-
90
- var resolvedAction = isFunction(action) ? action(state) : action;
91
-
92
- if (_tr && resolvedAction) {
93
- dispatch(_tr.setMeta(pluginKey, resolvedAction));
94
- } else {
95
- return false;
96
- }
97
- }
98
-
99
- return true;
100
- };
101
- },
102
- getPluginState: function getPluginState(state) {
103
- return pluginKey.getState(state);
104
- }
105
- };
106
- }
1
+ export { pluginFactory } from '@atlaskit/editor-common/utils';
@@ -6,18 +6,8 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
6
6
 
7
7
  import { CellSelection } from '@atlaskit/editor-tables/cell-selection';
8
8
  import { NodeSelection, TextSelection, AllSelection } from 'prosemirror-state';
9
- import { GapCursorSelection } from '../plugins/selection/gap-cursor/selection';
10
- export var setNodeSelection = function setNodeSelection(view, pos) {
11
- var state = view.state,
12
- dispatch = view.dispatch;
13
-
14
- if (!isFinite(pos)) {
15
- return;
16
- }
17
-
18
- var tr = state.tr.setSelection(NodeSelection.create(state.doc, pos));
19
- dispatch(tr);
20
- };
9
+ import { GapCursorSelection } from '@atlaskit/editor-common/selection';
10
+ export { setNodeSelection } from '@atlaskit/editor-common/utils';
21
11
  export function setTextSelection(view, anchor, head) {
22
12
  var state = view.state,
23
13
  dispatch = view.dispatch;
@@ -61,44 +51,6 @@ export var normaliseNestedLayout = function normaliseNestedLayout(_ref, node) {
61
51
  }
62
52
 
63
53
  return node;
64
- };
65
- export var isSelectionAtStartOfNode = function isSelectionAtStartOfNode($pos, parentNode) {
66
- if (!parentNode) {
67
- return false;
68
- }
69
-
70
- for (var i = $pos.depth + 1; i > 0; i--) {
71
- var node = $pos.node(i);
72
-
73
- if (node && node.eq(parentNode.node)) {
74
- break;
75
- }
76
-
77
- if (i > 1 && $pos.before(i) !== $pos.before(i - 1) + 1) {
78
- return false;
79
- }
80
- }
81
-
82
- return true;
83
- };
84
- export var isSelectionAtEndOfNode = function isSelectionAtEndOfNode($pos, parentNode) {
85
- if (!parentNode) {
86
- return false;
87
- }
88
-
89
- for (var i = $pos.depth + 1; i > 0; i--) {
90
- var node = $pos.node(i);
91
-
92
- if (node && node.eq(parentNode.node)) {
93
- break;
94
- }
95
-
96
- if (i > 1 && $pos.after(i) !== $pos.after(i - 1) - 1) {
97
- return false;
98
- }
99
- }
100
-
101
- return true;
102
54
  }; // checks if the given position is within the ProseMirror document
103
55
 
104
56
  export var isValidPosition = function isValidPosition(pos, state) {