@kerebron/extension-basic-editor 0.4.27 → 0.4.29

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 (242) hide show
  1. package/esm/ExtensionBaseKeymap.d.ts +7 -0
  2. package/esm/ExtensionBaseKeymap.d.ts.map +1 -0
  3. package/esm/ExtensionBaseKeymap.js +56 -0
  4. package/esm/ExtensionBaseKeymap.js.map +1 -0
  5. package/esm/ExtensionBasicCodeEditor.d.ts +11 -0
  6. package/esm/ExtensionBasicCodeEditor.d.ts.map +1 -0
  7. package/esm/ExtensionBasicCodeEditor.js +62 -0
  8. package/esm/ExtensionBasicCodeEditor.js.map +1 -0
  9. package/esm/ExtensionBasicEditor.d.ts +49 -0
  10. package/esm/ExtensionBasicEditor.d.ts.map +1 -0
  11. package/esm/ExtensionBasicEditor.js +95 -0
  12. package/esm/ExtensionBasicEditor.js.map +1 -0
  13. package/esm/ExtensionDropcursor.d.ts +19 -0
  14. package/esm/ExtensionDropcursor.d.ts.map +1 -0
  15. package/esm/ExtensionDropcursor.js +187 -0
  16. package/esm/ExtensionDropcursor.js.map +1 -0
  17. package/esm/ExtensionGapcursor.d.ts +32 -0
  18. package/esm/ExtensionGapcursor.d.ts.map +1 -0
  19. package/esm/ExtensionGapcursor.js +250 -0
  20. package/esm/ExtensionGapcursor.js.map +1 -0
  21. package/esm/ExtensionHistory.d.ts +14 -0
  22. package/esm/ExtensionHistory.d.ts.map +1 -0
  23. package/esm/ExtensionHistory.js +35 -0
  24. package/esm/ExtensionHistory.js.map +1 -0
  25. package/esm/ExtensionHtml.d.ts +15 -0
  26. package/esm/ExtensionHtml.d.ts.map +1 -0
  27. package/esm/ExtensionHtml.js +100 -0
  28. package/esm/ExtensionHtml.js.map +1 -0
  29. package/esm/ExtensionMediaUpload.d.ts +24 -0
  30. package/esm/ExtensionMediaUpload.d.ts.map +1 -0
  31. package/esm/ExtensionMediaUpload.js +168 -0
  32. package/esm/ExtensionMediaUpload.js.map +1 -0
  33. package/esm/ExtensionSelection.d.ts +11 -0
  34. package/esm/ExtensionSelection.d.ts.map +1 -0
  35. package/esm/ExtensionSelection.js +230 -0
  36. package/esm/ExtensionSelection.js.map +1 -0
  37. package/esm/ExtensionTextAlign.d.ts +11 -0
  38. package/esm/ExtensionTextAlign.d.ts.map +1 -0
  39. package/esm/ExtensionTextAlign.js +40 -0
  40. package/esm/ExtensionTextAlign.js.map +1 -0
  41. package/esm/MarkBookmark.d.ts +8 -0
  42. package/esm/MarkBookmark.d.ts.map +1 -0
  43. package/esm/MarkBookmark.js +17 -0
  44. package/esm/MarkBookmark.js.map +1 -0
  45. package/esm/MarkChange.d.ts +8 -0
  46. package/esm/MarkChange.d.ts.map +1 -0
  47. package/esm/MarkChange.js +14 -0
  48. package/esm/MarkChange.js.map +1 -0
  49. package/esm/MarkCode.d.ts +11 -0
  50. package/esm/MarkCode.d.ts.map +1 -0
  51. package/esm/MarkCode.js +24 -0
  52. package/esm/MarkCode.js.map +1 -0
  53. package/esm/MarkHighlight.d.ts +8 -0
  54. package/esm/MarkHighlight.d.ts.map +1 -0
  55. package/esm/MarkHighlight.js +36 -0
  56. package/esm/MarkHighlight.js.map +1 -0
  57. package/esm/MarkItalic.d.ts +11 -0
  58. package/esm/MarkItalic.d.ts.map +1 -0
  59. package/esm/MarkItalic.js +30 -0
  60. package/esm/MarkItalic.js.map +1 -0
  61. package/esm/MarkLink.d.ts +8 -0
  62. package/esm/MarkLink.d.ts.map +1 -0
  63. package/esm/MarkLink.js +30 -0
  64. package/esm/MarkLink.js.map +1 -0
  65. package/esm/MarkStrike.d.ts +11 -0
  66. package/esm/MarkStrike.d.ts.map +1 -0
  67. package/esm/MarkStrike.js +27 -0
  68. package/esm/MarkStrike.js.map +1 -0
  69. package/esm/MarkStrong.d.ts +11 -0
  70. package/esm/MarkStrong.d.ts.map +1 -0
  71. package/esm/MarkStrong.js +39 -0
  72. package/esm/MarkStrong.js.map +1 -0
  73. package/esm/MarkSubscript.d.ts +11 -0
  74. package/esm/MarkSubscript.d.ts.map +1 -0
  75. package/esm/MarkSubscript.js +31 -0
  76. package/esm/MarkSubscript.js.map +1 -0
  77. package/esm/MarkSuperscript.d.ts +11 -0
  78. package/esm/MarkSuperscript.d.ts.map +1 -0
  79. package/esm/MarkSuperscript.js +31 -0
  80. package/esm/MarkSuperscript.js.map +1 -0
  81. package/esm/MarkTextColor.d.ts +8 -0
  82. package/esm/MarkTextColor.d.ts.map +1 -0
  83. package/esm/MarkTextColor.js +28 -0
  84. package/esm/MarkTextColor.js.map +1 -0
  85. package/esm/MarkUnderline.d.ts +11 -0
  86. package/esm/MarkUnderline.d.ts.map +1 -0
  87. package/esm/MarkUnderline.js +34 -0
  88. package/esm/MarkUnderline.js.map +1 -0
  89. package/esm/NodeAside.d.ts +8 -0
  90. package/esm/NodeAside.d.ts.map +1 -0
  91. package/esm/NodeAside.js +17 -0
  92. package/esm/NodeAside.js.map +1 -0
  93. package/esm/NodeBlockquote.d.ts +13 -0
  94. package/esm/NodeBlockquote.d.ts.map +1 -0
  95. package/esm/NodeBlockquote.js +35 -0
  96. package/esm/NodeBlockquote.js.map +1 -0
  97. package/esm/NodeBookmark.d.ts +8 -0
  98. package/esm/NodeBookmark.d.ts.map +1 -0
  99. package/esm/NodeBookmark.js +20 -0
  100. package/esm/NodeBookmark.js.map +1 -0
  101. package/esm/NodeBulletList.d.ts +13 -0
  102. package/esm/NodeBulletList.d.ts.map +1 -0
  103. package/esm/NodeBulletList.js +35 -0
  104. package/esm/NodeBulletList.js.map +1 -0
  105. package/esm/NodeCodeBlock.d.ts +9 -0
  106. package/esm/NodeCodeBlock.d.ts.map +1 -0
  107. package/esm/NodeCodeBlock.js +51 -0
  108. package/esm/NodeCodeBlock.js.map +1 -0
  109. package/esm/NodeDefinitionDesc.d.ts +8 -0
  110. package/esm/NodeDefinitionDesc.d.ts.map +1 -0
  111. package/esm/NodeDefinitionDesc.js +17 -0
  112. package/esm/NodeDefinitionDesc.js.map +1 -0
  113. package/esm/NodeDefinitionList.d.ts +13 -0
  114. package/esm/NodeDefinitionList.d.ts.map +1 -0
  115. package/esm/NodeDefinitionList.js +29 -0
  116. package/esm/NodeDefinitionList.js.map +1 -0
  117. package/esm/NodeDefinitionTerm.d.ts +8 -0
  118. package/esm/NodeDefinitionTerm.d.ts.map +1 -0
  119. package/esm/NodeDefinitionTerm.js +17 -0
  120. package/esm/NodeDefinitionTerm.js.map +1 -0
  121. package/esm/NodeDocument.d.ts +7 -0
  122. package/esm/NodeDocument.d.ts.map +1 -0
  123. package/esm/NodeDocument.js +20 -0
  124. package/esm/NodeDocument.js.map +1 -0
  125. package/esm/NodeDocumentCode.d.ts +7 -0
  126. package/esm/NodeDocumentCode.d.ts.map +1 -0
  127. package/esm/NodeDocumentCode.js +30 -0
  128. package/esm/NodeDocumentCode.js.map +1 -0
  129. package/esm/NodeFrontmatter.d.ts +8 -0
  130. package/esm/NodeFrontmatter.d.ts.map +1 -0
  131. package/esm/NodeFrontmatter.js +17 -0
  132. package/esm/NodeFrontmatter.js.map +1 -0
  133. package/esm/NodeHardBreak.d.ts +14 -0
  134. package/esm/NodeHardBreak.d.ts.map +1 -0
  135. package/esm/NodeHardBreak.js +68 -0
  136. package/esm/NodeHardBreak.js.map +1 -0
  137. package/esm/NodeHeading.d.ts +13 -0
  138. package/esm/NodeHeading.d.ts.map +1 -0
  139. package/esm/NodeHeading.js +50 -0
  140. package/esm/NodeHeading.js.map +1 -0
  141. package/esm/NodeHorizontalRule.d.ts +11 -0
  142. package/esm/NodeHorizontalRule.d.ts.map +1 -0
  143. package/esm/NodeHorizontalRule.js +30 -0
  144. package/esm/NodeHorizontalRule.js.map +1 -0
  145. package/esm/NodeImage.d.ts +8 -0
  146. package/esm/NodeImage.d.ts.map +1 -0
  147. package/esm/NodeImage.js +34 -0
  148. package/esm/NodeImage.js.map +1 -0
  149. package/esm/NodeInlineShortCode.d.ts +11 -0
  150. package/esm/NodeInlineShortCode.d.ts.map +1 -0
  151. package/esm/NodeInlineShortCode.js +40 -0
  152. package/esm/NodeInlineShortCode.js.map +1 -0
  153. package/esm/NodeListItem.d.ts +14 -0
  154. package/esm/NodeListItem.d.ts.map +1 -0
  155. package/esm/NodeListItem.js +202 -0
  156. package/esm/NodeListItem.js.map +1 -0
  157. package/esm/NodeMath.d.ts +8 -0
  158. package/esm/NodeMath.d.ts.map +1 -0
  159. package/esm/NodeMath.js +100 -0
  160. package/esm/NodeMath.js.map +1 -0
  161. package/esm/NodeOrderedList.d.ts +23 -0
  162. package/esm/NodeOrderedList.d.ts.map +1 -0
  163. package/esm/NodeOrderedList.js +53 -0
  164. package/esm/NodeOrderedList.js.map +1 -0
  165. package/esm/NodeParagraph.d.ts +11 -0
  166. package/esm/NodeParagraph.d.ts.map +1 -0
  167. package/esm/NodeParagraph.js +45 -0
  168. package/esm/NodeParagraph.js.map +1 -0
  169. package/esm/NodeTaskItem.d.ts +24 -0
  170. package/esm/NodeTaskItem.d.ts.map +1 -0
  171. package/esm/NodeTaskItem.js +147 -0
  172. package/esm/NodeTaskItem.js.map +1 -0
  173. package/esm/NodeTaskList.d.ts +11 -0
  174. package/esm/NodeTaskList.d.ts.map +1 -0
  175. package/esm/NodeTaskList.js +26 -0
  176. package/esm/NodeTaskList.js.map +1 -0
  177. package/esm/NodeText.d.ts +7 -0
  178. package/esm/NodeText.d.ts.map +1 -0
  179. package/esm/NodeText.js +10 -0
  180. package/esm/NodeText.js.map +1 -0
  181. package/esm/NodeVideo.d.ts +8 -0
  182. package/esm/NodeVideo.d.ts.map +1 -0
  183. package/esm/NodeVideo.js +46 -0
  184. package/esm/NodeVideo.js.map +1 -0
  185. package/esm/package.json +3 -0
  186. package/esm/remote-selection/ExtensionRemoteSelection.d.ts +24 -0
  187. package/esm/remote-selection/ExtensionRemoteSelection.d.ts.map +1 -0
  188. package/esm/remote-selection/ExtensionRemoteSelection.js +23 -0
  189. package/esm/remote-selection/ExtensionRemoteSelection.js.map +1 -0
  190. package/esm/remote-selection/remoteSelectionPlugin.d.ts +25 -0
  191. package/esm/remote-selection/remoteSelectionPlugin.d.ts.map +1 -0
  192. package/esm/remote-selection/remoteSelectionPlugin.js +97 -0
  193. package/esm/remote-selection/remoteSelectionPlugin.js.map +1 -0
  194. package/package.json +6 -3
  195. package/src/ExtensionBaseKeymap.ts +64 -0
  196. package/src/ExtensionBasicCodeEditor.ts +82 -0
  197. package/src/ExtensionBasicEditor.ts +97 -0
  198. package/src/ExtensionDropcursor.ts +221 -0
  199. package/src/ExtensionGapcursor.ts +278 -0
  200. package/src/ExtensionHistory.ts +48 -0
  201. package/src/ExtensionHtml.ts +158 -0
  202. package/src/ExtensionMediaUpload.ts +258 -0
  203. package/src/ExtensionSelection.ts +379 -0
  204. package/src/ExtensionTextAlign.ts +50 -0
  205. package/src/MarkBookmark.ts +20 -0
  206. package/src/MarkChange.ts +17 -0
  207. package/src/MarkCode.ts +35 -0
  208. package/src/MarkHighlight.ts +38 -0
  209. package/src/MarkItalic.ts +41 -0
  210. package/src/MarkLink.ts +32 -0
  211. package/src/MarkStrike.ts +38 -0
  212. package/src/MarkStrong.ts +52 -0
  213. package/src/MarkSubscript.ts +42 -0
  214. package/src/MarkSuperscript.ts +42 -0
  215. package/src/MarkTextColor.ts +29 -0
  216. package/src/MarkUnderline.ts +47 -0
  217. package/src/NodeAside.ts +19 -0
  218. package/src/NodeBlockquote.ts +51 -0
  219. package/src/NodeBookmark.ts +23 -0
  220. package/src/NodeBulletList.ts +51 -0
  221. package/src/NodeCodeBlock.ts +60 -0
  222. package/src/NodeDefinitionDesc.ts +19 -0
  223. package/src/NodeDefinitionList.ts +46 -0
  224. package/src/NodeDefinitionTerm.ts +19 -0
  225. package/src/NodeDocument.ts +22 -0
  226. package/src/NodeDocumentCode.ts +33 -0
  227. package/src/NodeFrontmatter.ts +19 -0
  228. package/src/NodeHardBreak.ts +92 -0
  229. package/src/NodeHeading.ts +76 -0
  230. package/src/NodeHorizontalRule.ts +43 -0
  231. package/src/NodeImage.ts +36 -0
  232. package/src/NodeInlineShortCode.ts +55 -0
  233. package/src/NodeListItem.ts +320 -0
  234. package/src/NodeMath.ts +109 -0
  235. package/src/NodeOrderedList.ts +79 -0
  236. package/src/NodeParagraph.ts +60 -0
  237. package/src/NodeTaskItem.ts +190 -0
  238. package/src/NodeTaskList.ts +38 -0
  239. package/src/NodeText.ts +12 -0
  240. package/src/NodeVideo.ts +44 -0
  241. package/src/remote-selection/ExtensionRemoteSelection.ts +45 -0
  242. package/src/remote-selection/remoteSelectionPlugin.ts +157 -0
