@kerebron/extension-basic-editor 0.2.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/README.md +4 -2
  2. package/esm/editor/src/CoreEditor.d.ts +24 -9
  3. package/esm/editor/src/CoreEditor.d.ts.map +1 -1
  4. package/esm/editor/src/CoreEditor.js +125 -70
  5. package/esm/editor/src/DummyEditorView.d.ts +60 -0
  6. package/esm/editor/src/DummyEditorView.d.ts.map +1 -0
  7. package/esm/editor/src/DummyEditorView.js +277 -0
  8. package/esm/editor/src/Extension.d.ts +15 -10
  9. package/esm/editor/src/Extension.d.ts.map +1 -1
  10. package/esm/editor/src/Extension.js +23 -3
  11. package/esm/editor/src/ExtensionManager.d.ts +9 -9
  12. package/esm/editor/src/ExtensionManager.d.ts.map +1 -1
  13. package/esm/editor/src/ExtensionManager.js +81 -74
  14. package/esm/editor/src/Mark.d.ts +11 -6
  15. package/esm/editor/src/Mark.d.ts.map +1 -1
  16. package/esm/editor/src/Mark.js +19 -2
  17. package/esm/editor/src/Node.d.ts +18 -13
  18. package/esm/editor/src/Node.d.ts.map +1 -1
  19. package/esm/editor/src/Node.js +22 -5
  20. package/esm/editor/src/commands/CommandManager.d.ts +14 -11
  21. package/esm/editor/src/commands/CommandManager.d.ts.map +1 -1
  22. package/esm/editor/src/commands/CommandManager.js +64 -6
  23. package/esm/editor/src/commands/baseCommandFactories.d.ts +3 -0
  24. package/esm/editor/src/commands/baseCommandFactories.d.ts.map +1 -0
  25. package/esm/editor/src/commands/baseCommandFactories.js +836 -0
  26. package/esm/editor/src/commands/keyCommandFactories.d.ts +3 -0
  27. package/esm/editor/src/commands/keyCommandFactories.d.ts.map +1 -0
  28. package/esm/editor/src/commands/keyCommandFactories.js +10 -0
  29. package/esm/editor/src/commands/mod.d.ts +5 -47
  30. package/esm/editor/src/commands/mod.d.ts.map +1 -1
  31. package/esm/editor/src/commands/mod.js +14 -866
  32. package/esm/editor/src/commands/replaceCommandFactories.d.ts +3 -0
  33. package/esm/editor/src/commands/replaceCommandFactories.d.ts.map +1 -0
  34. package/esm/editor/src/commands/replaceCommandFactories.js +94 -0
  35. package/esm/editor/src/commands/types.d.ts +18 -0
  36. package/esm/editor/src/commands/types.d.ts.map +1 -0
  37. package/esm/editor/src/commands/types.js +1 -0
  38. package/esm/editor/src/mod.d.ts +3 -0
  39. package/esm/editor/src/mod.d.ts.map +1 -1
  40. package/esm/editor/src/mod.js +3 -0
  41. package/esm/editor/src/nodeToTreeString.d.ts +8 -2
  42. package/esm/editor/src/nodeToTreeString.d.ts.map +1 -1
  43. package/esm/editor/src/nodeToTreeString.js +47 -29
  44. package/esm/editor/src/plugins/TrackSelecionPlugin.d.ts +6 -0
  45. package/esm/editor/src/plugins/TrackSelecionPlugin.d.ts.map +1 -0
  46. package/esm/editor/src/plugins/TrackSelecionPlugin.js +24 -0
  47. package/esm/editor/src/plugins/input-rules/InputRulesPlugin.js +2 -2
  48. package/esm/editor/src/plugins/keymap/keymap.d.ts +11 -0
  49. package/esm/editor/src/plugins/keymap/keymap.d.ts.map +1 -0
  50. package/esm/editor/src/plugins/keymap/keymap.js +125 -0
  51. package/esm/editor/src/plugins/keymap/mod.d.ts +2 -0
  52. package/esm/editor/src/plugins/keymap/mod.d.ts.map +1 -0
  53. package/esm/editor/src/plugins/keymap/mod.js +1 -0
  54. package/esm/editor/src/plugins/keymap/w3c-keyname.d.ts +4 -0
  55. package/esm/editor/src/plugins/keymap/w3c-keyname.d.ts.map +1 -0
  56. package/esm/editor/src/plugins/keymap/w3c-keyname.js +124 -0
  57. package/esm/editor/src/types.d.ts +30 -7
  58. package/esm/editor/src/types.d.ts.map +1 -1
  59. package/esm/editor/src/ui.d.ts +15 -0
  60. package/esm/editor/src/ui.d.ts.map +1 -0
  61. package/esm/editor/src/ui.js +16 -0
  62. package/esm/editor/src/utilities/SmartOutput.d.ts +41 -0
  63. package/esm/editor/src/utilities/SmartOutput.d.ts.map +1 -0
  64. package/esm/editor/src/utilities/SmartOutput.js +228 -0
  65. package/esm/editor/src/utilities/createNodeFromContent.d.ts +4 -3
  66. package/esm/editor/src/utilities/createNodeFromContent.d.ts.map +1 -1
  67. package/esm/editor/src/utilities/createNodeFromContent.js +4 -5
  68. package/esm/editor/src/utilities/getHtmlAttributes.d.ts +8 -3
  69. package/esm/editor/src/utilities/getHtmlAttributes.d.ts.map +1 -1
  70. package/esm/editor/src/utilities/getShadowRoot.d.ts +2 -0
  71. package/esm/editor/src/utilities/getShadowRoot.d.ts.map +1 -0
  72. package/esm/editor/src/utilities/getShadowRoot.js +16 -0
  73. package/esm/editor/src/utilities/mod.d.ts +3 -0
  74. package/esm/editor/src/utilities/mod.d.ts.map +1 -1
  75. package/esm/editor/src/utilities/mod.js +3 -0
  76. package/esm/editor/src/utilities/toRawTextResult.d.ts +3 -0
  77. package/esm/editor/src/utilities/toRawTextResult.d.ts.map +1 -0
  78. package/esm/editor/src/utilities/toRawTextResult.js +21 -0
  79. package/esm/extension-basic-editor/src/ExtensionBaseKeymap.d.ts +1 -2
  80. package/esm/extension-basic-editor/src/ExtensionBaseKeymap.d.ts.map +1 -1
  81. package/esm/extension-basic-editor/src/ExtensionBaseKeymap.js +40 -14
  82. package/esm/extension-basic-editor/src/ExtensionBasicCodeEditor.d.ts +11 -0
  83. package/esm/extension-basic-editor/src/ExtensionBasicCodeEditor.d.ts.map +1 -0
  84. package/esm/extension-basic-editor/src/ExtensionBasicCodeEditor.js +71 -0
  85. package/esm/extension-basic-editor/src/ExtensionBasicEditor.d.ts +23 -9
  86. package/esm/extension-basic-editor/src/ExtensionBasicEditor.d.ts.map +1 -1
  87. package/esm/extension-basic-editor/src/ExtensionBasicEditor.js +38 -8
  88. package/esm/extension-basic-editor/src/ExtensionDropcursor.d.ts +7 -0
  89. package/esm/extension-basic-editor/src/ExtensionDropcursor.d.ts.map +1 -1
  90. package/esm/extension-basic-editor/src/ExtensionDropcursor.js +211 -1
  91. package/esm/extension-basic-editor/src/ExtensionGapcursor.d.ts +21 -1
  92. package/esm/extension-basic-editor/src/ExtensionGapcursor.d.ts.map +1 -1
  93. package/esm/extension-basic-editor/src/ExtensionGapcursor.js +239 -1
  94. package/esm/extension-basic-editor/src/ExtensionHistory.d.ts +4 -3
  95. package/esm/extension-basic-editor/src/ExtensionHistory.d.ts.map +1 -1
  96. package/esm/extension-basic-editor/src/ExtensionHistory.js +29 -3
  97. package/esm/extension-basic-editor/src/ExtensionHtml.d.ts.map +1 -1
  98. package/esm/extension-basic-editor/src/ExtensionHtml.js +7 -4
  99. package/esm/extension-basic-editor/src/ExtensionMediaUpload.d.ts +24 -0
  100. package/esm/extension-basic-editor/src/ExtensionMediaUpload.d.ts.map +1 -0
  101. package/esm/extension-basic-editor/src/ExtensionMediaUpload.js +176 -0
  102. package/esm/extension-basic-editor/src/ExtensionSelection.d.ts +11 -0
  103. package/esm/extension-basic-editor/src/ExtensionSelection.d.ts.map +1 -0
  104. package/esm/extension-basic-editor/src/ExtensionSelection.js +237 -0
  105. package/esm/extension-basic-editor/src/MarkBookmark.d.ts.map +1 -1
  106. package/esm/extension-basic-editor/src/MarkChange.d.ts.map +1 -1
  107. package/esm/extension-basic-editor/src/MarkCode.d.ts +4 -7
  108. package/esm/extension-basic-editor/src/MarkCode.d.ts.map +1 -1
  109. package/esm/extension-basic-editor/src/MarkCode.js +2 -11
  110. package/esm/extension-basic-editor/src/MarkHighlight.d.ts +8 -0
  111. package/esm/extension-basic-editor/src/MarkHighlight.d.ts.map +1 -0
  112. package/esm/extension-basic-editor/src/MarkHighlight.js +43 -0
  113. package/esm/extension-basic-editor/src/MarkItalic.d.ts +4 -6
  114. package/esm/extension-basic-editor/src/MarkItalic.d.ts.map +1 -1
  115. package/esm/extension-basic-editor/src/MarkItalic.js +2 -11
  116. package/esm/extension-basic-editor/src/MarkLink.d.ts +1 -11
  117. package/esm/extension-basic-editor/src/MarkLink.d.ts.map +1 -1
  118. package/esm/extension-basic-editor/src/MarkLink.js +0 -32
  119. package/esm/extension-basic-editor/src/MarkStrike.d.ts +11 -0
  120. package/esm/extension-basic-editor/src/MarkStrike.d.ts.map +1 -0
  121. package/esm/extension-basic-editor/src/MarkStrike.js +39 -0
  122. package/esm/extension-basic-editor/src/MarkStrong.d.ts +4 -7
  123. package/esm/extension-basic-editor/src/MarkStrong.d.ts.map +1 -1
  124. package/esm/extension-basic-editor/src/MarkStrong.js +2 -11
  125. package/esm/extension-basic-editor/src/MarkTextColor.d.ts +8 -0
  126. package/esm/extension-basic-editor/src/MarkTextColor.d.ts.map +1 -0
  127. package/esm/extension-basic-editor/src/MarkTextColor.js +35 -0
  128. package/esm/extension-basic-editor/src/MarkUnderline.d.ts +3 -5
  129. package/esm/extension-basic-editor/src/MarkUnderline.d.ts.map +1 -1
  130. package/esm/extension-basic-editor/src/MarkUnderline.js +2 -11
  131. package/esm/extension-basic-editor/src/NodeAside.d.ts +0 -3
  132. package/esm/extension-basic-editor/src/NodeAside.d.ts.map +1 -1
  133. package/esm/extension-basic-editor/src/NodeAside.js +0 -8
  134. package/esm/extension-basic-editor/src/NodeBlockquote.d.ts +3 -6
  135. package/esm/extension-basic-editor/src/NodeBlockquote.d.ts.map +1 -1
  136. package/esm/extension-basic-editor/src/NodeBlockquote.js +2 -11
  137. package/esm/extension-basic-editor/src/NodeBulletList.d.ts +4 -7
  138. package/esm/extension-basic-editor/src/NodeBulletList.d.ts.map +1 -1
  139. package/esm/extension-basic-editor/src/NodeBulletList.js +2 -11
  140. package/esm/extension-basic-editor/src/NodeCodeBlock.d.ts +9 -0
  141. package/esm/extension-basic-editor/src/NodeCodeBlock.d.ts.map +1 -0
  142. package/esm/extension-basic-editor/src/NodeCodeBlock.js +58 -0
  143. package/esm/extension-basic-editor/src/NodeDefinitionDesc.d.ts +8 -0
  144. package/esm/extension-basic-editor/src/NodeDefinitionDesc.d.ts.map +1 -0
  145. package/esm/extension-basic-editor/src/NodeDefinitionDesc.js +29 -0
  146. package/esm/extension-basic-editor/src/NodeDefinitionList.d.ts +13 -0
  147. package/esm/extension-basic-editor/src/NodeDefinitionList.d.ts.map +1 -0
  148. package/esm/extension-basic-editor/src/NodeDefinitionList.js +41 -0
  149. package/esm/extension-basic-editor/src/NodeDefinitionTerm.d.ts +8 -0
  150. package/esm/extension-basic-editor/src/NodeDefinitionTerm.d.ts.map +1 -0
  151. package/esm/extension-basic-editor/src/NodeDefinitionTerm.js +29 -0
  152. package/esm/extension-basic-editor/src/NodeDocumentCode.d.ts +7 -0
  153. package/esm/extension-basic-editor/src/NodeDocumentCode.d.ts.map +1 -0
  154. package/esm/extension-basic-editor/src/NodeDocumentCode.js +37 -0
  155. package/esm/extension-basic-editor/src/NodeFrontmatter.d.ts +8 -0
  156. package/esm/extension-basic-editor/src/NodeFrontmatter.d.ts.map +1 -0
  157. package/esm/extension-basic-editor/src/NodeFrontmatter.js +29 -0
  158. package/esm/extension-basic-editor/src/NodeHardBreak.d.ts +5 -2
  159. package/esm/extension-basic-editor/src/NodeHardBreak.d.ts.map +1 -1
  160. package/esm/extension-basic-editor/src/NodeHardBreak.js +40 -53
  161. package/esm/extension-basic-editor/src/NodeHeading.d.ts +3 -14
  162. package/esm/extension-basic-editor/src/NodeHeading.d.ts.map +1 -1
  163. package/esm/extension-basic-editor/src/NodeHeading.js +2 -15
  164. package/esm/extension-basic-editor/src/NodeHorizontalRule.d.ts +4 -4
  165. package/esm/extension-basic-editor/src/NodeHorizontalRule.d.ts.map +1 -1
  166. package/esm/extension-basic-editor/src/NodeHorizontalRule.js +1 -2
  167. package/esm/extension-basic-editor/src/NodeListItem.d.ts +7 -5
  168. package/esm/extension-basic-editor/src/NodeListItem.d.ts.map +1 -1
  169. package/esm/extension-basic-editor/src/NodeListItem.js +10 -15
  170. package/esm/extension-basic-editor/src/NodeMath.d.ts +8 -0
  171. package/esm/extension-basic-editor/src/NodeMath.d.ts.map +1 -0
  172. package/esm/extension-basic-editor/src/NodeMath.js +112 -0
  173. package/esm/extension-basic-editor/src/NodeOrderedList.d.ts +3 -6
  174. package/esm/extension-basic-editor/src/NodeOrderedList.d.ts.map +1 -1
  175. package/esm/extension-basic-editor/src/NodeOrderedList.js +4 -14
  176. package/esm/extension-basic-editor/src/NodeParagraph.d.ts +2 -5
  177. package/esm/extension-basic-editor/src/NodeParagraph.d.ts.map +1 -1
  178. package/esm/extension-basic-editor/src/NodeParagraph.js +2 -11
  179. package/esm/extension-basic-editor/src/NodeTaskItem.d.ts +24 -0
  180. package/esm/extension-basic-editor/src/NodeTaskItem.d.ts.map +1 -0
  181. package/esm/extension-basic-editor/src/NodeTaskItem.js +153 -0
  182. package/esm/extension-basic-editor/src/NodeTaskList.d.ts +11 -0
  183. package/esm/extension-basic-editor/src/NodeTaskList.d.ts.map +1 -0
  184. package/esm/extension-basic-editor/src/NodeTaskList.js +38 -0
  185. package/esm/extension-basic-editor/src/NodeText.d.ts +0 -1
  186. package/esm/extension-basic-editor/src/NodeText.d.ts.map +1 -1
  187. package/esm/extension-basic-editor/src/NodeText.js +0 -6
  188. package/esm/extension-basic-editor/src/NodeVideo.d.ts +8 -0
  189. package/esm/extension-basic-editor/src/NodeVideo.d.ts.map +1 -0
  190. package/esm/extension-basic-editor/src/NodeVideo.js +58 -0
  191. package/esm/extension-basic-editor/src/remote-selection/ExtensionRemoteSelection.d.ts +24 -0
  192. package/esm/extension-basic-editor/src/remote-selection/ExtensionRemoteSelection.d.ts.map +1 -0
  193. package/esm/extension-basic-editor/src/remote-selection/ExtensionRemoteSelection.js +35 -0
  194. package/esm/extension-basic-editor/src/remote-selection/remoteSelectionPlugin.d.ts +25 -0
  195. package/esm/extension-basic-editor/src/remote-selection/remoteSelectionPlugin.d.ts.map +1 -0
  196. package/esm/extension-basic-editor/src/remote-selection/remoteSelectionPlugin.js +96 -0
  197. package/package.json +29 -6
