@kerebron/editor-kits 0.4.4 → 0.4.6

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 (591) hide show
  1. package/esm/editor-kits/src/AdvancedEditorKit.d.ts +2 -3
  2. package/esm/editor-kits/src/AdvancedEditorKit.d.ts.map +1 -1
  3. package/esm/editor-kits/src/AdvancedEditorKit.js +8 -9
  4. package/esm/editor-kits/src/CodeEditorKit.d.ts +1 -2
  5. package/esm/editor-kits/src/CodeEditorKit.d.ts.map +1 -1
  6. package/esm/editor-kits/src/CodeEditorKit.js +4 -5
  7. package/esm/editor-kits/src/DevAdvancedEditorKit.d.ts +2 -3
  8. package/esm/editor-kits/src/DevAdvancedEditorKit.d.ts.map +1 -1
  9. package/esm/editor-kits/src/DevAdvancedEditorKit.js +8 -9
  10. package/esm/editor-kits/src/LspEditorKit.d.ts +3 -4
  11. package/esm/editor-kits/src/LspEditorKit.d.ts.map +1 -1
  12. package/esm/editor-kits/src/LspEditorKit.js +3 -4
  13. package/esm/editor-kits/src/YjsEditorKit.d.ts +3 -4
  14. package/esm/editor-kits/src/YjsEditorKit.d.ts.map +1 -1
  15. package/esm/editor-kits/src/YjsEditorKit.js +3 -4
  16. package/esm/editor-kits/src/mod.d.ts +0 -2
  17. package/esm/editor-kits/src/mod.d.ts.map +1 -1
  18. package/esm/editor-kits/src/mod.js +0 -2
  19. package/esm/extension-basic-editor/src/ExtensionBaseKeymap.d.ts +1 -1
  20. package/esm/extension-basic-editor/src/ExtensionBaseKeymap.d.ts.map +1 -1
  21. package/esm/extension-basic-editor/src/ExtensionBaseKeymap.js +1 -1
  22. package/esm/extension-basic-editor/src/ExtensionBasicCodeEditor.d.ts +1 -1
  23. package/esm/extension-basic-editor/src/ExtensionBasicCodeEditor.d.ts.map +1 -1
  24. package/esm/extension-basic-editor/src/ExtensionBasicCodeEditor.js +1 -1
  25. package/esm/extension-basic-editor/src/ExtensionDropcursor.d.ts +1 -1
  26. package/esm/extension-basic-editor/src/ExtensionDropcursor.d.ts.map +1 -1
  27. package/esm/extension-basic-editor/src/ExtensionDropcursor.js +1 -1
  28. package/esm/extension-basic-editor/src/ExtensionGapcursor.d.ts +1 -1
  29. package/esm/extension-basic-editor/src/ExtensionGapcursor.d.ts.map +1 -1
  30. package/esm/extension-basic-editor/src/ExtensionGapcursor.js +1 -1
  31. package/esm/extension-basic-editor/src/ExtensionHtml.d.ts +1 -1
  32. package/esm/extension-basic-editor/src/ExtensionHtml.d.ts.map +1 -1
  33. package/esm/extension-basic-editor/src/ExtensionHtml.js +1 -1
  34. package/esm/extension-basic-editor/src/ExtensionSelection.d.ts +1 -1
  35. package/esm/extension-basic-editor/src/ExtensionSelection.d.ts.map +1 -1
  36. package/esm/extension-basic-editor/src/ExtensionSelection.js +2 -2
  37. package/esm/extension-basic-editor/src/NodeDocumentCode.d.ts +1 -1
  38. package/esm/extension-basic-editor/src/NodeDocumentCode.d.ts.map +1 -1
  39. package/esm/extension-basic-editor/src/NodeDocumentCode.js +1 -1
  40. package/esm/extension-basic-editor/src/NodeText.d.ts +1 -1
  41. package/esm/extension-basic-editor/src/NodeText.d.ts.map +1 -1
  42. package/esm/extension-basic-editor/src/NodeText.js +1 -1
  43. package/esm/extension-basic-editor/src/remote-selection/ExtensionRemoteSelection.d.ts +1 -1
  44. package/esm/extension-basic-editor/src/remote-selection/ExtensionRemoteSelection.d.ts.map +1 -1
  45. package/esm/extension-basic-editor/src/remote-selection/ExtensionRemoteSelection.js +1 -1
  46. package/esm/extension-basic-editor/src/remote-selection/remoteSelectionPlugin.d.ts +1 -1
  47. package/esm/extension-basic-editor/src/remote-selection/remoteSelectionPlugin.d.ts.map +1 -1
  48. package/package.json +15 -9
  49. package/esm/_dnt.polyfills.d.ts +0 -101
  50. package/esm/_dnt.polyfills.d.ts.map +0 -1
  51. package/esm/_dnt.polyfills.js +0 -127
  52. package/esm/_dnt.shims.d.ts +0 -2
  53. package/esm/_dnt.shims.d.ts.map +0 -1
  54. package/esm/_dnt.shims.js +0 -57
  55. package/esm/editor/src/CoreEditor.d.ts +0 -40
  56. package/esm/editor/src/CoreEditor.d.ts.map +0 -1
  57. package/esm/editor/src/CoreEditor.js +0 -252
  58. package/esm/editor/src/DummyEditorView.d.ts +0 -60
  59. package/esm/editor/src/DummyEditorView.d.ts.map +0 -1
  60. package/esm/editor/src/DummyEditorView.js +0 -277
  61. package/esm/editor/src/Extension.d.ts +0 -31
  62. package/esm/editor/src/Extension.d.ts.map +0 -1
  63. package/esm/editor/src/Extension.js +0 -53
  64. package/esm/editor/src/ExtensionManager.d.ts +0 -32
  65. package/esm/editor/src/ExtensionManager.d.ts.map +0 -1
  66. package/esm/editor/src/ExtensionManager.js +0 -260
  67. package/esm/editor/src/Mark.d.ts +0 -23
  68. package/esm/editor/src/Mark.d.ts.map +0 -1
  69. package/esm/editor/src/Mark.js +0 -51
  70. package/esm/editor/src/Node.d.ts +0 -32
  71. package/esm/editor/src/Node.d.ts.map +0 -1
  72. package/esm/editor/src/Node.js +0 -60
  73. package/esm/editor/src/commands/CommandManager.d.ts +0 -23
  74. package/esm/editor/src/commands/CommandManager.d.ts.map +0 -1
  75. package/esm/editor/src/commands/CommandManager.js +0 -118
  76. package/esm/editor/src/commands/baseCommandFactories.d.ts +0 -3
  77. package/esm/editor/src/commands/baseCommandFactories.d.ts.map +0 -1
  78. package/esm/editor/src/commands/baseCommandFactories.js +0 -836
  79. package/esm/editor/src/commands/createChainableState.d.ts +0 -3
  80. package/esm/editor/src/commands/createChainableState.d.ts.map +0 -1
  81. package/esm/editor/src/commands/createChainableState.js +0 -29
  82. package/esm/editor/src/commands/keyCommandFactories.d.ts +0 -3
  83. package/esm/editor/src/commands/keyCommandFactories.d.ts.map +0 -1
  84. package/esm/editor/src/commands/keyCommandFactories.js +0 -10
  85. package/esm/editor/src/commands/replaceCommandFactories.d.ts +0 -3
  86. package/esm/editor/src/commands/replaceCommandFactories.d.ts.map +0 -1
  87. package/esm/editor/src/commands/replaceCommandFactories.js +0 -94
  88. package/esm/editor/src/mod.d.ts +0 -9
  89. package/esm/editor/src/mod.d.ts.map +0 -1
  90. package/esm/editor/src/mod.js +0 -8
  91. package/esm/editor/src/nodeToTreeString.d.ts +0 -10
  92. package/esm/editor/src/nodeToTreeString.d.ts.map +0 -1
  93. package/esm/editor/src/nodeToTreeString.js +0 -74
  94. package/esm/editor/src/plugins/TrackSelecionPlugin.d.ts +0 -6
  95. package/esm/editor/src/plugins/TrackSelecionPlugin.d.ts.map +0 -1
  96. package/esm/editor/src/plugins/TrackSelecionPlugin.js +0 -24
  97. package/esm/editor/src/plugins/input-rules/InputRulesPlugin.d.ts +0 -23
  98. package/esm/editor/src/plugins/input-rules/InputRulesPlugin.d.ts.map +0 -1
  99. package/esm/editor/src/plugins/input-rules/InputRulesPlugin.js +0 -163
  100. package/esm/editor/src/plugins/input-rules/mod.d.ts +0 -3
  101. package/esm/editor/src/plugins/input-rules/mod.d.ts.map +0 -1
  102. package/esm/editor/src/plugins/input-rules/mod.js +0 -2
  103. package/esm/editor/src/plugins/input-rules/rulebuilders.d.ts +0 -5
  104. package/esm/editor/src/plugins/input-rules/rulebuilders.d.ts.map +0 -1
  105. package/esm/editor/src/plugins/input-rules/rulebuilders.js +0 -50
  106. package/esm/editor/src/types.d.ts +0 -52
  107. package/esm/editor/src/types.d.ts.map +0 -1
  108. package/esm/editor/src/types.js +0 -1
  109. package/esm/editor/src/ui.d.ts +0 -15
  110. package/esm/editor/src/ui.d.ts.map +0 -1
  111. package/esm/editor/src/ui.js +0 -16
  112. package/esm/editor/src/utilities/SmartOutput.d.ts +0 -41
  113. package/esm/editor/src/utilities/SmartOutput.d.ts.map +0 -1
  114. package/esm/editor/src/utilities/SmartOutput.js +0 -228
  115. package/esm/editor/src/utilities/createNodeFromContent.d.ts +0 -9
  116. package/esm/editor/src/utilities/createNodeFromContent.d.ts.map +0 -1
  117. package/esm/editor/src/utilities/createNodeFromContent.js +0 -32
  118. package/esm/editor/src/utilities/getHtmlAttributes.d.ts +0 -9
  119. package/esm/editor/src/utilities/getHtmlAttributes.d.ts.map +0 -1
  120. package/esm/editor/src/utilities/getHtmlAttributes.js +0 -47
  121. package/esm/editor/src/utilities/getShadowRoot.d.ts +0 -2
  122. package/esm/editor/src/utilities/getShadowRoot.d.ts.map +0 -1
  123. package/esm/editor/src/utilities/getShadowRoot.js +0 -16
  124. package/esm/editor/src/utilities/mod.d.ts +0 -6
  125. package/esm/editor/src/utilities/mod.d.ts.map +0 -1
  126. package/esm/editor/src/utilities/mod.js +0 -5
  127. package/esm/editor/src/utilities/toRawTextResult.d.ts +0 -3
  128. package/esm/editor/src/utilities/toRawTextResult.d.ts.map +0 -1
  129. package/esm/editor/src/utilities/toRawTextResult.js +0 -21
  130. package/esm/editor-kits/src/StarterKit.d.ts +0 -30
  131. package/esm/editor-kits/src/StarterKit.d.ts.map +0 -1
  132. package/esm/editor-kits/src/StarterKit.js +0 -49
  133. package/esm/extension-autocomplete/src/AutocompletePlugin.d.ts +0 -8
  134. package/esm/extension-autocomplete/src/AutocompletePlugin.d.ts.map +0 -1
  135. package/esm/extension-autocomplete/src/AutocompletePlugin.js +0 -232
  136. package/esm/extension-autocomplete/src/DefaultRenderer.d.ts +0 -17
  137. package/esm/extension-autocomplete/src/DefaultRenderer.d.ts.map +0 -1
  138. package/esm/extension-autocomplete/src/DefaultRenderer.js +0 -137
  139. package/esm/extension-autocomplete/src/ExtensionAutocomplete.d.ts +0 -26
  140. package/esm/extension-autocomplete/src/ExtensionAutocomplete.d.ts.map +0 -1
  141. package/esm/extension-autocomplete/src/ExtensionAutocomplete.js +0 -30
  142. package/esm/extension-autocomplete/src/createDefaultMatcher.d.ts +0 -11
  143. package/esm/extension-autocomplete/src/createDefaultMatcher.d.ts.map +0 -1
  144. package/esm/extension-autocomplete/src/createDefaultMatcher.js +0 -58
  145. package/esm/extension-autocomplete/src/createRegexMatcher.d.ts +0 -4
  146. package/esm/extension-autocomplete/src/createRegexMatcher.d.ts.map +0 -1
  147. package/esm/extension-autocomplete/src/createRegexMatcher.js +0 -50
  148. package/esm/extension-autocomplete/src/mod.d.ts +0 -3
  149. package/esm/extension-autocomplete/src/mod.d.ts.map +0 -1
  150. package/esm/extension-autocomplete/src/mod.js +0 -2
  151. package/esm/extension-autocomplete/src/types.d.ts +0 -60
  152. package/esm/extension-autocomplete/src/types.d.ts.map +0 -1
  153. package/esm/extension-autocomplete/src/types.js +0 -1
  154. package/esm/extension-basic-editor/src/ExtensionBasicEditor.d.ts +0 -43
  155. package/esm/extension-basic-editor/src/ExtensionBasicEditor.d.ts.map +0 -1
  156. package/esm/extension-basic-editor/src/ExtensionBasicEditor.js +0 -95
  157. package/esm/extension-basic-editor/src/ExtensionMediaUpload.d.ts +0 -24
  158. package/esm/extension-basic-editor/src/ExtensionMediaUpload.d.ts.map +0 -1
  159. package/esm/extension-basic-editor/src/ExtensionMediaUpload.js +0 -176
  160. package/esm/extension-basic-editor/src/MarkBookmark.d.ts +0 -8
  161. package/esm/extension-basic-editor/src/MarkBookmark.d.ts.map +0 -1
  162. package/esm/extension-basic-editor/src/MarkBookmark.js +0 -29
  163. package/esm/extension-basic-editor/src/MarkChange.d.ts +0 -8
  164. package/esm/extension-basic-editor/src/MarkChange.d.ts.map +0 -1
  165. package/esm/extension-basic-editor/src/MarkChange.js +0 -26
  166. package/esm/extension-basic-editor/src/MarkCode.d.ts +0 -11
  167. package/esm/extension-basic-editor/src/MarkCode.d.ts.map +0 -1
  168. package/esm/extension-basic-editor/src/MarkCode.js +0 -36
  169. package/esm/extension-basic-editor/src/MarkHighlight.d.ts +0 -8
  170. package/esm/extension-basic-editor/src/MarkHighlight.d.ts.map +0 -1
  171. package/esm/extension-basic-editor/src/MarkHighlight.js +0 -43
  172. package/esm/extension-basic-editor/src/MarkItalic.d.ts +0 -11
  173. package/esm/extension-basic-editor/src/MarkItalic.d.ts.map +0 -1
  174. package/esm/extension-basic-editor/src/MarkItalic.js +0 -42
  175. package/esm/extension-basic-editor/src/MarkLink.d.ts +0 -8
  176. package/esm/extension-basic-editor/src/MarkLink.d.ts.map +0 -1
  177. package/esm/extension-basic-editor/src/MarkLink.js +0 -42
  178. package/esm/extension-basic-editor/src/MarkStrike.d.ts +0 -11
  179. package/esm/extension-basic-editor/src/MarkStrike.d.ts.map +0 -1
  180. package/esm/extension-basic-editor/src/MarkStrike.js +0 -39
  181. package/esm/extension-basic-editor/src/MarkStrong.d.ts +0 -11
  182. package/esm/extension-basic-editor/src/MarkStrong.d.ts.map +0 -1
  183. package/esm/extension-basic-editor/src/MarkStrong.js +0 -51
  184. package/esm/extension-basic-editor/src/MarkTextColor.d.ts +0 -8
  185. package/esm/extension-basic-editor/src/MarkTextColor.d.ts.map +0 -1
  186. package/esm/extension-basic-editor/src/MarkTextColor.js +0 -35
  187. package/esm/extension-basic-editor/src/MarkUnderline.d.ts +0 -11
  188. package/esm/extension-basic-editor/src/MarkUnderline.d.ts.map +0 -1
  189. package/esm/extension-basic-editor/src/MarkUnderline.js +0 -46
  190. package/esm/extension-basic-editor/src/NodeAside.d.ts +0 -8
  191. package/esm/extension-basic-editor/src/NodeAside.d.ts.map +0 -1
  192. package/esm/extension-basic-editor/src/NodeAside.js +0 -29
  193. package/esm/extension-basic-editor/src/NodeBlockquote.d.ts +0 -13
  194. package/esm/extension-basic-editor/src/NodeBlockquote.d.ts.map +0 -1
  195. package/esm/extension-basic-editor/src/NodeBlockquote.js +0 -47
  196. package/esm/extension-basic-editor/src/NodeBulletList.d.ts +0 -13
  197. package/esm/extension-basic-editor/src/NodeBulletList.d.ts.map +0 -1
  198. package/esm/extension-basic-editor/src/NodeBulletList.js +0 -47
  199. package/esm/extension-basic-editor/src/NodeCodeBlock.d.ts +0 -9
  200. package/esm/extension-basic-editor/src/NodeCodeBlock.d.ts.map +0 -1
  201. package/esm/extension-basic-editor/src/NodeCodeBlock.js +0 -58
  202. package/esm/extension-basic-editor/src/NodeDefinitionDesc.d.ts +0 -8
  203. package/esm/extension-basic-editor/src/NodeDefinitionDesc.d.ts.map +0 -1
  204. package/esm/extension-basic-editor/src/NodeDefinitionDesc.js +0 -29
  205. package/esm/extension-basic-editor/src/NodeDefinitionList.d.ts +0 -13
  206. package/esm/extension-basic-editor/src/NodeDefinitionList.d.ts.map +0 -1
  207. package/esm/extension-basic-editor/src/NodeDefinitionList.js +0 -41
  208. package/esm/extension-basic-editor/src/NodeDefinitionTerm.d.ts +0 -8
  209. package/esm/extension-basic-editor/src/NodeDefinitionTerm.d.ts.map +0 -1
  210. package/esm/extension-basic-editor/src/NodeDefinitionTerm.js +0 -29
  211. package/esm/extension-basic-editor/src/NodeDocument.d.ts +0 -7
  212. package/esm/extension-basic-editor/src/NodeDocument.d.ts.map +0 -1
  213. package/esm/extension-basic-editor/src/NodeDocument.js +0 -27
  214. package/esm/extension-basic-editor/src/NodeFrontmatter.d.ts +0 -8
  215. package/esm/extension-basic-editor/src/NodeFrontmatter.d.ts.map +0 -1
  216. package/esm/extension-basic-editor/src/NodeFrontmatter.js +0 -29
  217. package/esm/extension-basic-editor/src/NodeHardBreak.d.ts +0 -14
  218. package/esm/extension-basic-editor/src/NodeHardBreak.d.ts.map +0 -1
  219. package/esm/extension-basic-editor/src/NodeHardBreak.js +0 -85
  220. package/esm/extension-basic-editor/src/NodeHeading.d.ts +0 -13
  221. package/esm/extension-basic-editor/src/NodeHeading.d.ts.map +0 -1
  222. package/esm/extension-basic-editor/src/NodeHeading.js +0 -62
  223. package/esm/extension-basic-editor/src/NodeHorizontalRule.d.ts +0 -11
  224. package/esm/extension-basic-editor/src/NodeHorizontalRule.d.ts.map +0 -1
  225. package/esm/extension-basic-editor/src/NodeHorizontalRule.js +0 -42
  226. package/esm/extension-basic-editor/src/NodeImage.d.ts +0 -8
  227. package/esm/extension-basic-editor/src/NodeImage.d.ts.map +0 -1
  228. package/esm/extension-basic-editor/src/NodeImage.js +0 -46
  229. package/esm/extension-basic-editor/src/NodeListItem.d.ts +0 -15
  230. package/esm/extension-basic-editor/src/NodeListItem.d.ts.map +0 -1
  231. package/esm/extension-basic-editor/src/NodeListItem.js +0 -212
  232. package/esm/extension-basic-editor/src/NodeMath.d.ts +0 -8
  233. package/esm/extension-basic-editor/src/NodeMath.d.ts.map +0 -1
  234. package/esm/extension-basic-editor/src/NodeMath.js +0 -112
  235. package/esm/extension-basic-editor/src/NodeOrderedList.d.ts +0 -23
  236. package/esm/extension-basic-editor/src/NodeOrderedList.d.ts.map +0 -1
  237. package/esm/extension-basic-editor/src/NodeOrderedList.js +0 -70
  238. package/esm/extension-basic-editor/src/NodeParagraph.d.ts +0 -11
  239. package/esm/extension-basic-editor/src/NodeParagraph.d.ts.map +0 -1
  240. package/esm/extension-basic-editor/src/NodeParagraph.js +0 -38
  241. package/esm/extension-basic-editor/src/NodeTaskItem.d.ts +0 -24
  242. package/esm/extension-basic-editor/src/NodeTaskItem.d.ts.map +0 -1
  243. package/esm/extension-basic-editor/src/NodeTaskItem.js +0 -153
  244. package/esm/extension-basic-editor/src/NodeTaskList.d.ts +0 -11
  245. package/esm/extension-basic-editor/src/NodeTaskList.d.ts.map +0 -1
  246. package/esm/extension-basic-editor/src/NodeTaskList.js +0 -38
  247. package/esm/extension-basic-editor/src/NodeVideo.d.ts +0 -8
  248. package/esm/extension-basic-editor/src/NodeVideo.d.ts.map +0 -1
  249. package/esm/extension-basic-editor/src/NodeVideo.js +0 -58
  250. package/esm/extension-codejar/src/CodeJar.d.ts +0 -50
  251. package/esm/extension-codejar/src/CodeJar.d.ts.map +0 -1
  252. package/esm/extension-codejar/src/CodeJar.js +0 -585
  253. package/esm/extension-codejar/src/Decorator.d.ts +0 -11
  254. package/esm/extension-codejar/src/Decorator.d.ts.map +0 -1
  255. package/esm/extension-codejar/src/Decorator.js +0 -52
  256. package/esm/extension-codejar/src/ExtensionCodeJar.d.ts +0 -15
  257. package/esm/extension-codejar/src/ExtensionCodeJar.d.ts.map +0 -1
  258. package/esm/extension-codejar/src/ExtensionCodeJar.js +0 -75
  259. package/esm/extension-codejar/src/NodeCodeJar.d.ts +0 -18
  260. package/esm/extension-codejar/src/NodeCodeJar.d.ts.map +0 -1
  261. package/esm/extension-codejar/src/NodeCodeJar.js +0 -76
  262. package/esm/extension-codejar/src/TreeSitterHighlighter.d.ts +0 -10
  263. package/esm/extension-codejar/src/TreeSitterHighlighter.d.ts.map +0 -1
  264. package/esm/extension-codejar/src/TreeSitterHighlighter.js +0 -76
  265. package/esm/extension-codejar/src/codeJarBlockNodeView.d.ts +0 -6
  266. package/esm/extension-codejar/src/codeJarBlockNodeView.d.ts.map +0 -1
  267. package/esm/extension-codejar/src/codeJarBlockNodeView.js +0 -335
  268. package/esm/extension-codejar/src/codeJarLineNumbers.d.ts +0 -13
  269. package/esm/extension-codejar/src/codeJarLineNumbers.d.ts.map +0 -1
  270. package/esm/extension-codejar/src/codeJarLineNumbers.js +0 -85
  271. package/esm/extension-codejar/src/mod.d.ts +0 -2
  272. package/esm/extension-codejar/src/mod.d.ts.map +0 -1
  273. package/esm/extension-codejar/src/mod.js +0 -1
  274. package/esm/extension-codejar/src/utils.d.ts +0 -13
  275. package/esm/extension-codejar/src/utils.d.ts.map +0 -1
  276. package/esm/extension-codejar/src/utils.js +0 -48
  277. package/esm/extension-codemirror/src/ExtensionCodeMirror.d.ts +0 -17
  278. package/esm/extension-codemirror/src/ExtensionCodeMirror.d.ts.map +0 -1
  279. package/esm/extension-codemirror/src/ExtensionCodeMirror.js +0 -75
  280. package/esm/extension-codemirror/src/NodeCodeMirror.d.ts +0 -20
  281. package/esm/extension-codemirror/src/NodeCodeMirror.d.ts.map +0 -1
  282. package/esm/extension-codemirror/src/NodeCodeMirror.js +0 -99
  283. package/esm/extension-codemirror/src/codeMirrorBlockNodeView.d.ts +0 -7
  284. package/esm/extension-codemirror/src/codeMirrorBlockNodeView.d.ts.map +0 -1
  285. package/esm/extension-codemirror/src/codeMirrorBlockNodeView.js +0 -328
  286. package/esm/extension-codemirror/src/defaults.d.ts +0 -6
  287. package/esm/extension-codemirror/src/defaults.d.ts.map +0 -1
  288. package/esm/extension-codemirror/src/defaults.js +0 -58
  289. package/esm/extension-codemirror/src/languageLoaders.d.ts +0 -5
  290. package/esm/extension-codemirror/src/languageLoaders.d.ts.map +0 -1
  291. package/esm/extension-codemirror/src/languageLoaders.js +0 -112
  292. package/esm/extension-codemirror/src/languages.d.ts +0 -109
  293. package/esm/extension-codemirror/src/languages.d.ts.map +0 -1
  294. package/esm/extension-codemirror/src/languages.js +0 -110
  295. package/esm/extension-codemirror/src/lsp/LSPExtension.d.ts +0 -14
  296. package/esm/extension-codemirror/src/lsp/LSPExtension.d.ts.map +0 -1
  297. package/esm/extension-codemirror/src/lsp/LSPExtension.js +0 -38
  298. package/esm/extension-codemirror/src/lsp/completion.d.ts +0 -8
  299. package/esm/extension-codemirror/src/lsp/completion.d.ts.map +0 -1
  300. package/esm/extension-codemirror/src/lsp/completion.js +0 -179
  301. package/esm/extension-codemirror/src/lsp/hover.d.ts +0 -5
  302. package/esm/extension-codemirror/src/lsp/hover.d.ts.map +0 -1
  303. package/esm/extension-codemirror/src/lsp/hover.js +0 -81
  304. package/esm/extension-codemirror/src/lsp/index.d.ts +0 -7
  305. package/esm/extension-codemirror/src/lsp/index.d.ts.map +0 -1
  306. package/esm/extension-codemirror/src/lsp/index.js +0 -49
  307. package/esm/extension-codemirror/src/lsp/plugin.d.ts +0 -37
  308. package/esm/extension-codemirror/src/lsp/plugin.d.ts.map +0 -1
  309. package/esm/extension-codemirror/src/lsp/plugin.js +0 -125
  310. package/esm/extension-codemirror/src/lsp/pos.d.ts +0 -5
  311. package/esm/extension-codemirror/src/lsp/pos.d.ts.map +0 -1
  312. package/esm/extension-codemirror/src/lsp/pos.js +0 -8
  313. package/esm/extension-codemirror/src/lsp/text.d.ts +0 -2
  314. package/esm/extension-codemirror/src/lsp/text.d.ts.map +0 -1
  315. package/esm/extension-codemirror/src/lsp/text.js +0 -47
  316. package/esm/extension-codemirror/src/lsp/theme.d.ts +0 -2
  317. package/esm/extension-codemirror/src/lsp/theme.d.ts.map +0 -1
  318. package/esm/extension-codemirror/src/lsp/theme.js +0 -76
  319. package/esm/extension-codemirror/src/remote-selections.d.ts +0 -15
  320. package/esm/extension-codemirror/src/remote-selections.d.ts.map +0 -1
  321. package/esm/extension-codemirror/src/remote-selections.js +0 -253
  322. package/esm/extension-codemirror/src/remote-sync.d.ts +0 -11
  323. package/esm/extension-codemirror/src/remote-sync.d.ts.map +0 -1
  324. package/esm/extension-codemirror/src/remote-sync.js +0 -29
  325. package/esm/extension-codemirror/src/types.d.ts +0 -30
  326. package/esm/extension-codemirror/src/types.d.ts.map +0 -1
  327. package/esm/extension-codemirror/src/types.js +0 -1
  328. package/esm/extension-codemirror/src/utils.d.ts +0 -40
  329. package/esm/extension-codemirror/src/utils.d.ts.map +0 -1
  330. package/esm/extension-codemirror/src/utils.js +0 -210
  331. package/esm/extension-dev-toolkit/src/mod.d.ts +0 -13
  332. package/esm/extension-dev-toolkit/src/mod.d.ts.map +0 -1
  333. package/esm/extension-dev-toolkit/src/mod.js +0 -50
  334. package/esm/extension-lsp/src/DiagnosticPlugin.d.ts +0 -32
  335. package/esm/extension-lsp/src/DiagnosticPlugin.d.ts.map +0 -1
  336. package/esm/extension-lsp/src/DiagnosticPlugin.js +0 -131
  337. package/esm/extension-lsp/src/ExtensionLsp.d.ts +0 -25
  338. package/esm/extension-lsp/src/ExtensionLsp.d.ts.map +0 -1
  339. package/esm/extension-lsp/src/ExtensionLsp.js +0 -126
  340. package/esm/extension-lsp/src/LSPClient.d.ts +0 -56
  341. package/esm/extension-lsp/src/LSPClient.d.ts.map +0 -1
  342. package/esm/extension-lsp/src/LSPClient.js +0 -449
  343. package/esm/extension-lsp/src/LspStatus.d.ts +0 -34
  344. package/esm/extension-lsp/src/LspStatus.d.ts.map +0 -1
  345. package/esm/extension-lsp/src/LspStatus.js +0 -127
  346. package/esm/extension-lsp/src/LspWebSocketTransport.d.ts +0 -19
  347. package/esm/extension-lsp/src/LspWebSocketTransport.d.ts.map +0 -1
  348. package/esm/extension-lsp/src/LspWebSocketTransport.js +0 -136
  349. package/esm/extension-lsp/src/computeIncrementalChanges.d.ts +0 -8
  350. package/esm/extension-lsp/src/computeIncrementalChanges.d.ts.map +0 -1
  351. package/esm/extension-lsp/src/computeIncrementalChanges.js +0 -82
  352. package/esm/extension-lsp/src/createLspAutocomplete.d.ts +0 -23
  353. package/esm/extension-lsp/src/createLspAutocomplete.d.ts.map +0 -1
  354. package/esm/extension-lsp/src/createLspAutocomplete.js +0 -68
  355. package/esm/extension-lsp/src/mod.d.ts +0 -4
  356. package/esm/extension-lsp/src/mod.d.ts.map +0 -1
  357. package/esm/extension-lsp/src/mod.js +0 -3
  358. package/esm/extension-lsp/src/workspace.d.ts +0 -62
  359. package/esm/extension-lsp/src/workspace.d.ts.map +0 -1
  360. package/esm/extension-lsp/src/workspace.js +0 -168
  361. package/esm/extension-markdown/src/DocumentMarkdownInlineTokenizer.d.ts +0 -36
  362. package/esm/extension-markdown/src/DocumentMarkdownInlineTokenizer.d.ts.map +0 -1
  363. package/esm/extension-markdown/src/DocumentMarkdownInlineTokenizer.js +0 -240
  364. package/esm/extension-markdown/src/DocumentMarkdownTokenizer.d.ts +0 -26
  365. package/esm/extension-markdown/src/DocumentMarkdownTokenizer.d.ts.map +0 -1
  366. package/esm/extension-markdown/src/DocumentMarkdownTokenizer.js +0 -115
  367. package/esm/extension-markdown/src/ExtensionMarkdown.d.ts +0 -22
  368. package/esm/extension-markdown/src/ExtensionMarkdown.d.ts.map +0 -1
  369. package/esm/extension-markdown/src/ExtensionMarkdown.js +0 -48
  370. package/esm/extension-markdown/src/MarkdownParser.d.ts +0 -61
  371. package/esm/extension-markdown/src/MarkdownParser.d.ts.map +0 -1
  372. package/esm/extension-markdown/src/MarkdownParser.js +0 -249
  373. package/esm/extension-markdown/src/MarkdownSerializer.d.ts +0 -42
  374. package/esm/extension-markdown/src/MarkdownSerializer.d.ts.map +0 -1
  375. package/esm/extension-markdown/src/MarkdownSerializer.js +0 -325
  376. package/esm/extension-markdown/src/PositionMapper.d.ts +0 -15
  377. package/esm/extension-markdown/src/PositionMapper.d.ts.map +0 -1
  378. package/esm/extension-markdown/src/PositionMapper.js +0 -100
  379. package/esm/extension-markdown/src/TokenSource.d.ts +0 -11
  380. package/esm/extension-markdown/src/TokenSource.d.ts.map +0 -1
  381. package/esm/extension-markdown/src/TokenSource.js +0 -39
  382. package/esm/extension-markdown/src/mdToPmConverter.d.ts +0 -5
  383. package/esm/extension-markdown/src/mdToPmConverter.d.ts.map +0 -1
  384. package/esm/extension-markdown/src/mdToPmConverter.js +0 -111
  385. package/esm/extension-markdown/src/pmToMdConverter.d.ts +0 -16
  386. package/esm/extension-markdown/src/pmToMdConverter.d.ts.map +0 -1
  387. package/esm/extension-markdown/src/pmToMdConverter.js +0 -433
  388. package/esm/extension-markdown/src/token_handlers/basic_token_handlers.d.ts +0 -4
  389. package/esm/extension-markdown/src/token_handlers/basic_token_handlers.d.ts.map +0 -1
  390. package/esm/extension-markdown/src/token_handlers/basic_token_handlers.js +0 -151
  391. package/esm/extension-markdown/src/token_handlers/footnote_token_handlers.d.ts +0 -3
  392. package/esm/extension-markdown/src/token_handlers/footnote_token_handlers.d.ts.map +0 -1
  393. package/esm/extension-markdown/src/token_handlers/footnote_token_handlers.js +0 -34
  394. package/esm/extension-markdown/src/token_handlers/inline_token_handlers.d.ts +0 -6
  395. package/esm/extension-markdown/src/token_handlers/inline_token_handlers.d.ts.map +0 -1
  396. package/esm/extension-markdown/src/token_handlers/inline_token_handlers.js +0 -380
  397. package/esm/extension-markdown/src/token_handlers/lists_token_handlers.d.ts +0 -3
  398. package/esm/extension-markdown/src/token_handlers/lists_token_handlers.d.ts.map +0 -1
  399. package/esm/extension-markdown/src/token_handlers/lists_token_handlers.js +0 -323
  400. package/esm/extension-markdown/src/token_handlers/table_token_handlers.d.ts +0 -9
  401. package/esm/extension-markdown/src/token_handlers/table_token_handlers.d.ts.map +0 -1
  402. package/esm/extension-markdown/src/token_handlers/table_token_handlers.js +0 -308
  403. package/esm/extension-markdown/src/treeSitterTokenizer.d.ts +0 -5
  404. package/esm/extension-markdown/src/treeSitterTokenizer.d.ts.map +0 -1
  405. package/esm/extension-markdown/src/treeSitterTokenizer.js +0 -769
  406. package/esm/extension-markdown/src/types.d.ts +0 -28
  407. package/esm/extension-markdown/src/types.d.ts.map +0 -1
  408. package/esm/extension-markdown/src/types.js +0 -131
  409. package/esm/extension-markdown/src/utils.d.ts +0 -8
  410. package/esm/extension-markdown/src/utils.d.ts.map +0 -1
  411. package/esm/extension-markdown/src/utils.js +0 -86
  412. package/esm/extension-menu/src/CustomMenuPlugin.d.ts +0 -65
  413. package/esm/extension-menu/src/CustomMenuPlugin.d.ts.map +0 -1
  414. package/esm/extension-menu/src/CustomMenuPlugin.js +0 -1186
  415. package/esm/extension-menu/src/ExtensionCustomMenu.d.ts +0 -14
  416. package/esm/extension-menu/src/ExtensionCustomMenu.d.ts.map +0 -1
  417. package/esm/extension-menu/src/ExtensionCustomMenu.js +0 -57
  418. package/esm/extension-menu/src/buildMenu.d.ts +0 -5
  419. package/esm/extension-menu/src/buildMenu.d.ts.map +0 -1
  420. package/esm/extension-menu/src/buildMenu.js +0 -331
  421. package/esm/extension-menu/src/icons.d.ts +0 -15
  422. package/esm/extension-menu/src/icons.d.ts.map +0 -1
  423. package/esm/extension-menu/src/icons.js +0 -123
  424. package/esm/extension-menu/src/menu.d.ts +0 -81
  425. package/esm/extension-menu/src/menu.d.ts.map +0 -1
  426. package/esm/extension-menu/src/menu.js +0 -350
  427. package/esm/extension-menu/src/mod.d.ts +0 -3
  428. package/esm/extension-menu/src/mod.d.ts.map +0 -1
  429. package/esm/extension-menu/src/mod.js +0 -2
  430. package/esm/extension-menu/src/prompt.d.ts +0 -36
  431. package/esm/extension-menu/src/prompt.d.ts.map +0 -1
  432. package/esm/extension-menu/src/prompt.js +0 -158
  433. package/esm/extension-menu-legacy/src/ExtensionMenuLegacy.d.ts +0 -14
  434. package/esm/extension-menu-legacy/src/ExtensionMenuLegacy.d.ts.map +0 -1
  435. package/esm/extension-menu-legacy/src/ExtensionMenuLegacy.js +0 -32
  436. package/esm/extension-menu-legacy/src/MenuPlugin.d.ts +0 -9
  437. package/esm/extension-menu-legacy/src/MenuPlugin.d.ts.map +0 -1
  438. package/esm/extension-menu-legacy/src/MenuPlugin.js +0 -227
  439. package/esm/extension-menu-legacy/src/buildMenu.d.ts +0 -5
  440. package/esm/extension-menu-legacy/src/buildMenu.d.ts.map +0 -1
  441. package/esm/extension-menu-legacy/src/buildMenu.js +0 -331
  442. package/esm/extension-menu-legacy/src/icons.d.ts +0 -15
  443. package/esm/extension-menu-legacy/src/icons.d.ts.map +0 -1
  444. package/esm/extension-menu-legacy/src/icons.js +0 -118
  445. package/esm/extension-menu-legacy/src/menu.d.ts +0 -81
  446. package/esm/extension-menu-legacy/src/menu.d.ts.map +0 -1
  447. package/esm/extension-menu-legacy/src/menu.js +0 -350
  448. package/esm/extension-menu-legacy/src/mod.d.ts +0 -3
  449. package/esm/extension-menu-legacy/src/mod.d.ts.map +0 -1
  450. package/esm/extension-menu-legacy/src/mod.js +0 -2
  451. package/esm/extension-menu-legacy/src/prompt.d.ts +0 -36
  452. package/esm/extension-menu-legacy/src/prompt.d.ts.map +0 -1
  453. package/esm/extension-menu-legacy/src/prompt.js +0 -158
  454. package/esm/extension-odt/src/ExtensionOdt.d.ts +0 -11
  455. package/esm/extension-odt/src/ExtensionOdt.d.ts.map +0 -1
  456. package/esm/extension-odt/src/ExtensionOdt.js +0 -51
  457. package/esm/extension-odt/src/OdtParser.d.ts +0 -70
  458. package/esm/extension-odt/src/OdtParser.d.ts.map +0 -1
  459. package/esm/extension-odt/src/OdtParser.js +0 -285
  460. package/esm/extension-odt/src/lists.d.ts +0 -23
  461. package/esm/extension-odt/src/lists.d.ts.map +0 -1
  462. package/esm/extension-odt/src/lists.js +0 -55
  463. package/esm/extension-odt/src/node_handlers/basic_node_handlers.d.ts +0 -4
  464. package/esm/extension-odt/src/node_handlers/basic_node_handlers.d.ts.map +0 -1
  465. package/esm/extension-odt/src/node_handlers/basic_node_handlers.js +0 -138
  466. package/esm/extension-odt/src/node_handlers/list_node_handlers.d.ts +0 -3
  467. package/esm/extension-odt/src/node_handlers/list_node_handlers.d.ts.map +0 -1
  468. package/esm/extension-odt/src/node_handlers/list_node_handlers.js +0 -91
  469. package/esm/extension-odt/src/node_handlers/table_node_handlers.d.ts +0 -3
  470. package/esm/extension-odt/src/node_handlers/table_node_handlers.d.ts.map +0 -1
  471. package/esm/extension-odt/src/node_handlers/table_node_handlers.js +0 -24
  472. package/esm/extension-odt/src/postprocess/convertCodeParagraphsToCodeBlocks.d.ts +0 -3
  473. package/esm/extension-odt/src/postprocess/convertCodeParagraphsToCodeBlocks.d.ts.map +0 -1
  474. package/esm/extension-odt/src/postprocess/convertCodeParagraphsToCodeBlocks.js +0 -81
  475. package/esm/extension-odt/src/postprocess/fixContinuedLists.d.ts +0 -3
  476. package/esm/extension-odt/src/postprocess/fixContinuedLists.d.ts.map +0 -1
  477. package/esm/extension-odt/src/postprocess/fixContinuedLists.js +0 -80
  478. package/esm/extension-odt/src/postprocess/postProcess.d.ts +0 -3
  479. package/esm/extension-odt/src/postprocess/postProcess.d.ts.map +0 -1
  480. package/esm/extension-odt/src/postprocess/postProcess.js +0 -10
  481. package/esm/extension-odt/src/postprocess/removeUnusedBookmarks.d.ts +0 -3
  482. package/esm/extension-odt/src/postprocess/removeUnusedBookmarks.d.ts.map +0 -1
  483. package/esm/extension-odt/src/postprocess/removeUnusedBookmarks.js +0 -27
  484. package/esm/extension-tables/src/ExtensionTables.d.ts +0 -10
  485. package/esm/extension-tables/src/ExtensionTables.d.ts.map +0 -1
  486. package/esm/extension-tables/src/ExtensionTables.js +0 -27
  487. package/esm/extension-tables/src/NodeTable.d.ts +0 -21
  488. package/esm/extension-tables/src/NodeTable.d.ts.map +0 -1
  489. package/esm/extension-tables/src/NodeTable.js +0 -104
  490. package/esm/extension-tables/src/NodeTableCell.d.ts +0 -13
  491. package/esm/extension-tables/src/NodeTableCell.d.ts.map +0 -1
  492. package/esm/extension-tables/src/NodeTableCell.js +0 -69
  493. package/esm/extension-tables/src/NodeTableHeader.d.ts +0 -8
  494. package/esm/extension-tables/src/NodeTableHeader.d.ts.map +0 -1
  495. package/esm/extension-tables/src/NodeTableHeader.js +0 -56
  496. package/esm/extension-tables/src/NodeTableRow.d.ts +0 -13
  497. package/esm/extension-tables/src/NodeTableRow.d.ts.map +0 -1
  498. package/esm/extension-tables/src/NodeTableRow.js +0 -39
  499. package/esm/extension-tables/src/utilities/CellSelection.d.ts +0 -53
  500. package/esm/extension-tables/src/utilities/CellSelection.d.ts.map +0 -1
  501. package/esm/extension-tables/src/utilities/CellSelection.js +0 -382
  502. package/esm/extension-tables/src/utilities/TableMap.d.ts +0 -92
  503. package/esm/extension-tables/src/utilities/TableMap.d.ts.map +0 -1
  504. package/esm/extension-tables/src/utilities/TableMap.js +0 -335
  505. package/esm/extension-tables/src/utilities/TableView.d.ts +0 -21
  506. package/esm/extension-tables/src/utilities/TableView.d.ts.map +0 -1
  507. package/esm/extension-tables/src/utilities/TableView.js +0 -108
  508. package/esm/extension-tables/src/utilities/columnResizing.d.ts +0 -50
  509. package/esm/extension-tables/src/utilities/columnResizing.d.ts.map +0 -1
  510. package/esm/extension-tables/src/utilities/columnResizing.js +0 -307
  511. package/esm/extension-tables/src/utilities/commands.d.ts +0 -164
  512. package/esm/extension-tables/src/utilities/commands.d.ts.map +0 -1
  513. package/esm/extension-tables/src/utilities/commands.js +0 -702
  514. package/esm/extension-tables/src/utilities/copypaste.d.ts +0 -35
  515. package/esm/extension-tables/src/utilities/copypaste.d.ts.map +0 -1
  516. package/esm/extension-tables/src/utilities/copypaste.js +0 -283
  517. package/esm/extension-tables/src/utilities/createCell.d.ts +0 -3
  518. package/esm/extension-tables/src/utilities/createCell.d.ts.map +0 -1
  519. package/esm/extension-tables/src/utilities/createCell.js +0 -6
  520. package/esm/extension-tables/src/utilities/createTable.d.ts +0 -3
  521. package/esm/extension-tables/src/utilities/createTable.d.ts.map +0 -1
  522. package/esm/extension-tables/src/utilities/createTable.js +0 -31
  523. package/esm/extension-tables/src/utilities/fixTables.d.ts +0 -20
  524. package/esm/extension-tables/src/utilities/fixTables.d.ts.map +0 -1
  525. package/esm/extension-tables/src/utilities/fixTables.js +0 -146
  526. package/esm/extension-tables/src/utilities/getTableNodeTypes.d.ts +0 -5
  527. package/esm/extension-tables/src/utilities/getTableNodeTypes.d.ts.map +0 -1
  528. package/esm/extension-tables/src/utilities/getTableNodeTypes.js +0 -14
  529. package/esm/extension-tables/src/utilities/input.d.ts +0 -21
  530. package/esm/extension-tables/src/utilities/input.d.ts.map +0 -1
  531. package/esm/extension-tables/src/utilities/input.js +0 -241
  532. package/esm/extension-tables/src/utilities/tableEditing.d.ts +0 -23
  533. package/esm/extension-tables/src/utilities/tableEditing.d.ts.map +0 -1
  534. package/esm/extension-tables/src/utilities/tableEditing.js +0 -63
  535. package/esm/extension-tables/src/utilities/tableNodeTypes.d.ts +0 -14
  536. package/esm/extension-tables/src/utilities/tableNodeTypes.d.ts.map +0 -1
  537. package/esm/extension-tables/src/utilities/tableNodeTypes.js +0 -16
  538. package/esm/extension-tables/src/utilities/util.d.ts +0 -73
  539. package/esm/extension-tables/src/utilities/util.d.ts.map +0 -1
  540. package/esm/extension-tables/src/utilities/util.js +0 -155
  541. package/esm/extension-yjs/src/CollaborationStatus.d.ts +0 -59
  542. package/esm/extension-yjs/src/CollaborationStatus.d.ts.map +0 -1
  543. package/esm/extension-yjs/src/CollaborationStatus.js +0 -286
  544. package/esm/extension-yjs/src/ExtensionYjs.d.ts +0 -17
  545. package/esm/extension-yjs/src/ExtensionYjs.d.ts.map +0 -1
  546. package/esm/extension-yjs/src/ExtensionYjs.js +0 -51
  547. package/esm/extension-yjs/src/convertUtils.d.ts +0 -59
  548. package/esm/extension-yjs/src/convertUtils.d.ts.map +0 -1
  549. package/esm/extension-yjs/src/convertUtils.js +0 -88
  550. package/esm/extension-yjs/src/keys.d.ts +0 -11
  551. package/esm/extension-yjs/src/keys.d.ts.map +0 -1
  552. package/esm/extension-yjs/src/keys.js +0 -9
  553. package/esm/extension-yjs/src/lib.d.ts +0 -15
  554. package/esm/extension-yjs/src/lib.d.ts.map +0 -1
  555. package/esm/extension-yjs/src/lib.js +0 -190
  556. package/esm/extension-yjs/src/userColors.d.ts +0 -5
  557. package/esm/extension-yjs/src/userColors.d.ts.map +0 -1
  558. package/esm/extension-yjs/src/userColors.js +0 -10
  559. package/esm/extension-yjs/src/utils.d.ts +0 -2
  560. package/esm/extension-yjs/src/utils.d.ts.map +0 -1
  561. package/esm/extension-yjs/src/utils.js +0 -10
  562. package/esm/extension-yjs/src/yPositionPlugin.d.ts +0 -14
  563. package/esm/extension-yjs/src/yPositionPlugin.d.ts.map +0 -1
  564. package/esm/extension-yjs/src/yPositionPlugin.js +0 -121
  565. package/esm/extension-yjs/src/ySyncPlugin.d.ts +0 -102
  566. package/esm/extension-yjs/src/ySyncPlugin.d.ts.map +0 -1
  567. package/esm/extension-yjs/src/ySyncPlugin.js +0 -991
  568. package/esm/extension-yjs/src/yUndoPlugin.d.ts +0 -21
  569. package/esm/extension-yjs/src/yUndoPlugin.d.ts.map +0 -1
  570. package/esm/extension-yjs/src/yUndoPlugin.js +0 -89
  571. package/esm/tree-sitter-shim/src/main.d.ts +0 -15
  572. package/esm/tree-sitter-shim/src/main.d.ts.map +0 -1
  573. package/esm/tree-sitter-shim/src/main.js +0 -25
  574. package/esm/tree-sitter-shim/src/tree_sitter/language.d.ts +0 -7
  575. package/esm/tree-sitter-shim/src/tree_sitter/language.d.ts.map +0 -1
  576. package/esm/tree-sitter-shim/src/tree_sitter/language.js +0 -5
  577. package/esm/tree-sitter-shim/src/tree_sitter/node.d.ts +0 -6
  578. package/esm/tree-sitter-shim/src/tree_sitter/node.d.ts.map +0 -1
  579. package/esm/tree-sitter-shim/src/tree_sitter/node.js +0 -1
  580. package/esm/tree-sitter-shim/src/tree_sitter/parser.d.ts +0 -7
  581. package/esm/tree-sitter-shim/src/tree_sitter/parser.d.ts.map +0 -1
  582. package/esm/tree-sitter-shim/src/tree_sitter/parser.js +0 -5
  583. package/esm/tree-sitter-shim/src/tree_sitter/tree.d.ts +0 -6
  584. package/esm/tree-sitter-shim/src/tree_sitter/tree.d.ts.map +0 -1
  585. package/esm/tree-sitter-shim/src/tree_sitter/tree.js +0 -1
  586. package/esm/wasm/src/mod.d.ts +0 -12
  587. package/esm/wasm/src/mod.d.ts.map +0 -1
  588. package/esm/wasm/src/mod.js +0 -48
  589. package/esm/wasm/wasm.d.ts +0 -138
  590. package/esm/wasm/wasm.d.ts.map +0 -1
  591. package/esm/wasm/wasm.js +0 -120