@@ -0,0 +1,7 @@
1
+ import { Extension } from '@kerebron/editor';
2
+ import { type CommandShortcuts } from '@kerebron/editor/commands';
3
+ export declare class ExtensionBaseKeymap extends Extension {
4
+ name: string;
5
+ getKeyboardShortcuts(): Partial<CommandShortcuts>;
6
+ }
7
+ //# sourceMappingURL=ExtensionBaseKeymap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtensionBaseKeymap.d.ts","sourceRoot":"","sources":["../src/ExtensionBaseKeymap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AA4ClE,qBAAa,mBAAoB,SAAQ,SAAS;IAChD,IAAI,SAAiB;IAEZ,oBAAoB,IAAI,OAAO,CAAC,gBAAgB,CAAC;CAe3D"}
@@ -0,0 +1,56 @@
1
+ import { Extension } from '@kerebron/editor';
2
+ /// A basic keymap containing bindings not specific to any schema.
3
+ /// Binds the following keys (when multiple commands are listed, they
4
+ /// are chained with [`chainCommands`](#commands.chainCommands)):
5
+ ///
6
+ /// * **Enter** to `newlineInCode`, `createParagraphNear`, `liftEmptyBlock`, `splitBlock`
7
+ /// * **Mod-Enter** to `exitCode`
8
+ /// * **Backspace** and **Mod-Backspace** to `deleteSelection`, `joinBackward`, `selectNodeBackward`
9
+ /// * **Delete** and **Mod-Delete** to `deleteSelection`, `joinForward`, `selectNodeForward`
10
+ /// * **Mod-Delete** to `deleteSelection`, `joinForward`, `selectNodeForward`
11
+ /// * **Mod-a** to `selectAll`
12
+ const pcBaseKeymap = {
13
+ 'Mod-Enter': 'exitCode',
14
+ 'Backspace': 'backspace',
15
+ 'Mod-Backspace': 'backspace',
16
+ 'Shift-Backspace': 'backspace',
17
+ 'Delete': 'del',
18
+ 'Mod-Delete': 'del',
19
+ 'Mod-a': 'selectAll',
20
+ };
21
+ /// A copy of `pcBaseKeymap` that also binds **Ctrl-h** like Backspace,
22
+ /// **Ctrl-d** like Delete, **Alt-Backspace** like Ctrl-Backspace, and
23
+ /// **Ctrl-Alt-Backspace**, **Alt-Delete**, and **Alt-d** like
24
+ /// Ctrl-Delete.
25
+ const macBaseKeymap = {
26
+ ...pcBaseKeymap,
27
+ 'Ctrl-h': pcBaseKeymap['Backspace'],
28
+ 'Alt-Backspace': pcBaseKeymap['Mod-Backspace'],
29
+ 'Ctrl-d': pcBaseKeymap['Delete'],
30
+ 'Ctrl-Alt-Backspace': pcBaseKeymap['Mod-Delete'],
31
+ 'Alt-Delete': pcBaseKeymap['Mod-Delete'],
32
+ 'Alt-d': pcBaseKeymap['Mod-Delete'],
33
+ 'Ctrl-a': 'selectTextblockStart',
34
+ 'Ctrl-e': 'selectTextblockEnd',
35
+ };
36
+ const mac = /(Mac|iPhone|iPod|iPad)/i.test(navigator?.platform);
37
+ const baseKeymap = mac
38
+ ? macBaseKeymap
39
+ : pcBaseKeymap;
40
+ export class ExtensionBaseKeymap extends Extension {
41
+ name = 'base-keymap';
42
+ getKeyboardShortcuts() {
43
+ const shortcuts = {
44
+ 'Enter': 'enter',
45
+ 'Alt-ArrowUp': 'joinUp',
46
+ 'Alt-ArrowDown': 'joinDown',
47
+ 'Mod-BracketLeft': 'lift',
48
+ 'Escape': 'selectParentNode',
49
+ };
50
+ for (const key in baseKeymap) {
51
+ shortcuts[key] = baseKeymap[key];
52
+ }
53
+ return shortcuts;
54
+ }
55
+ }
56
+ //# sourceMappingURL=ExtensionBaseKeymap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtensionBaseKeymap.js","sourceRoot":"","sources":["../src/ExtensionBaseKeymap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,kEAAkE;AAClE,qEAAqE;AACrE,iEAAiE;AACjE,GAAG;AACH,yFAAyF;AACzF,iCAAiC;AACjC,oGAAoG;AACpG,4FAA4F;AAC5F,6EAA6E;AAC7E,8BAA8B;AAC9B,MAAM,YAAY,GAA8B;IAC9C,WAAW,EAAE,UAAU;IACvB,WAAW,EAAE,WAAW;IACxB,eAAe,EAAE,WAAW;IAC5B,iBAAiB,EAAE,WAAW;IAC9B,QAAQ,EAAE,KAAK;IACf,YAAY,EAAE,KAAK;IACnB,OAAO,EAAE,WAAW;CACrB,CAAC;AAEF,uEAAuE;AACvE,sEAAsE;AACtE,8DAA8D;AAC9D,gBAAgB;AAChB,MAAM,aAAa,GAA8B;IAC/C,GAAG,YAAY;IACf,QAAQ,EAAE,YAAY,CAAC,WAAW,CAAC;IACnC,eAAe,EAAE,YAAY,CAAC,eAAe,CAAC;IAC9C,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC;IAChC,oBAAoB,EAAE,YAAY,CAAC,YAAY,CAAC;IAChD,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC;IACxC,OAAO,EAAE,YAAY,CAAC,YAAY,CAAC;IACnC,QAAQ,EAAE,sBAAsB;IAChC,QAAQ,EAAE,oBAAoB;CAC/B,CAAC;AAEF,MAAM,GAAG,GAAG,yBAAyB,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAEhE,MAAM,UAAU,GAA8B,GAAG;IAC/C,CAAC,CAAC,aAAa;IACf,CAAC,CAAC,YAAY,CAAC;AAEjB,MAAM,OAAO,mBAAoB,SAAQ,SAAS;IAChD,IAAI,GAAG,aAAa,CAAC;IAEZ,oBAAoB;QAC3B,MAAM,SAAS,GAAqB;YAClC,OAAO,EAAE,OAAO;YAChB,aAAa,EAAE,QAAQ;YACvB,eAAe,EAAE,UAAU;YAC3B,iBAAiB,EAAE,MAAM;YACzB,QAAQ,EAAE,kBAAkB;SAC7B,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,SAAS,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
@@ -0,0 +1,11 @@
1
+ import { Node } from 'prosemirror-model';
2
+ import { AnyExtensionOrReq, Extension, RawTextResult } from '@kerebron/editor';
3
+ export declare class ExtensionBasicCodeEditor extends Extension {
4
+ name: string;
5
+ requires: AnyExtensionOrReq[];
6
+ constructor({ lang }: {
7
+ lang: string;
8
+ });
9
+ toRawText(doc: Node): RawTextResult;
10
+ }
11
+ //# sourceMappingURL=ExtensionBasicCodeEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtensionBasicCodeEditor.d.ts","sourceRoot":"","sources":["../src/ExtensionBasicCodeEditor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EACL,iBAAiB,EACjB,SAAS,EAET,aAAa,EACd,MAAM,kBAAkB,CAAC;AAW1B,qBAAa,wBAAyB,SAAQ,SAAS;IACrD,IAAI,SAAuB;IAC3B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;gBAElB,EAAE,IAAI,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;IAetC,SAAS,CAAC,GAAG,EAAE,IAAI,GAAG,aAAa;CA4CpC"}
@@ -0,0 +1,62 @@
1
+ import { Extension, } from '@kerebron/editor';
2
+ import { NodeDocumentCode } from './NodeDocumentCode.js';
3
+ import { ExtensionSelection } from './ExtensionSelection.js';
4
+ import { ExtensionBaseKeymap } from './ExtensionBaseKeymap.js';
5
+ import { ExtensionDropcursor } from './ExtensionDropcursor.js';
6
+ import { ExtensionGapcursor } from './ExtensionGapcursor.js';
7
+ import { ExtensionHtml } from './ExtensionHtml.js';
8
+ import { NodeText } from './NodeText.js';
9
+ import { ExtensionRemoteSelection } from './remote-selection/ExtensionRemoteSelection.js';
10
+ export class ExtensionBasicCodeEditor extends Extension {
11
+ name = 'basic-code-editor';
12
+ requires;
13
+ constructor({ lang }) {
14
+ super();
15
+ this.requires = [
16
+ new ExtensionBaseKeymap(),
17
+ new ExtensionDropcursor(),
18
+ new ExtensionGapcursor(),
19
+ new ExtensionHtml(),
20
+ new ExtensionRemoteSelection(),
21
+ new ExtensionSelection(),
22
+ new NodeDocumentCode({ lang }),
23
+ new NodeText(),
24
+ ];
25
+ }
26
+ toRawText(doc) {
27
+ const topNodeType = this.editor.schema.topNodeType;
28
+ const spec = topNodeType.spec;
29
+ const singleNodeDoc = spec.content?.indexOf('*') === -1;
30
+ if (!singleNodeDoc) {
31
+ throw new Error('Not a single node doc');
32
+ }
33
+ if (doc.children.length !== 1) {
34
+ throw new Error('Not a single node doc');
35
+ }
36
+ const codeBlock = doc.children[0];
37
+ const content = codeBlock.content.content
38
+ .map((node) => node.text)
39
+ .join('');
40
+ const lines = content.split('\n');
41
+ const rawTextMap = [];
42
+ let nodeIdx = 1;
43
+ let targetPos = 0;
44
+ let targetRow = 0;
45
+ for (const line of lines) {
46
+ rawTextMap.push({
47
+ nodeIdx: nodeIdx,
48
+ targetRow,
49
+ targetCol: 0,
50
+ targetPos,
51
+ });
52
+ targetRow++;
53
+ targetPos += line.length + 1;
54
+ nodeIdx += line.length + 1;
55
+ }
56
+ return {
57
+ content,
58
+ rawTextMap,
59
+ };
60
+ }
61
+ }
62
+ //# sourceMappingURL=ExtensionBasicCodeEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtensionBasicCodeEditor.js","sourceRoot":"","sources":["../src/ExtensionBasicCodeEditor.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,SAAS,GAGV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAE1F,MAAM,OAAO,wBAAyB,SAAQ,SAAS;IACrD,IAAI,GAAG,mBAAmB,CAAC;IAC3B,QAAQ,CAAsB;IAE9B,YAAY,EAAE,IAAI,EAAoB;QACpC,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,QAAQ,GAAG;YACd,IAAI,mBAAmB,EAAE;YACzB,IAAI,mBAAmB,EAAE;YACzB,IAAI,kBAAkB,EAAE;YACxB,IAAI,aAAa,EAAE;YACnB,IAAI,wBAAwB,EAAE;YAC9B,IAAI,kBAAkB,EAAE;YACxB,IAAI,gBAAgB,CAAC,EAAE,IAAI,EAAE,CAAC;YAC9B,IAAI,QAAQ,EAAE;SACf,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,GAAS;QACjB,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;QACnD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;QAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAExD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAElC,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO;aACtC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;aACxB,IAAI,CAAC,EAAE,CAAC,CAAC;QAEZ,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAElC,MAAM,UAAU,GAA2B,EAAE,CAAC;QAE9C,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,UAAU,CAAC,IAAI,CAAC;gBACd,OAAO,EAAE,OAAO;gBAChB,SAAS;gBACT,SAAS,EAAE,CAAC;gBACZ,SAAS;aACV,CAAC,CAAC;YAEH,SAAS,EAAE,CAAC;YACZ,SAAS,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAC7B,OAAO,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO;YACL,OAAO;YACP,UAAU;SACX,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,49 @@
1
+ import { Extension } from '@kerebron/editor';
2
+ import { ExtensionSelection } from './ExtensionSelection.js';
3
+ import { ExtensionBaseKeymap } from './ExtensionBaseKeymap.js';
4
+ import { ExtensionDropcursor } from './ExtensionDropcursor.js';
5
+ import { ExtensionGapcursor } from './ExtensionGapcursor.js';
6
+ import { ExtensionHtml } from './ExtensionHtml.js';
7
+ import { ExtensionMediaUpload } from './ExtensionMediaUpload.js';
8
+ import { ExtensionRemoteSelection } from './remote-selection/ExtensionRemoteSelection.js';
9
+ import { ExtensionTextAlign } from './ExtensionTextAlign.js';
10
+ import { MarkLink } from './MarkLink.js';
11
+ import { MarkStrong } from './MarkStrong.js';
12
+ import { MarkItalic } from './MarkItalic.js';
13
+ import { MarkUnderline } from './MarkUnderline.js';
14
+ import { MarkStrike } from './MarkStrike.js';
15
+ import { MarkCode } from './MarkCode.js';
16
+ import { MarkChange } from './MarkChange.js';
17
+ import { MarkBookmark } from './MarkBookmark.js';
18
+ import { MarkTextColor } from './MarkTextColor.js';
19
+ import { MarkHighlight } from './MarkHighlight.js';
20
+ import { MarkSuperscript } from './MarkSuperscript.js';
21
+ import { MarkSubscript } from './MarkSubscript.js';
22
+ import { NodeDocument } from './NodeDocument.js';
23
+ import { NodeText } from './NodeText.js';
24
+ import { NodeCodeBlock } from './NodeCodeBlock.js';
25
+ import { NodeBookmark } from './NodeBookmark.js';
26
+ import { NodeParagraph } from './NodeParagraph.js';
27
+ import { NodeHardBreak } from './NodeHardBreak.js';
28
+ import { NodeHorizontalRule } from './NodeHorizontalRule.js';
29
+ import { NodeOrderedList } from './NodeOrderedList.js';
30
+ import { NodeBulletList } from './NodeBulletList.js';
31
+ import { NodeListItem } from './NodeListItem.js';
32
+ import { NodeImage } from './NodeImage.js';
33
+ import { NodeVideo } from './NodeVideo.js';
34
+ import { NodeBlockquote } from './NodeBlockquote.js';
35
+ import { NodeAside } from './NodeAside.js';
36
+ import { NodeHeading } from './NodeHeading.js';
37
+ import { NodeMath } from './NodeMath.js';
38
+ import { NodeDefinitionList } from './NodeDefinitionList.js';
39
+ import { NodeDefinitionTerm } from './NodeDefinitionTerm.js';
40
+ import { NodeDefinitionDesc } from './NodeDefinitionDesc.js';
41
+ import { NodeFrontmatter } from './NodeFrontmatter.js';
42
+ import { NodeTaskList } from './NodeTaskList.js';
43
+ import { NodeTaskItem } from './NodeTaskItem.js';
44
+ import { NodeInlineShortCode } from './NodeInlineShortCode.js';
45
+ export declare class ExtensionBasicEditor extends Extension {
46
+ name: string;
47
+ requires: (ExtensionSelection | ExtensionBaseKeymap | ExtensionDropcursor | ExtensionGapcursor | ExtensionHtml | ExtensionMediaUpload | ExtensionRemoteSelection | ExtensionTextAlign | MarkLink | MarkStrong | MarkItalic | MarkUnderline | MarkStrike | MarkCode | MarkChange | MarkBookmark | MarkTextColor | MarkHighlight | MarkSuperscript | MarkSubscript | NodeDocument | NodeText | NodeCodeBlock | NodeBookmark | NodeParagraph | NodeHardBreak | NodeHorizontalRule | NodeOrderedList | NodeBulletList | NodeListItem | NodeImage | NodeVideo | NodeBlockquote | NodeAside | NodeHeading | NodeMath | NodeDefinitionList | NodeDefinitionTerm | NodeDefinitionDesc | NodeFrontmatter | NodeTaskList | NodeTaskItem | NodeInlineShortCode)[];
48
+ }
49
+ //# sourceMappingURL=ExtensionBasicEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtensionBasicEditor.d.ts","sourceRoot":"","sources":["../src/ExtensionBasicEditor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,qBAAa,oBAAqB,SAAQ,SAAS;IACjD,IAAI,SAAkB;IACtB,QAAQ,+sBA8CN;CACH"}
@@ -0,0 +1,95 @@
1
+ import { Extension } from '@kerebron/editor';
2
+ import { ExtensionSelection } from './ExtensionSelection.js';
3
+ import { ExtensionBaseKeymap } from './ExtensionBaseKeymap.js';
4
+ import { ExtensionDropcursor } from './ExtensionDropcursor.js';
5
+ import { ExtensionGapcursor } from './ExtensionGapcursor.js';
6
+ import { ExtensionHtml } from './ExtensionHtml.js';
7
+ import { ExtensionMediaUpload } from './ExtensionMediaUpload.js';
8
+ import { ExtensionRemoteSelection } from './remote-selection/ExtensionRemoteSelection.js';
9
+ import { ExtensionTextAlign } from './ExtensionTextAlign.js';
10
+ import { MarkLink } from './MarkLink.js';
11
+ import { MarkStrong } from './MarkStrong.js';
12
+ import { MarkItalic } from './MarkItalic.js';
13
+ import { MarkUnderline } from './MarkUnderline.js';
14
+ import { MarkStrike } from './MarkStrike.js';
15
+ import { MarkCode } from './MarkCode.js';
16
+ import { MarkChange } from './MarkChange.js';
17
+ import { MarkBookmark } from './MarkBookmark.js';
18
+ import { MarkTextColor } from './MarkTextColor.js';
19
+ import { MarkHighlight } from './MarkHighlight.js';
20
+ import { MarkSuperscript } from './MarkSuperscript.js';
21
+ import { MarkSubscript } from './MarkSubscript.js';
22
+ import { NodeDocument } from './NodeDocument.js';
23
+ import { NodeText } from './NodeText.js';
24
+ import { NodeCodeBlock } from './NodeCodeBlock.js';
25
+ import { NodeBookmark } from './NodeBookmark.js';
26
+ import { NodeParagraph } from './NodeParagraph.js';
27
+ import { NodeHardBreak } from './NodeHardBreak.js';
28
+ import { NodeHorizontalRule } from './NodeHorizontalRule.js';
29
+ import { NodeOrderedList } from './NodeOrderedList.js';
30
+ import { NodeBulletList } from './NodeBulletList.js';
31
+ import { NodeListItem } from './NodeListItem.js';
32
+ import { NodeImage } from './NodeImage.js';
33
+ import { NodeVideo } from './NodeVideo.js';
34
+ import { NodeBlockquote } from './NodeBlockquote.js';
35
+ import { NodeAside } from './NodeAside.js';
36
+ import { NodeHeading } from './NodeHeading.js';
37
+ import { NodeMath } from './NodeMath.js';
38
+ import { NodeDefinitionList } from './NodeDefinitionList.js';
39
+ import { NodeDefinitionTerm } from './NodeDefinitionTerm.js';
40
+ import { NodeDefinitionDesc } from './NodeDefinitionDesc.js';
41
+ import { NodeFrontmatter } from './NodeFrontmatter.js';
42
+ import { NodeTaskList } from './NodeTaskList.js';
43
+ import { NodeTaskItem } from './NodeTaskItem.js';
44
+ import { NodeInlineShortCode } from './NodeInlineShortCode.js';
45
+ export class ExtensionBasicEditor extends Extension {
46
+ name = 'basic-editor';
47
+ requires = [
48
+ new ExtensionBaseKeymap(),
49
+ new ExtensionDropcursor(),
50
+ new ExtensionGapcursor(),
51
+ new ExtensionHtml(),
52
+ new ExtensionMediaUpload(),
53
+ new ExtensionRemoteSelection(),
54
+ new ExtensionSelection(),
55
+ new ExtensionTextAlign(),
56
+ new NodeDocument(),
57
+ new NodeText(),
58
+ new NodeParagraph(),
59
+ new NodeHardBreak(),
60
+ new NodeCodeBlock(),
61
+ new NodeBookmark(),
62
+ new NodeHorizontalRule(),
63
+ new NodeOrderedList(),
64
+ new NodeBulletList(),
65
+ new NodeListItem(),
66
+ new NodeTaskList(),
67
+ new NodeTaskItem(),
68
+ new NodeDefinitionList(),
69
+ new NodeDefinitionTerm(),
70
+ new NodeDefinitionDesc(),
71
+ new NodeTaskList(),
72
+ new NodeTaskItem(),
73
+ new NodeFrontmatter(),
74
+ new NodeImage(),
75
+ new NodeVideo(),
76
+ new NodeBlockquote(),
77
+ new NodeAside(),
78
+ new NodeHeading(),
79
+ new NodeMath(),
80
+ new NodeInlineShortCode(),
81
+ new MarkLink(),
82
+ new MarkItalic(),
83
+ new MarkStrong(),
84
+ new MarkUnderline(),
85
+ new MarkStrike(),
86
+ new MarkCode(),
87
+ new MarkChange(),
88
+ new MarkBookmark(),
89
+ new MarkTextColor(),
90
+ new MarkHighlight(),
91
+ new MarkSuperscript(),
92
+ new MarkSubscript(),
93
+ ];
94
+ }
95
+ //# sourceMappingURL=ExtensionBasicEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtensionBasicEditor.js","sourceRoot":"","sources":["../src/ExtensionBasicEditor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { Plugin } from 'prosemirror-state';
2
+ import { Extension } from '@kerebron/editor';
3
+ interface DropCursorOptions {
4
+ color?: string | false;
5
+ width?: number;
6
+ class?: string;
7
+ }
8
+ export declare function dropCursor(options?: DropCursorOptions): Plugin;
9
+ export declare class ExtensionDropcursor extends Extension {
10
+ name: string;
11
+ options: {
12
+ color: string;
13
+ width: number;
14
+ class: undefined;
15
+ };
16
+ getProseMirrorPlugins(): Plugin[];
17
+ }
18
+ export {};
19
+ //# sourceMappingURL=ExtensionDropcursor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtensionDropcursor.d.ts","sourceRoot":"","sources":["../src/ExtensionDropcursor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAIxD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,UAAU,iBAAiB;IAEzB,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAGvB,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAUD,wBAAgB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,MAAM,CAMlE;AA+KD,qBAAa,mBAAoB,SAAQ,SAAS;IAChD,IAAI,SAAgB;IAEpB,OAAO;;;;MAIL;IAEO,qBAAqB,IAAI,MAAM,EAAE;CAK3C"}
@@ -0,0 +1,187 @@
1
+ import { Plugin } from 'prosemirror-state';
2
+ import { dropPoint } from 'prosemirror-transform';
3
+ import { Extension } from '@kerebron/editor';
4
+ /// Create a plugin that, when added to a ProseMirror instance,
5
+ /// causes a decoration to show up at the drop position when something
6
+ /// is dragged over the editor.
7
+ ///
8
+ /// Nodes may add a `disableDropCursor` property to their spec to
9
+ /// control the showing of a drop cursor inside them. This may be a
10
+ /// boolean or a function, which will be called with a view and a
11
+ /// position, and should return a boolean.
12
+ export function dropCursor(options = {}) {
13
+ return new Plugin({
14
+ view(editorView) {
15
+ return new DropCursorView(editorView, options);
16
+ },
17
+ });
18
+ }
19
+ class DropCursorView {
20
+ editorView;
21
+ width;
22
+ color;
23
+ class;
24
+ cursorPos = null;
25
+ element = null;
26
+ timeout = -1;
27
+ handlers;
28
+ constructor(editorView, options) {
29
+ this.editorView = editorView;
30
+ this.width = options.width ?? 1;
31
+ this.color = options.color === false
32
+ ? undefined
33
+ : (options.color || 'black');
34
+ this.class = options.class;
35
+ this.handlers = ['dragover', 'dragend', 'drop', 'dragleave'].map((name) => {
36
+ let handler = (e) => {
37
+ this[name](e);
38
+ };
39
+ editorView.dom.addEventListener(name, handler);
40
+ return { name, handler };
41
+ });
42
+ }
43
+ destroy() {
44
+ this.handlers.forEach(({ name, handler }) => this.editorView.dom.removeEventListener(name, handler));
45
+ }
46
+ update(editorView, prevState) {
47
+ if (this.cursorPos != null && prevState.doc != editorView.state.doc) {
48
+ if (this.cursorPos > editorView.state.doc.content.size) {
49
+ this.setCursor(null);
50
+ }
51
+ else
52
+ this.updateOverlay();
53
+ }
54
+ }
55
+ setCursor(pos) {
56
+ if (pos == this.cursorPos)
57
+ return;
58
+ this.cursorPos = pos;
59
+ if (pos == null) {
60
+ this.element.parentNode.removeChild(this.element);
61
+ this.element = null;
62
+ }
63
+ else {
64
+ this.updateOverlay();
65
+ }
66
+ }
67
+ updateOverlay() {
68
+ let $pos = this.editorView.state.doc.resolve(this.cursorPos);
69
+ let isBlock = !$pos.parent.inlineContent, rect;
70
+ let editorDOM = this.editorView.dom, editorRect = editorDOM.getBoundingClientRect();
71
+ let scaleX = editorRect.width / editorDOM.offsetWidth, scaleY = editorRect.height / editorDOM.offsetHeight;
72
+ if (isBlock) {
73
+ let before = $pos.nodeBefore, after = $pos.nodeAfter;
74
+ if (before || after) {
75
+ let node = this.editorView.nodeDOM(this.cursorPos - (before ? before.nodeSize : 0));
76
+ if (node) {
77
+ let nodeRect = node.getBoundingClientRect();
78
+ let top = before ? nodeRect.bottom : nodeRect.top;
79
+ if (before && after) {
80
+ top = (top +
81
+ this.editorView.nodeDOM(this.cursorPos)
82
+ .getBoundingClientRect().top) / 2;
83
+ }
84
+ let halfWidth = (this.width / 2) * scaleY;
85
+ rect = {
86
+ left: nodeRect.left,
87
+ right: nodeRect.right,
88
+ top: top - halfWidth,
89
+ bottom: top + halfWidth,
90
+ };
91
+ }
92
+ }
93
+ }
94
+ if (!rect) {
95
+ let coords = this.editorView.coordsAtPos(this.cursorPos);
96
+ let halfWidth = (this.width / 2) * scaleX;
97
+ rect = {
98
+ left: coords.left - halfWidth,
99
+ right: coords.left + halfWidth,
100
+ top: coords.top,
101
+ bottom: coords.bottom,
102
+ };
103
+ }
104
+ let parent = this.editorView.dom.offsetParent;
105
+ if (!this.element) {
106
+ this.element = parent.appendChild(document.createElement('div'));
107
+ if (this.class)
108
+ this.element.className = this.class;
109
+ this.element.style.cssText =
110
+ 'position: absolute; z-index: 50; pointer-events: none;';
111
+ if (this.color) {
112
+ this.element.style.backgroundColor = this.color;
113
+ }
114
+ }
115
+ this.element.classList.toggle('prosemirror-dropcursor-block', isBlock);
116
+ this.element.classList.toggle('prosemirror-dropcursor-inline', !isBlock);
117
+ let parentLeft, parentTop;
118
+ if (!parent ||
119
+ parent == document.body && getComputedStyle(parent).position == 'static') {
120
+ parentLeft = -pageXOffset;
121
+ parentTop = -pageYOffset;
122
+ }
123
+ else {
124
+ let rect = parent.getBoundingClientRect();
125
+ let parentScaleX = rect.width / parent.offsetWidth, parentScaleY = rect.height / parent.offsetHeight;
126
+ parentLeft = rect.left - parent.scrollLeft * parentScaleX;
127
+ parentTop = rect.top - parent.scrollTop * parentScaleY;
128
+ }
129
+ this.element.style.left = (rect.left - parentLeft) / scaleX + 'px';
130
+ this.element.style.top = (rect.top - parentTop) / scaleY + 'px';
131
+ this.element.style.width = (rect.right - rect.left) / scaleX + 'px';
132
+ this.element.style.height = (rect.bottom - rect.top) / scaleY + 'px';
133
+ }
134
+ scheduleRemoval(timeout) {
135
+ clearTimeout(this.timeout);
136
+ this.timeout = setTimeout(() => this.setCursor(null), timeout);
137
+ }
138
+ dragover(event) {
139
+ if (!this.editorView.editable)
140
+ return;
141
+ let pos = this.editorView.posAtCoords({
142
+ left: event.clientX,
143
+ top: event.clientY,
144
+ });
145
+ let node = pos && pos.inside >= 0 &&
146
+ this.editorView.state.doc.nodeAt(pos.inside);
147
+ let disableDropCursor = node && node.type.spec.disableDropCursor;
148
+ let disabled = typeof disableDropCursor == 'function'
149
+ ? disableDropCursor(this.editorView, pos, event)
150
+ : disableDropCursor;
151
+ if (pos && !disabled) {
152
+ let target = pos.pos;
153
+ if (this.editorView.dragging && this.editorView.dragging.slice) {
154
+ let point = dropPoint(this.editorView.state.doc, target, this.editorView.dragging.slice);
155
+ if (point != null)
156
+ target = point;
157
+ }
158
+ this.setCursor(target);
159
+ this.scheduleRemoval(5000);
160
+ }
161
+ }
162
+ dragend() {
163
+ this.scheduleRemoval(20);
164
+ }
165
+ drop() {
166
+ this.scheduleRemoval(20);
167
+ }
168
+ dragleave(event) {
169
+ if (!this.editorView.dom.contains(event.relatedTarget)) {
170
+ this.setCursor(null);
171
+ }
172
+ }
173
+ }
174
+ export class ExtensionDropcursor extends Extension {
175
+ name = 'dropcursor';
176
+ options = {
177
+ color: 'currentColor',
178
+ width: 1,
179
+ class: undefined,
180
+ };
181
+ getProseMirrorPlugins() {
182
+ return [
183
+ dropCursor(this.options),
184
+ ];
185
+ }
186
+ }
187
+ //# sourceMappingURL=ExtensionDropcursor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtensionDropcursor.js","sourceRoot":"","sources":["../src/ExtensionDropcursor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { Plugin, Selection } from 'prosemirror-state';
2
+ import { Node, ResolvedPos, Slice } from 'prosemirror-model';
3
+ import { Mappable } from 'prosemirror-transform';
4
+ import { Extension } from '@kerebron/editor';
5
+ export declare class GapCursor extends Selection {
6
+ constructor($pos: ResolvedPos);
7
+ map(doc: Node, mapping: Mappable): Selection;
8
+ content(): Slice;
9
+ eq(other: Selection): boolean;
10
+ toJSON(): any;
11
+ static fromJSONToGapCursor(doc: Node, json: any): GapCursor;
12
+ getBookmark(): GapBookmark;
13
+ static valid($pos: ResolvedPos): any;
14
+ static findGapCursorFrom($pos: ResolvedPos, dir: number, mustMove?: boolean): ResolvedPos | null;
15
+ }
16
+ declare class GapBookmark {
17
+ readonly pos: number;
18
+ constructor(pos: number);
19
+ map(mapping: Mappable): GapBookmark;
20
+ resolve(doc: Node): Selection;
21
+ }
22
+ export declare class ExtensionGapcursor extends Extension {
23
+ name: string;
24
+ options: {
25
+ color: string;
26
+ width: number;
27
+ class: undefined;
28
+ };
29
+ getProseMirrorPlugins(): Plugin[];
30
+ }
31
+ export {};
32
+ //# sourceMappingURL=ExtensionGapcursor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtensionGapcursor.d.ts","sourceRoot":"","sources":["../src/ExtensionGapcursor.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,MAAM,EACN,SAAS,EAEV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAY,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAIjD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAK7C,qBAAa,SAAU,SAAQ,SAAS;gBAE1B,IAAI,EAAE,WAAW;IAK7B,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,GAAG,SAAS;IAKnC,OAAO;IAIhB,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAI7B,MAAM,IAAI,GAAG;IAKb,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,SAAS;IAQlD,WAAW,IAAI,WAAW;IAKnC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW;IAY9B,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,UAAQ;CA0C1E;AAID,cAAM,WAAW;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM;gBAAX,GAAG,EAAE,MAAM;IAEhC,GAAG,CAAC,OAAO,EAAE,QAAQ;IAGrB,OAAO,CAAC,GAAG,EAAE,IAAI,GAAG,SAAS;CAI9B;AA4ID,qBAAa,kBAAmB,SAAQ,SAAS;IAC/C,IAAI,SAAe;IAEnB,OAAO;;;;MAIL;IAEO,qBAAqB,IAAI,MAAM,EAAE;CAK3C"}