@domternal/core 0.4.1 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (387) hide show
  1. package/README.md +1 -1
  2. package/dist/index.cjs +19 -1
  3. package/dist/index.cjs.map +1 -1
  4. package/dist/index.d.cts +12 -0
  5. package/dist/index.d.ts +5844 -23
  6. package/dist/index.js +19 -1
  7. package/dist/index.js.map +1 -1
  8. package/package.json +2 -2
  9. package/dist/CanChecker.d.ts +0 -79
  10. package/dist/CanChecker.d.ts.map +0 -1
  11. package/dist/CanChecker.test.d.ts +0 -2
  12. package/dist/CanChecker.test.d.ts.map +0 -1
  13. package/dist/ChainBuilder.d.ts +0 -119
  14. package/dist/ChainBuilder.d.ts.map +0 -1
  15. package/dist/ChainBuilder.test.d.ts +0 -2
  16. package/dist/ChainBuilder.test.d.ts.map +0 -1
  17. package/dist/CommandManager.d.ts +0 -86
  18. package/dist/CommandManager.d.ts.map +0 -1
  19. package/dist/CommandManager.test.d.ts +0 -2
  20. package/dist/CommandManager.test.d.ts.map +0 -1
  21. package/dist/Editor.d.ts +0 -262
  22. package/dist/Editor.d.ts.map +0 -1
  23. package/dist/Editor.test.d.ts +0 -2
  24. package/dist/Editor.test.d.ts.map +0 -1
  25. package/dist/EventEmitter.d.ts +0 -57
  26. package/dist/EventEmitter.d.ts.map +0 -1
  27. package/dist/EventEmitter.test.d.ts +0 -2
  28. package/dist/EventEmitter.test.d.ts.map +0 -1
  29. package/dist/Extension.d.ts +0 -171
  30. package/dist/Extension.d.ts.map +0 -1
  31. package/dist/Extension.test.d.ts +0 -2
  32. package/dist/Extension.test.d.ts.map +0 -1
  33. package/dist/ExtensionManager.d.ts +0 -283
  34. package/dist/ExtensionManager.d.ts.map +0 -1
  35. package/dist/ExtensionManager.test.d.ts +0 -2
  36. package/dist/ExtensionManager.test.d.ts.map +0 -1
  37. package/dist/Mark.d.ts +0 -164
  38. package/dist/Mark.d.ts.map +0 -1
  39. package/dist/Mark.test.d.ts +0 -5
  40. package/dist/Mark.test.d.ts.map +0 -1
  41. package/dist/Node.d.ts +0 -153
  42. package/dist/Node.d.ts.map +0 -1
  43. package/dist/Node.test.d.ts +0 -2
  44. package/dist/Node.test.d.ts.map +0 -1
  45. package/dist/ToolbarController.d.ts +0 -169
  46. package/dist/ToolbarController.d.ts.map +0 -1
  47. package/dist/ToolbarController.test.d.ts +0 -2
  48. package/dist/ToolbarController.test.d.ts.map +0 -1
  49. package/dist/commandPropsBuilder.d.ts +0 -70
  50. package/dist/commandPropsBuilder.d.ts.map +0 -1
  51. package/dist/commandPropsBuilder.test.d.ts +0 -2
  52. package/dist/commandPropsBuilder.test.d.ts.map +0 -1
  53. package/dist/commands/attributeCommands.d.ts +0 -24
  54. package/dist/commands/attributeCommands.d.ts.map +0 -1
  55. package/dist/commands/attributeCommands.test.d.ts +0 -2
  56. package/dist/commands/attributeCommands.test.d.ts.map +0 -1
  57. package/dist/commands/builtIn.test.d.ts +0 -2
  58. package/dist/commands/builtIn.test.d.ts.map +0 -1
  59. package/dist/commands/contentCommands.d.ts +0 -52
  60. package/dist/commands/contentCommands.d.ts.map +0 -1
  61. package/dist/commands/contentCommands.test.d.ts +0 -2
  62. package/dist/commands/contentCommands.test.d.ts.map +0 -1
  63. package/dist/commands/index.d.ts +0 -43
  64. package/dist/commands/index.d.ts.map +0 -1
  65. package/dist/commands/listCommands.d.ts +0 -15
  66. package/dist/commands/listCommands.d.ts.map +0 -1
  67. package/dist/commands/listCommands.test.d.ts +0 -2
  68. package/dist/commands/listCommands.test.d.ts.map +0 -1
  69. package/dist/commands/markCommands.d.ts +0 -40
  70. package/dist/commands/markCommands.d.ts.map +0 -1
  71. package/dist/commands/markCommands.test.d.ts +0 -2
  72. package/dist/commands/markCommands.test.d.ts.map +0 -1
  73. package/dist/commands/nodeCommands.d.ts +0 -53
  74. package/dist/commands/nodeCommands.d.ts.map +0 -1
  75. package/dist/commands/nodeCommands.test.d.ts +0 -2
  76. package/dist/commands/nodeCommands.test.d.ts.map +0 -1
  77. package/dist/commands/selectionCommands.d.ts +0 -37
  78. package/dist/commands/selectionCommands.d.ts.map +0 -1
  79. package/dist/commands/selectionCommands.test.d.ts +0 -2
  80. package/dist/commands/selectionCommands.test.d.ts.map +0 -1
  81. package/dist/extensions/BaseKeymap.d.ts +0 -36
  82. package/dist/extensions/BaseKeymap.d.ts.map +0 -1
  83. package/dist/extensions/BaseKeymap.test.d.ts +0 -2
  84. package/dist/extensions/BaseKeymap.test.d.ts.map +0 -1
  85. package/dist/extensions/BubbleMenu.d.ts +0 -85
  86. package/dist/extensions/BubbleMenu.d.ts.map +0 -1
  87. package/dist/extensions/BubbleMenu.test.d.ts +0 -2
  88. package/dist/extensions/BubbleMenu.test.d.ts.map +0 -1
  89. package/dist/extensions/CharacterCount.d.ts +0 -60
  90. package/dist/extensions/CharacterCount.d.ts.map +0 -1
  91. package/dist/extensions/CharacterCount.test.d.ts +0 -2
  92. package/dist/extensions/CharacterCount.test.d.ts.map +0 -1
  93. package/dist/extensions/ClearFormatting.d.ts +0 -25
  94. package/dist/extensions/ClearFormatting.d.ts.map +0 -1
  95. package/dist/extensions/ClearFormatting.test.d.ts +0 -2
  96. package/dist/extensions/ClearFormatting.test.d.ts.map +0 -1
  97. package/dist/extensions/Dropcursor.d.ts +0 -20
  98. package/dist/extensions/Dropcursor.d.ts.map +0 -1
  99. package/dist/extensions/Dropcursor.test.d.ts +0 -2
  100. package/dist/extensions/Dropcursor.test.d.ts.map +0 -1
  101. package/dist/extensions/FloatingMenu.d.ts +0 -74
  102. package/dist/extensions/FloatingMenu.d.ts.map +0 -1
  103. package/dist/extensions/FloatingMenu.test.d.ts +0 -2
  104. package/dist/extensions/FloatingMenu.test.d.ts.map +0 -1
  105. package/dist/extensions/Focus.d.ts +0 -26
  106. package/dist/extensions/Focus.d.ts.map +0 -1
  107. package/dist/extensions/Focus.test.d.ts +0 -2
  108. package/dist/extensions/Focus.test.d.ts.map +0 -1
  109. package/dist/extensions/FontFamily.d.ts +0 -41
  110. package/dist/extensions/FontFamily.d.ts.map +0 -1
  111. package/dist/extensions/FontFamily.test.d.ts +0 -2
  112. package/dist/extensions/FontFamily.test.d.ts.map +0 -1
  113. package/dist/extensions/FontSize.d.ts +0 -46
  114. package/dist/extensions/FontSize.d.ts.map +0 -1
  115. package/dist/extensions/FontSize.test.d.ts +0 -2
  116. package/dist/extensions/FontSize.test.d.ts.map +0 -1
  117. package/dist/extensions/Gapcursor.d.ts +0 -3
  118. package/dist/extensions/Gapcursor.d.ts.map +0 -1
  119. package/dist/extensions/Gapcursor.test.d.ts +0 -2
  120. package/dist/extensions/Gapcursor.test.d.ts.map +0 -1
  121. package/dist/extensions/Highlight.d.ts +0 -61
  122. package/dist/extensions/Highlight.d.ts.map +0 -1
  123. package/dist/extensions/Highlight.test.d.ts +0 -2
  124. package/dist/extensions/Highlight.test.d.ts.map +0 -1
  125. package/dist/extensions/History.d.ts +0 -22
  126. package/dist/extensions/History.d.ts.map +0 -1
  127. package/dist/extensions/History.test.d.ts +0 -2
  128. package/dist/extensions/History.test.d.ts.map +0 -1
  129. package/dist/extensions/InvisibleChars.d.ts +0 -86
  130. package/dist/extensions/InvisibleChars.d.ts.map +0 -1
  131. package/dist/extensions/InvisibleChars.test.d.ts +0 -2
  132. package/dist/extensions/InvisibleChars.test.d.ts.map +0 -1
  133. package/dist/extensions/LineHeight.d.ts +0 -50
  134. package/dist/extensions/LineHeight.d.ts.map +0 -1
  135. package/dist/extensions/LineHeight.test.d.ts +0 -2
  136. package/dist/extensions/LineHeight.test.d.ts.map +0 -1
  137. package/dist/extensions/LinkPopover.d.ts +0 -10
  138. package/dist/extensions/LinkPopover.d.ts.map +0 -1
  139. package/dist/extensions/ListKeymap.d.ts +0 -10
  140. package/dist/extensions/ListKeymap.d.ts.map +0 -1
  141. package/dist/extensions/ListKeymap.test.d.ts +0 -2
  142. package/dist/extensions/ListKeymap.test.d.ts.map +0 -1
  143. package/dist/extensions/Placeholder.d.ts +0 -47
  144. package/dist/extensions/Placeholder.d.ts.map +0 -1
  145. package/dist/extensions/Placeholder.test.d.ts +0 -2
  146. package/dist/extensions/Placeholder.test.d.ts.map +0 -1
  147. package/dist/extensions/Selection.d.ts +0 -71
  148. package/dist/extensions/Selection.d.ts.map +0 -1
  149. package/dist/extensions/Selection.test.d.ts +0 -2
  150. package/dist/extensions/Selection.test.d.ts.map +0 -1
  151. package/dist/extensions/SelectionDecoration.d.ts +0 -18
  152. package/dist/extensions/SelectionDecoration.d.ts.map +0 -1
  153. package/dist/extensions/SelectionDecoration.test.d.ts +0 -2
  154. package/dist/extensions/SelectionDecoration.test.d.ts.map +0 -1
  155. package/dist/extensions/StarterKit.d.ts +0 -138
  156. package/dist/extensions/StarterKit.d.ts.map +0 -1
  157. package/dist/extensions/StarterKit.test.d.ts +0 -2
  158. package/dist/extensions/StarterKit.test.d.ts.map +0 -1
  159. package/dist/extensions/TextAlign.d.ts +0 -32
  160. package/dist/extensions/TextAlign.d.ts.map +0 -1
  161. package/dist/extensions/TextAlign.test.d.ts +0 -2
  162. package/dist/extensions/TextAlign.test.d.ts.map +0 -1
  163. package/dist/extensions/TextColor.d.ts +0 -55
  164. package/dist/extensions/TextColor.d.ts.map +0 -1
  165. package/dist/extensions/TextColor.test.d.ts +0 -2
  166. package/dist/extensions/TextColor.test.d.ts.map +0 -1
  167. package/dist/extensions/TrailingNode.d.ts +0 -16
  168. package/dist/extensions/TrailingNode.d.ts.map +0 -1
  169. package/dist/extensions/TrailingNode.test.d.ts +0 -2
  170. package/dist/extensions/TrailingNode.test.d.ts.map +0 -1
  171. package/dist/extensions/Typography.d.ts +0 -65
  172. package/dist/extensions/Typography.d.ts.map +0 -1
  173. package/dist/extensions/Typography.test.d.ts +0 -2
  174. package/dist/extensions/Typography.test.d.ts.map +0 -1
  175. package/dist/extensions/UniqueID.d.ts +0 -48
  176. package/dist/extensions/UniqueID.d.ts.map +0 -1
  177. package/dist/extensions/UniqueID.test.d.ts +0 -2
  178. package/dist/extensions/UniqueID.test.d.ts.map +0 -1
  179. package/dist/extensions/index.d.ts +0 -29
  180. package/dist/extensions/index.d.ts.map +0 -1
  181. package/dist/extensions/isActive-markExclusion.test.d.ts +0 -2
  182. package/dist/extensions/isActive-markExclusion.test.d.ts.map +0 -1
  183. package/dist/helpers/callOrReturn.d.ts +0 -30
  184. package/dist/helpers/callOrReturn.d.ts.map +0 -1
  185. package/dist/helpers/callOrReturn.test.d.ts +0 -2
  186. package/dist/helpers/callOrReturn.test.d.ts.map +0 -1
  187. package/dist/helpers/createDocument.d.ts +0 -48
  188. package/dist/helpers/createDocument.d.ts.map +0 -1
  189. package/dist/helpers/createDocument.test.d.ts +0 -2
  190. package/dist/helpers/createDocument.test.d.ts.map +0 -1
  191. package/dist/helpers/defaultBlockAt.d.ts +0 -15
  192. package/dist/helpers/defaultBlockAt.d.ts.map +0 -1
  193. package/dist/helpers/defaultBlockAt.test.d.ts +0 -2
  194. package/dist/helpers/defaultBlockAt.test.d.ts.map +0 -1
  195. package/dist/helpers/findChildren.d.ts +0 -13
  196. package/dist/helpers/findChildren.d.ts.map +0 -1
  197. package/dist/helpers/findChildren.test.d.ts +0 -2
  198. package/dist/helpers/findChildren.test.d.ts.map +0 -1
  199. package/dist/helpers/findParentNode.d.ts +0 -21
  200. package/dist/helpers/findParentNode.d.ts.map +0 -1
  201. package/dist/helpers/findParentNode.test.d.ts +0 -2
  202. package/dist/helpers/findParentNode.test.d.ts.map +0 -1
  203. package/dist/helpers/getMarkRange.d.ts +0 -17
  204. package/dist/helpers/getMarkRange.d.ts.map +0 -1
  205. package/dist/helpers/getMarkRange.test.d.ts +0 -2
  206. package/dist/helpers/getMarkRange.test.d.ts.map +0 -1
  207. package/dist/helpers/index.d.ts +0 -18
  208. package/dist/helpers/index.d.ts.map +0 -1
  209. package/dist/helpers/inputRulesPlugin.d.ts +0 -26
  210. package/dist/helpers/inputRulesPlugin.d.ts.map +0 -1
  211. package/dist/helpers/isNodeEmpty.d.ts +0 -52
  212. package/dist/helpers/isNodeEmpty.d.ts.map +0 -1
  213. package/dist/helpers/isNodeEmpty.test.d.ts +0 -2
  214. package/dist/helpers/isNodeEmpty.test.d.ts.map +0 -1
  215. package/dist/helpers/isValidUrl.d.ts +0 -31
  216. package/dist/helpers/isValidUrl.d.ts.map +0 -1
  217. package/dist/helpers/isValidUrl.test.d.ts +0 -2
  218. package/dist/helpers/isValidUrl.test.d.ts.map +0 -1
  219. package/dist/helpers/markInputRule.d.ts +0 -88
  220. package/dist/helpers/markInputRule.d.ts.map +0 -1
  221. package/dist/helpers/markInputRule.test.d.ts +0 -2
  222. package/dist/helpers/markInputRule.test.d.ts.map +0 -1
  223. package/dist/helpers/nodeInputRule.d.ts +0 -41
  224. package/dist/helpers/nodeInputRule.d.ts.map +0 -1
  225. package/dist/helpers/normalizeColor.d.ts +0 -7
  226. package/dist/helpers/normalizeColor.d.ts.map +0 -1
  227. package/dist/helpers/normalizeColor.test.d.ts +0 -2
  228. package/dist/helpers/normalizeColor.test.d.ts.map +0 -1
  229. package/dist/helpers/specBuilder.d.ts +0 -28
  230. package/dist/helpers/specBuilder.d.ts.map +0 -1
  231. package/dist/helpers/specBuilder.test.d.ts +0 -2
  232. package/dist/helpers/specBuilder.test.d.ts.map +0 -1
  233. package/dist/helpers/ssr.d.ts +0 -80
  234. package/dist/helpers/ssr.d.ts.map +0 -1
  235. package/dist/helpers/ssr.test.d.ts +0 -2
  236. package/dist/helpers/ssr.test.d.ts.map +0 -1
  237. package/dist/helpers/textInputRule.d.ts +0 -34
  238. package/dist/helpers/textInputRule.d.ts.map +0 -1
  239. package/dist/helpers/textblockTypeInputRule.d.ts +0 -41
  240. package/dist/helpers/textblockTypeInputRule.d.ts.map +0 -1
  241. package/dist/helpers/wrappingInputRule.d.ts +0 -66
  242. package/dist/helpers/wrappingInputRule.d.ts.map +0 -1
  243. package/dist/icons/index.d.ts +0 -2
  244. package/dist/icons/index.d.ts.map +0 -1
  245. package/dist/icons/phosphor.d.ts +0 -3
  246. package/dist/icons/phosphor.d.ts.map +0 -1
  247. package/dist/index.d.ts.map +0 -1
  248. package/dist/index.test.d.ts +0 -2
  249. package/dist/index.test.d.ts.map +0 -1
  250. package/dist/marks/Bold.d.ts +0 -40
  251. package/dist/marks/Bold.d.ts.map +0 -1
  252. package/dist/marks/Bold.test.d.ts +0 -2
  253. package/dist/marks/Bold.test.d.ts.map +0 -1
  254. package/dist/marks/Code.d.ts +0 -40
  255. package/dist/marks/Code.d.ts.map +0 -1
  256. package/dist/marks/Code.test.d.ts +0 -2
  257. package/dist/marks/Code.test.d.ts.map +0 -1
  258. package/dist/marks/Italic.d.ts +0 -40
  259. package/dist/marks/Italic.d.ts.map +0 -1
  260. package/dist/marks/Italic.test.d.ts +0 -2
  261. package/dist/marks/Italic.test.d.ts.map +0 -1
  262. package/dist/marks/Link.d.ts +0 -75
  263. package/dist/marks/Link.d.ts.map +0 -1
  264. package/dist/marks/Link.test.d.ts +0 -2
  265. package/dist/marks/Link.test.d.ts.map +0 -1
  266. package/dist/marks/Strike.d.ts +0 -39
  267. package/dist/marks/Strike.d.ts.map +0 -1
  268. package/dist/marks/Strike.test.d.ts +0 -2
  269. package/dist/marks/Strike.test.d.ts.map +0 -1
  270. package/dist/marks/Subscript.d.ts +0 -38
  271. package/dist/marks/Subscript.d.ts.map +0 -1
  272. package/dist/marks/Subscript.test.d.ts +0 -2
  273. package/dist/marks/Subscript.test.d.ts.map +0 -1
  274. package/dist/marks/Superscript.d.ts +0 -38
  275. package/dist/marks/Superscript.d.ts.map +0 -1
  276. package/dist/marks/Superscript.test.d.ts +0 -2
  277. package/dist/marks/Superscript.test.d.ts.map +0 -1
  278. package/dist/marks/TextStyle.d.ts +0 -41
  279. package/dist/marks/TextStyle.d.ts.map +0 -1
  280. package/dist/marks/TextStyle.test.d.ts +0 -2
  281. package/dist/marks/TextStyle.test.d.ts.map +0 -1
  282. package/dist/marks/Underline.d.ts +0 -38
  283. package/dist/marks/Underline.d.ts.map +0 -1
  284. package/dist/marks/Underline.test.d.ts +0 -2
  285. package/dist/marks/Underline.test.d.ts.map +0 -1
  286. package/dist/marks/helpers/autolinkPlugin.d.ts +0 -48
  287. package/dist/marks/helpers/autolinkPlugin.d.ts.map +0 -1
  288. package/dist/marks/helpers/autolinkPlugin.test.d.ts +0 -2
  289. package/dist/marks/helpers/autolinkPlugin.test.d.ts.map +0 -1
  290. package/dist/marks/helpers/index.d.ts +0 -10
  291. package/dist/marks/helpers/index.d.ts.map +0 -1
  292. package/dist/marks/helpers/linkClickPlugin.d.ts +0 -43
  293. package/dist/marks/helpers/linkClickPlugin.d.ts.map +0 -1
  294. package/dist/marks/helpers/linkClickPlugin.test.d.ts +0 -2
  295. package/dist/marks/helpers/linkClickPlugin.test.d.ts.map +0 -1
  296. package/dist/marks/helpers/linkExitPlugin.d.ts +0 -37
  297. package/dist/marks/helpers/linkExitPlugin.d.ts.map +0 -1
  298. package/dist/marks/helpers/linkExitPlugin.test.d.ts +0 -2
  299. package/dist/marks/helpers/linkExitPlugin.test.d.ts.map +0 -1
  300. package/dist/marks/helpers/linkPastePlugin.d.ts +0 -44
  301. package/dist/marks/helpers/linkPastePlugin.d.ts.map +0 -1
  302. package/dist/marks/helpers/linkPastePlugin.test.d.ts +0 -2
  303. package/dist/marks/helpers/linkPastePlugin.test.d.ts.map +0 -1
  304. package/dist/marks/index.d.ts +0 -16
  305. package/dist/marks/index.d.ts.map +0 -1
  306. package/dist/nodes/Blockquote.d.ts +0 -19
  307. package/dist/nodes/Blockquote.d.ts.map +0 -1
  308. package/dist/nodes/Blockquote.test.d.ts +0 -2
  309. package/dist/nodes/Blockquote.test.d.ts.map +0 -1
  310. package/dist/nodes/BulletList.d.ts +0 -18
  311. package/dist/nodes/BulletList.d.ts.map +0 -1
  312. package/dist/nodes/BulletList.test.d.ts +0 -2
  313. package/dist/nodes/BulletList.test.d.ts.map +0 -1
  314. package/dist/nodes/CodeBlock.d.ts +0 -29
  315. package/dist/nodes/CodeBlock.d.ts.map +0 -1
  316. package/dist/nodes/CodeBlock.test.d.ts +0 -2
  317. package/dist/nodes/CodeBlock.test.d.ts.map +0 -1
  318. package/dist/nodes/Document.d.ts +0 -9
  319. package/dist/nodes/Document.d.ts.map +0 -1
  320. package/dist/nodes/Document.test.d.ts +0 -2
  321. package/dist/nodes/Document.test.d.ts.map +0 -1
  322. package/dist/nodes/HardBreak.d.ts +0 -18
  323. package/dist/nodes/HardBreak.d.ts.map +0 -1
  324. package/dist/nodes/HardBreak.test.d.ts +0 -2
  325. package/dist/nodes/HardBreak.test.d.ts.map +0 -1
  326. package/dist/nodes/Heading.d.ts +0 -23
  327. package/dist/nodes/Heading.d.ts.map +0 -1
  328. package/dist/nodes/Heading.test.d.ts +0 -2
  329. package/dist/nodes/Heading.test.d.ts.map +0 -1
  330. package/dist/nodes/HorizontalRule.d.ts +0 -17
  331. package/dist/nodes/HorizontalRule.d.ts.map +0 -1
  332. package/dist/nodes/HorizontalRule.test.d.ts +0 -2
  333. package/dist/nodes/HorizontalRule.test.d.ts.map +0 -1
  334. package/dist/nodes/ListItem.d.ts +0 -16
  335. package/dist/nodes/ListItem.d.ts.map +0 -1
  336. package/dist/nodes/ListItem.test.d.ts +0 -2
  337. package/dist/nodes/ListItem.test.d.ts.map +0 -1
  338. package/dist/nodes/OrderedList.d.ts +0 -18
  339. package/dist/nodes/OrderedList.d.ts.map +0 -1
  340. package/dist/nodes/OrderedList.test.d.ts +0 -2
  341. package/dist/nodes/OrderedList.test.d.ts.map +0 -1
  342. package/dist/nodes/Paragraph.d.ts +0 -17
  343. package/dist/nodes/Paragraph.d.ts.map +0 -1
  344. package/dist/nodes/Paragraph.test.d.ts +0 -2
  345. package/dist/nodes/Paragraph.test.d.ts.map +0 -1
  346. package/dist/nodes/TaskItem.d.ts +0 -24
  347. package/dist/nodes/TaskItem.d.ts.map +0 -1
  348. package/dist/nodes/TaskItem.test.d.ts +0 -2
  349. package/dist/nodes/TaskItem.test.d.ts.map +0 -1
  350. package/dist/nodes/TaskList.d.ts +0 -18
  351. package/dist/nodes/TaskList.d.ts.map +0 -1
  352. package/dist/nodes/TaskList.test.d.ts +0 -2
  353. package/dist/nodes/TaskList.test.d.ts.map +0 -1
  354. package/dist/nodes/Text.d.ts +0 -9
  355. package/dist/nodes/Text.d.ts.map +0 -1
  356. package/dist/nodes/Text.test.d.ts +0 -2
  357. package/dist/nodes/Text.test.d.ts.map +0 -1
  358. package/dist/nodes/index.d.ts +0 -19
  359. package/dist/nodes/index.d.ts.map +0 -1
  360. package/dist/nodes/integration.test.d.ts +0 -7
  361. package/dist/nodes/integration.test.d.ts.map +0 -1
  362. package/dist/types/AttributeSpec.d.ts +0 -78
  363. package/dist/types/AttributeSpec.d.ts.map +0 -1
  364. package/dist/types/Commands.d.ts +0 -125
  365. package/dist/types/Commands.d.ts.map +0 -1
  366. package/dist/types/Content.d.ts +0 -40
  367. package/dist/types/Content.d.ts.map +0 -1
  368. package/dist/types/EditorEvents.d.ts +0 -131
  369. package/dist/types/EditorEvents.d.ts.map +0 -1
  370. package/dist/types/EditorOptions.d.ts +0 -133
  371. package/dist/types/EditorOptions.d.ts.map +0 -1
  372. package/dist/types/ExtensionConfig.d.ts +0 -271
  373. package/dist/types/ExtensionConfig.d.ts.map +0 -1
  374. package/dist/types/MarkConfig.d.ts +0 -206
  375. package/dist/types/MarkConfig.d.ts.map +0 -1
  376. package/dist/types/NodeConfig.d.ts +0 -263
  377. package/dist/types/NodeConfig.d.ts.map +0 -1
  378. package/dist/types/Toolbar.d.ts +0 -172
  379. package/dist/types/Toolbar.d.ts.map +0 -1
  380. package/dist/types/index.d.ts +0 -13
  381. package/dist/types/index.d.ts.map +0 -1
  382. package/dist/utils/inlineStyles.d.ts +0 -83
  383. package/dist/utils/inlineStyles.d.ts.map +0 -1
  384. package/dist/utils/inlineStyles.test.d.ts +0 -2
  385. package/dist/utils/inlineStyles.test.d.ts.map +0 -1
  386. package/dist/utils/positionFloating.d.ts +0 -74
  387. package/dist/utils/positionFloating.d.ts.map +0 -1
