@quoreadmin/ui 1.5.1 → 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (352) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.js +48 -46
  3. package/dist/index10.js +2 -2
  4. package/dist/index100.js +119 -6
  5. package/dist/index102.js +128 -25
  6. package/dist/index103.js +10 -0
  7. package/dist/index105.js +39 -0
  8. package/dist/{index104.js → index107.js} +2 -2
  9. package/dist/{index106.js → index109.js} +1 -1
  10. package/dist/index11.js +2 -2
  11. package/dist/{index108.js → index111.js} +4 -4
  12. package/dist/{index110.js → index113.js} +7 -7
  13. package/dist/{index112.js → index115.js} +1 -1
  14. package/dist/{index114.js → index117.js} +5 -5
  15. package/dist/index12.js +2 -2
  16. package/dist/{index118.js → index121.js} +1 -1
  17. package/dist/{index126.js → index129.js} +1 -1
  18. package/dist/index13.js +2 -2
  19. package/dist/{index128.js → index131.js} +1 -1
  20. package/dist/{index132.js → index135.js} +1 -1
  21. package/dist/{index136.js → index139.js} +8 -8
  22. package/dist/index14.js +2 -2
  23. package/dist/{index138.js → index141.js} +1 -1
  24. package/dist/{index140.js → index143.js} +11 -11
  25. package/dist/index15.js +2 -2
  26. package/dist/{index148.js → index151.js} +1 -1
  27. package/dist/{index150.js → index153.js} +1 -1
  28. package/dist/{index152.js → index155.js} +2 -2
  29. package/dist/index157.js +205 -111
  30. package/dist/index16.js +2 -2
  31. package/dist/index160.js +110 -87
  32. package/dist/index161.js +478 -844
  33. package/dist/index162.js +5520 -36
  34. package/dist/index163.js +90 -279
  35. package/dist/index164.js +833 -122
  36. package/dist/index165.js +36 -1197
  37. package/dist/index166.js +268 -760
  38. package/dist/index167.js +146 -1304
  39. package/dist/index168.js +1151 -228
  40. package/dist/index169.js +754 -88
  41. package/dist/index17.js +2 -2
  42. package/dist/index170.js +1308 -2
  43. package/dist/index171.js +259 -1359
  44. package/dist/index172.js +108 -0
  45. package/dist/index173.js +2 -18
  46. package/dist/index174.js +1372 -14
  47. package/dist/index176.js +8 -8
  48. package/dist/index177.js +10 -17
  49. package/dist/index178.js +18 -759
  50. package/dist/index179.js +18 -1100
  51. package/dist/index18.js +2 -2
  52. package/dist/index180.js +22 -1231
  53. package/dist/index181.js +740 -11258
  54. package/dist/index182.js +1100 -36
  55. package/dist/index183.js +1200 -81
  56. package/dist/index184.js +11276 -43
  57. package/dist/index185.js +36 -5938
  58. package/dist/index186.js +85 -177
  59. package/dist/index187.js +43 -34
  60. package/dist/index188.js +1188 -16
  61. package/dist/index19.js +2 -2
  62. package/dist/index190.js +5940 -0
  63. package/dist/index191.js +205 -76
  64. package/dist/index192.js +28 -246
  65. package/dist/index193.js +14 -13680
  66. package/dist/index194.js +77 -26
  67. package/dist/index195.js +245 -55
  68. package/dist/index196.js +13655 -209
  69. package/dist/index197.js +26 -307
  70. package/dist/index198.js +43 -268
  71. package/dist/index199.js +231 -81
  72. package/dist/index2.js +2 -2
  73. package/dist/index20.js +2 -2
  74. package/dist/index200.js +288 -387
  75. package/dist/index201.js +287 -21
  76. package/dist/index205.js +2 -2
  77. package/dist/index206.js +1 -1
  78. package/dist/index207.js +1 -1
  79. package/dist/index208.js +1 -1
  80. package/dist/index209.js +1 -1
  81. package/dist/index21.js +2 -2
  82. package/dist/index210.js +4 -4
  83. package/dist/index212.js +4 -4
  84. package/dist/index215.js +1 -1
  85. package/dist/index216.js +84 -157
  86. package/dist/index217.js +384 -205
  87. package/dist/index218.js +22 -37
  88. package/dist/index219.js +161 -10
  89. package/dist/index22.js +2 -2
  90. package/dist/index220.js +19 -126
  91. package/dist/index221.js +19 -37
  92. package/dist/index222.js +22 -80
  93. package/dist/index223.js +198 -19
  94. package/dist/index224.js +68 -18
  95. package/dist/index225.js +34 -20
  96. package/dist/index226.js +39 -19
  97. package/dist/index227.js +160 -19
  98. package/dist/index228.js +228 -22
  99. package/dist/index229.js +36 -21
  100. package/dist/index23.js +61 -170
  101. package/dist/index230.js +10 -20
  102. package/dist/index231.js +22 -836
  103. package/dist/index232.js +21 -701
  104. package/dist/index233.js +20 -176
  105. package/dist/index234.js +836 -22
  106. package/dist/index235.js +701 -19
  107. package/dist/index236.js +176 -20
  108. package/dist/index237.js +20 -3
  109. package/dist/index238.js +19 -186
  110. package/dist/index239.js +21 -132
  111. package/dist/index24.js +173 -10
  112. package/dist/index240.js +19 -160
  113. package/dist/index241.js +20 -1223
  114. package/dist/index242.js +3 -20
  115. package/dist/index243.js +186 -21
  116. package/dist/index244.js +132 -19
  117. package/dist/index245.js +1223 -22
  118. package/dist/index246.js +126 -28
  119. package/dist/index247.js +12 -12
  120. package/dist/index248.js +15 -13
  121. package/dist/index249.js +22 -2
  122. package/dist/index25.js +9 -38
  123. package/dist/index250.js +38 -2
  124. package/dist/index251.js +29 -3632
  125. package/dist/index252.js +20 -55
  126. package/dist/index253.js +20 -77
  127. package/dist/index254.js +2 -52
  128. package/dist/index255.js +2 -215
  129. package/dist/index256.js +79 -9
  130. package/dist/index257.js +20 -57
  131. package/dist/index258.js +20 -61
  132. package/dist/index259.js +3617 -39
  133. package/dist/index26.js +36 -116
  134. package/dist/index260.js +30 -50
  135. package/dist/index261.js +43 -689
  136. package/dist/index262.js +35 -22
  137. package/dist/index263.js +185 -34
  138. package/dist/index264.js +9 -10
  139. package/dist/index265.js +49 -697
  140. package/dist/index266.js +57 -816
  141. package/dist/index267.js +54 -22
  142. package/dist/index268.js +66 -190
  143. package/dist/index269.js +712 -59
  144. package/dist/index27.js +116 -22
  145. package/dist/index270.js +36 -31
  146. package/dist/index271.js +60 -36
  147. package/dist/index272.js +11 -253
  148. package/dist/index273.js +704 -7
  149. package/dist/index274.js +809 -127
  150. package/dist/index275.js +232 -62
  151. package/dist/index276.js +8 -3
  152. package/dist/index277.js +135 -24
  153. package/dist/index278.js +83 -2
  154. package/dist/index279.js +3 -79
  155. package/dist/index28.js +24 -158
  156. package/dist/index280.js +26 -78
  157. package/dist/index281.js +53 -21
  158. package/dist/index282.js +54 -910
  159. package/dist/index283.js +17 -13
  160. package/dist/index284.js +13 -11
  161. package/dist/index285.js +15 -13
  162. package/dist/index286.js +14 -67
  163. package/dist/index287.js +14 -16
  164. package/dist/index288.js +21 -17
  165. package/dist/index289.js +63 -38
  166. package/dist/index29.js +141 -264
  167. package/dist/index290.js +16 -16
  168. package/dist/index291.js +935 -22
  169. package/dist/index292.js +22 -63
  170. package/dist/index293.js +19 -234
  171. package/dist/index294.js +19 -5
  172. package/dist/index295.js +63 -128
  173. package/dist/index296.js +19 -68
  174. package/dist/index297.js +17 -85
  175. package/dist/index298.js +21 -28
  176. package/dist/index299.js +20 -7
  177. package/dist/index3.js +2 -2
  178. package/dist/index30.js +279 -62
  179. package/dist/index300.js +63 -75
  180. package/dist/index301.js +2 -4
  181. package/dist/index302.js +235 -2
  182. package/dist/index303.js +5 -82
  183. package/dist/index304.js +130 -50
  184. package/dist/index305.js +66 -4
  185. package/dist/index306.js +86 -4
  186. package/dist/index307.js +26 -176
  187. package/dist/index308.js +8 -62
  188. package/dist/index309.js +75 -75
  189. package/dist/index31.js +64 -178
  190. package/dist/index310.js +3 -1517
  191. package/dist/index311.js +2 -386
  192. package/dist/index312.js +82 -2730
  193. package/dist/index313.js +52 -84
  194. package/dist/index314.js +4 -3768
  195. package/dist/index315.js +4 -59
  196. package/dist/index316.js +179 -15
  197. package/dist/index317.js +57 -78
  198. package/dist/index318.js +74 -201
  199. package/dist/index319.js +1492 -220
  200. package/dist/index32.js +177 -38
  201. package/dist/index320.js +386 -26
  202. package/dist/index321.js +2731 -22
  203. package/dist/index322.js +85 -21
  204. package/dist/index323.js +3770 -16
  205. package/dist/index324.js +60 -17
  206. package/dist/index325.js +15 -23
  207. package/dist/index326.js +83 -8
  208. package/dist/index327.js +201 -12
  209. package/dist/index328.js +239 -48
  210. package/dist/index329.js +8 -11
  211. package/dist/index33.js +38 -49
  212. package/dist/index330.js +12 -13
  213. package/dist/index331.js +49 -52
  214. package/dist/index332.js +9 -49
  215. package/dist/index333.js +10 -27
  216. package/dist/index334.js +58 -2
  217. package/dist/index335.js +52 -5
  218. package/dist/index336.js +31 -2
  219. package/dist/index337.js +2 -23
  220. package/dist/index338.js +4 -40
  221. package/dist/index339.js +2 -2
  222. package/dist/index34.js +47 -30
  223. package/dist/index340.js +22 -10
  224. package/dist/index341.js +38 -17
  225. package/dist/index342.js +2 -17
  226. package/dist/index343.js +10 -9
  227. package/dist/index344.js +20 -10
  228. package/dist/index345.js +17 -2
  229. package/dist/index346.js +9 -8
  230. package/dist/index347.js +10 -10
  231. package/dist/index348.js +2 -14
  232. package/dist/index349.js +9 -37
  233. package/dist/index35.js +31 -28
  234. package/dist/index350.js +9 -19
  235. package/dist/index351.js +14 -20
  236. package/dist/index352.js +33 -60
  237. package/dist/index353.js +20 -37
  238. package/dist/index354.js +19 -20
  239. package/dist/index355.js +61 -53
  240. package/dist/index356.js +37 -29
  241. package/dist/index357.js +20 -6
  242. package/dist/index358.js +53 -49
  243. package/dist/index359.js +29 -6
  244. package/dist/index36.js +29 -13
  245. package/dist/index360.js +6 -11
  246. package/dist/index361.js +49 -4
  247. package/dist/index362.js +5 -27
  248. package/dist/index363.js +12 -2
  249. package/dist/index364.js +6 -69
  250. package/dist/index365.js +27 -166
  251. package/dist/index366.js +2 -17
  252. package/dist/index367.js +68 -29
  253. package/dist/index368.js +167 -11
  254. package/dist/index369.js +17 -4
  255. package/dist/index37.js +15 -43
  256. package/dist/index370.js +30 -3
  257. package/dist/index371.js +11 -13
  258. package/dist/index372.js +4 -7
  259. package/dist/index373.js +3 -11
  260. package/dist/index374.js +13 -5
  261. package/dist/index375.js +7 -33
  262. package/dist/index376.js +11 -30
  263. package/dist/index377.js +5 -28
  264. package/dist/index378.js +33 -61
  265. package/dist/index379.js +29 -99
  266. package/dist/index38.js +42 -37
  267. package/dist/index380.js +28 -91
  268. package/dist/index381.js +59 -96
  269. package/dist/index382.js +100 -2
  270. package/dist/index383.js +91 -2
  271. package/dist/index384.js +98 -2
  272. package/dist/index385.js +3 -17
  273. package/dist/index386.js +2 -13
  274. package/dist/index387.js +2 -6
  275. package/dist/index388.js +17 -32
  276. package/dist/index389.js +15 -0
  277. package/dist/index39.js +36 -26
  278. package/dist/index390.js +8 -0
  279. package/dist/index391.js +34 -0
  280. package/dist/index4.js +2 -2
  281. package/dist/index40.js +25 -32
  282. package/dist/index41.js +32 -37
  283. package/dist/index42.js +37 -1068
  284. package/dist/index43.js +1045 -309
  285. package/dist/index44.js +326 -146
  286. package/dist/index45.js +155 -18
  287. package/dist/index46.js +16 -36
  288. package/dist/index47.js +38 -68
  289. package/dist/index48.js +67 -60
  290. package/dist/index49.js +56 -175
  291. package/dist/index5.js +2 -2
  292. package/dist/index50.js +173 -77
  293. package/dist/index51.js +79 -200
  294. package/dist/index52.js +206 -68
  295. package/dist/index53.js +69 -20
  296. package/dist/index54.js +20 -11
  297. package/dist/index55.js +10 -6
  298. package/dist/index56.js +5 -209
  299. package/dist/index57.js +210 -12
  300. package/dist/index58.js +12 -184
  301. package/dist/index59.js +176 -68
  302. package/dist/index6.js +2 -2
  303. package/dist/index60.js +79 -0
  304. package/dist/index62.js +7 -63
  305. package/dist/index63.js +65 -0
  306. package/dist/index7.js +2 -2
  307. package/dist/{index70.js → index71.js} +2 -2
  308. package/dist/index75.js +40 -304
  309. package/dist/index76.js +326 -0
  310. package/dist/{index77.js → index78.js} +1 -1
  311. package/dist/index8.js +3 -3
  312. package/dist/{index79.js → index80.js} +7 -7
  313. package/dist/{index81.js → index82.js} +1 -1
  314. package/dist/index84.js +22 -126
  315. package/dist/index85.js +140 -0
  316. package/dist/{index86.js → index87.js} +5 -5
  317. package/dist/{index88.js → index89.js} +5 -5
  318. package/dist/index9.js +2 -2
  319. package/dist/{index94.js → index95.js} +4 -4
  320. package/dist/index97.js +20 -25
  321. package/dist/index98.js +34 -0
  322. package/dist/src/components/event/event.d.ts +356 -0
  323. package/dist/src/components/event/event.stories.d.ts +33 -0
  324. package/dist/src/components/event/event.vue.d.ts +2 -0
  325. package/dist/src/components/room-details-popover/room-details-popover.d.ts +1 -1
  326. package/dist/src/index.d.ts +2 -0
  327. package/package.json +1 -1
  328. package/dist/index154.js +0 -210
  329. package/dist/index158.js +0 -497
  330. package/dist/index159.js +0 -5524
  331. package/dist/index175.js +0 -20
  332. package/dist/index189.js +0 -1192
  333. package/dist/index61.js +0 -9
  334. package/dist/index74.js +0 -62
  335. package/dist/index83.js +0 -36
  336. package/dist/index96.js +0 -29
  337. package/dist/index99.js +0 -142
  338. /package/dist/{index116.js → index119.js} +0 -0
  339. /package/dist/{index120.js → index123.js} +0 -0
  340. /package/dist/{index122.js → index125.js} +0 -0
  341. /package/dist/{index124.js → index127.js} +0 -0
  342. /package/dist/{index130.js → index133.js} +0 -0
  343. /package/dist/{index134.js → index137.js} +0 -0
  344. /package/dist/{index142.js → index145.js} +0 -0
  345. /package/dist/{index144.js → index147.js} +0 -0
  346. /package/dist/{index146.js → index149.js} +0 -0
  347. /package/dist/{index64.js → index65.js} +0 -0
  348. /package/dist/{index66.js → index67.js} +0 -0
  349. /package/dist/{index68.js → index69.js} +0 -0
  350. /package/dist/{index72.js → index73.js} +0 -0
  351. /package/dist/{index90.js → index91.js} +0 -0
  352. /package/dist/{index92.js → index93.js} +0 -0