@@ -1,17 +1,20 @@
1
- import type { ParseOptions } from 'prosemirror-model';
1
+ import type { Node as ProseMirrorNode, ParseOptions } from 'prosemirror-model';
2
2
  import type { Extension } from './Extension.js';
3
3
  import type { Mark } from './Mark.js';
4
4
  import type { Node } from './Node.js';
5
- export type AnyExtension = (Extension | Node | Mark) & {
6
- requires: Set<AnyExtension | string>;
5
+ export type AnyExtension = Extension | Node | Mark;
6
+ export type AnyExtensionOrReq = AnyExtension | {
7
+ requires: Array<AnyExtensionOrReq | string>;
7
8
  };
8
- export type Extensions = AnyExtension[];
9
9
  export type Content = JSONContent | JSONContent[] | null;
10
- export interface EditorOptions {
11
- element: Element;
10
+ export interface EditorConfig {
11
+ element: HTMLElement;
12
12
  content: Content;
13
13
  parseOptions: ParseOptions;
14
- extensions: Extensions;
14
+ extensions: AnyExtensionOrReq[];
15
+ cdnUrl?: string;
16
+ uri?: string;
17
+ languageID?: string;
15
18
  topNode?: string;
16
19
  }
17
20
  export type JSONContent = {
@@ -26,4 +29,24 @@ export type JSONContent = {
26
29
  text?: string;
27
30
  [key: string]: any;
28
31
  };
32
+ export type Attribute<T> = {
33
+ fromDom?: (element: HTMLElement) => T;
34
+ default: T;
35
+ toDom?: (node: ProseMirrorNode) => T;
36
+ };
37
+ export interface TextRange {
38
+ from: number;
39
+ to: number;
40
+ }
41
+ export interface RawTextMapEntry {
42
+ nodeIdx: number;
43
+ targetRow: number;
44
+ targetCol: number;
45
+ sourceCol?: number;
46
+ targetPos: number;
47
+ }
48
+ export interface RawTextResult {
49
+ content: string;
50
+ rawTextMap: Array<RawTextMapEntry>;
51
+ }
29
52
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/editor/src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,MAAM,YAAY,GAAG,CAAC,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG;IACrD,QAAQ,EAAE,GAAG,CAAC,YAAY,GAAG,MAAM,CAAC,CAAC;CACtC,CAAC;AACF,MAAM,MAAM,UAAU,GAAG,YAAY,EAAE,CAAC;AAExC,MAAM,MAAM,OAAO,GAAG,WAAW,GAAG,WAAW,EAAE,GAAG,IAAI,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,EAAE,CAAC;IACJ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/editor/src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,eAAe,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC;AACnD,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG;IAC7C,QAAQ,EAAE,KAAK,CAAC,iBAAiB,GAAG,MAAM,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,WAAW,GAAG,WAAW,EAAE,GAAG,IAAI,CAAC;AAEzD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,EAAE,CAAC;IACJ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IACzB,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,CAAC,CAAC;IACtC,OAAO,EAAE,CAAC,CAAC;IACX,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,CAAC,CAAC;CACtC,CAAC;AAEF,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;CACpC"}
@@ -0,0 +1,15 @@
1
+ import type { CoreEditor } from './CoreEditor.js';
2
+ interface SelectParams {
3
+ anchor: number;
4
+ scrollIntoView: boolean;
5
+ userEvent: string;
6
+ }
7
+ export interface EditorUi {
8
+ showMessage(msg: string): void;
9
+ showError(err: Error): void;
10
+ focus(): void;
11
+ select(params: SelectParams): void;
12
+ }
13
+ export declare function defaultUi(editor: CoreEditor): EditorUi;
14
+ export {};
15
+ //# sourceMappingURL=ui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../../src/editor/src/ui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,QAAQ;IACvB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,CAAC;IAC5B,KAAK,IAAI,IAAI,CAAC;IACd,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;CACpC;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ,CAmBtD"}
@@ -0,0 +1,16 @@
1
+ export function defaultUi(editor) {
2
+ return {
3
+ showMessage(msg) {
4
+ globalThis.alert(msg);
5
+ },
6
+ showError(err) {
7
+ globalThis.alert(err.message);
8
+ console.error(err);
9
+ },
10
+ focus() {
11
+ // editor.run.focus();
12
+ },
13
+ select({ anchor: number, scrollIntoView: boolean, userEvent: string, }) {
14
+ },
15
+ };
16
+ }
@@ -0,0 +1,41 @@
1
+ export interface OutputMeta<K> {
2
+ pos: number;
3
+ rowPos: number;
4
+ colPos: number;
5
+ item?: K;
6
+ }
7
+ interface Mapping {
8
+ sourceNo: number;
9
+ sourceRowPos: number;
10
+ sourceColPos: number;
11
+ }
12
+ export interface SourceMap {
13
+ 'version': 3;
14
+ 'file': string;
15
+ 'sourceRoot': string;
16
+ 'sources': Array<string>;
17
+ 'sourcesContent': Array<string>;
18
+ 'names': Array<string>;
19
+ 'mappings': string;
20
+ }
21
+ export declare class SmartOutput<K> {
22
+ private _rowPos;
23
+ private _colPos;
24
+ private _pos;
25
+ private chunks;
26
+ private metas;
27
+ log(text: string, item?: K): void;
28
+ getMetas(): OutputMeta<K>[];
29
+ get chunkPos(): number;
30
+ rollback(pos: number): void;
31
+ get rowPos(): number;
32
+ get colPos(): number;
33
+ get pos(): number;
34
+ endsWith(text: string): boolean;
35
+ toString(): string;
36
+ getSourceMap(mapper: (rowPos: number, colPos: number, pos: number, item?: K) => Mapping | void): SourceMap;
37
+ }
38
+ export declare function decode(string: string): number[];
39
+ export declare function encode(value: number | number[]): string;
40
+ export {};
41
+ //# sourceMappingURL=SmartOutput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SmartOutput.d.ts","sourceRoot":"","sources":["../../../../src/editor/src/utilities/SmartOutput.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,CAAC,CAAC;CACV;AAED,UAAU,OAAO;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,CAAC,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACzB,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,WAAW,CAAC,CAAC;IACxB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,IAAI,CAAK;IAEjB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,KAAK,CAA4B;IAEzC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;IAyB1B,QAAQ;IAIR,IAAI,QAAQ,WAEX;IAED,QAAQ,CAAC,GAAG,EAAE,MAAM;IAKpB,IAAI,MAAM,WAET;IAED,IAAI,MAAM,WAET;IAED,IAAI,GAAG,WAEN;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM;IAIrB,QAAQ;IAIR,YAAY,CACV,MAAM,EAAE,CACN,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,CAAC,KACL,OAAO,GAAG,IAAI,GAClB,SAAS;CA4Db;AAuDD,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,YAoCpC;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,UAW9C"}
@@ -0,0 +1,228 @@
1
+ export class SmartOutput {
2
+ constructor() {
3
+ Object.defineProperty(this, "_rowPos", {
4
+ enumerable: true,
5
+ configurable: true,
6
+ writable: true,
7
+ value: 0
8
+ });
9
+ Object.defineProperty(this, "_colPos", {
10
+ enumerable: true,
11
+ configurable: true,
12
+ writable: true,
13
+ value: 0
14
+ });
15
+ Object.defineProperty(this, "_pos", {
16
+ enumerable: true,
17
+ configurable: true,
18
+ writable: true,
19
+ value: 0
20
+ });
21
+ Object.defineProperty(this, "chunks", {
22
+ enumerable: true,
23
+ configurable: true,
24
+ writable: true,
25
+ value: []
26
+ });
27
+ Object.defineProperty(this, "metas", {
28
+ enumerable: true,
29
+ configurable: true,
30
+ writable: true,
31
+ value: []
32
+ });
33
+ }
34
+ log(text, item) {
35
+ if (text.length === 0) {
36
+ return;
37
+ }
38
+ this.chunks.push(text);
39
+ this.metas.push({
40
+ pos: this._pos,
41
+ colPos: this._colPos,
42
+ rowPos: this._rowPos,
43
+ item,
44
+ });
45
+ const lines = text.split('\n');
46
+ if (lines.length === 1) {
47
+ this._colPos += lines[lines.length - 1].length;
48
+ }
49
+ else {
50
+ this._rowPos += lines.length - 1;
51
+ this._colPos = lines[lines.length - 1].length;
52
+ }
53
+ this._pos += text.length;
54
+ }
55
+ getMetas() {
56
+ return this.metas;
57
+ }
58
+ get chunkPos() {
59
+ return this.chunks.length;
60
+ }
61
+ rollback(pos) {
62
+ this.chunks.splice(pos);
63
+ this.metas.splice(pos);
64
+ }
65
+ get rowPos() {
66
+ return this._rowPos;
67
+ }
68
+ get colPos() {
69
+ return this._colPos;
70
+ }
71
+ get pos() {
72
+ return this._pos;
73
+ }
74
+ endsWith(text) {
75
+ return this.chunks.join('').endsWith(text);
76
+ }
77
+ toString() {
78
+ return this.chunks.join('');
79
+ }
80
+ getSourceMap(mapper) {
81
+ const mappingRows = [];
82
+ let lastRow = -1;
83
+ let lastCol = -1;
84
+ let prevSourceNo = 0;
85
+ let prevSourceRowPos = 0;
86
+ let prevSourceColPos = 0;
87
+ let prevColPos = 0;
88
+ for (const meta of this.metas) {
89
+ while (meta.rowPos >= mappingRows.length) {
90
+ mappingRows.push([]);
91
+ }
92
+ if (lastRow != meta.rowPos || lastCol != meta.colPos) {
93
+ const currentRow = mappingRows[meta.rowPos];
94
+ if (lastRow != meta.rowPos) {
95
+ prevColPos = 0;
96
+ }
97
+ const mapping = mapper(meta.rowPos, meta.colPos, meta.pos, meta.item);
98
+ if (mapping) {
99
+ currentRow.push([
100
+ meta.colPos - prevColPos,
101
+ mapping.sourceNo - prevSourceNo,
102
+ mapping.sourceRowPos - prevSourceRowPos,
103
+ mapping.sourceColPos - prevSourceColPos,
104
+ ]);
105
+ prevColPos = meta.colPos;
106
+ prevSourceNo = mapping.sourceNo;
107
+ prevSourceRowPos = mapping.sourceRowPos;
108
+ prevSourceColPos = mapping.sourceColPos;
109
+ }
110
+ }
111
+ lastRow = meta.rowPos;
112
+ lastCol = meta.colPos;
113
+ }
114
+ const mappings = mappingRows
115
+ .map((row) => row.map((group) => encode(group))
116
+ .join(','))
117
+ .join(';');
118
+ return {
119
+ version: 3,
120
+ file: '',
121
+ sourceRoot: '',
122
+ sources: [],
123
+ sourcesContent: [],
124
+ names: [],
125
+ mappings,
126
+ };
127
+ }
128
+ }
129
+ const BASE64_CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
130
+ function toVLQ(value) {
131
+ const vlq = [];
132
+ const isNegative = value < 0;
133
+ value = Math.abs(value);
134
+ if (value === 0) {
135
+ vlq.push(0);
136
+ return vlq;
137
+ }
138
+ while (value > 0) {
139
+ let digit = value & 0x1F;
140
+ value >>= 5;
141
+ if (value > 0) {
142
+ digit |= 0x20;
143
+ }
144
+ vlq.push(digit);
145
+ if (vlq.length === 1) {
146
+ digit = isNegative ? (digit | 0x1) : (digit & ~0x1);
147
+ vlq[0] = digit;
148
+ }
149
+ }
150
+ return vlq;
151
+ }
152
+ function encodeVLQ(input) {
153
+ const numbers = Array.isArray(input) ? input : [input];
154
+ let result = '';
155
+ for (const num of numbers) {
156
+ const vlq = toVLQ(num);
157
+ for (const digit of vlq) {
158
+ result += BASE64_CHARS[digit];
159
+ }
160
+ }
161
+ return result;
162
+ }
163
+ const char_to_integer = {};
164
+ const integer_to_char = {};
165
+ 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='
166
+ .split('')
167
+ .forEach(function (char, i) {
168
+ char_to_integer[char] = i;
169
+ integer_to_char[i] = char;
170
+ });
171
+ export function decode(string) {
172
+ let result = [];
173
+ let shift = 0;
174
+ let value = 0;
175
+ for (let i = 0; i < string.length; i += 1) {
176
+ let integer = char_to_integer[string[i]];
177
+ if (integer === undefined) {
178
+ throw new Error('Invalid character (' + string[i] + ')');
179
+ }
180
+ const has_continuation_bit = integer & 32;
181
+ integer &= 31;
182
+ value += integer << shift;
183
+ if (has_continuation_bit) {
184
+ shift += 5;
185
+ }
186
+ else {
187
+ const should_negate = value & 1;
188
+ value >>>= 1;
189
+ if (should_negate) {
190
+ result.push(value === 0 ? -0x80000000 : -value);
191
+ }
192
+ else {
193
+ result.push(value);
194
+ }
195
+ // reset
196
+ value = shift = 0;
197
+ }
198
+ }
199
+ return result;
200
+ }
201
+ export function encode(value) {
202
+ if (typeof value === 'number') {
203
+ return encode_integer(value);
204
+ }
205
+ let result = '';
206
+ for (let i = 0; i < value.length; i += 1) {
207
+ result += encode_integer(value[i]);
208
+ }
209
+ return result;
210
+ }
211
+ function encode_integer(num) {
212
+ let result = '';
213
+ if (num < 0) {
214
+ num = (-num << 1) | 1;
215
+ }
216
+ else {
217
+ num <<= 1;
218
+ }
219
+ do {
220
+ let clamped = num & 31;
221
+ num >>>= 5;
222
+ if (num > 0) {
223
+ clamped |= 32;
224
+ }
225
+ result += integer_to_char[clamped];
226
+ } while (num > 0);
227
+ return result;
228
+ }
@@ -1,8 +1,9 @@
1
1
  import { Fragment, Node as ProseMirrorNode, Schema } from 'prosemirror-model';
2
- import type { Content } from '../types.js';
2
+ import type { JSONContent } from '../types.js';
3
3
  export type CreateNodeFromContentOptions = {
4
4
  errorOnInvalidContent?: boolean;
5
5
  };
6
- export declare function createNodeFromObject(content: Content | ProseMirrorNode | Fragment, schema: Schema, options?: CreateNodeFromContentOptions): ProseMirrorNode | Fragment;
7
- export declare function createNodeFromContent(content: Content | ProseMirrorNode | Fragment, schema: Schema, options?: CreateNodeFromContentOptions): ProseMirrorNode | Fragment;
6
+ export declare function createNodeFromObject(content: JSONContent | ProseMirrorNode | Fragment, schema: Schema, options?: CreateNodeFromContentOptions): ProseMirrorNode;
7
+ export declare function createNodeFromArray(content: JSONContent[], schema: Schema): Fragment;
8
+ export declare function createNodeFromContent(content: JSONContent | ProseMirrorNode | Fragment, schema: Schema, options?: CreateNodeFromContentOptions): ProseMirrorNode | Fragment;
8
9
  //# sourceMappingURL=createNodeFromContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createNodeFromContent.d.ts","sourceRoot":"","sources":["../../../../src/editor/src/utilities/createNodeFromContent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,IAAI,eAAe,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE9E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,MAAM,4BAA4B,GAAG;IACzC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,GAAG,eAAe,GAAG,QAAQ,EAC7C,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,4BAA4B,GACrC,eAAe,GAAG,QAAQ,CAiC5B;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,OAAO,GAAG,eAAe,GAAG,QAAQ,EAC7C,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,4BAA4B,GACrC,eAAe,GAAG,QAAQ,CAY5B"}
1
+ {"version":3,"file":"createNodeFromContent.d.ts","sourceRoot":"","sources":["../../../../src/editor/src/utilities/createNodeFromContent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,IAAI,eAAe,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE9E,OAAO,KAAK,EAAW,WAAW,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,MAAM,4BAA4B,GAAG;IACzC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,WAAW,GAAG,eAAe,GAAG,QAAQ,EACjD,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,4BAA4B,GACrC,eAAe,CA0BjB;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,WAAW,EAAE,EACtB,MAAM,EAAE,MAAM,GACb,QAAQ,CAIV;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,WAAW,GAAG,eAAe,GAAG,QAAQ,EACjD,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,4BAA4B,GACrC,eAAe,GAAG,QAAQ,CAY5B"}
@@ -1,10 +1,6 @@
1
1
  import { Fragment, Node as ProseMirrorNode } from 'prosemirror-model';
2
2
  export function createNodeFromObject(content, schema, options) {
3
3
  try {
4
- // if the JSON Content is an array of nodes, create a fragment for each node
5
- if (Array.isArray(content) && content.length > 0) {
6
- return Fragment.fromArray(content.map((item) => schema.nodeFromJSON(item)));
7
- }
8
4
  const node = schema.nodeFromJSON(content);
9
5
  if (options?.errorOnInvalidContent) {
10
6
  node.check();
@@ -21,13 +17,16 @@ export function createNodeFromObject(content, schema, options) {
21
17
  return schema.topNodeType.createAndFill(null, []);
22
18
  }
23
19
  }
20
+ export function createNodeFromArray(content, schema) {
21
+ return Fragment.fromArray(content.map((item) => schema.nodeFromJSON(item)));
22
+ }
24
23
  export function createNodeFromContent(content, schema, options) {
25
24
  if (content instanceof ProseMirrorNode || content instanceof Fragment) {
26
25
  return content;
27
26
  }
28
27
  const isJSONContent = typeof content === 'object' && content !== null;
29
28
  if (isJSONContent) {
30
- createNodeFromObject(content, schema, options);
29
+ return createNodeFromObject(content, schema, options);
31
30
  }
32
31
  return schema.topNodeType.createAndFill(null, []);
33
32
  }
@@ -1,4 +1,9 @@
1
- export declare function getHtmlAttributes(extension: any, node: any): {};
2
- export declare function setHtmlAttributes(extension: any, element: any): {};
3
- export declare function addAttributesToSchema(spec: any, extension: any): void;
1
+ import type { MarkSpec, Node as ProseMirrorNode, NodeSpec } from 'prosemirror-model';
2
+ import type { Mark } from '../Mark.js';
3
+ import type { Node } from '../Node.js';
4
+ type MarkOfNode = Mark | Node;
5
+ export declare function getHtmlAttributes(extension: MarkOfNode, node: ProseMirrorNode): Record<string, any>;
6
+ export declare function setHtmlAttributes(extension: MarkOfNode, element: HTMLElement): Record<string, any>;
7
+ export declare function addAttributesToSchema(spec: MarkSpec | NodeSpec, extension: MarkOfNode): void;
8
+ export {};
4
9
  //# sourceMappingURL=getHtmlAttributes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getHtmlAttributes.d.ts","sourceRoot":"","sources":["../../../../src/editor/src/utilities/getHtmlAttributes.ts"],"names":[],"mappings":"AAAA,wBAAgB,iBAAiB,CAAC,SAAS,KAAA,EAAE,IAAI,KAAA,MAkBhD;AAED,wBAAgB,iBAAiB,CAAC,SAAS,KAAA,EAAE,OAAO,KAAA,MAcnD;AAED,wBAAgB,qBAAqB,CAAC,IAAI,KAAA,EAAE,SAAS,KAAA,QAcpD"}
1
+ {"version":3,"file":"getHtmlAttributes.d.ts","sourceRoot":"","sources":["../../../../src/editor/src/utilities/getHtmlAttributes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,IAAI,IAAI,eAAe,EACvB,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,KAAK,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC;AAE9B,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,UAAU,EACrB,IAAI,EAAE,eAAe,uBAmBtB;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,uBAc5E;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,QAAQ,GAAG,QAAQ,EACzB,SAAS,EAAE,UAAU,QAetB"}
@@ -0,0 +1,2 @@
1
+ export declare function getShadowRoot(element?: Element): ShadowRoot | undefined;
2
+ //# sourceMappingURL=getShadowRoot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getShadowRoot.d.ts","sourceRoot":"","sources":["../../../../src/editor/src/utilities/getShadowRoot.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAiBvE"}
@@ -0,0 +1,16 @@
1
+ export function getShadowRoot(element) {
2
+ let current = element;
3
+ while (current) {
4
+ if (current.toString() === '[object ShadowRoot]') {
5
+ return current;
6
+ }
7
+ if (current instanceof ShadowRoot) {
8
+ if (current.host) {
9
+ return current.host.shadowRoot || undefined;
10
+ }
11
+ }
12
+ current = current.parentElement ||
13
+ ((current instanceof ShadowRoot) ? current.host : undefined);
14
+ }
15
+ return undefined;
16
+ }
@@ -1,3 +1,6 @@
1
1
  export * from './getHtmlAttributes.js';
2
2
  export * from './createNodeFromContent.js';
3
+ export * from './SmartOutput.js';
4
+ export * from './getShadowRoot.js';
5
+ export * from './toRawTextResult.js';
3
6
  //# sourceMappingURL=mod.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../src/editor/src/utilities/mod.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../src/editor/src/utilities/mod.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC"}
@@ -1,2 +1,5 @@
1
1
  export * from './getHtmlAttributes.js';
2
2
  export * from './createNodeFromContent.js';
3
+ export * from './SmartOutput.js';
4
+ export * from './getShadowRoot.js';
5
+ export * from './toRawTextResult.js';
@@ -0,0 +1,3 @@
1
+ import { RawTextResult } from '../types.js';
2
+ export declare function toRawTextResult(content: string, nodeIdx?: number): RawTextResult;
3
+ //# sourceMappingURL=toRawTextResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toRawTextResult.d.ts","sourceRoot":"","sources":["../../../../src/editor/src/utilities/toRawTextResult.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,aAAa,EAAE,MAAM,aAAa,CAAC;AAE7D,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,aAAa,CAwB3E"}
@@ -0,0 +1,21 @@
1
+ export function toRawTextResult(content, nodeIdx = 0) {
2
+ const lines = content.split('\n');
3
+ const rawTextMap = [];
4
+ let targetPos = 0;
5
+ let targetRow = 0;
6
+ for (const line of lines) {
7
+ rawTextMap.push({
8
+ nodeIdx,
9
+ targetRow,
10
+ targetCol: 0,
11
+ targetPos,
12
+ });
13
+ targetRow++;
14
+ targetPos += line.length + 1;
15
+ nodeIdx += line.length + 1;
16
+ }
17
+ return {
18
+ content,
19
+ rawTextMap,
20
+ };
21
+ }
@@ -1,8 +1,7 @@
1
1
  import { Extension } from '../../editor/src/mod.js';
2
- import { type Commands, type CommandShortcuts } from '../../editor/src/commands/mod.js';
2
+ import { type CommandShortcuts } from '../../editor/src/commands/mod.js';
3
3
  export declare class ExtensionBaseKeymap extends Extension {
4
4
  name: string;
5
- getCommands(): Partial<Commands>;
6
5
  getKeyboardShortcuts(): Partial<CommandShortcuts>;
7
6
  }
8
7
  //# sourceMappingURL=ExtensionBaseKeymap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExtensionBaseKeymap.d.ts","sourceRoot":"","sources":["../../../src/extension-basic-editor/src/ExtensionBaseKeymap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAQpD,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACtB,MAAM,kCAAkC,CAAC;AAE1C,qBAAa,mBAAoB,SAAQ,SAAS;IAChD,IAAI,SAAiB;IAErB,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;IAgBhC,oBAAoB,IAAI,OAAO,CAAC,gBAAgB,CAAC;CAclD"}
1
+ {"version":3,"file":"ExtensionBaseKeymap.d.ts","sourceRoot":"","sources":["../../../src/extension-basic-editor/src/ExtensionBaseKeymap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AA4CzE,qBAAa,mBAAoB,SAAQ,SAAS;IAChD,IAAI,SAAiB;IAEZ,oBAAoB,IAAI,OAAO,CAAC,gBAAgB,CAAC;CAe3D"}
@@ -1,5 +1,42 @@
1
1
  import { Extension } from '../../editor/src/mod.js';
2
- import { baseKeymap, joinDown, joinUp, lift, selectParentNode, } from '../../editor/src/commands/mod.js';
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;
3
40
  export class ExtensionBaseKeymap extends Extension {
4
41
  constructor() {
5
42
  super(...arguments);
@@ -10,27 +47,16 @@ export class ExtensionBaseKeymap extends Extension {
10
47
  value: 'base-keymap'
11
48
  });
12
49
  }
13
- getCommands() {
14
- const commands = {
15
- joinUp: () => (state, dispatch) => joinUp(state, dispatch),
16
- joinDown: () => (state, dispatch) => joinDown(state, dispatch),
17
- lift: () => (state, dispatch) => lift(state, dispatch),
18
- selectParentNode: () => (state, dispatch) => selectParentNode(state, dispatch),
19
- };
20
- for (const key in baseKeymap) {
21
- commands[this.name + '_' + key] = () => baseKeymap[key];
22
- }
23
- return commands;
24
- }
25
50
  getKeyboardShortcuts() {
26
51
  const shortcuts = {
52
+ 'Enter': 'enter',
27
53
  'Alt-ArrowUp': 'joinUp',
28
54
  'Alt-ArrowDown': 'joinDown',
29
55
  'Mod-BracketLeft': 'lift',
30
56
  'Escape': 'selectParentNode',
31
57
  };
32
58
  for (const key in baseKeymap) {
33
- shortcuts[key] = this.name + '_' + key;
59
+ shortcuts[key] = baseKeymap[key];
34
60
  }
35
61
  return shortcuts;
36
62
  }
@@ -0,0 +1,11 @@
1
+ import { Node } from 'prosemirror-model';
2
+ import { AnyExtensionOrReq, Extension, RawTextResult } from '../../editor/src/mod.js';
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/extension-basic-editor/src/ExtensionBasicCodeEditor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EACL,iBAAiB,EACjB,SAAS,EAET,aAAa,EACd,MAAM,yBAAyB,CAAC;AAWjC,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"}