@@ -1,263 +0,0 @@
1
- /**
2
- * Node configuration types
3
- *
4
- * These types define the configuration object passed to Node.create()
5
- * for creating ProseMirror node extensions.
6
- */
7
- import type { Node as PMNode, DOMOutputSpec, NodeType } from '@domternal/pm/model';
8
- import type { EditorState, Plugin } from '@domternal/pm/state';
9
- import type { EditorView, NodeViewConstructor } from '@domternal/pm/view';
10
- import type { ExtensionConfigBase, ExtensionContext } from './ExtensionConfig.js';
11
- import type { AttributeSpecs } from './AttributeSpec.js';
12
- /**
13
- * Editor interface for Node context
14
- * Includes schema with nodes for NodeType getter
15
- */
16
- export interface NodeEditorContext {
17
- readonly state: EditorState;
18
- readonly view: EditorView;
19
- readonly schema: {
20
- nodes: Record<string, NodeType>;
21
- };
22
- readonly commands: Record<string, (...args: unknown[]) => boolean>;
23
- }
24
- /**
25
- * Context interface for Node config methods.
26
- * Extends ExtensionContext with node-specific properties.
27
- * This enables proper typing of `this.options`, `this.nodeType`, etc.
28
- *
29
- * @typeParam Options - Node options type
30
- * @typeParam Storage - Node storage type
31
- */
32
- export interface NodeContext<Options = unknown, Storage = unknown> extends Omit<ExtensionContext<Options, Storage>, 'editor' | 'type'> {
33
- /** Node type identifier */
34
- readonly type: 'node';
35
- /** Editor instance with schema access */
36
- editor: NodeEditorContext | null;
37
- /** ProseMirror NodeType (null until editor is initialized) */
38
- readonly nodeType: NodeType | null;
39
- }
40
- /**
41
- * Parse rule for converting HTML to ProseMirror node
42
- * Simplified version of ProseMirror's ParseRule
43
- */
44
- export interface NodeParseRule {
45
- /**
46
- * CSS selector or tag name to match
47
- * @example 'p', 'h1', 'div.my-class'
48
- */
49
- tag?: string;
50
- /**
51
- * Match by CSS style
52
- * @example 'font-weight'
53
- */
54
- style?: string;
55
- /**
56
- * Priority for this rule (higher = checked first)
57
- * @default 50
58
- */
59
- priority?: number;
60
- /**
61
- * Whether to consume the matched element
62
- * @default true
63
- */
64
- consuming?: boolean;
65
- /**
66
- * Context required for this rule to match
67
- * ProseMirror content expression
68
- */
69
- context?: string;
70
- /**
71
- * Get attributes from the matched element
72
- * Return null/undefined to skip this rule
73
- */
74
- getAttrs?: ((node: HTMLElement) => Record<string, unknown> | null | undefined) | null;
75
- /**
76
- * Get content from the matched element
77
- * Return false to use default content parsing
78
- */
79
- getContent?: (node: HTMLElement, schema: unknown) => unknown;
80
- /**
81
- * How to preserve whitespace
82
- */
83
- preserveWhitespace?: boolean | 'full';
84
- }
85
- /**
86
- * Props passed to renderHTML function
87
- */
88
- export interface NodeRenderHTMLProps {
89
- /**
90
- * The ProseMirror node being rendered
91
- */
92
- node: PMNode;
93
- /**
94
- * Merged HTML attributes from all sources
95
- */
96
- HTMLAttributes: Record<string, unknown>;
97
- }
98
- /**
99
- * Node-specific configuration properties (schema-related)
100
- */
101
- interface NodeSchemaProperties {
102
- /**
103
- * Node group(s) this node belongs to
104
- * Used in content expressions
105
- *
106
- * @example 'block', 'inline', 'block list'
107
- * Can be a function that returns the group string (useful for dynamic group based on options)
108
- */
109
- group?: string | (() => string);
110
- /**
111
- * Content expression defining allowed children
112
- * Uses ProseMirror content expression syntax
113
- *
114
- * @example 'inline*', 'block+', 'paragraph block*'
115
- */
116
- content?: string;
117
- /**
118
- * Whether this is an inline node
119
- * Can be a function for dynamic inline based on options
120
- * @default false
121
- */
122
- inline?: boolean | (() => boolean);
123
- /**
124
- * Whether this node is an atom (no direct content editing)
125
- * Cursor moves around atoms, not into them
126
- *
127
- * @example true for images, mentions, emoji
128
- */
129
- atom?: boolean;
130
- /**
131
- * Whether the node can be selected as a whole
132
- * @default true for leaf nodes, false for others
133
- */
134
- selectable?: boolean;
135
- /**
136
- * Whether the node can be dragged
137
- * @default false
138
- */
139
- draggable?: boolean;
140
- /**
141
- * Whether this node represents code
142
- * Affects text input handling (disables smart quotes, etc.)
143
- */
144
- code?: boolean;
145
- /**
146
- * How whitespace is handled in this node
147
- * - 'pre': preserve whitespace (like <pre>)
148
- * - 'normal': collapse whitespace (default)
149
- */
150
- whitespace?: 'pre' | 'normal';
151
- /**
152
- * Whether this node isolates marks at its boundaries
153
- * Marks don't extend across isolating boundaries
154
- */
155
- isolating?: boolean;
156
- /**
157
- * Whether a gap cursor is allowed inside this node.
158
- * Set to false to prevent gapcursor from appearing inside this node.
159
- * Set to true to force gapcursor even if the default heuristic disallows it.
160
- * When undefined, uses ProseMirror's default heuristic.
161
- */
162
- allowGapCursor?: boolean;
163
- /**
164
- * Table role for prosemirror-tables integration.
165
- * Nodes with a tableRole are discovered by prosemirror-tables via spec.tableRole.
166
- * One of: 'table', 'row', 'cell', 'header_cell'
167
- */
168
- tableRole?: 'table' | 'row' | 'cell' | 'header_cell';
169
- /**
170
- * Whether this is a top-level node (document root)
171
- * Only one node should have this set to true
172
- */
173
- topNode?: boolean;
174
- /**
175
- * Whether this node defines its own scope
176
- * Content and marks don't leak out of defining nodes
177
- */
178
- defining?: boolean;
179
- /**
180
- * Which marks are allowed in this node
181
- * Empty string means no marks allowed
182
- *
183
- * @example '', '_', 'bold italic'
184
- */
185
- marks?: string;
186
- /**
187
- * Custom text for leaf nodes
188
- * Used by getText() and textContent
189
- *
190
- * @example '\n' for hard break
191
- */
192
- leafText?: string | ((node: PMNode) => string);
193
- /**
194
- * Define node attributes
195
- * Returns attribute specifications
196
- *
197
- * @example
198
- * addAttributes() {
199
- * return {
200
- * level: { default: 1 },
201
- * };
202
- * }
203
- */
204
- addAttributes?: () => AttributeSpecs;
205
- /**
206
- * Parse rules for converting HTML to this node
207
- * Each rule defines how to match and parse HTML elements
208
- *
209
- * @example
210
- * parseHTML() {
211
- * return [
212
- * { tag: 'p' },
213
- * { tag: 'div', priority: 10 },
214
- * ];
215
- * }
216
- */
217
- parseHTML?: () => NodeParseRule[];
218
- /**
219
- * Render this node to DOM
220
- * Returns DOMOutputSpec (tag, attributes, children)
221
- *
222
- * @example
223
- * renderHTML({ node, HTMLAttributes }) {
224
- * return ['p', HTMLAttributes, 0];
225
- * }
226
- */
227
- renderHTML?: (props: NodeRenderHTMLProps) => DOMOutputSpec;
228
- /**
229
- * Custom node view constructor
230
- * For complex interactive nodes
231
- */
232
- addNodeView?: () => NodeViewConstructor;
233
- /**
234
- * Additional ProseMirror plugins for this node
235
- * Called during plugin collection
236
- */
237
- addProseMirrorPlugins?: () => Plugin[];
238
- }
239
- /**
240
- * Configuration for Node extensions
241
- * Combines ExtensionConfig base with node-specific schema properties.
242
- * Uses ThisType<NodeContext> to provide proper typing for `this` in config methods.
243
- *
244
- * @typeParam Options - Node options type
245
- * @typeParam Storage - Node storage type
246
- *
247
- * @example
248
- * const Paragraph = Node.create({
249
- * name: 'paragraph',
250
- * group: 'block',
251
- * content: 'inline*',
252
- * parseHTML() {
253
- * // `this` is properly typed here!
254
- * return [{ tag: 'p' }];
255
- * },
256
- * renderHTML({ HTMLAttributes }) {
257
- * return ['p', HTMLAttributes, 0];
258
- * },
259
- * });
260
- */
261
- export type NodeConfig<Options = unknown, Storage = unknown> = ExtensionConfigBase<Options, Storage> & NodeSchemaProperties & ThisType<NodeContext<Options, Storage>>;
262
- export {};
263
- //# sourceMappingURL=NodeConfig.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NodeConfig.d.ts","sourceRoot":"","sources":["../../src/types/NodeConfig.ts"],"names":[],"mappings":"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"}
@@ -1,172 +0,0 @@
1
- /**
2
- * Toolbar configuration types
3
- *
4
- * These types define toolbar items that extensions can register
5
- * via the `addToolbarItems()` hook. Framework wrappers (Angular, React, Vue)
6
- * read these items and render the toolbar UI.
7
- */
8
- /**
9
- * Maps icon names to SVG strings.
10
- *
11
- * @example
12
- * const icons: IconSet = {
13
- * textB: '<svg>...</svg>',
14
- * textItalic: '<svg>...</svg>',
15
- * };
16
- */
17
- export type IconSet = Record<string, string>;
18
- /**
19
- * A toolbar button that executes a command.
20
- *
21
- * @example
22
- * {
23
- * type: 'button',
24
- * name: 'bold',
25
- * command: 'toggleBold',
26
- * isActive: 'bold',
27
- * icon: 'textB',
28
- * label: 'Bold',
29
- * shortcut: 'Mod-b',
30
- * group: 'format',
31
- * priority: 100,
32
- * }
33
- */
34
- export interface ToolbarButton {
35
- type: 'button';
36
- /** Unique identifier for this toolbar item */
37
- name: string;
38
- /** Command name to execute (key of editor.commands) */
39
- command: string;
40
- /** Arguments to pass to the command */
41
- commandArgs?: unknown[];
42
- /**
43
- * How to check if this button is active.
44
- * - string: extension name passed to `editor.isActive(name)`
45
- * - object: `{ name, attributes }` passed to `editor.isActive(name, attributes)`
46
- * - array: OR-check — active if ANY entry matches (useful for attributes on multiple node types)
47
- * - undefined: button has no active state (e.g. undo/redo)
48
- */
49
- isActive?: string | {
50
- name: string;
51
- attributes?: Record<string, unknown>;
52
- } | (string | {
53
- name: string;
54
- attributes?: Record<string, unknown>;
55
- })[];
56
- /** Icon key (resolved against IconSet) */
57
- icon: string;
58
- /** Tooltip text and aria-label */
59
- label: string;
60
- /** Keyboard shortcut for display (e.g. "Mod-b") */
61
- shortcut?: string;
62
- /** Group name for visual grouping (separators between groups) */
63
- group?: string;
64
- /** Sort order within group (higher = first). @default 100 */
65
- priority?: number;
66
- /** Inline CSS style string applied to the button element (e.g. for font preview) */
67
- style?: string;
68
- /**
69
- * Custom function to check active state.
70
- * Use for extensions that track state in plugin storage rather than node/mark state.
71
- * Takes precedence over `isActive` when defined.
72
- */
73
- isActiveFn?: (editor: {
74
- readonly storage: Record<string, unknown>;
75
- }) => boolean;
76
- /** Event name to emit on the editor when clicked. If set, the UI emits this event instead of executing the command. */
77
- emitEvent?: string;
78
- /** Color value (hex) for color-swatch rendering in grid-layout dropdowns. */
79
- color?: string;
80
- /** Show in the main toolbar. @default true. Set false for bubble-menu-only items. */
81
- toolbar?: boolean;
82
- /** Bubble menu context name. When set, this item is included in the default bubble menu for this context. */
83
- bubbleMenu?: string;
84
- }
85
- /**
86
- * A dropdown toolbar item containing multiple buttons.
87
- *
88
- * @example
89
- * {
90
- * type: 'dropdown',
91
- * name: 'heading',
92
- * icon: 'textH',
93
- * label: 'Heading',
94
- * group: 'blocks',
95
- * items: [
96
- * { type: 'button', name: 'h1', command: 'toggleHeading', ... },
97
- * { type: 'button', name: 'h2', command: 'toggleHeading', ... },
98
- * ],
99
- * }
100
- */
101
- export interface ToolbarDropdown {
102
- type: 'dropdown';
103
- /** Unique identifier for this toolbar item */
104
- name: string;
105
- /** Icon key for the dropdown trigger button */
106
- icon: string;
107
- /** Tooltip text and aria-label */
108
- label: string;
109
- /** Buttons shown in the dropdown panel */
110
- items: ToolbarButton[];
111
- /** Group name for visual grouping */
112
- group?: string;
113
- /** Sort order within group (higher = first). @default 100 */
114
- priority?: number;
115
- /** Panel layout: 'list' (default vertical) or 'grid' (color-swatch grid). */
116
- layout?: 'list' | 'grid';
117
- /** Number of columns in grid layout. @default 10 */
118
- gridColumns?: number;
119
- /** How to display items in the dropdown panel: icon + text (default), text only, or icon only. */
120
- displayMode?: 'icon-text' | 'text' | 'icon';
121
- /** Default color for the trigger indicator bar when no item is active (grid dropdowns only). */
122
- defaultIndicatorColor?: string;
123
- /** When true, the trigger icon updates to reflect the active sub-item's icon. */
124
- dynamicIcon?: boolean;
125
- /** When true, the trigger shows the active sub-item's label as text instead of an icon. */
126
- dynamicLabel?: boolean;
127
- /** Text shown in trigger when dynamicLabel is true and no item is active. Falls back to icon if not set. */
128
- dynamicLabelFallback?: string;
129
- /** CSS property to read from computed style at cursor when no item is active (e.g. 'font-size', 'font-family'). */
130
- computedStyleProperty?: string;
131
- }
132
- /**
133
- * A visual separator between toolbar groups.
134
- * Typically inserted automatically when group names change.
135
- */
136
- export interface ToolbarSeparator {
137
- type: 'separator';
138
- /** Unique identifier (needed so all ToolbarItem variants share a `name` field) */
139
- name?: string;
140
- /** Group name (used for ordering) */
141
- group?: string;
142
- /** Sort order within group. @default 100 */
143
- priority?: number;
144
- }
145
- /** Any toolbar item */
146
- export type ToolbarItem = ToolbarButton | ToolbarDropdown | ToolbarSeparator;
147
- /**
148
- * A custom dropdown defined in a toolbar layout.
149
- *
150
- * @example
151
- * { dropdown: 'Format', icon: 'textB', items: ['bold', 'italic', 'underline'] }
152
- */
153
- export interface ToolbarLayoutDropdown {
154
- /** Label for the dropdown trigger */
155
- dropdown: string;
156
- /** Icon key for the dropdown trigger */
157
- icon: string;
158
- /** Item names to include as sub-items */
159
- items: string[];
160
- /** How to display items in the dropdown panel: icon + text (default), text only, or icon only. */
161
- displayMode?: 'icon-text' | 'text' | 'icon';
162
- /** When true, the trigger icon updates to reflect the active sub-item's icon. */
163
- dynamicIcon?: boolean;
164
- }
165
- /**
166
- * A single entry in a toolbar layout array.
167
- *
168
- * - `string` — item name (e.g. `'bold'`) or separator (`'|'`)
169
- * - `ToolbarLayoutDropdown` — custom dropdown grouping
170
- */
171
- export type ToolbarLayoutEntry = string | ToolbarLayoutDropdown;
172
- //# sourceMappingURL=Toolbar.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../src/types/Toolbar.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- /**
2
- * Core type definitions for @domternal/core
3
- */
4
- export type { JSONAttribute, JSONMark, JSONContent, Content, Range, } from './Content.js';
5
- export type { AnyExtension, FocusPosition, EditorOptions, } from './EditorOptions.js';
6
- export type { EditorInstance, TransactionEventProps, FocusEventProps, CreateEventProps, ContentErrorProps, PasteEventProps, DropEventProps, MountEventProps, DeleteEventProps, ErrorEventProps, EditorEvents, EditorEventName, } from './EditorEvents.js';
7
- export type { CommandEditor, CommandProps, Command, CommandSpec, CommandMap, RawCommands, SingleCommands, ChainedCommands, ChainFailure, CanCommands, CanChainedCommands, KeyboardShortcutCommand, } from './Commands.js';
8
- export type { ExtensionEditor, AnyExtensionConfig, GlobalAttributeSpec, GlobalAttributes, ExtensionConfig, } from './ExtensionConfig.js';
9
- export type { AttributeSpec, AttributeSpecs } from './AttributeSpec.js';
10
- export type { NodeParseRule, NodeRenderHTMLProps, NodeConfig, } from './NodeConfig.js';
11
- export type { MarkParseRule, MarkRenderHTMLProps, MarkConfig, } from './MarkConfig.js';
12
- export type { IconSet, ToolbarButton, ToolbarDropdown, ToolbarSeparator, ToolbarItem, ToolbarLayoutDropdown, ToolbarLayoutEntry, } from './Toolbar.js';
13
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,YAAY,EACV,aAAa,EACb,QAAQ,EACR,WAAW,EACX,OAAO,EACP,KAAK,GACN,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,YAAY,EACZ,aAAa,EACb,aAAa,GACd,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EACV,aAAa,EACb,YAAY,EACZ,OAAO,EACP,WAAW,EACX,UAAU,EACV,WAAW,EACX,cAAc,EACd,eAAe,EACf,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAGvB,YAAY,EACV,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGxE,YAAY,EACV,aAAa,EACb,mBAAmB,EACnB,UAAU,GACX,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EACV,aAAa,EACb,mBAAmB,EACnB,UAAU,GACX,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EACV,OAAO,EACP,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,cAAc,CAAC"}
@@ -1,83 +0,0 @@
1
- /**
2
- * Inline Styles Utility
3
- *
4
- * Applies inline CSS styles to serialized HTML so it renders correctly
5
- * when pasted outside the editor (email clients, CMS, Google Docs, etc.).
6
- *
7
- * Uses hardcoded light-theme defaults (same approach as Google Docs, Notion,
8
- * TinyMCE). Optionally accepts overrides for custom styling.
9
- *
10
- * Only structural styles are inlined (borders, padding, margins, fonts).
11
- * Colors are NOT inlined — explicit colors (TextColor, Highlight, cell bg)
12
- * are already inline from renderHTML, and default text color is browser default.
13
- */
14
- export interface InlineStyleOverrides {
15
- blockquoteBorder?: string;
16
- blockquoteColor?: string;
17
- tableBorder?: string;
18
- tableHeaderBg?: string;
19
- codeBg?: string;
20
- codeFont?: string;
21
- codeBorder?: string;
22
- codeBlockBg?: string;
23
- codeBlockFont?: string;
24
- hrBorder?: string;
25
- linkColor?: string;
26
- detailsBorder?: string;
27
- detailsBg?: string;
28
- /**
29
- * How to export table column widths from `data-colwidth` attributes.
30
- * - `'percent'` (default): convert to percentage widths on first-row cells
31
- * - `'pixel'`: convert to pixel widths on first-row cells, table gets fixed width
32
- * - `'none'`: leave `data-colwidth` as-is, no width styles applied
33
- */
34
- tableColumnWidths?: 'percent' | 'pixel' | 'none';
35
- /**
36
- * Optional callback to syntax-highlight code blocks.
37
- * Receives the raw text content and optional language, returns highlighted HTML
38
- * with `<span class="hljs-*">` markup (or any spans with inline styles).
39
- *
40
- * @example
41
- * ```ts
42
- * import { createLowlight, common } from 'lowlight';
43
- * import { toHtml } from 'hast-util-to-html';
44
- * const lowlight = createLowlight(common);
45
- *
46
- * inlineStyles(html, {
47
- * codeHighlighter: (code, language) => {
48
- * if (language && lowlight.registered(language)) {
49
- * return toHtml(lowlight.highlight(language, code));
50
- * }
51
- * return null; // no highlighting
52
- * },
53
- * });
54
- * ```
55
- */
56
- codeHighlighter?: (code: string, language: string | null) => string | null;
57
- }
58
- /**
59
- * Applies inline styles to all elements in a container.
60
- * Exported for use in clipboardSerializer (operates on DOM directly).
61
- */
62
- export declare function applyInlineStyles(container: HTMLElement, overrides?: InlineStyleOverrides): void;
63
- /**
64
- * Takes an HTML string and returns it with inline CSS styles applied
65
- * to all elements, so it renders correctly outside the editor.
66
- *
67
- * @param html - Serialized HTML string from editor.getHTML()
68
- * @param overrides - Optional style overrides for custom theming
69
- *
70
- * @example
71
- * ```ts
72
- * // Default light-theme styles
73
- * const styled = inlineStyles(editor.getHTML());
74
- *
75
- * // With custom overrides
76
- * const styled = inlineStyles(editor.getHTML(), {
77
- * blockquoteBorder: '5px solid red',
78
- * linkColor: '#ff6600',
79
- * });
80
- * ```
81
- */
82
- export declare function inlineStyles(html: string, overrides?: InlineStyleOverrides): string;
83
- //# sourceMappingURL=inlineStyles.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inlineStyles.d.ts","sourceRoot":"","sources":["../../src/utils/inlineStyles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;IACjD;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,MAAM,GAAG,IAAI,CAAC;CAC5E;AA0FD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAkOhG;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,oBAAoB,GAAG,MAAM,CAOnF"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=inlineStyles.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inlineStyles.test.d.ts","sourceRoot":"","sources":["../../src/utils/inlineStyles.test.ts"],"names":[],"mappings":""}
@@ -1,74 +0,0 @@
1
- /**
2
- * Thin wrapper around @floating-ui/dom for consistent floating element positioning.
3
- *
4
- * Used by BubbleMenu, FloatingMenu, Link Popover, and exposed for extension
5
- * authors building custom floating UI (emoji suggestion, slash command, etc.).
6
- */
7
- import { type Placement } from '@floating-ui/dom';
8
- export interface PositionFloatingOptions {
9
- /** Placement relative to reference. @default 'bottom' */
10
- placement?: Placement;
11
- /** Distance from reference in px. @default 4 */
12
- offsetValue?: number;
13
- /** Viewport padding for flip/shift in px. @default 10 */
14
- padding?: number;
15
- /** Track ancestor scroll events. Disable for static anchors (e.g. toolbar buttons). @default true */
16
- trackScroll?: boolean;
17
- }
18
- /**
19
- * Positions a floating element relative to a reference element or virtual rect,
20
- * and keeps it positioned on scroll, resize, and layout shifts.
21
- *
22
- * Uses `autoUpdate` from floating-ui with `animationFrame` polling for
23
- * jitter-free scroll tracking (rAF syncs with browser paint).
24
- *
25
- * Includes `hide` middleware — when the reference element is scrolled out of
26
- * view, the floating element is hidden via `visibility: hidden`.
27
- *
28
- * The floating element must have `position: fixed`.
29
- *
30
- * Returns a cleanup function. **Always call it** when hiding or destroying
31
- * the floating element to stop listeners and prevent memory leaks.
32
- *
33
- * @example
34
- * ```ts
35
- * // Start auto-positioning (follows scroll/resize)
36
- * const cleanup = positionFloating(buttonEl, dropdownEl, {
37
- * placement: 'bottom-start',
38
- * });
39
- *
40
- * // Virtual reference (e.g. cursor position — must return fresh coords)
41
- * const virtualEl = {
42
- * getBoundingClientRect: () => {
43
- * const coords = view.coordsAtPos(pos);
44
- * return new DOMRect(coords.left, coords.top, 0, coords.bottom - coords.top);
45
- * },
46
- * };
47
- * const cleanup = positionFloating(virtualEl, tooltipEl, { placement: 'top' });
48
- *
49
- * // Stop when done
50
- * cleanup();
51
- * ```
52
- */
53
- export declare function positionFloating(reference: Element | {
54
- getBoundingClientRect: () => DOMRect;
55
- }, floating: HTMLElement, options?: PositionFloatingOptions): () => void;
56
- /**
57
- * Positions a floating element using `strategy: 'absolute'` so it scrolls
58
- * together with its offsetParent — zero jitter by design.
59
- *
60
- * Ideal for dropdowns inside scroll containers (e.g. emoji suggestion inside
61
- * `.dm-editor`) and toolbar dropdowns. The absolute coordinates are stable
62
- * across scrolls — only `flip`/`shift` decisions change on scroll, producing
63
- * a discrete jump rather than continuous jitter.
64
- *
65
- * The floating element must have `position: absolute` and its offsetParent
66
- * must have `position: relative`.
67
- *
68
- * Returns a cleanup function — call it when hiding or destroying the
69
- * floating element.
70
- */
71
- export declare function positionFloatingOnce(reference: Element | {
72
- getBoundingClientRect: () => DOMRect;
73
- }, floating: HTMLElement, options?: PositionFloatingOptions): () => void;
74
- //# sourceMappingURL=positionFloating.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"positionFloating.d.ts","sourceRoot":"","sources":["../../src/utils/positionFloating.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,uBAAuB;IACtC,yDAAyD;IACzD,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qGAAqG;IACrG,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,OAAO,GAAG;IAAE,qBAAqB,EAAE,MAAM,OAAO,CAAA;CAAE,EAC7D,QAAQ,EAAE,WAAW,EACrB,OAAO,CAAC,EAAE,uBAAuB,GAChC,MAAM,IAAI,CA+CZ;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,OAAO,GAAG;IAAE,qBAAqB,EAAE,MAAM,OAAO,CAAA;CAAE,EAC7D,QAAQ,EAAE,WAAW,EACrB,OAAO,CAAC,EAAE,uBAAuB,GAChC,MAAM,IAAI,CAmCZ"}