@atlaskit/editor-common 69.2.2 → 69.3.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 (469) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/analytics/package.json +8 -0
  3. package/core-utils/package.json +8 -0
  4. package/dist/cjs/analytics/api.js +5 -0
  5. package/dist/cjs/analytics/index.js +223 -0
  6. package/dist/cjs/analytics/types/avatar.js +5 -0
  7. package/dist/cjs/analytics/types/block.js +5 -0
  8. package/dist/cjs/analytics/types/config-panel-events.js +5 -0
  9. package/dist/cjs/analytics/types/cut-copy-events.js +5 -0
  10. package/dist/cjs/analytics/types/date-events.js +5 -0
  11. package/dist/cjs/analytics/types/dispatch-analytics-event.js +5 -0
  12. package/dist/cjs/analytics/types/element-browser-events.js +5 -0
  13. package/dist/cjs/analytics/types/enums.js +350 -0
  14. package/dist/cjs/analytics/types/events.js +5 -0
  15. package/dist/cjs/analytics/types/experimental-events.js +5 -0
  16. package/dist/cjs/analytics/types/extension-events.js +22 -0
  17. package/dist/cjs/analytics/types/find-replace-events.js +5 -0
  18. package/dist/cjs/analytics/types/format-events.js +24 -0
  19. package/dist/cjs/analytics/types/general-events.js +40 -0
  20. package/dist/cjs/analytics/types/index.js +249 -0
  21. package/dist/cjs/analytics/types/inline-comment-events.js +14 -0
  22. package/dist/cjs/analytics/types/insert-events.js +51 -0
  23. package/dist/cjs/analytics/types/link-tool-bar-events.js +5 -0
  24. package/dist/cjs/analytics/types/list-events.js +25 -0
  25. package/dist/cjs/analytics/types/media-events.js +5 -0
  26. package/dist/cjs/analytics/types/node-events.js +26 -0
  27. package/dist/cjs/analytics/types/paste-events.js +55 -0
  28. package/dist/cjs/analytics/types/performance-report.js +5 -0
  29. package/dist/cjs/analytics/types/selection-events.js +5 -0
  30. package/dist/cjs/analytics/types/smart-links.js +19 -0
  31. package/dist/cjs/analytics/types/substitute-events.js +24 -0
  32. package/dist/cjs/analytics/types/table-events.js +43 -0
  33. package/dist/cjs/analytics/types/toolbar-button.js +26 -0
  34. package/dist/cjs/analytics/types/type-ahead.js +5 -0
  35. package/dist/cjs/analytics/types/utils.js +28 -0
  36. package/dist/cjs/core-utils/index.js +13 -0
  37. package/dist/cjs/core-utils/inside.js +17 -0
  38. package/dist/cjs/event-dispatcher/index.js +88 -0
  39. package/dist/cjs/keymaps/consts.js +30 -0
  40. package/dist/cjs/keymaps/index.js +362 -0
  41. package/dist/cjs/messages/index.js +137 -1
  42. package/dist/cjs/messages/insert-block.js +177 -0
  43. package/dist/cjs/node-width/index.js +85 -0
  44. package/dist/cjs/react-node-view/index.js +252 -0
  45. package/dist/cjs/react-node-view/types.js +5 -0
  46. package/dist/cjs/selection/gap-cursor/selection.js +196 -0
  47. package/dist/cjs/selection/gap-cursor/utils/index.js +21 -0
  48. package/dist/cjs/selection/gap-cursor/utils/is-ignored.js +14 -0
  49. package/dist/cjs/selection/gap-cursor/utils/is-valid-target-node.js +14 -0
  50. package/dist/cjs/selection/index.js +67 -0
  51. package/dist/cjs/selection/types.js +15 -0
  52. package/dist/cjs/selection/utils.js +50 -0
  53. package/dist/cjs/styles/index.js +29 -1
  54. package/dist/cjs/styles/shared/extension.js +13 -0
  55. package/dist/cjs/styles/shared/layout.js +13 -0
  56. package/dist/cjs/styles/shared/table.js +3 -1
  57. package/dist/cjs/transforms/expand.js +52 -0
  58. package/dist/cjs/transforms/extension.js +34 -0
  59. package/dist/cjs/transforms/index.js +59 -0
  60. package/dist/cjs/transforms/layout.js +72 -0
  61. package/dist/cjs/types/command.js +5 -0
  62. package/dist/cjs/types/context-panel.js +5 -0
  63. package/dist/cjs/types/editor-actions.js +5 -0
  64. package/dist/cjs/types/editor-appearance.js +5 -0
  65. package/dist/cjs/types/editor-container-width.js +5 -0
  66. package/dist/cjs/types/editor-plugin.js +5 -0
  67. package/dist/cjs/types/editor-react-context.js +5 -0
  68. package/dist/cjs/types/empty-state-handler.js +5 -0
  69. package/dist/cjs/types/feature-flags.js +5 -0
  70. package/dist/cjs/types/floating-toolbar.js +5 -0
  71. package/dist/cjs/types/index.js +20 -0
  72. package/dist/cjs/types/plugin-factory.js +5 -0
  73. package/dist/cjs/types/prosemirror-config.js +5 -0
  74. package/dist/cjs/types/quick-insert.js +5 -0
  75. package/dist/cjs/types/supported-browsers.js +6 -0
  76. package/dist/cjs/types/toolbar.js +39 -0
  77. package/dist/cjs/types/ui-components.js +5 -0
  78. package/dist/cjs/ui/DropList/index.js +217 -0
  79. package/dist/cjs/ui/ErrorBoundary/index.js +100 -0
  80. package/dist/cjs/ui/Layer/index.js +245 -0
  81. package/dist/cjs/ui/Layer/internal/helpers.js +70 -0
  82. package/dist/cjs/ui/PortalProvider/PortalProviderThemesProvider.js +60 -0
  83. package/dist/cjs/ui/PortalProvider/index.js +294 -0
  84. package/dist/cjs/ui-color/ColorPalette/Color/index.js +115 -0
  85. package/dist/cjs/ui-color/ColorPalette/Color/styles.js +32 -0
  86. package/dist/cjs/ui-color/ColorPalette/Palettes/cellBackgroundColorPalette.js +30 -0
  87. package/dist/cjs/ui-color/ColorPalette/Palettes/common.js +37 -0
  88. package/dist/cjs/ui-color/ColorPalette/Palettes/getColorMessage.js +17 -0
  89. package/dist/cjs/ui-color/ColorPalette/Palettes/index.js +13 -0
  90. package/dist/cjs/ui-color/ColorPalette/Palettes/paletteMessages.js +123 -0
  91. package/dist/cjs/ui-color/ColorPalette/Palettes/panelBackgroundPalette.js +164 -0
  92. package/dist/cjs/ui-color/ColorPalette/Palettes/statusColorPalette.js +72 -0
  93. package/dist/cjs/ui-color/ColorPalette/Palettes/textColorPalette.js +41 -0
  94. package/dist/cjs/ui-color/ColorPalette/Palettes/type.js +5 -0
  95. package/dist/cjs/ui-color/ColorPalette/index.js +90 -0
  96. package/dist/cjs/ui-color/ColorPalette/styles.js +19 -0
  97. package/dist/cjs/ui-color/index.js +89 -0
  98. package/dist/cjs/ui-menu/Dropdown/index.js +127 -0
  99. package/dist/cjs/ui-menu/DropdownMenu/index.js +294 -0
  100. package/dist/cjs/ui-menu/DropdownMenu/types.js +5 -0
  101. package/dist/cjs/ui-menu/ToolbarButton/index.js +127 -0
  102. package/dist/cjs/ui-menu/ToolbarButton/styles.js +26 -0
  103. package/dist/cjs/ui-menu/index.js +43 -0
  104. package/dist/cjs/ui-react/ReactEditorViewContext.js +15 -0
  105. package/dist/cjs/ui-react/index.js +23 -0
  106. package/dist/cjs/ui-react/with-react-editor-view-outer-listeners.js +159 -0
  107. package/dist/cjs/utils/dom.js +138 -0
  108. package/dist/cjs/utils/editor-core-utils.js +108 -0
  109. package/dist/cjs/utils/index.js +222 -0
  110. package/dist/cjs/utils/is-text-input.js +31 -0
  111. package/dist/cjs/utils/nodes.js +134 -0
  112. package/dist/cjs/utils/plugin-state-factory.js +113 -0
  113. package/dist/cjs/utils/slice.js +77 -0
  114. package/dist/cjs/version.json +1 -1
  115. package/dist/cjs/with-plugin-state/index.js +316 -0
  116. package/dist/cjs/with-plugin-state/types.js +5 -0
  117. package/dist/es2019/analytics/api.js +1 -0
  118. package/dist/es2019/analytics/index.js +1 -0
  119. package/dist/es2019/analytics/types/avatar.js +1 -0
  120. package/dist/es2019/analytics/types/block.js +1 -0
  121. package/dist/es2019/analytics/types/config-panel-events.js +1 -0
  122. package/dist/es2019/analytics/types/cut-copy-events.js +1 -0
  123. package/dist/es2019/analytics/types/date-events.js +1 -0
  124. package/dist/es2019/analytics/types/dispatch-analytics-event.js +1 -0
  125. package/dist/es2019/analytics/types/element-browser-events.js +1 -0
  126. package/dist/es2019/analytics/types/enums.js +336 -0
  127. package/dist/es2019/analytics/types/events.js +1 -0
  128. package/dist/es2019/analytics/types/experimental-events.js +1 -0
  129. package/dist/es2019/analytics/types/extension-events.js +13 -0
  130. package/dist/es2019/analytics/types/find-replace-events.js +1 -0
  131. package/dist/es2019/analytics/types/format-events.js +16 -0
  132. package/dist/es2019/analytics/types/general-events.js +30 -0
  133. package/dist/es2019/analytics/types/index.js +14 -0
  134. package/dist/es2019/analytics/types/inline-comment-events.js +7 -0
  135. package/dist/es2019/analytics/types/insert-events.js +41 -0
  136. package/dist/es2019/analytics/types/link-tool-bar-events.js +1 -0
  137. package/dist/es2019/analytics/types/list-events.js +17 -0
  138. package/dist/es2019/analytics/types/media-events.js +1 -0
  139. package/dist/es2019/analytics/types/node-events.js +18 -0
  140. package/dist/es2019/analytics/types/paste-events.js +46 -0
  141. package/dist/es2019/analytics/types/performance-report.js +1 -0
  142. package/dist/es2019/analytics/types/selection-events.js +1 -0
  143. package/dist/es2019/analytics/types/smart-links.js +12 -0
  144. package/dist/es2019/analytics/types/substitute-events.js +16 -0
  145. package/dist/es2019/analytics/types/table-events.js +34 -0
  146. package/dist/es2019/analytics/types/toolbar-button.js +19 -0
  147. package/dist/es2019/analytics/types/type-ahead.js +1 -0
  148. package/dist/es2019/analytics/types/utils.js +20 -0
  149. package/dist/es2019/core-utils/index.js +1 -0
  150. package/dist/es2019/core-utils/inside.js +8 -0
  151. package/dist/es2019/event-dispatcher/index.js +60 -0
  152. package/dist/es2019/keymaps/consts.js +12 -0
  153. package/dist/es2019/keymaps/index.js +186 -0
  154. package/dist/es2019/messages/index.js +125 -1
  155. package/dist/es2019/messages/insert-block.js +168 -0
  156. package/dist/es2019/node-width/index.js +74 -0
  157. package/dist/es2019/react-node-view/index.js +199 -0
  158. package/dist/es2019/react-node-view/types.js +1 -0
  159. package/dist/es2019/selection/gap-cursor/selection.js +136 -0
  160. package/dist/es2019/selection/gap-cursor/utils/index.js +2 -0
  161. package/dist/es2019/selection/gap-cursor/utils/is-ignored.js +5 -0
  162. package/dist/es2019/selection/gap-cursor/utils/is-valid-target-node.js +4 -0
  163. package/dist/es2019/selection/index.js +4 -0
  164. package/dist/es2019/selection/types.js +8 -0
  165. package/dist/es2019/selection/utils.js +38 -0
  166. package/dist/es2019/styles/index.js +3 -1
  167. package/dist/es2019/styles/shared/extension.js +3 -0
  168. package/dist/es2019/styles/shared/layout.js +3 -0
  169. package/dist/es2019/styles/shared/table.js +3 -1
  170. package/dist/es2019/transforms/expand.js +36 -0
  171. package/dist/es2019/transforms/extension.js +26 -0
  172. package/dist/es2019/transforms/index.js +3 -0
  173. package/dist/es2019/transforms/layout.js +54 -0
  174. package/dist/es2019/types/command.js +1 -0
  175. package/dist/es2019/types/context-panel.js +1 -0
  176. package/dist/es2019/types/editor-actions.js +1 -0
  177. package/dist/es2019/types/editor-appearance.js +1 -0
  178. package/dist/es2019/types/editor-container-width.js +1 -0
  179. package/dist/es2019/types/editor-plugin.js +1 -0
  180. package/dist/es2019/types/editor-react-context.js +1 -0
  181. package/dist/es2019/types/empty-state-handler.js +1 -0
  182. package/dist/es2019/types/feature-flags.js +1 -0
  183. package/dist/es2019/types/floating-toolbar.js +1 -0
  184. package/dist/es2019/types/index.js +2 -1
  185. package/dist/es2019/types/plugin-factory.js +1 -0
  186. package/dist/es2019/types/prosemirror-config.js +1 -0
  187. package/dist/es2019/types/quick-insert.js +1 -0
  188. package/dist/es2019/types/supported-browsers.js +2 -0
  189. package/dist/es2019/types/toolbar.js +30 -0
  190. package/dist/es2019/types/ui-components.js +1 -0
  191. package/dist/es2019/ui/DropList/index.js +187 -0
  192. package/dist/es2019/ui/ErrorBoundary/index.js +52 -0
  193. package/dist/es2019/ui/Layer/index.js +195 -0
  194. package/dist/es2019/ui/Layer/internal/helpers.js +62 -0
  195. package/dist/es2019/ui/PortalProvider/PortalProviderThemesProvider.js +43 -0
  196. package/dist/es2019/ui/PortalProvider/index.js +193 -0
  197. package/dist/es2019/ui-color/ColorPalette/Color/index.js +72 -0
  198. package/dist/es2019/ui-color/ColorPalette/Color/styles.js +35 -0
  199. package/dist/es2019/ui-color/ColorPalette/Palettes/cellBackgroundColorPalette.js +15 -0
  200. package/dist/es2019/ui-color/ColorPalette/Palettes/common.js +25 -0
  201. package/dist/es2019/ui-color/ColorPalette/Palettes/getColorMessage.js +14 -0
  202. package/dist/es2019/ui-color/ColorPalette/Palettes/index.js +1 -0
  203. package/dist/es2019/ui-color/ColorPalette/Palettes/paletteMessages.js +113 -0
  204. package/dist/es2019/ui-color/ColorPalette/Palettes/panelBackgroundPalette.js +143 -0
  205. package/dist/es2019/ui-color/ColorPalette/Palettes/statusColorPalette.js +56 -0
  206. package/dist/es2019/ui-color/ColorPalette/Palettes/textColorPalette.js +25 -0
  207. package/dist/es2019/ui-color/ColorPalette/Palettes/type.js +1 -0
  208. package/dist/es2019/ui-color/ColorPalette/index.js +68 -0
  209. package/dist/es2019/ui-color/ColorPalette/styles.js +7 -0
  210. package/dist/es2019/ui-color/index.js +8 -0
  211. package/dist/es2019/ui-menu/Dropdown/index.js +83 -0
  212. package/dist/es2019/ui-menu/DropdownMenu/index.js +244 -0
  213. package/dist/es2019/ui-menu/DropdownMenu/types.js +1 -0
  214. package/dist/es2019/ui-menu/ToolbarButton/index.js +94 -0
  215. package/dist/es2019/ui-menu/ToolbarButton/styles.js +12 -0
  216. package/dist/es2019/ui-menu/index.js +3 -0
  217. package/dist/es2019/ui-react/ReactEditorViewContext.js +3 -0
  218. package/dist/es2019/ui-react/index.js +2 -0
  219. package/dist/es2019/ui-react/with-react-editor-view-outer-listeners.js +103 -0
  220. package/dist/es2019/utils/dom.js +113 -0
  221. package/dist/es2019/utils/editor-core-utils.js +72 -0
  222. package/dist/es2019/utils/index.js +6 -0
  223. package/dist/es2019/utils/is-text-input.js +19 -0
  224. package/dist/es2019/utils/nodes.js +88 -0
  225. package/dist/es2019/utils/plugin-state-factory.js +107 -0
  226. package/dist/es2019/utils/slice.js +56 -0
  227. package/dist/es2019/version.json +1 -1
  228. package/dist/es2019/with-plugin-state/index.js +263 -0
  229. package/dist/es2019/with-plugin-state/types.js +1 -0
  230. package/dist/esm/analytics/api.js +1 -0
  231. package/dist/esm/analytics/index.js +1 -0
  232. package/dist/esm/analytics/types/avatar.js +1 -0
  233. package/dist/esm/analytics/types/block.js +1 -0
  234. package/dist/esm/analytics/types/config-panel-events.js +1 -0
  235. package/dist/esm/analytics/types/cut-copy-events.js +1 -0
  236. package/dist/esm/analytics/types/date-events.js +1 -0
  237. package/dist/esm/analytics/types/dispatch-analytics-event.js +1 -0
  238. package/dist/esm/analytics/types/element-browser-events.js +1 -0
  239. package/dist/esm/analytics/types/enums.js +336 -0
  240. package/dist/esm/analytics/types/events.js +1 -0
  241. package/dist/esm/analytics/types/experimental-events.js +1 -0
  242. package/dist/esm/analytics/types/extension-events.js +13 -0
  243. package/dist/esm/analytics/types/find-replace-events.js +1 -0
  244. package/dist/esm/analytics/types/format-events.js +16 -0
  245. package/dist/esm/analytics/types/general-events.js +30 -0
  246. package/dist/esm/analytics/types/index.js +14 -0
  247. package/dist/esm/analytics/types/inline-comment-events.js +7 -0
  248. package/dist/esm/analytics/types/insert-events.js +41 -0
  249. package/dist/esm/analytics/types/link-tool-bar-events.js +1 -0
  250. package/dist/esm/analytics/types/list-events.js +17 -0
  251. package/dist/esm/analytics/types/media-events.js +1 -0
  252. package/dist/esm/analytics/types/node-events.js +18 -0
  253. package/dist/esm/analytics/types/paste-events.js +46 -0
  254. package/dist/esm/analytics/types/performance-report.js +1 -0
  255. package/dist/esm/analytics/types/selection-events.js +1 -0
  256. package/dist/esm/analytics/types/smart-links.js +12 -0
  257. package/dist/esm/analytics/types/substitute-events.js +16 -0
  258. package/dist/esm/analytics/types/table-events.js +34 -0
  259. package/dist/esm/analytics/types/toolbar-button.js +19 -0
  260. package/dist/esm/analytics/types/type-ahead.js +1 -0
  261. package/dist/esm/analytics/types/utils.js +20 -0
  262. package/dist/esm/core-utils/index.js +1 -0
  263. package/dist/esm/core-utils/inside.js +7 -0
  264. package/dist/esm/event-dispatcher/index.js +74 -0
  265. package/dist/esm/keymaps/consts.js +12 -0
  266. package/dist/esm/keymaps/index.js +184 -0
  267. package/dist/esm/messages/index.js +125 -1
  268. package/dist/esm/messages/insert-block.js +168 -0
  269. package/dist/esm/node-width/index.js +72 -0
  270. package/dist/esm/react-node-view/index.js +244 -0
  271. package/dist/esm/react-node-view/types.js +1 -0
  272. package/dist/esm/selection/gap-cursor/selection.js +176 -0
  273. package/dist/esm/selection/gap-cursor/utils/index.js +2 -0
  274. package/dist/esm/selection/gap-cursor/utils/is-ignored.js +5 -0
  275. package/dist/esm/selection/gap-cursor/utils/is-valid-target-node.js +4 -0
  276. package/dist/esm/selection/index.js +4 -0
  277. package/dist/esm/selection/types.js +8 -0
  278. package/dist/esm/selection/utils.js +38 -0
  279. package/dist/esm/styles/index.js +3 -1
  280. package/dist/esm/styles/shared/extension.js +3 -0
  281. package/dist/esm/styles/shared/layout.js +3 -0
  282. package/dist/esm/styles/shared/table.js +3 -1
  283. package/dist/esm/transforms/expand.js +34 -0
  284. package/dist/esm/transforms/extension.js +24 -0
  285. package/dist/esm/transforms/index.js +3 -0
  286. package/dist/esm/transforms/layout.js +58 -0
  287. package/dist/esm/types/command.js +1 -0
  288. package/dist/esm/types/context-panel.js +1 -0
  289. package/dist/esm/types/editor-actions.js +1 -0
  290. package/dist/esm/types/editor-appearance.js +1 -0
  291. package/dist/esm/types/editor-container-width.js +1 -0
  292. package/dist/esm/types/editor-plugin.js +1 -0
  293. package/dist/esm/types/editor-react-context.js +1 -0
  294. package/dist/esm/types/empty-state-handler.js +1 -0
  295. package/dist/esm/types/feature-flags.js +1 -0
  296. package/dist/esm/types/floating-toolbar.js +1 -0
  297. package/dist/esm/types/index.js +2 -1
  298. package/dist/esm/types/plugin-factory.js +1 -0
  299. package/dist/esm/types/prosemirror-config.js +1 -0
  300. package/dist/esm/types/quick-insert.js +1 -0
  301. package/dist/esm/types/supported-browsers.js +2 -0
  302. package/dist/esm/types/toolbar.js +30 -0
  303. package/dist/esm/types/ui-components.js +1 -0
  304. package/dist/esm/ui/DropList/index.js +205 -0
  305. package/dist/esm/ui/ErrorBoundary/index.js +84 -0
  306. package/dist/esm/ui/Layer/index.js +228 -0
  307. package/dist/esm/ui/Layer/internal/helpers.js +62 -0
  308. package/dist/esm/ui/PortalProvider/PortalProviderThemesProvider.js +43 -0
  309. package/dist/esm/ui/PortalProvider/index.js +275 -0
  310. package/dist/esm/ui-color/ColorPalette/Color/index.js +93 -0
  311. package/dist/esm/ui-color/ColorPalette/Color/styles.js +19 -0
  312. package/dist/esm/ui-color/ColorPalette/Palettes/cellBackgroundColorPalette.js +15 -0
  313. package/dist/esm/ui-color/ColorPalette/Palettes/common.js +24 -0
  314. package/dist/esm/ui-color/ColorPalette/Palettes/getColorMessage.js +10 -0
  315. package/dist/esm/ui-color/ColorPalette/Palettes/index.js +1 -0
  316. package/dist/esm/ui-color/ColorPalette/Palettes/paletteMessages.js +113 -0
  317. package/dist/esm/ui-color/ColorPalette/Palettes/panelBackgroundPalette.js +153 -0
  318. package/dist/esm/ui-color/ColorPalette/Palettes/statusColorPalette.js +56 -0
  319. package/dist/esm/ui-color/ColorPalette/Palettes/textColorPalette.js +25 -0
  320. package/dist/esm/ui-color/ColorPalette/Palettes/type.js +1 -0
  321. package/dist/esm/ui-color/ColorPalette/index.js +70 -0
  322. package/dist/esm/ui-color/ColorPalette/styles.js +7 -0
  323. package/dist/esm/ui-color/index.js +8 -0
  324. package/dist/esm/ui-menu/Dropdown/index.js +105 -0
  325. package/dist/esm/ui-menu/DropdownMenu/index.js +265 -0
  326. package/dist/esm/ui-menu/DropdownMenu/types.js +1 -0
  327. package/dist/esm/ui-menu/ToolbarButton/index.js +102 -0
  328. package/dist/esm/ui-menu/ToolbarButton/styles.js +12 -0
  329. package/dist/esm/ui-menu/index.js +3 -0
  330. package/dist/esm/ui-react/ReactEditorViewContext.js +3 -0
  331. package/dist/esm/ui-react/index.js +2 -0
  332. package/dist/esm/ui-react/with-react-editor-view-outer-listeners.js +138 -0
  333. package/dist/esm/utils/dom.js +113 -0
  334. package/dist/esm/utils/editor-core-utils.js +72 -0
  335. package/dist/esm/utils/index.js +6 -0
  336. package/dist/esm/utils/is-text-input.js +18 -0
  337. package/dist/esm/utils/nodes.js +100 -0
  338. package/dist/esm/utils/plugin-state-factory.js +106 -0
  339. package/dist/esm/utils/slice.js +59 -0
  340. package/dist/esm/version.json +1 -1
  341. package/dist/esm/with-plugin-state/index.js +311 -0
  342. package/dist/esm/with-plugin-state/types.js +1 -0
  343. package/dist/types/analytics/api.d.ts +5 -0
  344. package/dist/types/analytics/index.d.ts +3 -0
  345. package/dist/types/analytics/types/avatar.d.ts +5 -0
  346. package/dist/types/analytics/types/block.d.ts +3 -0
  347. package/dist/types/analytics/types/config-panel-events.d.ts +17 -0
  348. package/dist/types/analytics/types/cut-copy-events.d.ts +12 -0
  349. package/dist/types/analytics/types/date-events.d.ts +17 -0
  350. package/dist/types/analytics/types/dispatch-analytics-event.d.ts +2 -0
  351. package/dist/types/analytics/types/element-browser-events.d.ts +11 -0
  352. package/dist/types/analytics/types/enums.d.ts +313 -0
  353. package/dist/types/analytics/types/events.d.ts +125 -0
  354. package/dist/types/analytics/types/experimental-events.d.ts +17 -0
  355. package/dist/types/analytics/types/extension-events.d.ts +37 -0
  356. package/dist/types/analytics/types/find-replace-events.d.ts +23 -0
  357. package/dist/types/analytics/types/format-events.d.ts +49 -0
  358. package/dist/types/analytics/types/general-events.d.ts +179 -0
  359. package/dist/types/analytics/types/index.d.ts +34 -0
  360. package/dist/types/analytics/types/inline-comment-events.d.ts +17 -0
  361. package/dist/types/analytics/types/insert-events.d.ts +128 -0
  362. package/dist/types/analytics/types/link-tool-bar-events.d.ts +76 -0
  363. package/dist/types/analytics/types/list-events.d.ts +52 -0
  364. package/dist/types/analytics/types/media-events.d.ts +16 -0
  365. package/dist/types/analytics/types/node-events.d.ts +56 -0
  366. package/dist/types/analytics/types/paste-events.d.ts +39 -0
  367. package/dist/types/analytics/types/performance-report.d.ts +24 -0
  368. package/dist/types/analytics/types/selection-events.d.ts +18 -0
  369. package/dist/types/analytics/types/smart-links.d.ts +13 -0
  370. package/dist/types/analytics/types/substitute-events.d.ts +26 -0
  371. package/dist/types/analytics/types/table-events.d.ts +94 -0
  372. package/dist/types/analytics/types/toolbar-button.d.ts +22 -0
  373. package/dist/types/analytics/types/type-ahead.d.ts +27 -0
  374. package/dist/types/analytics/types/utils.d.ts +46 -0
  375. package/dist/types/core-utils/index.d.ts +1 -0
  376. package/dist/types/core-utils/inside.d.ts +2 -0
  377. package/dist/types/event-dispatcher/index.d.ts +19 -0
  378. package/dist/types/keymaps/consts.d.ts +12 -0
  379. package/dist/types/keymaps/index.d.ts +89 -0
  380. package/dist/types/messages/index.d.ts +124 -0
  381. package/dist/types/messages/insert-block.d.ts +167 -0
  382. package/dist/types/node-width/index.d.ts +7 -0
  383. package/dist/types/react-node-view/index.d.ts +52 -0
  384. package/dist/types/react-node-view/types.d.ts +12 -0
  385. package/dist/types/selection/gap-cursor/selection.d.ts +40 -0
  386. package/dist/types/selection/gap-cursor/utils/index.d.ts +2 -0
  387. package/dist/types/selection/gap-cursor/utils/is-ignored.d.ts +2 -0
  388. package/dist/types/selection/gap-cursor/utils/is-valid-target-node.d.ts +2 -0
  389. package/dist/types/selection/index.d.ts +5 -0
  390. package/dist/types/selection/types.d.ts +26 -0
  391. package/dist/types/selection/utils.d.ts +4 -0
  392. package/dist/types/styles/index.d.ts +2 -0
  393. package/dist/types/styles/shared/extension.d.ts +2 -0
  394. package/dist/types/styles/shared/layout.d.ts +2 -0
  395. package/dist/types/styles/shared/table.d.ts +2 -0
  396. package/dist/types/transforms/expand.d.ts +5 -0
  397. package/dist/types/transforms/extension.d.ts +6 -0
  398. package/dist/types/transforms/index.d.ts +3 -0
  399. package/dist/types/transforms/layout.d.ts +15 -0
  400. package/dist/types/types/command.d.ts +5 -0
  401. package/dist/types/types/context-panel.d.ts +3 -0
  402. package/dist/types/types/editor-actions.d.ts +19 -0
  403. package/dist/types/types/editor-appearance.d.ts +1 -0
  404. package/dist/types/types/editor-container-width.d.ts +6 -0
  405. package/dist/types/types/editor-plugin.d.ts +61 -0
  406. package/dist/types/types/editor-react-context.d.ts +6 -0
  407. package/dist/types/types/empty-state-handler.d.ts +7 -0
  408. package/dist/types/types/feature-flags.d.ts +344 -0
  409. package/dist/types/types/floating-toolbar.d.ts +183 -0
  410. package/dist/types/types/index.d.ts +17 -1
  411. package/dist/types/types/plugin-factory.d.ts +27 -0
  412. package/dist/types/types/prosemirror-config.d.ts +14 -0
  413. package/dist/types/types/quick-insert.d.ts +26 -0
  414. package/dist/types/types/supported-browsers.d.ts +10 -0
  415. package/dist/types/types/toolbar.d.ts +30 -0
  416. package/dist/types/types/type-ahead.d.ts +50 -1
  417. package/dist/types/types/ui-components.d.ts +22 -0
  418. package/dist/types/ui/DropList/index.d.ts +19 -0
  419. package/dist/types/ui/ErrorBoundary/index.d.ts +24 -0
  420. package/dist/types/ui/Layer/index.d.ts +47 -0
  421. package/dist/types/ui/Layer/internal/helpers.d.ts +5 -0
  422. package/dist/types/ui/PortalProvider/PortalProviderThemesProvider.d.ts +6 -0
  423. package/dist/types/ui/PortalProvider/index.d.ts +50 -0
  424. package/dist/types/ui-color/ColorPalette/Color/index.d.ts +19 -0
  425. package/dist/types/ui-color/ColorPalette/Color/styles.d.ts +4 -0
  426. package/dist/types/ui-color/ColorPalette/Palettes/cellBackgroundColorPalette.d.ts +3 -0
  427. package/dist/types/ui-color/ColorPalette/Palettes/common.d.ts +2 -0
  428. package/dist/types/ui-color/ColorPalette/Palettes/getColorMessage.d.ts +2 -0
  429. package/dist/types/ui-color/ColorPalette/Palettes/index.d.ts +2 -0
  430. package/dist/types/ui-color/ColorPalette/Palettes/paletteMessages.d.ts +113 -0
  431. package/dist/types/ui-color/ColorPalette/Palettes/panelBackgroundPalette.d.ts +4 -0
  432. package/dist/types/ui-color/ColorPalette/Palettes/statusColorPalette.d.ts +4 -0
  433. package/dist/types/ui-color/ColorPalette/Palettes/textColorPalette.d.ts +3 -0
  434. package/dist/types/ui-color/ColorPalette/Palettes/type.d.ts +8 -0
  435. package/dist/types/ui-color/ColorPalette/index.d.ts +15 -0
  436. package/dist/types/ui-color/ColorPalette/styles.d.ts +1 -0
  437. package/dist/types/ui-color/index.d.ts +9 -0
  438. package/dist/types/ui-menu/Dropdown/index.d.ts +32 -0
  439. package/dist/types/ui-menu/DropdownMenu/index.d.ts +19 -0
  440. package/dist/types/ui-menu/DropdownMenu/types.d.ts +43 -0
  441. package/dist/types/ui-menu/ToolbarButton/index.d.ts +53 -0
  442. package/dist/types/ui-menu/ToolbarButton/styles.d.ts +4 -0
  443. package/dist/types/ui-menu/index.d.ts +5 -0
  444. package/dist/types/ui-react/ReactEditorViewContext.d.ts +8 -0
  445. package/dist/types/ui-react/index.d.ts +2 -0
  446. package/dist/types/ui-react/with-react-editor-view-outer-listeners.d.ts +9 -0
  447. package/dist/types/utils/dom.d.ts +26 -0
  448. package/dist/types/utils/editor-core-utils.d.ts +23 -0
  449. package/dist/types/utils/getModeFromTheme.d.ts +1 -1
  450. package/dist/types/utils/index.d.ts +9 -0
  451. package/dist/types/utils/is-text-input.d.ts +2 -0
  452. package/dist/types/utils/nodes.d.ts +35 -0
  453. package/dist/types/utils/plugin-state-factory.d.ts +16 -0
  454. package/dist/types/utils/slice.d.ts +11 -0
  455. package/dist/types/with-plugin-state/index.d.ts +86 -0
  456. package/dist/types/with-plugin-state/types.d.ts +10 -0
  457. package/error-boundary/package.json +8 -0
  458. package/event-dispatcher/package.json +8 -0
  459. package/keymaps/package.json +8 -0
  460. package/node-width/package.json +8 -0
  461. package/package.json +27 -5
  462. package/portal-provider/package.json +8 -0
  463. package/react-node-view/package.json +8 -0
  464. package/selection/package.json +8 -0
  465. package/transforms/package.json +8 -0
  466. package/ui-color/package.json +8 -0
  467. package/ui-menu/package.json +8 -0
  468. package/ui-react/package.json +8 -0
  469. package/with-plugin-state/package.json +8 -0