@@ -1,1186 +0,0 @@
1
- // deno-lint-ignore-file no-window
2
- import * as dntShim from "../../_dnt.shims.js";
3
- import { Plugin } from 'prosemirror-state';
4
- const CSS_PREFIX = 'kb-custom-menu';
5
- const MAX_PINNED_ITEMS = 8;
6
- const STORAGE_KEY = 'kb-custom-menu-pinned';
7
- const DEBUG_STORAGE_KEY = 'kb-custom-menu-debug';
8
- // Bootstrap md breakpoint: 768px (mobile is < 768px, desktop is >= 768px)
9
- const MOBILE_BREAKPOINT = 768;
10
- // Debug helper function
11
- function debug(...args) {
12
- try {
13
- if (typeof localStorage !== 'undefined' &&
14
- localStorage.getItem(DEBUG_STORAGE_KEY) === 'true') {
15
- console.log('[kb-custom-menu]', ...args);
16
- }
17
- }
18
- catch (e) {
19
- // Ignore localStorage errors
20
- }
21
- }
22
- export class CustomMenuView {
23
- constructor(editorView, editor, content, trailingElements) {
24
- Object.defineProperty(this, "editorView", {
25
- enumerable: true,
26
- configurable: true,
27
- writable: true,
28
- value: editorView
29
- });
30
- Object.defineProperty(this, "editor", {
31
- enumerable: true,
32
- configurable: true,
33
- writable: true,
34
- value: editor
35
- });
36
- Object.defineProperty(this, "content", {
37
- enumerable: true,
38
- configurable: true,
39
- writable: true,
40
- value: content
41
- });
42
- Object.defineProperty(this, "wrapper", {
43
- enumerable: true,
44
- configurable: true,
45
- writable: true,
46
- value: void 0
47
- });
48
- Object.defineProperty(this, "toolbar", {
49
- enumerable: true,
50
- configurable: true,
51
- writable: true,
52
- value: void 0
53
- });
54
- Object.defineProperty(this, "overflowMenu", {
55
- enumerable: true,
56
- configurable: true,
57
- writable: true,
58
- value: void 0
59
- });
60
- Object.defineProperty(this, "pinnedDropdownMenu", {
61
- enumerable: true,
62
- configurable: true,
63
- writable: true,
64
- value: null
65
- });
66
- Object.defineProperty(this, "modal", {
67
- enumerable: true,
68
- configurable: true,
69
- writable: true,
70
- value: null
71
- });
72
- Object.defineProperty(this, "tools", {
73
- enumerable: true,
74
- configurable: true,
75
- writable: true,
76
- value: []
77
- });
78
- Object.defineProperty(this, "trailingElements", {
79
- enumerable: true,
80
- configurable: true,
81
- writable: true,
82
- value: []
83
- });
84
- Object.defineProperty(this, "root", {
85
- enumerable: true,
86
- configurable: true,
87
- writable: true,
88
- value: void 0
89
- });
90
- Object.defineProperty(this, "resizeHandle", {
91
- enumerable: true,
92
- configurable: true,
93
- writable: true,
94
- value: void 0
95
- });
96
- Object.defineProperty(this, "editorContainer", {
97
- enumerable: true,
98
- configurable: true,
99
- writable: true,
100
- value: void 0
101
- });
102
- Object.defineProperty(this, "closeOverflowHandler", {
103
- enumerable: true,
104
- configurable: true,
105
- writable: true,
106
- value: null
107
- });
108
- Object.defineProperty(this, "closePinnedDropdownHandler", {
109
- enumerable: true,
110
- configurable: true,
111
- writable: true,
112
- value: null
113
- });
114
- Object.defineProperty(this, "submenuStack", {
115
- enumerable: true,
116
- configurable: true,
117
- writable: true,
118
- value: []
119
- });
120
- Object.defineProperty(this, "pinnedDropdownStack", {
121
- enumerable: true,
122
- configurable: true,
123
- writable: true,
124
- value: []
125
- });
126
- debug('CustomMenuView constructor called');
127
- debug('Content groups:', content.length);
128
- this.root = editorView.root;
129
- // Store trailing elements
130
- this.trailingElements = trailingElements ? [...trailingElements] : [];
131
- // Create wrapper
132
- this.wrapper = document.createElement('div');
133
- this.wrapper.classList.add(CSS_PREFIX + '__wrapper');
134
- debug('Wrapper created:', this.wrapper);
135
- // Create toolbar
136
- this.toolbar = document.createElement('div');
137
- this.toolbar.classList.add(CSS_PREFIX);
138
- this.toolbar.setAttribute('role', 'toolbar');
139
- // Create editor container with resize handle
140
- this.editorContainer = document.createElement('div');
141
- this.editorContainer.classList.add(CSS_PREFIX + '__editor-container');
142
- this.editorContainer.style.height = '50vh'; // Start at 50% height
143
- // Create resize handle
144
- this.resizeHandle = document.createElement('div');
145
- this.resizeHandle.classList.add(CSS_PREFIX + '__resize-handle');
146
- this.resizeHandle.innerHTML = '<div class="' + CSS_PREFIX +
147
- '__resize-handle-bar"></div>';
148
- // Mount toolbar before the editor DOM
149
- this.wrapper.appendChild(this.toolbar);
150
- if (editorView.dom.parentNode) {
151
- editorView.dom.parentNode.replaceChild(this.wrapper, editorView.dom);
152
- }
153
- // Wrap editor in container and add resize handle
154
- this.editorContainer.appendChild(editorView.dom);
155
- this.editorContainer.appendChild(this.resizeHandle);
156
- this.wrapper.appendChild(this.editorContainer);
157
- // Create overflow menu (initially hidden)
158
- this.overflowMenu = document.createElement('div');
159
- this.overflowMenu.classList.add(CSS_PREFIX + '__overflow-menu');
160
- this.overflowMenu.style.display = 'none';
161
- this.wrapper.insertBefore(this.overflowMenu, this.editorContainer);
162
- // Initialize tools from content
163
- this.initializeTools();
164
- // Load pinned state from localStorage
165
- this.loadPinnedState();
166
- // Setup resize functionality
167
- this.setupResize();
168
- // Initial render
169
- this.render();
170
- // Add window resize listener to re-render on mobile/desktop changes
171
- if (typeof dntShim.dntGlobalThis !== 'undefined') {
172
- globalThis.addEventListener('resize', () => {
173
- this.render();
174
- });
175
- }
176
- }
177
- initializeTools() {
178
- debug('Initializing tools from content');
179
- let toolCount = 0;
180
- this.content.forEach((group, groupIndex) => {
181
- debug(`Processing group ${groupIndex}, elements:`, group.length);
182
- group.forEach((element, elementIndex) => {
183
- const { dom, update } = element.render(this.editorView);
184
- // For dropdowns, get the label from the element's options directly
185
- let label;
186
- const dropdown = element;
187
- if (dropdown.options && dropdown.options.label) {
188
- label = dropdown.options.label;
189
- }
190
- else {
191
- label = this.extractLabel(dom);
192
- }
193
- const id = this.generateStableId(label, dom);
194
- this.tools.push({
195
- id,
196
- label,
197
- element,
198
- isPinned: false,
199
- });
200
- toolCount++;
201
- debug(`Tool ${toolCount}: id="${id}", label="${label}"`);
202
- });
203
- });
204
- debug(`Total tools initialized: ${this.tools.length}`);
205
- }
206
- /**
207
- * Generate a stable ID from a label by converting it to a kebab-case slug.
208
- * Falls back to a hash if the label is empty or contains only special characters.
209
- */
210
- generateStableId(label, dom) {
211
- // Try to use aria-label or data-id if available
212
- const ariaLabel = dom.getAttribute('aria-label');
213
- const dataId = dom.getAttribute('data-id');
214
- if (dataId)
215
- return `tool-${dataId}`;
216
- const baseLabel = ariaLabel || label;
217
- // Convert label to kebab-case slug
218
- const slug = baseLabel
219
- .toLowerCase()
220
- .trim()
221
- .replace(/[^a-z0-9]+/g, '-') // Replace non-alphanumeric with hyphens
222
- .replace(/^-+|-+$/g, ''); // Remove leading/trailing hyphens
223
- // If slug is empty, generate a simple hash from the label
224
- if (!slug) {
225
- const hash = this.simpleHash(baseLabel);
226
- return `tool-${hash}`;
227
- }
228
- return `tool-${slug}`;
229
- }
230
- /**
231
- * Simple hash function for generating stable IDs from strings.
232
- */
233
- simpleHash(str) {
234
- let hash = 0;
235
- for (let i = 0; i < str.length; i++) {
236
- const char = str.charCodeAt(i);
237
- hash = ((hash << 5) - hash) + char;
238
- hash = hash & hash; // Convert to 32-bit integer
239
- }
240
- return Math.abs(hash).toString(36);
241
- }
242
- extractLabel(dom) {
243
- // For menu buttons, prioritize the visible label text over title
244
- const buttonText = dom.querySelector('span')?.textContent?.trim();
245
- if (buttonText)
246
- return buttonText;
247
- // For dropdowns, check the dropdown label
248
- const dropdownLabel = dom.querySelector('.kb-dropdown__label')?.textContent
249
- ?.trim();
250
- if (dropdownLabel)
251
- return dropdownLabel;
252
- // Try aria-label as fallback
253
- const ariaLabel = dom.getAttribute('aria-label');
254
- if (ariaLabel)
255
- return ariaLabel;
256
- // Try title attribute
257
- const title = dom.getAttribute('title');
258
- if (title)
259
- return title;
260
- // Fallback to looking at SVG title
261
- const svgTitle = dom.querySelector('svg title')?.textContent?.trim();
262
- if (svgTitle)
263
- return svgTitle;
264
- return 'Unknown Tool';
265
- }
266
- loadPinnedState() {
267
- debug('Loading pinned state from localStorage');
268
- try {
269
- const saved = localStorage.getItem(STORAGE_KEY);
270
- debug('Saved pinned state:', saved);
271
- if (saved) {
272
- const pinnedIds = JSON.parse(saved);
273
- debug('Pinned tool IDs:', pinnedIds);
274
- // If the saved array is empty, treat it as no saved state (use defaults)
275
- if (pinnedIds.length === 0) {
276
- debug('Saved state is empty array, using default (first 8 tools)');
277
- this.tools.slice(0, MAX_PINNED_ITEMS).forEach((tool) => {
278
- tool.isPinned = true;
279
- });
280
- }
281
- else {
282
- this.tools.forEach((tool) => {
283
- tool.isPinned = pinnedIds.includes(tool.id);
284
- });
285
- }
286
- }
287
- else {
288
- // Default pinned items (first 8)
289
- debug('No saved state, using default (first 8 tools)');
290
- this.tools.slice(0, MAX_PINNED_ITEMS).forEach((tool) => {
291
- tool.isPinned = true;
292
- });
293
- }
294
- const pinnedCount = this.tools.filter((t) => t.isPinned).length;
295
- debug(`Loaded pinned state: ${pinnedCount} tools pinned`);
296
- }
297
- catch (e) {
298
- console.error('[kb-custom-menu] Failed to load pinned state:', e);
299
- // Default to first 8 items
300
- this.tools.slice(0, MAX_PINNED_ITEMS).forEach((tool) => {
301
- tool.isPinned = true;
302
- });
303
- }
304
- }
305
- savePinnedState() {
306
- try {
307
- const pinnedIds = this.tools.filter((t) => t.isPinned).map((t) => t.id);
308
- localStorage.setItem(STORAGE_KEY, JSON.stringify(pinnedIds));
309
- }
310
- catch (e) {
311
- console.error('Failed to save pinned state:', e);
312
- }
313
- }
314
- showSubmenu(tool) {
315
- const dropdown = tool.element;
316
- if (!dropdown.content)
317
- return;
318
- // Extract sub-items from dropdown
319
- const subItems = dropdown.content.map((element, index) => {
320
- const { dom } = element.render(this.editorView);
321
- // For nested dropdowns, get the label from options directly
322
- let label;
323
- const nestedDropdown = element;
324
- if (nestedDropdown.options && nestedDropdown.options.label) {
325
- label = nestedDropdown.options.label;
326
- }
327
- else {
328
- label = this.extractLabel(dom);
329
- }
330
- return {
331
- id: `${tool.id}-sub-${index}`,
332
- label,
333
- element,
334
- isPinned: false,
335
- };
336
- });
337
- // Save current state to stack
338
- this.submenuStack.push({
339
- title: tool.label,
340
- tools: subItems,
341
- });
342
- // Re-render to show submenu
343
- this.renderOverflowMenu();
344
- }
345
- goBack() {
346
- // Remove last submenu from stack
347
- this.submenuStack.pop();
348
- // Re-render
349
- this.renderOverflowMenu();
350
- }
351
- showPinnedDropdown(tool, triggerElement) {
352
- // Close any existing pinned dropdown
353
- if (this.pinnedDropdownMenu) {
354
- this.pinnedDropdownMenu.remove();
355
- this.pinnedDropdownMenu = null;
356
- }
357
- const dropdown = tool.element;
358
- if (!dropdown.content)
359
- return;
360
- // Extract sub-items from dropdown
361
- const subItems = dropdown.content.map((element, index) => {
362
- const { dom } = element.render(this.editorView);
363
- let label;
364
- const nestedDropdown = element;
365
- if (nestedDropdown.options && nestedDropdown.options.label) {
366
- label = nestedDropdown.options.label;
367
- }
368
- else {
369
- label = this.extractLabel(dom);
370
- }
371
- return {
372
- id: `${tool.id}-sub-${index}`,
373
- label,
374
- element,
375
- isPinned: false,
376
- };
377
- });
378
- // Initialize stack with root menu
379
- this.pinnedDropdownStack = [{
380
- title: tool.label,
381
- tools: subItems,
382
- rootTool: tool,
383
- }];
384
- // Render the dropdown
385
- this.renderPinnedDropdown(triggerElement);
386
- }
387
- pinnedDropdownGoBack() {
388
- // Remove last item from stack
389
- this.pinnedDropdownStack.pop();
390
- // If stack is empty, close the dropdown
391
- if (this.pinnedDropdownStack.length === 0) {
392
- if (this.pinnedDropdownMenu) {
393
- this.pinnedDropdownMenu.remove();
394
- this.pinnedDropdownMenu = null;
395
- }
396
- return;
397
- }
398
- // Re-render with previous menu
399
- const triggerElement = this.toolbar.querySelector(`[data-tool-id="${this.pinnedDropdownStack[0].rootTool.id}"]`);
400
- if (triggerElement) {
401
- this.renderPinnedDropdown(triggerElement);
402
- }
403
- }
404
- pinnedDropdownShowSubmenu(tool, triggerElement) {
405
- const dropdown = tool.element;
406
- if (!dropdown.content)
407
- return;
408
- // Extract sub-items
409
- const subItems = dropdown.content.map((element, index) => {
410
- const { dom } = element.render(this.editorView);
411
- let label;
412
- const nestedDropdown = element;
413
- if (nestedDropdown.options && nestedDropdown.options.label) {
414
- label = nestedDropdown.options.label;
415
- }
416
- else {
417
- label = this.extractLabel(dom);
418
- }
419
- return {
420
- id: `${tool.id}-sub-${index}`,
421
- label,
422
- element,
423
- isPinned: false,
424
- };
425
- });
426
- // Add to stack
427
- this.pinnedDropdownStack.push({
428
- title: tool.label,
429
- tools: subItems,
430
- rootTool: this.pinnedDropdownStack[0].rootTool,
431
- });
432
- // Re-render
433
- this.renderPinnedDropdown(triggerElement);
434
- }
435
- renderPinnedDropdown(triggerElement) {
436
- // Remove existing dropdown
437
- if (this.pinnedDropdownMenu) {
438
- this.pinnedDropdownMenu.remove();
439
- }
440
- const currentLevel = this.pinnedDropdownStack[this.pinnedDropdownStack.length - 1];
441
- const isSubmenu = this.pinnedDropdownStack.length > 1;
442
- // Create dropdown menu
443
- this.pinnedDropdownMenu = document.createElement('div');
444
- this.pinnedDropdownMenu.classList.add(CSS_PREFIX + '__pinned-dropdown');
445
- // Inherit theme CSS variables from editor container
446
- // This ensures dropdowns match the editor's theme even when appended to body
447
- const editorContainer = this.editorView.dom.closest('.kb-component') ||
448
- this.editorView.dom.parentElement;
449
- if (editorContainer) {
450
- const computedStyle = getComputedStyle(editorContainer);
451
- const themeVars = [
452
- // New unified naming
453
- '--kb-menu-dropdown-bg',
454
- '--kb-menu-dropdown-border',
455
- '--kb-menu-dropdown-text',
456
- // Legacy naming (for backwards compatibility)
457
- '--kb-menu-dropdown-dark-bg',
458
- '--kb-menu-dropdown-dark-border',
459
- '--kb-menu-dropdown-dark-text',
460
- // General theme colors
461
- '--kb-color-surface',
462
- '--kb-color-surface-elevated',
463
- '--kb-color-surface-hover',
464
- '--kb-color-border',
465
- '--kb-color-border-strong',
466
- '--kb-color-text',
467
- '--kb-color-text-muted',
468
- ];
469
- themeVars.forEach((varName) => {
470
- const value = computedStyle.getPropertyValue(varName).trim();
471
- if (value) {
472
- this.pinnedDropdownMenu.style.setProperty(varName, value);
473
- }
474
- });
475
- }
476
- // Position it below the trigger element
477
- const rect = triggerElement.getBoundingClientRect();
478
- this.pinnedDropdownMenu.style.position = 'absolute';
479
- this.pinnedDropdownMenu.style.top = `${rect.bottom + 4}px`;
480
- this.pinnedDropdownMenu.style.left = `${rect.left}px`;
481
- this.pinnedDropdownMenu.style.zIndex = '1000';
482
- // Create scrollable content container
483
- const overflowContent = document.createElement('div');
484
- overflowContent.classList.add(CSS_PREFIX + '__overflow-content');
485
- // Add back button if in submenu
486
- if (isSubmenu) {
487
- const header = document.createElement('div');
488
- header.classList.add(CSS_PREFIX + '__overflow-submenu-header');
489
- const backButton = document.createElement('button');
490
- backButton.type = 'button';
491
- backButton.classList.add(CSS_PREFIX + '__overflow-back-button');
492
- backButton.innerHTML =
493
- '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M15 19l-7-7 7-7"/></svg>';
494
- backButton.addEventListener('click', (e) => {
495
- e.preventDefault();
496
- e.stopPropagation();
497
- this.pinnedDropdownGoBack();
498
- });
499
- const title = document.createElement('span');
500
- title.classList.add(CSS_PREFIX + '__overflow-submenu-title');
501
- title.textContent = currentLevel.title;
502
- header.appendChild(backButton);
503
- header.appendChild(title);
504
- overflowContent.appendChild(header);
505
- }
506
- // Render menu items
507
- currentLevel.tools.forEach((subTool) => {
508
- const isNestedDropdown = subTool.element.content !== undefined;
509
- const wrapper = document.createElement('div');
510
- wrapper.classList.add(CSS_PREFIX + '__overflow-item');
511
- wrapper.setAttribute('data-tool-id', subTool.id);
512
- if (isNestedDropdown) {
513
- // For nested dropdowns, show label and chevron
514
- const label = document.createElement('span');
515
- label.classList.add(CSS_PREFIX + '__overflow-item-label');
516
- label.textContent = subTool.label;
517
- wrapper.appendChild(label);
518
- const chevron = document.createElement('span');
519
- chevron.classList.add(CSS_PREFIX + '__overflow-item-chevron');
520
- chevron.innerHTML =
521
- '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 5l7 7-7 7"/></svg>';
522
- wrapper.appendChild(chevron);
523
- wrapper.addEventListener('click', (e) => {
524
- e.preventDefault();
525
- e.stopPropagation();
526
- this.pinnedDropdownShowSubmenu(subTool, triggerElement);
527
- });
528
- }
529
- else {
530
- // Regular menu item
531
- const { dom } = subTool.element.render(this.editorView);
532
- // Hide button's internal label
533
- const spans = dom.querySelectorAll('span');
534
- spans.forEach((span) => {
535
- const isInsideIcon = span.closest('.kb-icon') !== null;
536
- const isDirectChild = span.parentElement === dom;
537
- if (span.textContent && span.textContent.trim() &&
538
- !isInsideIcon &&
539
- isDirectChild &&
540
- !span.querySelector('svg') &&
541
- !span.classList.contains('kb-icon')) {
542
- span.style.display = 'none';
543
- }
544
- });
545
- // Add label
546
- const label = document.createElement('span');
547
- label.classList.add(CSS_PREFIX + '__overflow-item-label');
548
- label.textContent = subTool.label;
549
- wrapper.appendChild(dom);
550
- wrapper.appendChild(label);
551
- // Make wrapper clickable
552
- wrapper.addEventListener('mousedown', (e) => {
553
- if (e.target !== dom) {
554
- e.preventDefault();
555
- const mousedownEvent = new MouseEvent('mousedown', {
556
- bubbles: true,
557
- cancelable: true,
558
- view: dntShim.dntGlobalThis,
559
- });
560
- dom.dispatchEvent(mousedownEvent);
561
- }
562
- // Close dropdown after click
563
- if (this.pinnedDropdownMenu) {
564
- this.pinnedDropdownMenu.remove();
565
- this.pinnedDropdownMenu = null;
566
- this.pinnedDropdownStack = [];
567
- }
568
- });
569
- }
570
- overflowContent.appendChild(wrapper);
571
- });
572
- // Add content to dropdown
573
- this.pinnedDropdownMenu.appendChild(overflowContent);
574
- // Add to document
575
- document.body.appendChild(this.pinnedDropdownMenu);
576
- // Close on click outside
577
- const doc = this.editorView.dom.ownerDocument || document;
578
- setTimeout(() => {
579
- if (this.closePinnedDropdownHandler) {
580
- doc.removeEventListener('click', this.closePinnedDropdownHandler);
581
- }
582
- this.closePinnedDropdownHandler = (e) => {
583
- const target = e.target;
584
- if (this.pinnedDropdownMenu &&
585
- !this.pinnedDropdownMenu.contains(target) &&
586
- !triggerElement.contains(target)) {
587
- this.pinnedDropdownMenu.remove();
588
- this.pinnedDropdownMenu = null;
589
- this.pinnedDropdownStack = [];
590
- if (this.closePinnedDropdownHandler) {
591
- doc.removeEventListener('click', this.closePinnedDropdownHandler);
592
- }
593
- }
594
- };
595
- doc.addEventListener('click', this.closePinnedDropdownHandler);
596
- }, 0);
597
- }
598
- renderOverflowMenu() {
599
- // Clear overflow menu
600
- this.overflowMenu.innerHTML = '';
601
- // Check if we're showing a submenu
602
- const isSubmenu = this.submenuStack.length > 0;
603
- const currentSubmenu = isSubmenu
604
- ? this.submenuStack[this.submenuStack.length - 1]
605
- : null;
606
- // Create scrollable content container
607
- const overflowContent = document.createElement('div');
608
- overflowContent.classList.add(CSS_PREFIX + '__overflow-content');
609
- if (isSubmenu && currentSubmenu) {
610
- // Render submenu header with back button
611
- const header = document.createElement('div');
612
- header.classList.add(CSS_PREFIX + '__overflow-submenu-header');
613
- const backButton = document.createElement('button');
614
- backButton.type = 'button';
615
- backButton.classList.add(CSS_PREFIX + '__overflow-back-button');
616
- backButton.innerHTML =
617
- '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M15 19l-7-7 7-7"/></svg>';
618
- backButton.addEventListener('click', (e) => {
619
- e.preventDefault();
620
- e.stopPropagation();
621
- this.goBack();
622
- });
623
- const title = document.createElement('span');
624
- title.classList.add(CSS_PREFIX + '__overflow-submenu-title');
625
- title.textContent = currentSubmenu.title;
626
- header.appendChild(backButton);
627
- header.appendChild(title);
628
- overflowContent.appendChild(header);
629
- // Render submenu items
630
- currentSubmenu.tools.forEach((tool) => {
631
- // Check if this is a nested dropdown
632
- const isDropdown = tool.element.content !== undefined;
633
- const wrapper = document.createElement('div');
634
- wrapper.classList.add(CSS_PREFIX + '__overflow-item');
635
- if (isDropdown) {
636
- // For nested dropdowns, just show label and chevron (no icon/button)
637
- // Add label
638
- const label = document.createElement('span');
639
- label.classList.add(CSS_PREFIX + '__overflow-item-label');
640
- label.textContent = tool.label;
641
- wrapper.appendChild(label);
642
- // Add chevron to indicate submenu
643
- const chevron = document.createElement('span');
644
- chevron.classList.add(CSS_PREFIX + '__overflow-item-chevron');
645
- chevron.innerHTML =
646
- '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 5l7 7-7 7"/></svg>';
647
- wrapper.appendChild(chevron);
648
- // Click handler for nested dropdown - navigate deeper
649
- wrapper.addEventListener('click', (e) => {
650
- e.preventDefault();
651
- e.stopPropagation();
652
- this.showSubmenu(tool);
653
- });
654
- }
655
- else {
656
- // Regular menu item
657
- const { dom, update } = tool.element.render(this.editorView);
658
- // Hide the button's internal label to avoid duplication
659
- const internalLabel = dom.querySelector('span');
660
- if (internalLabel) {
661
- internalLabel.style.display = 'none';
662
- }
663
- // Add our own label to the item
664
- const label = document.createElement('span');
665
- label.classList.add(CSS_PREFIX + '__overflow-item-label');
666
- label.textContent = tool.label;
667
- // Restructure the DOM to show icon + label
668
- wrapper.appendChild(dom);
669
- wrapper.appendChild(label);
670
- // Make the entire wrapper clickable by dispatching mousedown to the button
671
- wrapper.addEventListener('mousedown', (e) => {
672
- if (e.target !== dom) {
673
- e.preventDefault();
674
- const mousedownEvent = new MouseEvent('mousedown', {
675
- bubbles: true,
676
- cancelable: true,
677
- view: dntShim.dntGlobalThis,
678
- });
679
- dom.dispatchEvent(mousedownEvent);
680
- }
681
- });
682
- }
683
- overflowContent.appendChild(wrapper);
684
- });
685
- }
686
- else {
687
- // Render main overflow menu
688
- const pinnedTools = this.tools.filter((t) => t.isPinned);
689
- const overflowTools = this.tools.filter((t) => !t.isPinned);
690
- // Check if we're in mobile view
691
- const isMobile = typeof dntShim.dntGlobalThis !== 'undefined' &&
692
- globalThis.innerWidth < MOBILE_BREAKPOINT;
693
- const mobileLimit = 4;
694
- const mobileOverflowPinned = isMobile
695
- ? pinnedTools.slice(mobileLimit)
696
- : [];
697
- // In mobile view, add the pinned overflow tools at the top with a label
698
- if (isMobile && mobileOverflowPinned.length > 0) {
699
- // Add section header
700
- const header = document.createElement('div');
701
- header.classList.add(CSS_PREFIX + '__overflow-header');
702
- header.textContent = 'More Tools';
703
- overflowContent.appendChild(header);
704
- // Add the overflow pinned tools
705
- mobileOverflowPinned.forEach((tool) => {
706
- // Skip tools with empty or invalid labels
707
- if (!tool.label || tool.label.trim() === '' ||
708
- tool.label === 'Unknown Tool') {
709
- return;
710
- }
711
- const { dom, update } = tool.element.render(this.editorView);
712
- const wrapper = document.createElement('div');
713
- wrapper.classList.add(CSS_PREFIX + '__overflow-item');
714
- // Add label to the item
715
- const label = document.createElement('span');
716
- label.classList.add(CSS_PREFIX + '__overflow-item-label');
717
- label.textContent = tool.label;
718
- // Restructure the DOM to show icon + label
719
- wrapper.appendChild(dom);
720
- wrapper.appendChild(label);
721
- // Make the entire wrapper clickable by dispatching mousedown to the button
722
- wrapper.addEventListener('mousedown', (e) => {
723
- if (e.target !== dom) {
724
- e.preventDefault();
725
- const mousedownEvent = new MouseEvent('mousedown', {
726
- bubbles: true,
727
- cancelable: true,
728
- view: dntShim.dntGlobalThis,
729
- });
730
- dom.dispatchEvent(mousedownEvent);
731
- }
732
- });
733
- overflowContent.appendChild(wrapper);
734
- });
735
- // Add separator after mobile overflow pinned section
736
- if (overflowTools.length > 0) {
737
- const separator = document.createElement('div');
738
- separator.classList.add(CSS_PREFIX + '__overflow-separator');
739
- overflowContent.appendChild(separator);
740
- }
741
- }
742
- // Render overflow tools with labels
743
- overflowTools.forEach((tool) => {
744
- // Skip tools with empty or invalid labels
745
- if (!tool.label || tool.label.trim() === '' ||
746
- tool.label === 'Unknown Tool') {
747
- return;
748
- }
749
- // Check if this is a dropdown with sub-items
750
- const isDropdown = tool.element.content !== undefined;
751
- const wrapper = document.createElement('div');
752
- wrapper.classList.add(CSS_PREFIX + '__overflow-item');
753
- if (isDropdown) {
754
- // For dropdowns, create a custom button with icon and chevron
755
- const button = document.createElement('button');
756
- button.type = 'button';
757
- button.classList.add('kb-menu__button');
758
- // Add an icon (we'll use a document icon for Type menu)
759
- const icon = document.createElement('svg');
760
- icon.setAttribute('viewBox', '0 0 24 24');
761
- icon.setAttribute('fill', 'none');
762
- icon.setAttribute('stroke', 'currentColor');
763
- icon.setAttribute('stroke-width', '2');
764
- icon.innerHTML =
765
- '<path d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"/>';
766
- button.appendChild(icon);
767
- wrapper.appendChild(button);
768
- // Add label
769
- const label = document.createElement('span');
770
- label.classList.add(CSS_PREFIX + '__overflow-item-label');
771
- label.textContent = tool.label;
772
- wrapper.appendChild(label);
773
- // Add chevron to indicate submenu
774
- const chevron = document.createElement('span');
775
- chevron.classList.add(CSS_PREFIX + '__overflow-item-chevron');
776
- chevron.innerHTML =
777
- '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 5l7 7-7 7"/></svg>';
778
- wrapper.appendChild(chevron);
779
- // Click handler for dropdown - navigate to submenu
780
- wrapper.addEventListener('click', (e) => {
781
- e.preventDefault();
782
- e.stopPropagation();
783
- this.showSubmenu(tool);
784
- });
785
- }
786
- else {
787
- // Regular menu item
788
- const { dom, update } = tool.element.render(this.editorView);
789
- // Add label to the item
790
- const label = document.createElement('span');
791
- label.classList.add(CSS_PREFIX + '__overflow-item-label');
792
- label.textContent = tool.label;
793
- // Restructure the DOM to show icon + label
794
- wrapper.appendChild(dom);
795
- wrapper.appendChild(label);
796
- // Make the entire wrapper clickable by dispatching mousedown to the button
797
- wrapper.addEventListener('mousedown', (e) => {
798
- if (e.target !== dom) {
799
- e.preventDefault();
800
- const mousedownEvent = new MouseEvent('mousedown', {
801
- bubbles: true,
802
- cancelable: true,
803
- view: dntShim.dntGlobalThis,
804
- });
805
- dom.dispatchEvent(mousedownEvent);
806
- }
807
- });
808
- }
809
- overflowContent.appendChild(wrapper);
810
- });
811
- }
812
- // Add the scrollable content to overflow menu
813
- this.overflowMenu.appendChild(overflowContent);
814
- // Create sticky footer for manage button (only in main menu, not submenu)
815
- if (!isSubmenu &&
816
- (this.tools.filter((t) => !t.isPinned).length > 0 ||
817
- this.tools.filter((t) => t.isPinned).length > 0)) {
818
- const overflowFooter = document.createElement('div');
819
- overflowFooter.classList.add(CSS_PREFIX + '__overflow-footer');
820
- const manageButton = document.createElement('button');
821
- manageButton.type = 'button';
822
- manageButton.className = CSS_PREFIX + '__manage-button';
823
- manageButton.innerHTML = `
824
- <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
825
- <path d="M12 15v2m0 0v2m0-2h2m-2 0H10m11-7l-1.5-1.5M21 12l-1.5 1.5M3 12l1.5 1.5M3 12l1.5-1.5M12 3v2m0 14v2"></path>
826
- </svg>
827
- <span>Manage Pinned Tools</span>
828
- `;
829
- manageButton.addEventListener('click', (e) => {
830
- e.preventDefault();
831
- this.openManageModal();
832
- });
833
- overflowFooter.appendChild(manageButton);
834
- this.overflowMenu.appendChild(overflowFooter);
835
- }
836
- }
837
- render() {
838
- debug('render() called');
839
- // Clear toolbar and overflow menu
840
- this.toolbar.innerHTML = '';
841
- this.overflowMenu.innerHTML = '';
842
- const pinnedTools = this.tools.filter((t) => t.isPinned);
843
- const overflowTools = this.tools.filter((t) => !t.isPinned);
844
- debug(`Rendering: ${pinnedTools.length} pinned, ${overflowTools.length} unpinned`);
845
- // Check if we're in mobile view (Bootstrap md breakpoint: < 768px)
846
- const isMobile = typeof dntShim.dntGlobalThis !== 'undefined' &&
847
- globalThis.innerWidth < MOBILE_BREAKPOINT;
848
- const mobileLimit = 4;
849
- debug(`isMobile: ${isMobile}, window width: ${typeof dntShim.dntGlobalThis !== 'undefined' ? globalThis.innerWidth : 'N/A'}`);
850
- // In mobile, only show first 4 pinned tools in toolbar
851
- const visibleTools = isMobile
852
- ? pinnedTools.slice(0, mobileLimit)
853
- : pinnedTools;
854
- const mobileOverflowPinned = isMobile ? pinnedTools.slice(mobileLimit) : [];
855
- debug(`Visible tools in toolbar: ${visibleTools.length}`);
856
- debug('Visible tool IDs:', visibleTools.map((t) => t.id).join(', '));
857
- // Render visible pinned tools in toolbar
858
- visibleTools.forEach((tool, index) => {
859
- debug(`Rendering tool ${index + 1}/${visibleTools.length}: "${tool.label}" (${tool.id})`);
860
- const wrapper = document.createElement('span');
861
- wrapper.classList.add(CSS_PREFIX + '__item');
862
- wrapper.setAttribute('data-tool-id', tool.id);
863
- // Check if this is a dropdown with sub-items
864
- const isDropdown = tool.element.content !== undefined;
865
- if (isDropdown) {
866
- // For dropdowns, we'll render it but hide the default dropdown menu
867
- const { dom, update } = tool.element.render(this.editorView);
868
- // Find and hide the default dropdown menu if it exists
869
- const dropdownMenu = dom.querySelector('.kb-dropdown__content');
870
- if (dropdownMenu) {
871
- dropdownMenu.style.display = 'none';
872
- }
873
- // Intercept all clicks on the button/label
874
- const button = dom.querySelector('button');
875
- const label = dom.querySelector('.kb-dropdown__label');
876
- const clickHandler = (e) => {
877
- e.preventDefault();
878
- e.stopPropagation();
879
- e.stopImmediatePropagation();
880
- this.showPinnedDropdown(tool, wrapper);
881
- };
882
- if (button) {
883
- button.addEventListener('click', clickHandler, { capture: true });
884
- button.addEventListener('mousedown', (e) => {
885
- e.preventDefault();
886
- e.stopPropagation();
887
- }, { capture: true });
888
- }
889
- if (label) {
890
- label.addEventListener('click', clickHandler, { capture: true });
891
- label.addEventListener('mousedown', (e) => {
892
- e.preventDefault();
893
- e.stopPropagation();
894
- }, { capture: true });
895
- }
896
- wrapper.appendChild(dom);
897
- }
898
- else {
899
- // Regular items render normally
900
- const { dom, update } = tool.element.render(this.editorView);
901
- wrapper.appendChild(dom);
902
- }
903
- this.toolbar.appendChild(wrapper);
904
- });
905
- // Add separator before overflow button
906
- if (overflowTools.length > 0 || mobileOverflowPinned.length > 0) {
907
- const separator = document.createElement('div');
908
- separator.classList.add(CSS_PREFIX + '__separator');
909
- this.toolbar.appendChild(separator);
910
- }
911
- // Add overflow toggle button
912
- if (overflowTools.length > 0 || mobileOverflowPinned.length > 0) {
913
- const overflowToggle = document.createElement('button');
914
- overflowToggle.type = 'button';
915
- overflowToggle.className = CSS_PREFIX + '__overflow-toggle';
916
- overflowToggle.setAttribute('aria-haspopup', 'true');
917
- overflowToggle.setAttribute('aria-expanded', 'false');
918
- overflowToggle.title = 'More';
919
- overflowToggle.innerHTML = `
920
- <svg viewBox="0 0 24 24" aria-hidden="true">
921
- <circle cx="5" cy="12" r="2"/>
922
- <circle cx="12" cy="12" r="2"/>
923
- <circle cx="19" cy="12" r="2"/>
924
- </svg>
925
- `;
926
- overflowToggle.addEventListener('click', (e) => {
927
- e.preventDefault();
928
- e.stopPropagation();
929
- const isOpen = this.overflowMenu.style.display !== 'none';
930
- this.overflowMenu.style.display = isOpen ? 'none' : 'block';
931
- overflowToggle.setAttribute('aria-expanded', String(!isOpen));
932
- // Add/remove close handler based on open state
933
- const doc = this.editorView.dom.ownerDocument || document;
934
- if (!isOpen) {
935
- // Opening - reset submenu stack to show main menu
936
- this.submenuStack = [];
937
- this.renderOverflowMenu();
938
- // Opening - add close handler after a short delay
939
- setTimeout(() => {
940
- if (this.closeOverflowHandler) {
941
- doc.removeEventListener('click', this.closeOverflowHandler);
942
- }
943
- this.closeOverflowHandler = (e) => {
944
- // Don't interfere with editor clicks
945
- const target = e.target;
946
- const editorDom = this.editorView.dom;
947
- // Check if click is inside editor
948
- if (editorDom.contains(target)) {
949
- return; // Let editor handle it
950
- }
951
- if (!this.overflowMenu.contains(target) &&
952
- !this.toolbar.contains(target)) {
953
- this.overflowMenu.style.display = 'none';
954
- overflowToggle.setAttribute('aria-expanded', 'false');
955
- // Clear submenu stack when closing
956
- this.submenuStack = [];
957
- if (this.closeOverflowHandler) {
958
- doc.removeEventListener('click', this.closeOverflowHandler);
959
- }
960
- }
961
- };
962
- doc.addEventListener('click', this.closeOverflowHandler);
963
- }, 0);
964
- }
965
- else {
966
- // Closing - remove close handler and clear submenu stack
967
- if (this.closeOverflowHandler) {
968
- doc.removeEventListener('click', this.closeOverflowHandler);
969
- }
970
- this.submenuStack = [];
971
- }
972
- });
973
- this.toolbar.appendChild(overflowToggle);
974
- }
975
- // Render trailing elements (always visible, not pinnable)
976
- if (this.trailingElements.length > 0) {
977
- // Add separator before trailing elements
978
- const separator = document.createElement('div');
979
- separator.classList.add(CSS_PREFIX + '__separator');
980
- separator.classList.add(CSS_PREFIX + '__separator--trailing');
981
- this.toolbar.appendChild(separator);
982
- // Create a trailing group container
983
- const trailingGroup = document.createElement('div');
984
- trailingGroup.classList.add(CSS_PREFIX + '__trailing-group');
985
- this.trailingElements.forEach((element) => {
986
- const { dom, update } = element.render(this.editorView);
987
- const wrapper = document.createElement('span');
988
- wrapper.classList.add(CSS_PREFIX + '__trailing-item');
989
- wrapper.appendChild(dom);
990
- trailingGroup.appendChild(wrapper);
991
- });
992
- this.toolbar.appendChild(trailingGroup);
993
- }
994
- // Render overflow menu content
995
- this.renderOverflowMenu();
996
- }
997
- openManageModal() {
998
- // Close overflow menu
999
- this.overflowMenu.style.display = 'none';
1000
- // Create modal backdrop
1001
- const backdrop = document.createElement('div');
1002
- backdrop.classList.add(CSS_PREFIX + '__modal-backdrop');
1003
- // Create modal
1004
- this.modal = document.createElement('div');
1005
- this.modal.classList.add(CSS_PREFIX + '__modal');
1006
- // Modal header
1007
- const header = document.createElement('div');
1008
- header.classList.add(CSS_PREFIX + '__modal-header');
1009
- header.innerHTML = `
1010
- <h2>Manage Pinned Tools</h2>
1011
- <button type="button" class="${CSS_PREFIX}__modal-close" aria-label="Close">
1012
- <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
1013
- <path d="M6 6l12 12M6 18L18 6"/>
1014
- </svg>
1015
- </button>
1016
- `;
1017
- // Modal message
1018
- const message = document.createElement('div');
1019
- message.classList.add(CSS_PREFIX + '__modal-message');
1020
- message.textContent = `Maximum pinned: ${MAX_PINNED_ITEMS}`;
1021
- // Modal content (tool list)
1022
- const content = document.createElement('div');
1023
- content.classList.add(CSS_PREFIX + '__modal-content');
1024
- const toolList = document.createElement('div');
1025
- toolList.classList.add(CSS_PREFIX + '__tool-list');
1026
- this.tools.forEach((tool) => {
1027
- const toolItem = document.createElement('label');
1028
- toolItem.classList.add(CSS_PREFIX + '__tool-item');
1029
- const checkbox = document.createElement('input');
1030
- checkbox.type = 'checkbox';
1031
- checkbox.checked = tool.isPinned;
1032
- checkbox.disabled = false;
1033
- const pinnedCount = this.tools.filter((t) => t.isPinned).length;
1034
- // Disable unchecked items if we've reached the limit
1035
- if (!tool.isPinned && pinnedCount >= MAX_PINNED_ITEMS) {
1036
- checkbox.disabled = true;
1037
- toolItem.classList.add(CSS_PREFIX + '__tool-item--disabled');
1038
- }
1039
- checkbox.addEventListener('change', () => {
1040
- const currentPinnedCount = this.tools.filter((t) => t.isPinned).length;
1041
- if (checkbox.checked) {
1042
- if (currentPinnedCount >= MAX_PINNED_ITEMS) {
1043
- checkbox.checked = false;
1044
- return;
1045
- }
1046
- tool.isPinned = true;
1047
- }
1048
- else {
1049
- tool.isPinned = false;
1050
- }
1051
- this.savePinnedState();
1052
- this.updateModalState(toolList);
1053
- });
1054
- const label = document.createElement('span');
1055
- label.textContent = tool.label;
1056
- toolItem.appendChild(checkbox);
1057
- toolItem.appendChild(label);
1058
- toolList.appendChild(toolItem);
1059
- });
1060
- content.appendChild(toolList);
1061
- // Modal footer
1062
- const footer = document.createElement('div');
1063
- footer.classList.add(CSS_PREFIX + '__modal-footer');
1064
- footer.innerHTML = `
1065
- <button type="button" class="${CSS_PREFIX}__modal-button ${CSS_PREFIX}__modal-button--primary">
1066
- Done
1067
- </button>
1068
- `;
1069
- // Assemble modal
1070
- this.modal.appendChild(header);
1071
- this.modal.appendChild(message);
1072
- this.modal.appendChild(content);
1073
- this.modal.appendChild(footer);
1074
- backdrop.appendChild(this.modal);
1075
- // Add to DOM
1076
- (this.editorView.dom.ownerDocument || document).body.appendChild(backdrop);
1077
- // Close handlers
1078
- const closeModal = () => {
1079
- backdrop.remove();
1080
- this.modal = null;
1081
- this.render(); // Re-render toolbar with new pinned state
1082
- };
1083
- header.querySelector('.' + CSS_PREFIX + '__modal-close')?.addEventListener('click', closeModal);
1084
- footer.querySelector('.' + CSS_PREFIX + '__modal-button')?.addEventListener('click', closeModal);
1085
- backdrop.addEventListener('click', (e) => {
1086
- if (e.target === backdrop) {
1087
- closeModal();
1088
- }
1089
- });
1090
- }
1091
- updateModalState(toolList) {
1092
- const pinnedCount = this.tools.filter((t) => t.isPinned).length;
1093
- const items = toolList.querySelectorAll('.' + CSS_PREFIX + '__tool-item');
1094
- items.forEach((item, index) => {
1095
- const checkbox = item.querySelector('input[type="checkbox"]');
1096
- const tool = this.tools[index];
1097
- if (!tool.isPinned && pinnedCount >= MAX_PINNED_ITEMS) {
1098
- checkbox.disabled = true;
1099
- item.classList.add(CSS_PREFIX + '__tool-item--disabled');
1100
- }
1101
- else if (!tool.isPinned) {
1102
- checkbox.disabled = false;
1103
- item.classList.remove(CSS_PREFIX + '__tool-item--disabled');
1104
- }
1105
- });
1106
- }
1107
- setupResize() {
1108
- let isResizing = false;
1109
- let startY = 0;
1110
- let startHeight = 0;
1111
- const onMouseDown = (e) => {
1112
- isResizing = true;
1113
- startY = e.clientY;
1114
- startHeight = this.editorContainer.offsetHeight;
1115
- // Add resizing class for visual feedback
1116
- this.wrapper.classList.add(CSS_PREFIX + '__wrapper--resizing');
1117
- // Prevent text selection while dragging
1118
- e.preventDefault();
1119
- document.addEventListener('mousemove', onMouseMove);
1120
- document.addEventListener('mouseup', onMouseUp);
1121
- };
1122
- const onMouseMove = (e) => {
1123
- if (!isResizing)
1124
- return;
1125
- const deltaY = e.clientY - startY;
1126
- const newHeight = startHeight + deltaY;
1127
- // Set minimum and maximum heights
1128
- const minHeight = 200;
1129
- const maxHeight = globalThis.innerHeight - 100;
1130
- if (newHeight >= minHeight && newHeight <= maxHeight) {
1131
- this.editorContainer.style.height = newHeight + 'px';
1132
- }
1133
- };
1134
- const onMouseUp = () => {
1135
- if (!isResizing)
1136
- return;
1137
- isResizing = false;
1138
- this.wrapper.classList.remove(CSS_PREFIX + '__wrapper--resizing');
1139
- document.removeEventListener('mousemove', onMouseMove);
1140
- document.removeEventListener('mouseup', onMouseUp);
1141
- };
1142
- this.resizeHandle.addEventListener('mousedown', onMouseDown);
1143
- }
1144
- update(view, prevState) {
1145
- // Re-render tools to update their state (original approach)
1146
- // Note: This is less efficient but more reliable than storing update functions
1147
- this.tools.forEach((tool) => {
1148
- tool.element.render(this.editorView);
1149
- });
1150
- }
1151
- destroy() {
1152
- // Clean up event listeners
1153
- const doc = this.editorView.dom.ownerDocument || document;
1154
- if (this.closeOverflowHandler) {
1155
- doc.removeEventListener('click', this.closeOverflowHandler);
1156
- this.closeOverflowHandler = null;
1157
- }
1158
- if (this.closePinnedDropdownHandler) {
1159
- doc.removeEventListener('click', this.closePinnedDropdownHandler);
1160
- this.closePinnedDropdownHandler = null;
1161
- }
1162
- // Clean up pinned dropdown
1163
- if (this.pinnedDropdownMenu) {
1164
- this.pinnedDropdownMenu.remove();
1165
- this.pinnedDropdownMenu = null;
1166
- }
1167
- // Clean up modal
1168
- if (this.modal) {
1169
- this.modal.remove();
1170
- this.modal = null;
1171
- }
1172
- // Clean up DOM
1173
- if (this.wrapper.parentNode) {
1174
- this.wrapper.parentNode.replaceChild(this.editorView.dom, this.wrapper);
1175
- }
1176
- }
1177
- }
1178
- export class CustomMenuPlugin extends Plugin {
1179
- constructor(editor, options) {
1180
- super({
1181
- view(editorView) {
1182
- return new CustomMenuView(editorView, editor, options.content, options.trailingElements);
1183
- },
1184
- });
1185
- }
1186
- }