package/dist/index262.js CHANGED
@@ -1,41 +1,54 @@
1
- import { Node as a, mergeAttributes as n } from "./index251.js";
2
- var i = a.create({
3
- name: "paragraph",
4
- priority: 1e3,
1
+ import { Mark as r, markPasteRule as n, markInputRule as a, mergeAttributes as d } from "./index259.js";
2
+ var o = /(^|[^`])`([^`]+)`(?!`)$/, u = /(^|[^`])`([^`]+)`(?!`)/g, i = r.create({
3
+ name: "code",
5
4
  addOptions() {
6
5
  return {
7
6
  HTMLAttributes: {}
8
7
  };
9
8
  },
10
- group: "block",
11
- content: "inline*",
9
+ excludes: "_",
10
+ code: !0,
11
+ exitable: !0,
12
12
  parseHTML() {
13
- return [{ tag: "p" }];
13
+ return [{ tag: "code" }];
14
14
  },
15
- renderHTML({ HTMLAttributes: r }) {
16
- return ["p", n(this.options.HTMLAttributes, r), 0];
15
+ renderHTML({ HTMLAttributes: e }) {
16
+ return ["code", d(this.options.HTMLAttributes, e), 0];
17
17
  },
18
- parseMarkdown: (r, e) => {
19
- const t = r.tokens || [];
20
- return t.length === 1 && t[0].type === "image" ? e.parseChildren([t[0]]) : e.createNode(
21
- "paragraph",
22
- void 0,
23
- // no attributes for paragraph
24
- e.parseInline(t)
25
- );
26
- },
27
- renderMarkdown: (r, e) => !r || !Array.isArray(r.content) ? "" : e.renderChildren(r.content),
18
+ markdownTokenName: "codespan",
19
+ parseMarkdown: (e, t) => t.applyMark("code", [{ type: "text", text: e.text || "" }]),
20
+ renderMarkdown: (e, t) => e.content ? `\`${t.renderChildren(e.content)}\`` : "",
28
21
  addCommands() {
29
22
  return {
30
- setParagraph: () => ({ commands: r }) => r.setNode(this.name)
23
+ setCode: () => ({ commands: e }) => e.setMark(this.name),
24
+ toggleCode: () => ({ commands: e }) => e.toggleMark(this.name),
25
+ unsetCode: () => ({ commands: e }) => e.unsetMark(this.name)
31
26
  };
32
27
  },
33
28
  addKeyboardShortcuts() {
34
29
  return {
35
- "Mod-Alt-0": () => this.editor.commands.setParagraph()
30
+ "Mod-e": () => this.editor.commands.toggleCode()
36
31
  };
32
+ },
33
+ addInputRules() {
34
+ return [
35
+ a({
36
+ find: o,
37
+ type: this.type
38
+ })
39
+ ];
40
+ },
41
+ addPasteRules() {
42
+ return [
43
+ n({
44
+ find: u,
45
+ type: this.type
46
+ })
47
+ ];
37
48
  }
38
49
  });
39
50
  export {
40
- i as Paragraph
51
+ i as Code,
52
+ o as inputRegex,
53
+ u as pasteRegex
41
54
  };
package/dist/index263.js CHANGED
@@ -1,66 +1,217 @@
1
- import { Mark as r, markPasteRule as s, markInputRule as n, mergeAttributes as a } from "./index251.js";
2
- var i = /(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))$/, d = /(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))/g, o = r.create({
3
- name: "strike",
1
+ import { Node as k, textblockTypeInputRule as S, mergeAttributes as C } from "./index259.js";
2
+ import { Plugin as w, PluginKey as B, TextSelection as T, Selection as L } from "./index274.js";
3
+ var y = 4, M = /^```([a-z]+)?[\s\n]$/, N = /^~~~([a-z]+)?[\s\n]$/, $ = k.create({
4
+ name: "codeBlock",
4
5
  addOptions() {
5
6
  return {
7
+ languageClassPrefix: "language-",
8
+ exitOnTripleEnter: !0,
9
+ exitOnArrowDown: !0,
10
+ defaultLanguage: null,
11
+ enableTabIndentation: !1,
12
+ tabSize: y,
6
13
  HTMLAttributes: {}
7
14
  };
8
15
  },
16
+ content: "text*",
17
+ marks: "",
18
+ group: "block",
19
+ code: !0,
20
+ defining: !0,
21
+ addAttributes() {
22
+ return {
23
+ language: {
24
+ default: this.options.defaultLanguage,
25
+ parseHTML: (e) => {
26
+ var t;
27
+ const { languageClassPrefix: r } = this.options;
28
+ if (!r)
29
+ return null;
30
+ const o = [...((t = e.firstElementChild) == null ? void 0 : t.classList) || []].filter((s) => s.startsWith(r)).map((s) => s.replace(r, ""))[0];
31
+ return o || null;
32
+ },
33
+ rendered: !1
34
+ }
35
+ };
36
+ },
9
37
  parseHTML() {
10
38
  return [
11
39
  {
12
- tag: "s"
13
- },
14
- {
15
- tag: "del"
16
- },
17
- {
18
- tag: "strike"
19
- },
20
- {
21
- style: "text-decoration",
22
- consuming: !1,
23
- getAttrs: (e) => e.includes("line-through") ? {} : !1
40
+ tag: "pre",
41
+ preserveWhitespace: "full"
24
42
  }
25
43
  ];
26
44
  },
27
- renderHTML({ HTMLAttributes: e }) {
28
- return ["s", a(this.options.HTMLAttributes, e), 0];
45
+ renderHTML({ node: e, HTMLAttributes: t }) {
46
+ return [
47
+ "pre",
48
+ C(this.options.HTMLAttributes, t),
49
+ [
50
+ "code",
51
+ {
52
+ class: e.attrs.language ? this.options.languageClassPrefix + e.attrs.language : null
53
+ },
54
+ 0
55
+ ]
56
+ ];
57
+ },
58
+ markdownTokenName: "code",
59
+ parseMarkdown: (e, t) => {
60
+ var r;
61
+ return ((r = e.raw) == null ? void 0 : r.startsWith("```")) === !1 && e.codeBlockStyle !== "indented" ? [] : t.createNode(
62
+ "codeBlock",
63
+ { language: e.lang || null },
64
+ e.text ? [t.createTextNode(e.text)] : []
65
+ );
66
+ },
67
+ renderMarkdown: (e, t) => {
68
+ var r;
69
+ let n = "";
70
+ const a = ((r = e.attrs) == null ? void 0 : r.language) || "";
71
+ return e.content ? n = [`\`\`\`${a}`, t.renderChildren(e.content), "```"].join(`
72
+ `) : n = `\`\`\`${a}
73
+
74
+ \`\`\``, n;
29
75
  },
30
- markdownTokenName: "del",
31
- parseMarkdown: (e, t) => t.applyMark("strike", t.parseInline(e.tokens || [])),
32
- renderMarkdown: (e, t) => `~~${t.renderChildren(e)}~~`,
33
76
  addCommands() {
34
77
  return {
35
- setStrike: () => ({ commands: e }) => e.setMark(this.name),
36
- toggleStrike: () => ({ commands: e }) => e.toggleMark(this.name),
37
- unsetStrike: () => ({ commands: e }) => e.unsetMark(this.name)
78
+ setCodeBlock: (e) => ({ commands: t }) => t.setNode(this.name, e),
79
+ toggleCodeBlock: (e) => ({ commands: t }) => t.toggleNode(this.name, "paragraph", e)
38
80
  };
39
81
  },
40
82
  addKeyboardShortcuts() {
41
83
  return {
42
- "Mod-Shift-s": () => this.editor.commands.toggleStrike()
84
+ "Mod-Alt-c": () => this.editor.commands.toggleCodeBlock(),
85
+ // remove code block when at start of document or code block is empty
86
+ Backspace: () => {
87
+ const { empty: e, $anchor: t } = this.editor.state.selection, r = t.pos === 1;
88
+ return !e || t.parent.type.name !== this.name ? !1 : r || !t.parent.textContent.length ? this.editor.commands.clearNodes() : !1;
89
+ },
90
+ // handle tab indentation
91
+ Tab: ({ editor: e }) => {
92
+ var t;
93
+ if (!this.options.enableTabIndentation)
94
+ return !1;
95
+ const r = (t = this.options.tabSize) != null ? t : y, { state: n } = e, { selection: a } = n, { $from: o, empty: s } = a;
96
+ if (o.parent.type !== this.type)
97
+ return !1;
98
+ const i = " ".repeat(r);
99
+ return s ? e.commands.insertContent(i) : e.commands.command(({ tr: l }) => {
100
+ const { from: c, to: f } = a, u = n.doc.textBetween(c, f, `
101
+ `, `
102
+ `).split(`
103
+ `).map((p) => i + p).join(`
104
+ `);
105
+ return l.replaceWith(c, f, n.schema.text(u)), !0;
106
+ });
107
+ },
108
+ // handle shift+tab reverse indentation
109
+ "Shift-Tab": ({ editor: e }) => {
110
+ var t;
111
+ if (!this.options.enableTabIndentation)
112
+ return !1;
113
+ const r = (t = this.options.tabSize) != null ? t : y, { state: n } = e, { selection: a } = n, { $from: o, empty: s } = a;
114
+ return o.parent.type !== this.type ? !1 : s ? e.commands.command(({ tr: i }) => {
115
+ var l;
116
+ const { pos: c } = o, f = o.start(), h = o.end(), u = n.doc.textBetween(f, h, `
117
+ `, `
118
+ `).split(`
119
+ `);
120
+ let p = 0, g = 0;
121
+ const b = c - f;
122
+ for (let d = 0; d < u.length; d += 1) {
123
+ if (g + u[d].length >= b) {
124
+ p = d;
125
+ break;
126
+ }
127
+ g += u[d].length + 1;
128
+ }
129
+ const A = ((l = u[p].match(/^ */)) == null ? void 0 : l[0]) || "", v = Math.min(A.length, r);
130
+ if (v === 0)
131
+ return !0;
132
+ let m = f;
133
+ for (let d = 0; d < p; d += 1)
134
+ m += u[d].length + 1;
135
+ return i.delete(m, m + v), c - m <= v && i.setSelection(T.create(i.doc, m)), !0;
136
+ }) : e.commands.command(({ tr: i }) => {
137
+ const { from: l, to: c } = a, x = n.doc.textBetween(l, c, `
138
+ `, `
139
+ `).split(`
140
+ `).map((u) => {
141
+ var p;
142
+ const g = ((p = u.match(/^ */)) == null ? void 0 : p[0]) || "", b = Math.min(g.length, r);
143
+ return u.slice(b);
144
+ }).join(`
145
+ `);
146
+ return i.replaceWith(l, c, n.schema.text(x)), !0;
147
+ });
148
+ },
149
+ // exit node on triple enter
150
+ Enter: ({ editor: e }) => {
151
+ if (!this.options.exitOnTripleEnter)
152
+ return !1;
153
+ const { state: t } = e, { selection: r } = t, { $from: n, empty: a } = r;
154
+ if (!a || n.parent.type !== this.type)
155
+ return !1;
156
+ const o = n.parentOffset === n.parent.nodeSize - 2, s = n.parent.textContent.endsWith(`
157
+
158
+ `);
159
+ return !o || !s ? !1 : e.chain().command(({ tr: i }) => (i.delete(n.pos - 2, n.pos), !0)).exitCode().run();
160
+ },
161
+ // exit node on arrow down
162
+ ArrowDown: ({ editor: e }) => {
163
+ if (!this.options.exitOnArrowDown)
164
+ return !1;
165
+ const { state: t } = e, { selection: r, doc: n } = t, { $from: a, empty: o } = r;
166
+ if (!o || a.parent.type !== this.type || !(a.parentOffset === a.parent.nodeSize - 2))
167
+ return !1;
168
+ const i = a.after();
169
+ return i === void 0 ? !1 : n.nodeAt(i) ? e.commands.command(({ tr: c }) => (c.setSelection(L.near(n.resolve(i))), !0)) : e.commands.exitCode();
170
+ }
43
171
  };
44
172
  },
45
173
  addInputRules() {
46
174
  return [
47
- n({
48
- find: i,
49
- type: this.type
175
+ S({
176
+ find: M,
177
+ type: this.type,
178
+ getAttributes: (e) => ({
179
+ language: e[1]
180
+ })
181
+ }),
182
+ S({
183
+ find: N,
184
+ type: this.type,
185
+ getAttributes: (e) => ({
186
+ language: e[1]
187
+ })
50
188
  })
51
189
  ];
52
190
  },
53
- addPasteRules() {
191
+ addProseMirrorPlugins() {
54
192
  return [
55
- s({
56
- find: d,
57
- type: this.type
193
+ // this plugin creates a code block for pasted content from VS Code
194
+ // we can also detect the copied code language
195
+ new w({
196
+ key: new B("codeBlockVSCodeHandler"),
197
+ props: {
198
+ handlePaste: (e, t) => {
199
+ if (!t.clipboardData || this.editor.isActive(this.type.name))
200
+ return !1;
201
+ const r = t.clipboardData.getData("text/plain"), n = t.clipboardData.getData("vscode-editor-data"), a = n ? JSON.parse(n) : void 0, o = a?.mode;
202
+ if (!r || !o)
203
+ return !1;
204
+ const { tr: s, schema: i } = e.state, l = i.text(r.replace(/\r\n?/g, `
205
+ `));
206
+ return s.replaceSelectionWith(this.type.create({ language: o }, l)), s.selection.$from.parent.type !== this.type && s.setSelection(T.near(s.doc.resolve(Math.max(0, s.selection.from - 2)))), s.setMeta("paste", !0), e.dispatch(s), !0;
207
+ }
208
+ }
58
209
  })
59
210
  ];
60
211
  }
61
212
  });
62
213
  export {
63
- o as Strike,
64
- i as inputRegex,
65
- d as pasteRegex
214
+ $ as CodeBlock,
215
+ M as backtickInputRegex,
216
+ N as tildeInputRegex
66
217
  };
package/dist/index264.js CHANGED
@@ -1,13 +1,12 @@
1
- import { Node as t } from "./index251.js";
2
- var o = t.create({
3
- name: "text",
4
- group: "inline",
5
- parseMarkdown: (e) => ({
6
- type: "text",
7
- text: e.text || ""
8
- }),
9
- renderMarkdown: (e) => e.text || ""
1
+ import { Node as n } from "./index259.js";
2
+ var o = n.create({
3
+ name: "doc",
4
+ topNode: !0,
5
+ content: "block+",
6
+ renderMarkdown: (e, r) => e.content ? r.renderChildren(e.content, `
7
+
8
+ `) : ""
10
9
  });
11
10
  export {
12
- o as Text
11
+ o as Document
13
12
  };