@@ -0,0 +1,344 @@
1
+ import type { DisableSpellcheckByBrowser } from './supported-browsers';
2
+ /**
3
+ * Feature Flags for experimental features/behaviours.
4
+ *
5
+ * This feature flags are not meant to be used as plugin configuration and are only for temporary flags that will eventually be enabled be default or removed.
6
+ * If your plugin requires permanent configuration options it's better to keep them in plugin options.
7
+ *
8
+ * # ADDING NEW FEATURE FLAG
9
+ *
10
+ * – Every feature flag must have a description explaining what it's meant to be doing.
11
+ * – Every feature flag must have an associated ticket and a DUE DATE when this flag will be removed and an owner who will remove it.
12
+ *
13
+ * ## TEMPLATE
14
+ *
15
+ * When adding a new feature flag use the following template:
16
+ *
17
+ * ```
18
+ * @description
19
+ * What this feature flag is doing. Do not lead with "Feature flag to".
20
+ *
21
+ * @see https://product-fabric.atlassian.net/browse/ED-1
22
+ * @default false
23
+ * ```
24
+ *
25
+ * ## NAMING
26
+ * – Name feature flags without `allow`.
27
+ * – A name should read as "Feature flag to enable ...".
28
+ *
29
+ * Example: name = "newInsertionBehaviour" -> "Enable new insertion behaviour"
30
+ */
31
+ export declare type FeatureFlags = {
32
+ /**
33
+ * @description Enable single layout option
34
+ *
35
+ * @see https://hello.atlassian.net/browse/LOVE-187
36
+ * @default false
37
+ */
38
+ singleLayout?: boolean;
39
+ /**
40
+ * @description Enable new insertion behaviour
41
+ *
42
+ * @see https://product-fabric.atlassian.net/l/c/JYoSEu00
43
+ * @default false
44
+ */
45
+ newInsertionBehaviour?: boolean;
46
+ /**
47
+ * @description Allows to toggle expand open state
48
+ * @default true
49
+ */
50
+ interactiveExpand?: boolean;
51
+ /**
52
+ * @description
53
+ * Whether a placeholder bracket hint was provided (`string => boolean`)
54
+ * Placeholder text to be displayed when a bracket '{' is typed and the line is empty e.g. 'Did you mean to use '/' to insert content?'
55
+ * This is used to aid migration for TinyMCE power users to the new Fabric editor power user shortcuts.
56
+ *
57
+ * @see https://product-fabric.atlassian.net/l/c/4JLjusAP
58
+ * @default true
59
+ */
60
+ placeholderBracketHint?: boolean;
61
+ /**
62
+ * @description
63
+ * Whether placeholder hints were provided (`string[] => boolean`)
64
+ * Placeholder text values to display on new empty lines.
65
+ *
66
+ * @see https://product-fabric.atlassian.net/l/c/GG1Yv9cK
67
+ * @default false
68
+ */
69
+ placeholderHints?: boolean;
70
+ /**
71
+ * @description
72
+ * Enable additional text colours within the colour palette.
73
+ *
74
+ * @see https://product-fabric.atlassian.net/l/c/YhyvfWqg
75
+ * @default false
76
+ */
77
+ moreTextColors?: boolean;
78
+ /**
79
+ * @description
80
+ * Enable find/replace functionality within the editor
81
+ *
82
+ * @see https://product-fabric.atlassian.net/browse/ED-3504
83
+ * @default false
84
+ */
85
+ findReplace?: boolean;
86
+ /**
87
+ * @description
88
+ * Enable case matching functionality in find/replace feature within the editor
89
+ *
90
+ * @see https://product-fabric.atlassian.net/browse/ED-9684
91
+ * @default false
92
+ */
93
+ findReplaceMatchCase?: boolean;
94
+ /**
95
+ * @description
96
+ * Enable `localId` generation for extensions.
97
+ *
98
+ * @see https://product-fabric.atlassian.net/l/c/2m0i9jLX
99
+ * @default false
100
+ */
101
+ extensionLocalIdGeneration?: boolean;
102
+ /**
103
+ * @description
104
+ * Enable date picker which has a textbox for internationalised keyboard date
105
+ * input.
106
+ *
107
+ * @see https://product-fabric.atlassian.net/browse/ED-8928
108
+ * @default false
109
+ */
110
+ keyboardAccessibleDatepicker?: boolean;
111
+ /**
112
+ * @description
113
+ * Enable add column custom step
114
+ *
115
+ * @see https://product-fabric.atlassian.net/browse/ED-8856
116
+ * @default false
117
+ */
118
+ addColumnWithCustomStep?: boolean;
119
+ /**
120
+ * @description
121
+ * Enable undo/redo buttons and functionality within the editor
122
+ *
123
+ * @see https://product-fabric.atlassian.net/browse/ED-9537
124
+ * @default false
125
+ */
126
+ undoRedoButtons?: boolean;
127
+ /**
128
+ * @description
129
+ * Measure render performance for all tracked analytics events
130
+ *
131
+ * @default false
132
+ */
133
+ catchAllTracking?: boolean;
134
+ /**
135
+ * @description
136
+ * Enables performance optimization for sticky headers in tables
137
+ *
138
+ * @see https://product-fabric.atlassian.net/browse/ED-11807
139
+ * @default false
140
+ */
141
+ stickyHeadersOptimization?: boolean;
142
+ /**
143
+ * @description
144
+ * Enables performance optimization for initial table render
145
+ *
146
+ * @see https://product-fabric.atlassian.net/browse/ED-11647
147
+ * @default false
148
+ */
149
+ initialRenderOptimization?: boolean;
150
+ /**
151
+ * @description
152
+ * Enables performance optimization for mousemove inside table
153
+ *
154
+ * @see https://product-fabric.atlassian.net/browse/ED-11577
155
+ * @default false
156
+ */
157
+ mouseMoveOptimization?: boolean;
158
+ /**
159
+ * @description
160
+ * Enables performance optimization for table rendering on keypress
161
+ *
162
+ * @see https://product-fabric.atlassian.net/browse/ED-11640
163
+ * @default false
164
+ */
165
+ tableRenderOptimization?: boolean;
166
+ /**
167
+ * @description
168
+ * Enables performance optimization for table rendering on keypress
169
+ *
170
+ * @see https://product-fabric.atlassian.net/browse/ED-11781
171
+ * @default false
172
+ */
173
+ tableOverflowShadowsOptimization?: boolean;
174
+ /**
175
+ * @description
176
+ * Yield to user interaction work before sending analytics
177
+ *
178
+ * @see https://product-fabric.atlassian.net/browse/ED-10584
179
+ * @default false
180
+ */
181
+ queueAnalytics?: boolean;
182
+ /**
183
+ * Enable extend floating toolbars
184
+ * @see https://product-fabric.atlassian.net/browse/ED-11963
185
+ * @default false
186
+ */
187
+ extendFloatingToolbar?: boolean;
188
+ /**
189
+ * Set editor to use the input rule with unpredictable undo results
190
+ * @see https://product-fabric.atlassian.net/browse/ED-12676
191
+ * @default true
192
+ */
193
+ useUnpredictableInputRule?: boolean;
194
+ /**
195
+ * Show the avatar group as a plugin
196
+ * @see https://product-fabric.atlassian.net/browse/CERN-747
197
+ * @default false
198
+ */
199
+ showAvatarGroupAsPlugin?: boolean;
200
+ /**
201
+ * @description
202
+ * Enables docStructure for unhandleErrorEvents
203
+ *
204
+ * @see https://product-fabric.atlassian.net/browse/ED-12998
205
+ * @default false
206
+ */
207
+ errorBoundaryDocStructure?: boolean;
208
+ /**
209
+ * @description
210
+ * Enables docStructure for synchronyError
211
+ *
212
+ * @see https://product-fabric.atlassian.net/browse/ED-12998
213
+ * @default false
214
+ */
215
+ synchronyErrorDocStructure?: boolean;
216
+ /**
217
+ * @decsription
218
+ * Enables the view update subscription plugin
219
+ *
220
+ * @default false
221
+ */
222
+ enableViewUpdateSubscription?: boolean;
223
+ /**
224
+ * @description
225
+ * Enable scroll-to-telepointer for collab avatars
226
+ *
227
+ * @see https://product-fabric.atlassian.net/browse/ED-12460
228
+ * @default false
229
+ */
230
+ collabAvatarScroll?: boolean;
231
+ /**
232
+ * @description
233
+ * Enable UFO experiences
234
+ *
235
+ * @see https://product-fabric.atlassian.net/browse/ED-13059
236
+ * @default false
237
+ */
238
+ ufo?: boolean;
239
+ /**
240
+ * Split editor toolbar to two lines when viewport is small
241
+ * @see https://product-fabric.atlassian.net/browse/CERN-1124
242
+ * @default false
243
+ */
244
+ twoLineEditorToolbar?: boolean;
245
+ /**
246
+ * Prevent transactions from being mutated (e.g. apply, filterTransaction,
247
+ * appendTransaction) after being dispatched
248
+ * @see https://product-fabric.atlassian.net/wiki/spaces/E/pages/3131836958/Editor+DACI+013+Avoid+content+loss+with+bad+transactions+Ghost+Steps
249
+ * @see https://product-fabric.atlassian.net/browse/ED-14002
250
+ * @default false
251
+ */
252
+ saferDispatchedTransactions?: boolean;
253
+ /**
254
+ * Create non-smart hyperlinks on plain text paste (Cmd/Ctrl+Shift+v)
255
+ * @see https://product-fabric.atlassian.net/browse/EDM-2492
256
+ * @default false
257
+ */
258
+ plainTextPasteLinkification?: boolean;
259
+ /**
260
+ * @description
261
+ * Enable new collab service
262
+ * @see https://product-fabric.atlassian.net/browse/ED-14097
263
+ * @default false
264
+ */
265
+ useNativeCollabPlugin?: boolean;
266
+ /**
267
+ * Enable custom up/down key handler when cursor below/above an inline media
268
+ * @see https://product-fabric.atlassian.net/browse/ED-13066
269
+ * Chrome bug: https://bugs.chromium.org/p/chromium/issues/detail?id=1227468
270
+ * @default undefined
271
+ */
272
+ chromeCursorHandlerFixedVersion?: number;
273
+ /**
274
+ * Number to distinguish between which different toolbar is being displayed
275
+ * as part of the smart link view changing experiment run by the Linking Platform.
276
+ * @see https://product-fabric.atlassian.net/browse/EDM-2640
277
+ * @default null
278
+ */
279
+ viewChangingExperimentToolbarStyle?: string;
280
+ /**
281
+ * @description
282
+ * Enable display of a preview modal on mouse over of inline smart card
283
+ *
284
+ * @see https://product-fabric.atlassian.net/browse/EDM-2860
285
+ * @default false
286
+ */
287
+ showHoverPreview?: boolean;
288
+ /**
289
+ * @description
290
+ * Generic way of disabling spellcheck per browser by version range
291
+ *
292
+ * @see https://product-fabric.atlassian.net/browse/ED-14510
293
+ * @default {}
294
+ * Example:
295
+ * {
296
+ * ie: {
297
+ * minimum: 101,
298
+ * },
299
+ * chrome: {
300
+ * minimum: 96,
301
+ * maximum: 109,
302
+ * },
303
+ * };
304
+ */
305
+ disableSpellcheckByBrowser?: DisableSpellcheckByBrowser | undefined;
306
+ /**
307
+ * @description
308
+ * Show indentation buttons in the Editor toolbar
309
+ *
310
+ * @see https://product-fabric.atlassian.net/wiki/spaces/E/pages/3237512038/EXPLORE+Indentation+buttons+in+the+Editor+toolbar
311
+ * @see https://product-fabric.atlassian.net/browse/ED-15067
312
+ * @default false
313
+ */
314
+ indentationButtonsInTheToolbar?: boolean;
315
+ /**
316
+ * @description
317
+ * Show copy buttons in the Floating toolbar
318
+ *
319
+ * @see https://product-fabric.atlassian.net/wiki/spaces/E/pages/3237609689/Cubone+Mini+project+-+Copy+button+in+the+floating+toolbar
320
+ * @see https://product-fabric.atlassian.net/browse/ED-15090
321
+ * @default false
322
+ */
323
+ floatingToolbarCopyButton?: boolean;
324
+ /**
325
+ * @description
326
+ * Use the linking platform link picker for link insertion and edit
327
+ *
328
+ * @see https://product-fabric.atlassian.net/wiki/spaces/EM/pages/3158246501/PP+Link+Picker+-+Standalone
329
+ * @see https://product-fabric.atlassian.net/browse/EDM-2577
330
+ * @default false
331
+ */
332
+ lpLinkPicker?: boolean;
333
+ /**
334
+ * @description
335
+ * Show link settings button in the Floating toolbar
336
+ *
337
+ * @see https://product-fabric.atlassian.net/wiki/spaces/EM/pages/3199172609/POP+Some+users+need+to+work+with+URLs+to+get+their+job+done
338
+ * @see https://product-fabric.atlassian.net/browse/EDM-3268
339
+ * @default null
340
+ */
341
+ floatingToolbarLinkSettingsButton?: string;
342
+ };
343
+ export declare type FeatureFlagKey = keyof FeatureFlags;
344
+ export declare type GetEditorFeatureFlags = () => FeatureFlags;
@@ -0,0 +1,183 @@
1
+ import type React from 'react';
2
+ import { Node, NodeType } from 'prosemirror-model';
3
+ import { EditorState } from 'prosemirror-state';
4
+ import { EditorView } from 'prosemirror-view';
5
+ import { IntlShape } from 'react-intl-next';
6
+ import type { EmojiId } from '@atlaskit/emoji/types';
7
+ import type { DispatchAnalyticsEvent } from '../analytics/types/dispatch-analytics-event';
8
+ import type { ProviderFactory } from '../provider-factory';
9
+ import type { PaletteColor } from '../ui-color/ColorPalette/Palettes/type';
10
+ import type { Command } from './command';
11
+ export interface RenderOptionsPropsT<T> {
12
+ hide: () => void;
13
+ dispatchCommand: (command: T) => void;
14
+ }
15
+ export interface DropdownOptionT<T> {
16
+ id?: string;
17
+ title: string;
18
+ onClick: T;
19
+ selected?: boolean;
20
+ disabled?: boolean;
21
+ hidden?: boolean;
22
+ testId?: string;
23
+ tooltip?: string;
24
+ }
25
+ export declare type DropdownOptions<T> = Array<DropdownOptionT<T>> | {
26
+ render: (props: RenderOptionsPropsT<T>) => React.ReactElement<any> | null;
27
+ height: number;
28
+ width: number;
29
+ };
30
+ export interface SelectOption<T = unknown> {
31
+ value: string;
32
+ label: string;
33
+ selected?: boolean;
34
+ disabled?: boolean;
35
+ hidden?: boolean;
36
+ data?: T;
37
+ }
38
+ export declare type ButtonAppearance = 'subtle' | 'danger';
39
+ export declare type Icon = React.ComponentType<{
40
+ label: string;
41
+ }>;
42
+ export declare type RenderOptionsProps = RenderOptionsPropsT<Command>;
43
+ export declare type AlignType = 'left' | 'center' | 'right';
44
+ interface Position {
45
+ top?: number;
46
+ right?: number;
47
+ bottom?: number;
48
+ left?: number;
49
+ }
50
+ export interface ConfirmDialogOptions {
51
+ title?: string;
52
+ message: string;
53
+ okButtonLabel?: string;
54
+ cancelButtonLabel?: string;
55
+ }
56
+ export declare type FloatingToolbarButton<T> = {
57
+ id?: string;
58
+ type: 'button';
59
+ title: string;
60
+ onClick: T;
61
+ showTitle?: boolean;
62
+ onMouseEnter?: T;
63
+ onMouseLeave?: T;
64
+ onFocus?: T;
65
+ onBlur?: T;
66
+ icon?: Icon;
67
+ selected?: boolean;
68
+ disabled?: boolean;
69
+ hidden?: boolean;
70
+ appearance?: ButtonAppearance;
71
+ href?: string;
72
+ target?: string;
73
+ className?: string;
74
+ tooltipContent?: React.ReactNode;
75
+ testId?: string;
76
+ hideTooltipOnClick?: boolean;
77
+ confirmDialog?: ConfirmDialogOptions;
78
+ metadata?: {
79
+ [key: string]: string;
80
+ };
81
+ ariaHasPopup?: boolean | 'dialog' | 'menu' | 'listbox' | 'tree' | 'grid' | undefined;
82
+ tabIndex?: number | null | undefined;
83
+ };
84
+ export declare type FloatingToolbarInput<T> = {
85
+ id: string;
86
+ type: 'input';
87
+ title?: string;
88
+ description?: string;
89
+ onSubmit: (...args: any[]) => T;
90
+ onBlur: (...args: any[]) => T;
91
+ defaultValue?: string;
92
+ placeholder?: string;
93
+ hidden?: boolean;
94
+ };
95
+ export declare type FloatingToolbarCustom<T> = {
96
+ type: 'custom';
97
+ fallback: Array<FloatingToolbarFallbackItem<T>>;
98
+ render: (view?: EditorView, idx?: number, dispatchAnalyticsEvent?: DispatchAnalyticsEvent) => React.ComponentClass | React.SFC | React.ReactElement<any> | null;
99
+ hidden?: boolean;
100
+ };
101
+ declare type FloatingToolbarSelectBase<T, V = SelectOption> = {
102
+ id: string;
103
+ type: 'select';
104
+ selectType: 'list' | 'emoji' | 'date' | 'color';
105
+ title?: string;
106
+ options: V[];
107
+ hidden?: boolean;
108
+ hideExpandIcon?: boolean;
109
+ defaultValue?: V | null;
110
+ placeholder?: string;
111
+ onChange: (selected: V) => T;
112
+ filterOption?: ((option: V, rawInput: string) => boolean) | null;
113
+ };
114
+ export declare type FloatingToolbarListPicker<T> = FloatingToolbarSelectBase<T> & {
115
+ selectType: 'list';
116
+ };
117
+ export declare type FloatingToolbarColorPicker<T> = FloatingToolbarSelectBase<T, PaletteColor> & {
118
+ selectType: 'color';
119
+ };
120
+ export declare type FloatingToolbarEmojiPicker<T> = FloatingToolbarSelectBase<T, EmojiId> & {
121
+ selectType: 'emoji';
122
+ selected?: boolean;
123
+ options: never[];
124
+ };
125
+ export declare type FloatingToolbarDatePicker<T> = FloatingToolbarSelectBase<T, number> & {
126
+ selectType: 'date';
127
+ options: never[];
128
+ };
129
+ export declare type FloatingToolbarSelect<T> = FloatingToolbarEmojiPicker<T> | FloatingToolbarColorPicker<T> | FloatingToolbarListPicker<T> | FloatingToolbarDatePicker<T>;
130
+ export declare type FloatingToolbarSeparator = {
131
+ type: 'separator';
132
+ hidden?: boolean;
133
+ };
134
+ export declare type FloatingToolbarDropdown<T> = {
135
+ id?: string;
136
+ type: 'dropdown';
137
+ title: string;
138
+ icon?: Icon;
139
+ options: DropdownOptions<T>;
140
+ hidden?: boolean;
141
+ hideExpandIcon?: boolean;
142
+ disabled?: boolean;
143
+ tooltip?: string;
144
+ };
145
+ declare type FloatingToolbarExtensionsPlaceholder = {
146
+ type: 'extensions-placeholder';
147
+ hidden?: boolean;
148
+ separator?: 'start' | 'end' | 'both';
149
+ };
150
+ /**
151
+ * This additional type is introduced in order to prevent infinite loop due to
152
+ * `extract-react-types-loader`. The issue occurs when custom type `fallback` field
153
+ * is an array of FloatingToolbarItem. Since FloatingToolbarItem is a FloatingToolbarCustom
154
+ * type, it stucks in an infinite loop. Custom - Item -> Custom .... go on.
155
+ *
156
+ * This type is restricted with the items that can be used for fallback.
157
+ * Make sure that this type is not a FloatingToolbarCustom type.
158
+ */
159
+ export declare type FloatingToolbarFallbackItem<T> = FloatingToolbarButton<T> | FloatingToolbarDropdown<T> | FloatingToolbarSelect<T> | FloatingToolbarInput<T> | FloatingToolbarSeparator;
160
+ export declare type FloatingToolbarItem<T> = FloatingToolbarButton<T> | FloatingToolbarDropdown<T> | FloatingToolbarSelect<T> | FloatingToolbarInput<T> | FloatingToolbarCustom<T> | FloatingToolbarSeparator | FloatingToolbarExtensionsPlaceholder;
161
+ export interface FloatingToolbarConfig {
162
+ title: string;
163
+ /**
164
+ * Override the DOM reference used to apply as the target for the
165
+ * floating toolbar, if the config matches.
166
+ *
167
+ * By default, it will find the DOM reference of the node from the
168
+ * head of the current selection.
169
+ */
170
+ getDomRef?: (view: EditorView) => HTMLElement | undefined;
171
+ visible?: boolean;
172
+ nodeType: NodeType | NodeType[];
173
+ items: Array<FloatingToolbarItem<Command>> | ((node: Node) => Array<FloatingToolbarItem<Command>>);
174
+ align?: AlignType;
175
+ className?: string;
176
+ height?: number;
177
+ width?: number;
178
+ offset?: [number, number];
179
+ forcePlacement?: boolean;
180
+ onPositionCalculated?: (editorView: EditorView, nextPos: Position) => Position;
181
+ }
182
+ export declare type FloatingToolbarHandler = (state: EditorState, intl: IntlShape, providerFactory: ProviderFactory) => FloatingToolbarConfig | undefined;
183
+ export {};
@@ -10,5 +10,21 @@ export declare enum SortOrder {
10
10
  }
