@prosekit/extensions 0.13.0 → 0.14.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 (311) hide show
  1. package/dist/{drop-indicator-B1QHFb5m.js → drop-indicator-B_oMfeVP.js} +11 -10
  2. package/dist/drop-indicator-B_oMfeVP.js.map +1 -0
  3. package/dist/{enter-rule-CzWOZF_Z.js → enter-rule-D-p4ykfv.js} +1 -1
  4. package/dist/enter-rule-D-p4ykfv.js.map +1 -0
  5. package/dist/{file-DrfcSid-.js → file-iLVR0eM0.js} +3 -3
  6. package/dist/file-iLVR0eM0.js.map +1 -0
  7. package/dist/{index-oIc1a2f2.d.ts → index-cp1u4e0e.d.ts} +1 -1
  8. package/dist/index-cp1u4e0e.d.ts.map +1 -0
  9. package/dist/{input-rule-dmsb3j6w.js → input-rule-COGr_GBb.js} +1 -1
  10. package/dist/input-rule-COGr_GBb.js.map +1 -0
  11. package/dist/{mark-rule-BcLB4Uv2.js → mark-rule-CYe8zk4q.js} +6 -6
  12. package/dist/mark-rule-CYe8zk4q.js.map +1 -0
  13. package/dist/{paste-rule-pVb4sqvJ.js → paste-rule-BaDghcaU.js} +7 -7
  14. package/dist/paste-rule-BaDghcaU.js.map +1 -0
  15. package/dist/prosekit-extensions-autocomplete.d.ts.map +1 -1
  16. package/dist/prosekit-extensions-autocomplete.js.map +1 -1
  17. package/dist/prosekit-extensions-background-color.d.ts +62 -0
  18. package/dist/prosekit-extensions-background-color.d.ts.map +1 -0
  19. package/dist/prosekit-extensions-background-color.js +76 -0
  20. package/dist/prosekit-extensions-background-color.js.map +1 -0
  21. package/dist/prosekit-extensions-blockquote.d.ts.map +1 -1
  22. package/dist/prosekit-extensions-blockquote.js +1 -1
  23. package/dist/prosekit-extensions-blockquote.js.map +1 -1
  24. package/dist/prosekit-extensions-bold.d.ts.map +1 -1
  25. package/dist/prosekit-extensions-bold.js +1 -1
  26. package/dist/prosekit-extensions-bold.js.map +1 -1
  27. package/dist/prosekit-extensions-code-block.d.ts +1 -1
  28. package/dist/prosekit-extensions-code-block.d.ts.map +1 -1
  29. package/dist/prosekit-extensions-code-block.js +4 -4
  30. package/dist/prosekit-extensions-code-block.js.map +1 -1
  31. package/dist/prosekit-extensions-code.d.ts.map +1 -1
  32. package/dist/prosekit-extensions-code.js +1 -1
  33. package/dist/prosekit-extensions-code.js.map +1 -1
  34. package/dist/prosekit-extensions-commit.d.ts +0 -1
  35. package/dist/prosekit-extensions-commit.d.ts.map +1 -1
  36. package/dist/prosekit-extensions-commit.js.map +1 -1
  37. package/dist/prosekit-extensions-doc.d.ts +0 -1
  38. package/dist/prosekit-extensions-doc.d.ts.map +1 -1
  39. package/dist/prosekit-extensions-doc.js.map +1 -1
  40. package/dist/prosekit-extensions-drop-cursor.d.ts.map +1 -1
  41. package/dist/prosekit-extensions-drop-cursor.js.map +1 -1
  42. package/dist/prosekit-extensions-drop-indicator.d.ts +0 -1
  43. package/dist/prosekit-extensions-drop-indicator.d.ts.map +1 -1
  44. package/dist/prosekit-extensions-drop-indicator.js +1 -1
  45. package/dist/prosekit-extensions-enter-rule.d.ts +0 -1
  46. package/dist/prosekit-extensions-enter-rule.d.ts.map +1 -1
  47. package/dist/prosekit-extensions-enter-rule.js +1 -1
  48. package/dist/prosekit-extensions-file.d.ts +1 -1
  49. package/dist/prosekit-extensions-file.js +1 -1
  50. package/dist/prosekit-extensions-gap-cursor.d.ts +0 -1
  51. package/dist/prosekit-extensions-gap-cursor.d.ts.map +1 -1
  52. package/dist/prosekit-extensions-gap-cursor.js.map +1 -1
  53. package/dist/prosekit-extensions-hard-break.d.ts.map +1 -1
  54. package/dist/prosekit-extensions-hard-break.js.map +1 -1
  55. package/dist/prosekit-extensions-heading.d.ts.map +1 -1
  56. package/dist/prosekit-extensions-heading.js +1 -1
  57. package/dist/prosekit-extensions-heading.js.map +1 -1
  58. package/dist/prosekit-extensions-horizontal-rule.d.ts.map +1 -1
  59. package/dist/prosekit-extensions-horizontal-rule.js +1 -1
  60. package/dist/prosekit-extensions-horizontal-rule.js.map +1 -1
  61. package/dist/prosekit-extensions-image.d.ts +9 -2
  62. package/dist/prosekit-extensions-image.d.ts.map +1 -1
  63. package/dist/prosekit-extensions-image.js +17 -4
  64. package/dist/prosekit-extensions-image.js.map +1 -1
  65. package/dist/prosekit-extensions-input-rule.d.ts +0 -1
  66. package/dist/prosekit-extensions-input-rule.d.ts.map +1 -1
  67. package/dist/prosekit-extensions-input-rule.js +1 -1
  68. package/dist/prosekit-extensions-italic.d.ts.map +1 -1
  69. package/dist/prosekit-extensions-italic.js +1 -1
  70. package/dist/prosekit-extensions-italic.js.map +1 -1
  71. package/dist/prosekit-extensions-link.d.ts +0 -1
  72. package/dist/prosekit-extensions-link.d.ts.map +1 -1
  73. package/dist/prosekit-extensions-link.js +4 -4
  74. package/dist/prosekit-extensions-link.js.map +1 -1
  75. package/dist/prosekit-extensions-list.d.ts +0 -1
  76. package/dist/prosekit-extensions-list.d.ts.map +1 -1
  77. package/dist/prosekit-extensions-list.js +3 -3
  78. package/dist/prosekit-extensions-list.js.map +1 -1
  79. package/dist/prosekit-extensions-loro.d.ts.map +1 -1
  80. package/dist/prosekit-extensions-loro.js +2 -2
  81. package/dist/prosekit-extensions-loro.js.map +1 -1
  82. package/dist/prosekit-extensions-mark-rule.d.ts +0 -1
  83. package/dist/prosekit-extensions-mark-rule.d.ts.map +1 -1
  84. package/dist/prosekit-extensions-mark-rule.js +1 -1
  85. package/dist/prosekit-extensions-mention.d.ts.map +1 -1
  86. package/dist/prosekit-extensions-mention.js.map +1 -1
  87. package/dist/prosekit-extensions-mod-click-prevention.d.ts +0 -1
  88. package/dist/prosekit-extensions-mod-click-prevention.d.ts.map +1 -1
  89. package/dist/prosekit-extensions-mod-click-prevention.js.map +1 -1
  90. package/dist/prosekit-extensions-paragraph.d.ts.map +1 -1
  91. package/dist/prosekit-extensions-paragraph.js.map +1 -1
  92. package/dist/prosekit-extensions-paste-rule.d.ts +0 -1
  93. package/dist/prosekit-extensions-paste-rule.d.ts.map +1 -1
  94. package/dist/prosekit-extensions-paste-rule.js +1 -1
  95. package/dist/prosekit-extensions-placeholder.d.ts.map +1 -1
  96. package/dist/prosekit-extensions-placeholder.js +1 -1
  97. package/dist/prosekit-extensions-placeholder.js.map +1 -1
  98. package/dist/prosekit-extensions-readonly.d.ts +0 -1
  99. package/dist/prosekit-extensions-readonly.d.ts.map +1 -1
  100. package/dist/prosekit-extensions-readonly.js.map +1 -1
  101. package/dist/prosekit-extensions-search.d.ts +0 -1
  102. package/dist/prosekit-extensions-search.d.ts.map +1 -1
  103. package/dist/prosekit-extensions-search.js.map +1 -1
  104. package/dist/prosekit-extensions-strike.d.ts +0 -1
  105. package/dist/prosekit-extensions-strike.d.ts.map +1 -1
  106. package/dist/prosekit-extensions-strike.js +1 -1
  107. package/dist/prosekit-extensions-table.d.ts.map +1 -1
  108. package/dist/prosekit-extensions-table.js +1 -1
  109. package/dist/prosekit-extensions-text-align.d.ts +0 -1
  110. package/dist/prosekit-extensions-text-align.d.ts.map +1 -1
  111. package/dist/prosekit-extensions-text-align.js +2 -2
  112. package/dist/prosekit-extensions-text-align.js.map +1 -1
  113. package/dist/prosekit-extensions-text-color.d.ts +62 -0
  114. package/dist/prosekit-extensions-text-color.d.ts.map +1 -0
  115. package/dist/prosekit-extensions-text-color.js +76 -0
  116. package/dist/prosekit-extensions-text-color.js.map +1 -0
  117. package/dist/prosekit-extensions-text.d.ts +0 -1
  118. package/dist/prosekit-extensions-text.d.ts.map +1 -1
  119. package/dist/prosekit-extensions-text.js.map +1 -1
  120. package/dist/prosekit-extensions-underline.d.ts +0 -1
  121. package/dist/prosekit-extensions-underline.d.ts.map +1 -1
  122. package/dist/prosekit-extensions-virtual-selection.d.ts +0 -1
  123. package/dist/prosekit-extensions-virtual-selection.d.ts.map +1 -1
  124. package/dist/prosekit-extensions-virtual-selection.js.map +1 -1
  125. package/dist/prosekit-extensions-yjs.d.ts +9 -2
  126. package/dist/prosekit-extensions-yjs.d.ts.map +1 -1
  127. package/dist/prosekit-extensions-yjs.js.map +1 -1
  128. package/dist/{shiki-highlighter-chunk-rkzofy4z.d.ts → shiki-highlighter-chunk-DNNm2Vow.d.ts} +1 -1
  129. package/dist/shiki-highlighter-chunk-DNNm2Vow.d.ts.map +1 -0
  130. package/dist/shiki-highlighter-chunk.d.ts +1 -1
  131. package/dist/shiki-highlighter-chunk.js.map +1 -1
  132. package/dist/{table-BRDh_9mG.js → table-4oHfV-Ql.js} +2 -2
  133. package/dist/table-4oHfV-Ql.js.map +1 -0
  134. package/package.json +28 -14
  135. package/src/autocomplete/autocomplete-helpers.ts +1 -5
  136. package/src/autocomplete/autocomplete-plugin.ts +3 -13
  137. package/src/autocomplete/autocomplete.spec.ts +4 -19
  138. package/src/autocomplete/autocomplete.ts +1 -7
  139. package/src/background-color/background-color-commands.spec.ts +71 -0
  140. package/src/background-color/background-color-commands.ts +35 -0
  141. package/src/background-color/background-color-spec.spec.ts +286 -0
  142. package/src/background-color/background-color-spec.ts +58 -0
  143. package/src/background-color/background-color.ts +21 -0
  144. package/src/background-color/index.ts +8 -0
  145. package/src/blockquote/blockquote-commands.ts +1 -7
  146. package/src/blockquote/blockquote-keymap.spec.ts +1 -5
  147. package/src/blockquote/blockquote-keymap.ts +1 -6
  148. package/src/blockquote/blockquote-spec.ts +1 -4
  149. package/src/blockquote/blockquote.ts +3 -12
  150. package/src/blockquote/index.ts +3 -12
  151. package/src/bold/bold-commands.ts +1 -5
  152. package/src/bold/bold-input-rule.spec.ts +1 -5
  153. package/src/bold/bold-input-rule.ts +1 -4
  154. package/src/bold/bold-keymap.ts +1 -5
  155. package/src/bold/bold-spec.ts +1 -4
  156. package/src/bold/bold.ts +3 -12
  157. package/src/bold/index.ts +3 -12
  158. package/src/code/code-commands.ts +1 -5
  159. package/src/code/code-input-rule.ts +1 -4
  160. package/src/code/code-keymap.ts +1 -5
  161. package/src/code/code-spec.ts +1 -4
  162. package/src/code/code.ts +3 -12
  163. package/src/code/index.ts +3 -12
  164. package/src/code-block/code-block-commands.ts +1 -8
  165. package/src/code-block/code-block-highlight.ts +2 -8
  166. package/src/code-block/code-block-keymap.ts +2 -9
  167. package/src/code-block/code-block-shiki.ts +1 -4
  168. package/src/code-block/code-block-spec.spec.ts +4 -11
  169. package/src/code-block/code-block-spec.ts +1 -4
  170. package/src/code-block/code-block.ts +4 -16
  171. package/src/code-block/index.ts +5 -21
  172. package/src/code-block/shiki-highlighter-chunk.ts +1 -7
  173. package/src/code-block/shiki-highlighter.ts +1 -4
  174. package/src/code-block/shiki-parser.ts +1 -4
  175. package/src/commit/index.ts +6 -35
  176. package/src/doc/index.ts +1 -4
  177. package/src/drop-cursor/drop-cursor.ts +1 -4
  178. package/src/drop-cursor/index.ts +1 -5
  179. package/src/drop-indicator/drop-indicator-facet.ts +12 -21
  180. package/src/drop-indicator/index.ts +1 -5
  181. package/src/enter-rule/index.ts +2 -11
  182. package/src/file/file-paste-handler.spec.ts +3 -16
  183. package/src/file/index.ts +3 -16
  184. package/src/gap-cursor/gap-cursor.ts +1 -4
  185. package/src/gap-cursor/index.ts +1 -4
  186. package/src/hard-break/hard-break-commands.ts +1 -5
  187. package/src/hard-break/hard-break-keymap.spec.ts +1 -5
  188. package/src/hard-break/hard-break-keymap.ts +1 -4
  189. package/src/hard-break/hard-break-spec.ts +1 -4
  190. package/src/hard-break/hard-break.ts +3 -12
  191. package/src/hard-break/index.ts +3 -12
  192. package/src/heading/heading-commands.ts +1 -7
  193. package/src/heading/heading-keymap.spec.ts +1 -5
  194. package/src/heading/heading-keymap.ts +1 -8
  195. package/src/heading/heading-spec.ts +1 -4
  196. package/src/heading/heading.ts +3 -12
  197. package/src/heading/index.ts +3 -12
  198. package/src/horizontal-rule/horizontal-rule-commands.spec.ts +1 -5
  199. package/src/horizontal-rule/horizontal-rule-commands.ts +2 -9
  200. package/src/horizontal-rule/horizontal-rule-input-rule.spec.ts +5 -9
  201. package/src/horizontal-rule/horizontal-rule-input-rule.ts +1 -5
  202. package/src/horizontal-rule/horizontal-rule-spec.ts +1 -4
  203. package/src/horizontal-rule/horizontal-rule.ts +3 -12
  204. package/src/horizontal-rule/index.ts +3 -13
  205. package/src/image/image-commands/upload-image.spec.ts +245 -0
  206. package/src/image/image-commands/upload-image.ts +46 -11
  207. package/src/image/image-commands.ts +2 -8
  208. package/src/image/image-spec.ts +1 -4
  209. package/src/image/image-upload-handler.ts +2 -8
  210. package/src/image/image.ts +3 -12
  211. package/src/image/index.ts +3 -13
  212. package/src/input-rule/index.ts +2 -13
  213. package/src/italic/index.ts +3 -12
  214. package/src/italic/italic-commands.spec.ts +2 -10
  215. package/src/italic/italic-commands.ts +1 -5
  216. package/src/italic/italic-input-rule.spec.ts +1 -5
  217. package/src/italic/italic-input-rule.ts +1 -4
  218. package/src/italic/italic-keymap.ts +1 -5
  219. package/src/italic/italic-spec.ts +1 -4
  220. package/src/italic/italic.ts +3 -12
  221. package/src/link/index.spec.ts +1 -5
  222. package/src/link/index.ts +1 -5
  223. package/src/link/link-paste-rule.spec.ts +2 -9
  224. package/src/link/link-regex.spec.ts +1 -5
  225. package/src/list/index.ts +3 -12
  226. package/src/list/list-commands.ts +1 -5
  227. package/src/list/list-input-rules.ts +1 -4
  228. package/src/list/list-keymap.spec.ts +1 -5
  229. package/src/list/list-keymap.ts +2 -8
  230. package/src/list/list-plugins.ts +1 -4
  231. package/src/list/list-serializer.ts +2 -9
  232. package/src/list/list-spec.ts +3 -13
  233. package/src/list/list.spec.ts +10 -21
  234. package/src/list/list.ts +3 -12
  235. package/src/loro/index.ts +3 -13
  236. package/src/loro/loro-commands.ts +2 -8
  237. package/src/loro/loro-cursor-plugin.ts +3 -13
  238. package/src/loro/loro-keymap.ts +2 -10
  239. package/src/loro/loro-sync-plugin.ts +2 -8
  240. package/src/loro/loro-undo-plugin.ts +2 -8
  241. package/src/loro/loro.ts +2 -11
  242. package/src/mark-rule/apply.ts +3 -13
  243. package/src/mark-rule/mark-rule.spec.ts +2 -13
  244. package/src/mark-rule/mark-rule.ts +2 -13
  245. package/src/mark-rule/range.ts +2 -8
  246. package/src/mark-rule/types.ts +1 -4
  247. package/src/mention/index.ts +1 -8
  248. package/src/mod-click-prevention/index.ts +2 -9
  249. package/src/paragraph/paragraph-commands.ts +1 -5
  250. package/src/paragraph/paragraph-keymap.ts +1 -4
  251. package/src/paragraph/paragraph-spec.ts +1 -4
  252. package/src/paragraph/paragraph.ts +3 -14
  253. package/src/paste-rule/index.ts +2 -10
  254. package/src/paste-rule/mark-paste-rule.spec.ts +3 -13
  255. package/src/paste-rule/mark-paste-rule.ts +4 -14
  256. package/src/paste-rule/paste-rule-plugin.ts +2 -11
  257. package/src/paste-rule/paste-rule.spec.ts +4 -19
  258. package/src/paste-rule/split-text-by-regex.spec.ts +1 -5
  259. package/src/placeholder/index.ts +3 -16
  260. package/src/readonly/index.ts +2 -8
  261. package/src/search/index.ts +1 -6
  262. package/src/table/index.ts +10 -40
  263. package/src/table/table-commands/delete-cell-selection.spec.ts +1 -5
  264. package/src/table/table-commands/exit-table.spec.ts +1 -5
  265. package/src/table/table-commands/insert-table.spec.ts +1 -5
  266. package/src/table/table-commands/insert-table.ts +1 -4
  267. package/src/table/table-commands/move-table-column.spec.ts +1 -5
  268. package/src/table/table-commands/move-table-column.ts +1 -4
  269. package/src/table/table-commands/move-table-row.spec.ts +1 -5
  270. package/src/table/table-commands/move-table-row.ts +1 -4
  271. package/src/table/table-commands/select-table-cell.spec.ts +1 -5
  272. package/src/table/table-commands/select-table-column.spec.ts +1 -5
  273. package/src/table/table-commands/select-table-row.spec.ts +1 -5
  274. package/src/table/table-commands/select-table.spec.ts +1 -5
  275. package/src/table/table-commands/select-table.ts +1 -4
  276. package/src/table/table-commands.ts +8 -32
  277. package/src/table/table-plugins.ts +2 -8
  278. package/src/table/table-spec.spec.ts +2 -11
  279. package/src/table/table-spec.ts +2 -8
  280. package/src/table/table-utils.ts +2 -6
  281. package/src/table/table.ts +2 -8
  282. package/src/table/test-utils.ts +1 -4
  283. package/src/testing/clipboard.ts +1 -2
  284. package/src/testing/index.ts +7 -12
  285. package/src/text/index.ts +1 -4
  286. package/src/text-align/index.ts +2 -2
  287. package/src/text-color/index.ts +3 -0
  288. package/src/text-color/text-color-commands.spec.ts +71 -0
  289. package/src/text-color/text-color-commands.ts +35 -0
  290. package/src/text-color/text-color-spec.spec.ts +297 -0
  291. package/src/text-color/text-color-spec.ts +58 -0
  292. package/src/text-color/text-color.ts +21 -0
  293. package/src/virtual-selection/index.ts +3 -14
  294. package/src/yjs/index.ts +5 -20
  295. package/src/yjs/yjs-commands.ts +2 -8
  296. package/src/yjs/yjs-cursor-plugin.ts +3 -5
  297. package/src/yjs/yjs-keymap.ts +2 -10
  298. package/src/yjs/yjs-sync-plugin.ts +1 -4
  299. package/src/yjs/yjs-types.ts +10 -0
  300. package/src/yjs/yjs-undo-plugin.ts +2 -8
  301. package/src/yjs/yjs.ts +6 -24
  302. package/dist/drop-indicator-B1QHFb5m.js.map +0 -1
  303. package/dist/enter-rule-CzWOZF_Z.js.map +0 -1
  304. package/dist/file-DrfcSid-.js.map +0 -1
  305. package/dist/index-oIc1a2f2.d.ts.map +0 -1
  306. package/dist/input-rule-dmsb3j6w.js.map +0 -1
  307. package/dist/mark-rule-BcLB4Uv2.js.map +0 -1
  308. package/dist/paste-rule-pVb4sqvJ.js.map +0 -1
  309. package/dist/shiki-highlighter-chunk-rkzofy4z.d.ts.map +0 -1
  310. package/dist/table-BRDh_9mG.js.map +0 -1
  311. package/src/testing/format-html.ts +0 -5
@@ -1,11 +1,5 @@
1
- import {
2
- defineKeymap,
3
- type PlainExtension,
4
- } from '@prosekit/core'
5
- import {
6
- chainCommands,
7
- deleteSelection,
8
- } from '@prosekit/pm/commands'
1
+ import { defineKeymap, type PlainExtension } from '@prosekit/core'
2
+ import { chainCommands, deleteSelection } from '@prosekit/pm/commands'
9
3
  import {
10
4
  createDedentListCommand,
11
5
  createIndentListCommand,
@@ -1,7 +1,4 @@
1
- import {
2
- definePlugin,
3
- type PlainExtension,
4
- } from '@prosekit/core'
1
+ import { definePlugin, type PlainExtension } from '@prosekit/core'
5
2
  import { Plugin } from '@prosekit/pm/state'
6
3
  import {
7
4
  createListEventPlugin,
@@ -1,13 +1,6 @@
1
1
  import { isElementLike } from '@ocavue/utils'
2
- import {
3
- defineClipboardSerializer,
4
- type PlainExtension,
5
- } from '@prosekit/core'
6
- import {
7
- findCheckboxInListItem,
8
- joinListElements,
9
- listToDOM,
10
- } from 'prosemirror-flat-list'
2
+ import { defineClipboardSerializer, type PlainExtension } from '@prosekit/core'
3
+ import { findCheckboxInListItem, joinListElements, listToDOM } from 'prosemirror-flat-list'
11
4
 
12
5
  /**
13
6
  * @internal
@@ -1,16 +1,6 @@
1
- import {
2
- defineNodeSpec,
3
- type Extension,
4
- } from '@prosekit/core'
5
- import type {
6
- DOMOutputSpec,
7
- ProseMirrorNode,
8
- } from '@prosekit/pm/model'
9
- import {
10
- createListSpec,
11
- listToDOM,
12
- type ListAttributes,
13
- } from 'prosemirror-flat-list'
1
+ import { defineNodeSpec, type Extension } from '@prosekit/core'
2
+ import type { DOMOutputSpec, ProseMirrorNode } from '@prosekit/pm/model'
3
+ import { createListSpec, listToDOM, type ListAttributes } from 'prosemirror-flat-list'
14
4
 
15
5
  import type { ListAttrs } from './list-types'
16
6
 
@@ -1,23 +1,12 @@
1
- import {
2
- createEditor,
3
- nodeFromHTML,
4
- union,
5
- } from '@prosekit/core'
1
+ import { createEditor, nodeFromHTML, union } from '@prosekit/core'
6
2
  import type { ProseMirrorNode } from '@prosekit/pm/model'
7
- import {
8
- describe,
9
- expect,
10
- it,
11
- } from 'vitest'
3
+ import { formatHTML } from 'diffable-html-snapshot'
4
+ import { describe, expect, it } from 'vitest'
12
5
 
13
6
  import { defineDoc } from '../doc'
14
7
  import { defineParagraph } from '../paragraph'
15
8
  import { setupTest } from '../testing'
16
- import { formatHTML } from '../testing/format-html'
17
- import {
18
- htmlFromMarkdown,
19
- markdownFromHTML,
20
- } from '../testing/markdown'
9
+ import { htmlFromMarkdown, markdownFromHTML } from '../testing/markdown'
21
10
  import { defineText } from '../text'
22
11
 
23
12
  import { defineList } from './index'
@@ -118,13 +107,13 @@ describe('defineList', () => {
118
107
  <ul data-pm-slice="0 0 []">
119
108
  <li
120
109
  class="prosemirror-flat-list"
121
- data-list-kind="task"
122
110
  data-list-checked
111
+ data-list-kind="task"
123
112
  >
124
113
  <p>
125
114
  <input
126
- type="checkbox"
127
115
  checked
116
+ type="checkbox"
128
117
  >
129
118
  Checked 1
130
119
  </p>
@@ -182,13 +171,13 @@ describe('defineList', () => {
182
171
  <ul>
183
172
  <li
184
173
  class="prosemirror-flat-list"
185
- data-list-kind="task"
186
174
  data-list-checked
175
+ data-list-kind="task"
187
176
  >
188
177
  <p>
189
178
  <input
190
- type="checkbox"
191
179
  checked
180
+ type="checkbox"
192
181
  >
193
182
  Checked
194
183
  </p>
@@ -237,9 +226,9 @@ describe('defineList', () => {
237
226
  <li class="task-list-item">
238
227
  <p>
239
228
  <input
240
- type="checkbox"
241
229
  checked
242
230
  disabled
231
+ type="checkbox"
243
232
  >
244
233
  Checked
245
234
  </p>
@@ -247,8 +236,8 @@ describe('defineList', () => {
247
236
  <li class="task-list-item">
248
237
  <p>
249
238
  <input
250
- type="checkbox"
251
239
  disabled
240
+ type="checkbox"
252
241
  >
253
242
  Unchecked
254
243
  </p>
package/src/list/list.ts CHANGED
@@ -1,21 +1,12 @@
1
- import {
2
- union,
3
- type Union,
4
- } from '@prosekit/core'
1
+ import { union, type Union } from '@prosekit/core'
5
2
 
6
- import {
7
- defineListCommands,
8
- type ListCommandsExtension,
9
- } from './list-commands'
3
+ import { defineListCommands, type ListCommandsExtension } from './list-commands'
10
4
  import { defineListDropIndicator } from './list-drop-indicator'
11
5
  import { defineListInputRules } from './list-input-rules'
12
6
  import { defineListKeymap } from './list-keymap'
13
7
  import { defineListPlugins } from './list-plugins'
14
8
  import { defineListSerializer } from './list-serializer'
15
- import {
16
- defineListSpec,
17
- type ListSpecExtension,
18
- } from './list-spec'
9
+ import { defineListSpec, type ListSpecExtension } from './list-spec'
19
10
 
20
11
  /**
21
12
  * @internal
package/src/loro/index.ts CHANGED
@@ -1,17 +1,7 @@
1
- export type {
2
- LoroSyncPluginProps,
3
- LoroUndoPluginProps,
4
- } from 'loro-prosemirror'
5
- export {
6
- defineLoro,
7
- type LoroExtension,
8
- type LoroOptions,
9
- } from './loro'
1
+ export type { LoroSyncPluginProps, LoroUndoPluginProps } from 'loro-prosemirror'
2
+ export { defineLoro, type LoroExtension, type LoroOptions } from './loro'
10
3
  export { defineLoroCommands } from './loro-commands'
11
- export {
12
- defineLoroCursorPlugin,
13
- type LoroCursorOptions,
14
- } from './loro-cursor-plugin'
4
+ export { defineLoroCursorPlugin, type LoroCursorOptions } from './loro-cursor-plugin'
15
5
  export { defineLoroKeymap } from './loro-keymap'
16
6
  export { defineLoroSyncPlugin } from './loro-sync-plugin'
17
7
  export { defineLoroUndoPlugin } from './loro-undo-plugin'
@@ -1,11 +1,5 @@
1
- import {
2
- defineCommands,
3
- type Extension,
4
- } from '@prosekit/core'
5
- import {
6
- redo,
7
- undo,
8
- } from 'loro-prosemirror'
1
+ import { defineCommands, type Extension } from '@prosekit/core'
2
+ import { redo, undo } from 'loro-prosemirror'
9
3
 
10
4
  const commands = {
11
5
  undo: () => undo,
@@ -1,17 +1,7 @@
1
- import {
2
- definePlugin,
3
- type PlainExtension,
4
- } from '@prosekit/core'
1
+ import { definePlugin, type PlainExtension } from '@prosekit/core'
5
2
  import type { Plugin } from '@prosekit/pm/state'
6
- import type {
7
- CursorAwareness,
8
- CursorEphemeralStore,
9
- CursorPluginOptions,
10
- } from 'loro-prosemirror'
11
- import {
12
- LoroCursorPlugin,
13
- LoroEphemeralCursorPlugin,
14
- } from 'loro-prosemirror'
3
+ import type { CursorAwareness, CursorEphemeralStore, CursorPluginOptions } from 'loro-prosemirror'
4
+ import { LoroCursorPlugin, LoroEphemeralCursorPlugin } from 'loro-prosemirror'
15
5
 
16
6
  export interface LoroCursorOptions extends CursorPluginOptions {
17
7
  awareness?: CursorAwareness
@@ -1,13 +1,5 @@
1
- import {
2
- defineKeymap,
3
- isApple,
4
- type Keymap,
5
- type PlainExtension,
6
- } from '@prosekit/core'
7
- import {
8
- redo,
9
- undo,
10
- } from 'loro-prosemirror'
1
+ import { defineKeymap, isApple, type Keymap, type PlainExtension } from '@prosekit/core'
2
+ import { redo, undo } from 'loro-prosemirror'
11
3
 
12
4
  const keymap: Keymap = {
13
5
  'Mod-z': undo,
@@ -1,11 +1,5 @@
1
- import {
2
- definePlugin,
3
- type PlainExtension,
4
- } from '@prosekit/core'
5
- import {
6
- LoroSyncPlugin,
7
- type LoroSyncPluginProps,
8
- } from 'loro-prosemirror'
1
+ import { definePlugin, type PlainExtension } from '@prosekit/core'
2
+ import { LoroSyncPlugin, type LoroSyncPluginProps } from 'loro-prosemirror'
9
3
 
10
4
  export function defineLoroSyncPlugin(
11
5
  options: LoroSyncPluginProps,
@@ -1,11 +1,5 @@
1
- import {
2
- definePlugin,
3
- type PlainExtension,
4
- } from '@prosekit/core'
5
- import {
6
- LoroUndoPlugin,
7
- type LoroUndoPluginProps,
8
- } from 'loro-prosemirror'
1
+ import { definePlugin, type PlainExtension } from '@prosekit/core'
2
+ import { LoroUndoPlugin, type LoroUndoPluginProps } from 'loro-prosemirror'
9
3
 
10
4
  export function defineLoroUndoPlugin(options: LoroUndoPluginProps): PlainExtension {
11
5
  return definePlugin(LoroUndoPlugin(options))
package/src/loro/loro.ts CHANGED
@@ -1,10 +1,4 @@
1
- import {
2
- Priority,
3
- union,
4
- withPriority,
5
- type PlainExtension,
6
- type Union,
7
- } from '@prosekit/core'
1
+ import { Priority, union, withPriority, type PlainExtension, type Union } from '@prosekit/core'
8
2
  import type {
9
3
  CursorAwareness,
10
4
  CursorEphemeralStore,
@@ -14,10 +8,7 @@ import type {
14
8
  LoroUndoPluginProps,
15
9
  } from 'loro-prosemirror'
16
10
 
17
- import {
18
- defineLoroCommands,
19
- type LoroCommandsExtension,
20
- } from './loro-commands'
11
+ import { defineLoroCommands, type LoroCommandsExtension } from './loro-commands'
21
12
  import { defineLoroCursorPlugin } from './loro-cursor-plugin'
22
13
  import { defineLoroKeymap } from './loro-keymap'
23
14
  import { defineLoroSyncPlugin } from './loro-sync-plugin'
@@ -1,16 +1,6 @@
1
- import {
2
- getMarkType,
3
- maybeRun,
4
- OBJECT_REPLACEMENT_CHARACTER,
5
- } from '@prosekit/core'
6
- import type {
7
- Mark,
8
- ProseMirrorNode,
9
- } from '@prosekit/pm/model'
10
- import type {
11
- EditorState,
12
- Transaction,
13
- } from '@prosekit/pm/state'
1
+ import { getMarkType, maybeRun, OBJECT_REPLACEMENT_CHARACTER } from '@prosekit/core'
2
+ import type { Mark, ProseMirrorNode } from '@prosekit/pm/model'
3
+ import type { EditorState, Transaction } from '@prosekit/pm/state'
14
4
 
15
5
  import { getCheckRanges } from './range'
16
6
  import type { MarkRuleOptions } from './types'
@@ -1,17 +1,6 @@
1
- import {
2
- createEditor,
3
- defineBaseCommands,
4
- defineMarkSpec,
5
- elementFromNode,
6
- union,
7
- type Editor,
8
- } from '@prosekit/core'
1
+ import { createEditor, defineBaseCommands, defineMarkSpec, elementFromNode, union, type Editor } from '@prosekit/core'
9
2
  import type { ProseMirrorNode } from '@prosekit/pm/model'
10
- import {
11
- describe,
12
- expect,
13
- it,
14
- } from 'vitest'
3
+ import { describe, expect, it } from 'vitest'
15
4
 
16
5
  import { defineDoc } from '../doc'
17
6
  import { defineParagraph } from '../paragraph'
@@ -1,16 +1,5 @@
1
- import {
2
- defineFacet,
3
- defineFacetPayload,
4
- pluginFacet,
5
- type PlainExtension,
6
- type PluginPayload,
7
- } from '@prosekit/core'
8
- import {
9
- PluginKey,
10
- ProseMirrorPlugin,
11
- type EditorState,
12
- type Transaction,
13
- } from '@prosekit/pm/state'
1
+ import { defineFacet, defineFacetPayload, pluginFacet, type PlainExtension, type PluginPayload } from '@prosekit/core'
2
+ import { PluginKey, ProseMirrorPlugin, type EditorState, type Transaction } from '@prosekit/pm/state'
14
3
 
15
4
  import { applyMarkRules } from './apply'
16
5
  import type { MarkRuleOptions } from './types'
@@ -1,11 +1,5 @@
1
- import type {
2
- ProseMirrorNode,
3
- ResolvedPos,
4
- } from '@prosekit/pm/model'
5
- import type {
6
- EditorState,
7
- Transaction,
8
- } from '@prosekit/pm/state'
1
+ import type { ProseMirrorNode, ResolvedPos } from '@prosekit/pm/model'
2
+ import type { EditorState, Transaction } from '@prosekit/pm/state'
9
3
  import type { ProsemirrorNode } from 'prosemirror-flat-list'
10
4
 
11
5
  function getSpanTextRanges($from: ResolvedPos, $to: ResolvedPos) {
@@ -1,7 +1,4 @@
1
- import type {
2
- Attrs,
3
- MarkType,
4
- } from '@prosekit/pm/model'
1
+ import type { Attrs, MarkType } from '@prosekit/pm/model'
5
2
 
6
3
  /**
7
4
  * The options for {@link defineMarkRule}.
@@ -1,11 +1,4 @@
1
- import {
2
- defineCommands,
3
- defineNodeSpec,
4
- insertNode,
5
- union,
6
- type Extension,
7
- type Union,
8
- } from '@prosekit/core'
1
+ import { defineCommands, defineNodeSpec, insertNode, union, type Extension, type Union } from '@prosekit/core'
9
2
 
10
3
  export interface MentionAttrs {
11
4
  id: string
@@ -1,12 +1,5 @@
1
- import {
2
- definePlugin,
3
- isApple,
4
- type PlainExtension,
5
- } from '@prosekit/core'
6
- import {
7
- Plugin,
8
- PluginKey,
9
- } from '@prosekit/pm/state'
1
+ import { definePlugin, isApple, type PlainExtension } from '@prosekit/core'
2
+ import { Plugin, PluginKey } from '@prosekit/pm/state'
10
3
  import type { EditorView } from '@prosekit/pm/view'
11
4
 
12
5
  /**
@@ -1,8 +1,4 @@
1
- import {
2
- defineCommands,
3
- setBlockType,
4
- type Extension,
5
- } from '@prosekit/core'
1
+ import { defineCommands, setBlockType, type Extension } from '@prosekit/core'
6
2
  import type { Command } from '@prosekit/pm/state'
7
3
 
8
4
  /**
@@ -1,7 +1,4 @@
1
- import {
2
- defineKeymap,
3
- type PlainExtension,
4
- } from '@prosekit/core'
1
+ import { defineKeymap, type PlainExtension } from '@prosekit/core'
5
2
 
6
3
  import { setParagraph } from './paragraph-commands'
7
4
 
@@ -1,7 +1,4 @@
1
- import {
2
- defineNodeSpec,
3
- type Extension,
4
- } from '@prosekit/core'
1
+ import { defineNodeSpec, type Extension } from '@prosekit/core'
5
2
  import type { Attrs } from '@prosekit/pm/model'
6
3
 
7
4
  /**
@@ -1,19 +1,8 @@
1
- import {
2
- Priority,
3
- union,
4
- withPriority,
5
- type Union,
6
- } from '@prosekit/core'
1
+ import { Priority, union, withPriority, type Union } from '@prosekit/core'
7
2
 
8
- import {
9
- defineParagraphCommands,
10
- type ParagraphCommandsExtension,
11
- } from './paragraph-commands'
3
+ import { defineParagraphCommands, type ParagraphCommandsExtension } from './paragraph-commands'
12
4
  import { defineParagraphKeymap } from './paragraph-keymap'
13
- import {
14
- defineParagraphSpec,
15
- type ParagraphSpecExtension,
16
- } from './paragraph-spec'
5
+ import { defineParagraphSpec, type ParagraphSpecExtension } from './paragraph-spec'
17
6
 
18
7
  /**
19
8
  * @internal
@@ -1,10 +1,2 @@
1
- export {
2
- defineMarkPasteRule,
3
- type MarkPasteRuleOptions,
4
- } from './mark-paste-rule'
5
- export {
6
- definePasteRule,
7
- type PasteRuleHandler,
8
- type PasteRuleHandlerOptions,
9
- type PasteRuleOptions,
10
- } from './paste-rule'
1
+ export { defineMarkPasteRule, type MarkPasteRuleOptions } from './mark-paste-rule'
2
+ export { definePasteRule, type PasteRuleHandler, type PasteRuleHandlerOptions, type PasteRuleOptions } from './paste-rule'
@@ -1,21 +1,11 @@
1
- import {
2
- defineMarkSpec,
3
- union,
4
- } from '@prosekit/core'
5
- import {
6
- describe,
7
- expect,
8
- it,
9
- } from 'vitest'
1
+ import { defineMarkSpec, union } from '@prosekit/core'
2
+ import { describe, expect, it } from 'vitest'
10
3
 
11
4
  import { defineBold } from '../bold'
12
5
  import { defineDoc } from '../doc'
13
6
  import { defineParagraph } from '../paragraph'
14
7
  import { setupTestFromExtension } from '../testing'
15
- import {
16
- pasteHTML,
17
- pasteText,
18
- } from '../testing/clipboard'
8
+ import { pasteHTML, pasteText } from '../testing/clipboard'
19
9
  import { defineText } from '../text'
20
10
 
21
11
  import type { MarkPasteRuleOptions } from './mark-paste-rule'
@@ -1,16 +1,6 @@
1
- import {
2
- getMarkType,
3
- type PlainExtension,
4
- } from '@prosekit/core'
5
- import type {
6
- Attrs,
7
- MarkType,
8
- ProseMirrorNode,
9
- } from '@prosekit/pm/model'
10
- import {
11
- Fragment,
12
- Slice,
13
- } from '@prosekit/pm/model'
1
+ import { getMarkType, type PlainExtension } from '@prosekit/core'
2
+ import type { Attrs, MarkType, ProseMirrorNode } from '@prosekit/pm/model'
3
+ import { Fragment, Slice } from '@prosekit/pm/model'
14
4
 
15
5
  import { definePasteRule } from './paste-rule'
16
6
  import { splitTextByRegex } from './split-text-by-regex'
@@ -88,7 +78,7 @@ function replaceMarkInSlice(options: MarkPasteRuleHandlerOptions, slice: Slice):
88
78
 
89
79
  function replaceMarkInFragment(options: MarkPasteRuleHandlerOptions, fragment: Fragment): Fragment | undefined {
90
80
  let changed = false
91
- let children: ProseMirrorNode[] = []
81
+ const children: ProseMirrorNode[] = []
92
82
 
93
83
  for (const child of fragment.content) {
94
84
  const newChild = replaceMarkInNode(options, child)
@@ -1,15 +1,6 @@
1
- import {
2
- defineFacet,
3
- defineFacetPayload,
4
- pluginFacet,
5
- type PlainExtension,
6
- type PluginPayload,
7
- } from '@prosekit/core'
1
+ import { defineFacet, defineFacetPayload, pluginFacet, type PlainExtension, type PluginPayload } from '@prosekit/core'
8
2
  import type { Slice } from '@prosekit/pm/model'
9
- import {
10
- PluginKey,
11
- ProseMirrorPlugin,
12
- } from '@prosekit/pm/state'
3
+ import { PluginKey, ProseMirrorPlugin } from '@prosekit/pm/state'
13
4
  import type { EditorView } from '@prosekit/pm/view'
14
5
 
15
6
  type PasteRulePayload = (options: { slice: Slice; view: EditorView; plain: boolean }) => Slice
@@ -1,24 +1,9 @@
1
- import {
2
- Priority,
3
- union,
4
- withPriority,
5
- type PlainExtension,
6
- } from '@prosekit/core'
1
+ import { Priority, union, withPriority, type PlainExtension } from '@prosekit/core'
7
2
  import type { ProseMirrorNode } from '@prosekit/pm/model'
8
- import {
9
- Fragment,
10
- Slice,
11
- } from '@prosekit/pm/model'
12
- import {
13
- describe,
14
- expect,
15
- it,
16
- } from 'vitest'
3
+ import { Fragment, Slice } from '@prosekit/pm/model'
4
+ import { describe, expect, it } from 'vitest'
17
5
 
18
- import {
19
- defineTestExtension,
20
- setupTestFromExtension,
21
- } from '../testing'
6
+ import { defineTestExtension, setupTestFromExtension } from '../testing'
22
7
 
23
8
  import { definePasteRule } from './paste-rule'
24
9
 
@@ -1,8 +1,4 @@
1
- import {
2
- describe,
3
- expect,
4
- it,
5
- } from 'vitest'
1
+ import { describe, expect, it } from 'vitest'
6
2
 
7
3
  import { splitTextByRegex } from './split-text-by-regex'
8
4
 
@@ -1,20 +1,7 @@
1
- import {
2
- definePlugin,
3
- isInCodeBlock,
4
- isTextSelection,
5
- maybeRun,
6
- type PlainExtension,
7
- } from '@prosekit/core'
1
+ import { definePlugin, isInCodeBlock, isTextSelection, maybeRun, type PlainExtension } from '@prosekit/core'
8
2
  import type { ProseMirrorNode } from '@prosekit/pm/model'
9
- import {
10
- Plugin,
11
- PluginKey,
12
- type EditorState,
13
- } from '@prosekit/pm/state'
14
- import {
15
- Decoration,
16
- DecorationSet,
17
- } from '@prosekit/pm/view'
3
+ import { Plugin, PluginKey, type EditorState } from '@prosekit/pm/state'
4
+ import { Decoration, DecorationSet } from '@prosekit/pm/view'
18
5
 
19
6
  import { findTable } from '../table'
20
7
 
@@ -1,11 +1,5 @@
1
- import {
2
- definePlugin,
3
- type PlainExtension,
4
- } from '@prosekit/core'
5
- import {
6
- PluginKey,
7
- ProseMirrorPlugin,
8
- } from '@prosekit/pm/state'
1
+ import { definePlugin, type PlainExtension } from '@prosekit/core'
2
+ import { PluginKey, ProseMirrorPlugin } from '@prosekit/pm/state'
9
3
 
10
4
  /**
11
5
  * Make the editor read-only.
@@ -1,9 +1,4 @@
1
- import {
2
- defineCommands,
3
- definePlugin,
4
- type Extension,
5
- type PlainExtension,
6
- } from '@prosekit/core'
1
+ import { defineCommands, definePlugin, type Extension, type PlainExtension } from '@prosekit/core'
7
2
  import type { Command } from '@prosekit/pm/state'
8
3
  import type { EditorView } from '@prosekit/pm/view'
9
4
  import {