11
11
  export { AnnotationUpdateEmitter, AnnotationUpdateEvent } from './annotation';
12
12
  export type { AnnotationState, AnnotationProviders, AnnotationUpdateEventPayloads, InlineCommentSelectionComponentProps, InlineCommentViewComponentProps, InlineCommentAnnotationProvider, OnAnnotationClickPayload, AnnotationByMatches, AnnotationActionResult, } from './annotation';
13
- export type { TypeAheadItem, TypeAheadItemRenderProps } from './type-ahead';
13
+ export type { ContextUpdateHandler, EditorActionsOptions, } from './editor-actions';
14
+ export type { TypeAheadStats, TypeAheadItemRenderProps, TypeAheadInsert, TypeAheadSelectItem, TypeAheadItem, TypeAheadForceSelect, TypeAheadHandler, } from './type-ahead';
14
15
  export type { NewCollabSyncUpErrorAttributes, SyncUpErrorFunction, } from './collab';
16
+ export type { CommandDispatch, Command, HigherOrderCommand } from './command';
17
+ export type { FeatureFlags, FeatureFlagKey, GetEditorFeatureFlags, } from './feature-flags';
18
+ export type { Browsers, Range, DisableSpellcheckByBrowser, } from './supported-browsers';
19
+ export type { EditorContainerWidth, GetEditorContainerWidth, } from './editor-container-width';
20
+ export type { EmptyStateHandler, EmptyStateHandlerParams, } from './empty-state-handler';
21
+ export type { RenderOptionsPropsT, DropdownOptionT, DropdownOptions, SelectOption, ButtonAppearance, Icon, RenderOptionsProps, AlignType, ConfirmDialogOptions, FloatingToolbarButton, FloatingToolbarInput, FloatingToolbarCustom, FloatingToolbarListPicker, FloatingToolbarColorPicker, FloatingToolbarEmojiPicker, FloatingToolbarDatePicker, FloatingToolbarSelect, FloatingToolbarSeparator, FloatingToolbarDropdown, FloatingToolbarFallbackItem, FloatingToolbarItem, FloatingToolbarConfig, FloatingToolbarHandler, } from './floating-toolbar';
22
+ export type { ContextPanelHandler } from './context-panel';
23
+ export type { EditorAppearance } from './editor-appearance';
24
+ export type { ToolbarUiComponentFactoryParams, ToolbarUIComponentFactory, } from './toolbar';
25
+ export { ToolbarSize, ToolbarWidths, ToolbarWidthsFullPage } from './toolbar';
26
+ export type { UiComponentFactoryParams, UIComponentFactory, } from './ui-components';
27
+ export type { EditorReactContext } from './editor-react-context';
28
+ export type { PMPluginFactoryParams, PMPluginFactory, PMPlugin, } from './plugin-factory';
29
+ export type { NodeConfig, MarkConfig, NodeViewConfig, } from './prosemirror-config';
30
+ export type { PluginsOptions, EditorPlugin, getPosHandler, getPosHandlerNode, } from './editor-plugin';
@@ -0,0 +1,27 @@
1
+ import type { Schema } from 'prosemirror-model';
2
+ import type { IntlShape } from 'react-intl-next';
3
+ import type { DispatchAnalyticsEvent } from '../analytics/types/dispatch-analytics-event';
4
+ import type { Dispatch, EventDispatcher } from '../event-dispatcher';
5
+ import type { ProviderFactory } from '../provider-factory';
6
+ import type { SafePlugin } from '../safe-plugin';
7
+ import type { PortalProviderAPI } from '../ui/PortalProvider';
8
+ import type { ErrorReporter } from '../utils';
9
+ import type { EditorReactContext } from './editor-react-context';
10
+ import type { FeatureFlags } from './feature-flags';
11
+ export declare type PMPluginFactoryParams = {
12
+ schema: Schema;
13
+ dispatch: Dispatch;
14
+ eventDispatcher: EventDispatcher;
15
+ providerFactory: ProviderFactory;
16
+ errorReporter?: ErrorReporter;
17
+ portalProviderAPI: PortalProviderAPI;
18
+ reactContext: () => EditorReactContext;
19
+ dispatchAnalyticsEvent: DispatchAnalyticsEvent;
20
+ featureFlags: FeatureFlags;
21
+ getIntl: () => IntlShape;
22
+ };
23
+ export declare type PMPluginFactory = (params: PMPluginFactoryParams) => SafePlugin | undefined;
24
+ export declare type PMPlugin = {
25
+ name: string;
26
+ plugin: PMPluginFactory;
27
+ };
@@ -0,0 +1,14 @@
1
+ import type { MarkSpec, NodeSpec } from 'prosemirror-model';
2
+ import type { NodeView } from 'prosemirror-view';
3
+ export interface NodeConfig {
4
+ name: string;
5
+ node: NodeSpec;
6
+ }
7
+ export interface MarkConfig {
8
+ name: string;
9
+ mark: MarkSpec;
10
+ }
11
+ export interface NodeViewConfig {
12
+ name: string;
13
+ nodeView: NodeView;
14
+ }
@@ -0,0 +1,26 @@
1
+ import { IntlShape } from 'react-intl-next';
2
+ import type { QuickInsertItem, QuickInsertProvider } from '../provider-factory';
3
+ import type { EmptyStateHandler } from './empty-state-handler';
4
+ export type { QuickInsertActionInsert, QuickInsertItem, QuickInsertProvider, } from '../provider-factory';
5
+ export declare type QuickInsertOptions = boolean | {
6
+ provider: Promise<QuickInsertProvider>;
7
+ };
8
+ export declare type QuickInsertHandler = Array<QuickInsertItem> | ((intl: IntlShape) => Array<QuickInsertItem>);
9
+ export declare type IconProps = {
10
+ label?: string;
11
+ };
12
+ export declare type QuickInsertPluginState = {
13
+ isElementBrowserModalOpen: boolean;
14
+ lazyDefaultItems: () => QuickInsertItem[];
15
+ providedItems?: QuickInsertItem[];
16
+ provider?: QuickInsertProvider;
17
+ emptyStateHandler?: EmptyStateHandler;
18
+ };
19
+ export declare type QuickInsertPluginStateKeys = keyof QuickInsertPluginState;
20
+ export interface QuickInsertPluginOptions {
21
+ headless?: boolean;
22
+ disableDefaultItems?: boolean;
23
+ enableElementBrowser?: boolean;
24
+ elementBrowserHelpUrl?: string;
25
+ emptyStateHandler?: EmptyStateHandler;
26
+ }
@@ -0,0 +1,10 @@
1
+ declare const SupportedBrowsers: readonly ["ie", "gecko", "chrome", "safari"];
2
+ export declare type Browsers = typeof SupportedBrowsers[number];
3
+ export declare type Range = {
4
+ minimum: number;
5
+ maximum?: number;
6
+ };
7
+ export declare type DisableSpellcheckByBrowser = {
8
+ [b in Browsers]?: Range;
9
+ };
10
+ export {};
@@ -0,0 +1,30 @@
1
+ import type React from 'react';
2
+ import type { UiComponentFactoryParams } from './ui-components';
3
+ export declare enum ToolbarSize {
4
+ XXL = 6,
5
+ XL = 5,
6
+ L = 4,
7
+ M = 3,
8
+ S = 2,
9
+ XXXS = 1
10
+ }
11
+ export declare enum ToolbarWidths {
12
+ XXL = 610,
13
+ XL = 540,
14
+ L = 460,
15
+ M = 450,
16
+ S = 370
17
+ }
18
+ export declare enum ToolbarWidthsFullPage {
19
+ XXL = 650,
20
+ XL = 580,
21
+ L = 540,
22
+ M = 490,
23
+ S = 410
24
+ }
25
+ export declare type ToolbarUiComponentFactoryParams = UiComponentFactoryParams & {
26
+ toolbarSize: ToolbarSize;
27
+ isToolbarReducedSpacing: boolean;
28
+ isLastItem?: boolean;
29
+ };
30
+ export declare type ToolbarUIComponentFactory = (params: ToolbarUiComponentFactoryParams) => React.ReactElement<any> | null;