@quoreadmin/ui 1.9.1 → 1.9.3

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 (273) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index104.js +2 -2
  3. package/dist/index110.js +1 -1
  4. package/dist/index114.js +2 -2
  5. package/dist/index118.js +3 -3
  6. package/dist/index132.js +1 -1
  7. package/dist/index134.js +2 -2
  8. package/dist/index143.js +338 -329
  9. package/dist/index145.js +1 -1
  10. package/dist/index147.js +6 -6
  11. package/dist/index153.js +156 -153
  12. package/dist/{index157.js → index158.js} +1 -1
  13. package/dist/{index160.js → index161.js} +1 -1
  14. package/dist/{index164.js → index165.js} +9 -9
  15. package/dist/index168.js +111 -492
  16. package/dist/index169.js +471 -5498
  17. package/dist/index170.js +5511 -80
  18. package/dist/index171.js +86 -856
  19. package/dist/index172.js +844 -21
  20. package/dist/index173.js +23 -265
  21. package/dist/index174.js +256 -126
  22. package/dist/index175.js +146 -1195
  23. package/dist/index176.js +1139 -712
  24. package/dist/index177.js +704 -1240
  25. package/dist/index178.js +1280 -248
  26. package/dist/index179.js +266 -96
  27. package/dist/index180.js +106 -2
  28. package/dist/index181.js +2 -1376
  29. package/dist/index182.js +1378 -0
  30. package/dist/index184.js +12 -12
  31. package/dist/index185.js +10 -10
  32. package/dist/index186.js +12 -12
  33. package/dist/index187.js +14 -21
  34. package/dist/index188.js +23 -757
  35. package/dist/index189.js +759 -1144
  36. package/dist/index190.js +1144 -1234
  37. package/dist/index191.js +1205 -11248
  38. package/dist/index192.js +11277 -36
  39. package/dist/index193.js +36 -44
  40. package/dist/index194.js +42 -1188
  41. package/dist/index195.js +1230 -0
  42. package/dist/index197.js +5830 -99
  43. package/dist/index198.js +188 -16
  44. package/dist/index199.js +25 -8
  45. package/dist/index200.js +16 -76
  46. package/dist/index201.js +74 -249
  47. package/dist/index202.js +229 -13660
  48. package/dist/index203.js +13684 -27
  49. package/dist/index204.js +26 -62
  50. package/dist/index205.js +40 -215
  51. package/dist/index206.js +206 -279
  52. package/dist/index207.js +281 -265
  53. package/dist/index208.js +287 -80
  54. package/dist/index209.js +29 -403
  55. package/dist/index210.js +116 -22
  56. package/dist/index211.js +32 -29
  57. package/dist/index212.js +26 -116
  58. package/dist/index213.js +31 -31
  59. package/dist/index214.js +51 -26
  60. package/dist/index215.js +41 -34
  61. package/dist/index216.js +3 -50
  62. package/dist/index217.js +9 -43
  63. package/dist/index218.js +18 -3
  64. package/dist/index219.js +9 -8
  65. package/dist/index220.js +10 -19
  66. package/dist/index221.js +39 -10
  67. package/dist/index222.js +21 -10
  68. package/dist/index223.js +84 -35
  69. package/dist/index224.js +407 -21
  70. package/dist/index225.js +19 -124
  71. package/dist/index226.js +158 -35
  72. package/dist/index227.js +227 -79
  73. package/dist/index228.js +36 -19
  74. package/dist/index229.js +10 -20
  75. package/dist/index230.js +126 -19
  76. package/dist/index231.js +34 -16
  77. package/dist/index232.js +80 -20
  78. package/dist/index233.js +19 -160
  79. package/dist/index234.js +11 -11
  80. package/dist/index235.js +13 -15
  81. package/dist/index236.js +19 -198
  82. package/dist/index237.js +19 -69
  83. package/dist/index238.js +159 -32
  84. package/dist/index239.js +19 -39
  85. package/dist/index240.js +12 -12
  86. package/dist/index241.js +198 -21
  87. package/dist/index242.js +69 -19
  88. package/dist/index243.js +34 -836
  89. package/dist/index244.js +24 -686
  90. package/dist/index245.js +22 -176
  91. package/dist/index246.js +6 -6
  92. package/dist/index247.js +7 -7
  93. package/dist/index248.js +836 -20
  94. package/dist/index249.js +702 -3
  95. package/dist/index250.js +172 -183
  96. package/dist/index251.js +21 -132
  97. package/dist/index252.js +20 -1223
  98. package/dist/index253.js +9 -9
  99. package/dist/index254.js +3 -22
  100. package/dist/index255.js +186 -21
  101. package/dist/index256.js +132 -28
  102. package/dist/index257.js +1223 -20
  103. package/dist/index258.js +13 -13
  104. package/dist/index259.js +22 -2
  105. package/dist/index260.js +22 -2
  106. package/dist/index261.js +28 -160
  107. package/dist/index262.js +20 -228
  108. package/dist/index263.js +19 -36
  109. package/dist/index264.js +2 -10
  110. package/dist/index265.js +2 -3636
  111. package/dist/index266.js +3620 -39
  112. package/dist/index267.js +30 -52
  113. package/dist/index268.js +47 -22
  114. package/dist/index269.js +25 -188
  115. package/dist/index270.js +213 -8
  116. package/dist/index271.js +9 -56
  117. package/dist/index272.js +41 -45
  118. package/dist/index273.js +46 -39
  119. package/dist/index274.js +36 -57
  120. package/dist/index275.js +41 -692
  121. package/dist/index276.js +707 -23
  122. package/dist/index277.js +25 -47
  123. package/dist/index278.js +63 -10
  124. package/dist/index279.js +10 -704
  125. package/dist/index280.js +655 -770
  126. package/dist/index281.js +801 -234
  127. package/dist/index282.js +3 -8
  128. package/dist/index283.js +24 -135
  129. package/dist/index284.js +232 -62
  130. package/dist/index285.js +8 -3
  131. package/dist/index286.js +135 -24
  132. package/dist/index287.js +73 -252
  133. package/dist/index288.js +2 -6
  134. package/dist/index289.js +73 -134
  135. package/dist/index290.js +52 -71
  136. package/dist/index291.js +25 -86
  137. package/dist/index292.js +21 -28
  138. package/dist/index293.js +20 -14
  139. package/dist/index294.js +16 -75
  140. package/dist/index295.js +17 -4
  141. package/dist/index296.js +23 -2
  142. package/dist/index297.js +1531 -80
  143. package/dist/index298.js +386 -53
  144. package/dist/index299.js +2729 -4
  145. package/dist/index300.js +85 -4
  146. package/dist/index301.js +3761 -148
  147. package/dist/index302.js +57 -60
  148. package/dist/index303.js +78 -74
  149. package/dist/index304.js +22 -2
  150. package/dist/index305.js +910 -54
  151. package/dist/index306.js +21 -53
  152. package/dist/index307.js +12 -18
  153. package/dist/index308.js +11 -13
  154. package/dist/index309.js +68 -21
  155. package/dist/index310.js +17 -14
  156. package/dist/index311.js +16 -14
  157. package/dist/index312.js +22 -23
  158. package/dist/index313.js +21 -78
  159. package/dist/index314.js +63 -22
  160. package/dist/index315.js +14 -934
  161. package/dist/index316.js +83 -21
  162. package/dist/index317.js +202 -20
  163. package/dist/index318.js +246 -20
  164. package/dist/index319.js +260 -67
  165. package/dist/index320.js +6 -19
  166. package/dist/index321.js +139 -18
  167. package/dist/index322.js +72 -21
  168. package/dist/index323.js +85 -20
  169. package/dist/index324.js +29 -63
  170. package/dist/index325.js +13 -1531
  171. package/dist/index326.js +67 -378
  172. package/dist/index327.js +3 -2730
  173. package/dist/index328.js +2 -86
  174. package/dist/index329.js +80 -3789
  175. package/dist/index330.js +51 -58
  176. package/dist/index331.js +6 -15
  177. package/dist/index332.js +4 -83
  178. package/dist/index333.js +165 -188
  179. package/dist/index334.js +56 -239
  180. package/dist/index335.js +75 -9
  181. package/dist/index336.js +8 -12
  182. package/dist/index337.js +12 -54
  183. package/dist/index338.js +52 -9
  184. package/dist/index339.js +11 -13
  185. package/dist/index340.js +9 -53
  186. package/dist/index341.js +55 -49
  187. package/dist/index342.js +49 -28
  188. package/dist/index343.js +31 -2
  189. package/dist/index344.js +2 -5
  190. package/dist/index345.js +5 -2
  191. package/dist/index346.js +2 -23
  192. package/dist/index347.js +21 -39
  193. package/dist/index348.js +41 -2
  194. package/dist/index349.js +2 -11
  195. package/dist/index350.js +11 -20
  196. package/dist/index351.js +20 -10
  197. package/dist/index352.js +9 -9
  198. package/dist/index353.js +9 -16
  199. package/dist/index354.js +17 -2
  200. package/dist/index355.js +2 -9
  201. package/dist/index356.js +9 -10
  202. package/dist/index357.js +10 -14
  203. package/dist/index358.js +14 -19
  204. package/dist/index359.js +36 -56
  205. package/dist/index360.js +19 -28
  206. package/dist/index361.js +19 -6
  207. package/dist/index362.js +60 -48
  208. package/dist/index363.js +37 -7
  209. package/dist/index364.js +18 -11
  210. package/dist/index365.js +57 -7
  211. package/dist/index366.js +29 -28
  212. package/dist/index367.js +7 -2
  213. package/dist/index368.js +50 -68
  214. package/dist/index369.js +6 -166
  215. package/dist/index370.js +11 -36
  216. package/dist/index371.js +7 -20
  217. package/dist/index372.js +28 -20
  218. package/dist/index373.js +2 -64
  219. package/dist/index374.js +70 -37
  220. package/dist/index375.js +164 -28
  221. package/dist/index376.js +100 -10
  222. package/dist/index377.js +90 -3
  223. package/dist/index378.js +17 -4
  224. package/dist/index379.js +97 -12
  225. package/dist/index380.js +31 -7
  226. package/dist/index381.js +10 -11
  227. package/dist/index382.js +3 -4
  228. package/dist/index383.js +4 -33
  229. package/dist/index384.js +12 -30
  230. package/dist/index385.js +7 -28
  231. package/dist/index386.js +12 -61
  232. package/dist/index387.js +5 -17
  233. package/dist/index388.js +33 -101
  234. package/dist/index389.js +31 -91
  235. package/dist/index390.js +27 -97
  236. package/dist/index391.js +61 -3
  237. package/dist/index392.js +3 -2
  238. package/dist/index393.js +2 -2
  239. package/dist/index394.js +2 -17
  240. package/dist/index395.js +15 -11
  241. package/dist/index396.js +13 -6
  242. package/dist/index397.js +6 -32
  243. package/dist/index398.js +34 -0
  244. package/dist/index44.js +288 -261
  245. package/dist/index49.js +4 -3
  246. package/dist/index50.js +2 -2
  247. package/dist/index51.js +1 -1
  248. package/dist/index52.js +1 -1
  249. package/dist/index53.js +1 -1
  250. package/dist/index54.js +1 -1
  251. package/dist/index56.js +2 -2
  252. package/dist/index58.js +1 -1
  253. package/dist/index60.js +5 -5
  254. package/dist/index61.js +1 -1
  255. package/dist/index73.js +2 -2
  256. package/dist/index77.js +1 -1
  257. package/dist/index82.js +1 -1
  258. package/dist/index87.js +1 -1
  259. package/dist/index89.js +3 -3
  260. package/dist/index91.js +2 -2
  261. package/dist/index97.js +2 -2
  262. package/dist/src/components/grid/grid.stories.d.ts +28 -22
  263. package/dist/src/components/list/list.stories.d.ts +14 -11
  264. package/dist/src/components/modal/modal.stories.d.ts +14 -11
  265. package/dist/src/components/select/select.d.ts +14 -12
  266. package/dist/src/components/select/select.stories.d.ts +42 -33
  267. package/package.json +2 -2
  268. package/dist/index167.js +0 -116
  269. package/dist/index183.js +0 -20
  270. package/dist/index196.js +0 -5940
  271. package/dist/src/components/room-details-popover/room-details-popover.d.ts +0 -2018
  272. /package/dist/{index155.js → index156.js} +0 -0
  273. /package/dist/{index162.js → index163.js} +0 -0
package/dist/index267.js CHANGED
@@ -1,79 +1,57 @@
1
- import { Mark as a, markPasteRule as r, markInputRule as s, mergeAttributes as o } from "./index265.js";
2
- import { createElement as n } from "./index331.js";
3
- var d = /(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))$/, l = /(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))/g, i = /(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))$/, u = /(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))/g, p = a.create({
4
- name: "bold",
1
+ import { Node as a, wrappingInputRule as c, mergeAttributes as d } from "./index266.js";
2
+ import { createElement as i } from "./index315.js";
3
+ var l = /^\s*>\s$/, g = a.create({
4
+ name: "blockquote",
5
5
  addOptions() {
6
6
  return {
7
7
  HTMLAttributes: {}
8
8
  };
9
9
  },
10
+ content: "block+",
11
+ group: "block",
12
+ defining: !0,
10
13
  parseHTML() {
11
- return [
12
- {
13
- tag: "strong"
14
- },
15
- {
16
- tag: "b",
17
- getAttrs: (t) => t.style.fontWeight !== "normal" && null
18
- },
19
- {
20
- style: "font-weight=400",
21
- clearMark: (t) => t.type.name === this.name
22
- },
23
- {
24
- style: "font-weight",
25
- getAttrs: (t) => /^(bold(er)?|[5-9]\d{2,})$/.test(t) && null
26
- }
27
- ];
14
+ return [{ tag: "blockquote" }];
28
15
  },
29
16
  renderHTML({ HTMLAttributes: t }) {
30
- return /* @__PURE__ */ n("strong", { ...o(this.options.HTMLAttributes, t), children: /* @__PURE__ */ n("slot", {}) });
17
+ return /* @__PURE__ */ i("blockquote", { ...d(this.options.HTMLAttributes, t), children: /* @__PURE__ */ i("slot", {}) });
18
+ },
19
+ parseMarkdown: (t, e) => e.createNode("blockquote", void 0, e.parseChildren(t.tokens || [])),
20
+ renderMarkdown: (t, e) => {
21
+ if (!t.content)
22
+ return "";
23
+ const r = ">", n = [];
24
+ return t.content.forEach((u) => {
25
+ const s = e.renderChildren([u]).split(`
26
+ `).map((o) => o.trim() === "" ? r : `${r} ${o}`);
27
+ n.push(s.join(`
28
+ `));
29
+ }), n.join(`
30
+ ${r}
31
+ `);
31
32
  },
32
- markdownTokenName: "strong",
33
- parseMarkdown: (t, e) => e.applyMark("bold", e.parseInline(t.tokens || [])),
34
- renderMarkdown: (t, e) => `**${e.renderChildren(t)}**`,
35
33
  addCommands() {
36
34
  return {
37
- setBold: () => ({ commands: t }) => t.setMark(this.name),
38
- toggleBold: () => ({ commands: t }) => t.toggleMark(this.name),
39
- unsetBold: () => ({ commands: t }) => t.unsetMark(this.name)
35
+ setBlockquote: () => ({ commands: t }) => t.wrapIn(this.name),
36
+ toggleBlockquote: () => ({ commands: t }) => t.toggleWrap(this.name),
37
+ unsetBlockquote: () => ({ commands: t }) => t.lift(this.name)
40
38
  };
41
39
  },
42
40
  addKeyboardShortcuts() {
43
41
  return {
44
- "Mod-b": () => this.editor.commands.toggleBold(),
45
- "Mod-B": () => this.editor.commands.toggleBold()
42
+ "Mod-Shift-b": () => this.editor.commands.toggleBlockquote()
46
43
  };
47
44
  },
48
45
  addInputRules() {
49
46
  return [
50
- s({
51
- find: d,
52
- type: this.type
53
- }),
54
- s({
55
- find: i,
56
- type: this.type
57
- })
58
- ];
59
- },
60
- addPasteRules() {
61
- return [
62
- r({
47
+ c({
63
48
  find: l,
64
49
  type: this.type
65
- }),
66
- r({
67
- find: u,
68
- type: this.type
69
50
  })
70
51
  ];
71
52
  }
72
53
  });
73
54
  export {
74
- p as Bold,
75
- d as starInputRegex,
76
- l as starPasteRegex,
77
- i as underscoreInputRegex,
78
- u as underscorePasteRegex
55
+ g as Blockquote,
56
+ l as inputRegex
79
57
  };
package/dist/index268.js CHANGED
@@ -1,46 +1,69 @@
1
- import { Mark as r, markPasteRule as n, markInputRule as a, mergeAttributes as d } from "./index265.js";
2
- var o = /(^|[^`])`([^`]+)`(?!`)$/, u = /(^|[^`])`([^`]+)`(?!`)/g, i = r.create({
3
- name: "code",
1
+ import { Mark as a, markPasteRule as r, markInputRule as s, mergeAttributes as o } from "./index266.js";
2
+ import { createElement as n } from "./index315.js";
3
+ var d = /(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))$/, l = /(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))/g, i = /(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))$/, u = /(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))/g, p = a.create({
4
+ name: "bold",
4
5
  addOptions() {
5
6
  return {
6
7
  HTMLAttributes: {}
7
8
  };
8
9
  },
9
- excludes: "_",
10
- code: !0,
11
- exitable: !0,
12
10
  parseHTML() {
13
- return [{ tag: "code" }];
11
+ return [
12
+ {
13
+ tag: "strong"
14
+ },
15
+ {
16
+ tag: "b",
17
+ getAttrs: (t) => t.style.fontWeight !== "normal" && null
18
+ },
19
+ {
20
+ style: "font-weight=400",
21
+ clearMark: (t) => t.type.name === this.name
22
+ },
23
+ {
24
+ style: "font-weight",
25
+ getAttrs: (t) => /^(bold(er)?|[5-9]\d{2,})$/.test(t) && null
26
+ }
27
+ ];
14
28
  },
15
- renderHTML({ HTMLAttributes: e }) {
16
- return ["code", d(this.options.HTMLAttributes, e), 0];
29
+ renderHTML({ HTMLAttributes: t }) {
30
+ return /* @__PURE__ */ n("strong", { ...o(this.options.HTMLAttributes, t), children: /* @__PURE__ */ n("slot", {}) });
17
31
  },
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)}\`` : "",
32
+ markdownTokenName: "strong",
33
+ parseMarkdown: (t, e) => e.applyMark("bold", e.parseInline(t.tokens || [])),
34
+ renderMarkdown: (t, e) => `**${e.renderChildren(t)}**`,
21
35
  addCommands() {
22
36
  return {
23
- setCode: () => ({ commands: e }) => e.setMark(this.name),
24
- toggleCode: () => ({ commands: e }) => e.toggleMark(this.name),
25
- unsetCode: () => ({ commands: e }) => e.unsetMark(this.name)
37
+ setBold: () => ({ commands: t }) => t.setMark(this.name),
38
+ toggleBold: () => ({ commands: t }) => t.toggleMark(this.name),
39
+ unsetBold: () => ({ commands: t }) => t.unsetMark(this.name)
26
40
  };
27
41
  },
28
42
  addKeyboardShortcuts() {
29
43
  return {
30
- "Mod-e": () => this.editor.commands.toggleCode()
44
+ "Mod-b": () => this.editor.commands.toggleBold(),
45
+ "Mod-B": () => this.editor.commands.toggleBold()
31
46
  };
32
47
  },
33
48
  addInputRules() {
34
49
  return [
35
- a({
36
- find: o,
50
+ s({
51
+ find: d,
52
+ type: this.type
53
+ }),
54
+ s({
55
+ find: i,
37
56
  type: this.type
38
57
  })
39
58
  ];
40
59
  },
41
60
  addPasteRules() {
42
61
  return [
43
- n({
62
+ r({
63
+ find: l,
64
+ type: this.type
65
+ }),
66
+ r({
44
67
  find: u,
45
68
  type: this.type
46
69
  })
@@ -48,7 +71,9 @@ var o = /(^|[^`])`([^`]+)`(?!`)$/, u = /(^|[^`])`([^`]+)`(?!`)/g, i = r.create({
48
71
  }
49
72
  });
50
73
  export {
51
- i as Code,
52
- o as inputRegex,
53
- u as pasteRegex
74
+ p as Bold,
75
+ d as starInputRegex,
76
+ l as starPasteRegex,
77
+ i as underscoreInputRegex,
78
+ u as underscorePasteRegex
54
79
  };
package/dist/index269.js CHANGED
@@ -1,217 +1,54 @@
1
- import { Node as k, textblockTypeInputRule as S, mergeAttributes as C } from "./index265.js";
2
- import { Plugin as w, PluginKey as B, TextSelection as T, Selection as L } from "./index280.js";
3
- var y = 4, M = /^```([a-z]+)?[\s\n]$/, N = /^~~~([a-z]+)?[\s\n]$/, $ = k.create({
4
- name: "codeBlock",
1
+ import { Mark as r, markPasteRule as n, markInputRule as a, mergeAttributes as d } from "./index266.js";
2
+ var o = /(^|[^`])`([^`]+)`(?!`)$/, u = /(^|[^`])`([^`]+)`(?!`)/g, i = r.create({
3
+ name: "code",
5
4
  addOptions() {
6
5
  return {
7
- languageClassPrefix: "language-",
8
- exitOnTripleEnter: !0,
9
- exitOnArrowDown: !0,
10
- defaultLanguage: null,
11
- enableTabIndentation: !1,
12
- tabSize: y,
13
6
  HTMLAttributes: {}
14
7
  };
15
8
  },
16
- content: "text*",
17
- marks: "",
18
- group: "block",
9
+ excludes: "_",
19
10
  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
- },
11
+ exitable: !0,
37
12
  parseHTML() {
38
- return [
39
- {
40
- tag: "pre",
41
- preserveWhitespace: "full"
42
- }
43
- ];
44
- },
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
- );
13
+ return [{ tag: "code" }];
66
14
  },
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;
15
+ renderHTML({ HTMLAttributes: e }) {
16
+ return ["code", d(this.options.HTMLAttributes, e), 0];
75
17
  },
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)}\`` : "",
76
21
  addCommands() {
77
22
  return {
78
- setCodeBlock: (e) => ({ commands: t }) => t.setNode(this.name, e),
79
- toggleCodeBlock: (e) => ({ commands: t }) => t.toggleNode(this.name, "paragraph", e)
23
+ setCode: () => ({ commands: e }) => e.setMark(this.name),
24
+ toggleCode: () => ({ commands: e }) => e.toggleMark(this.name),
25
+ unsetCode: () => ({ commands: e }) => e.unsetMark(this.name)
80
26
  };
81
27
  },
82
28
  addKeyboardShortcuts() {
83
29
  return {
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
- }
30
+ "Mod-e": () => this.editor.commands.toggleCode()
171
31
  };
172
32
  },
173
33
  addInputRules() {
174
34
  return [
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
- })
35
+ a({
36
+ find: o,
37
+ type: this.type
188
38
  })
189
39
  ];
190
40
  },
191
- addProseMirrorPlugins() {
41
+ addPasteRules() {
192
42
  return [
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
- }
43
+ n({
44
+ find: u,
45
+ type: this.type
209
46
  })
210
47
  ];
211
48
  }
212
49
  });
213
50
  export {
214
- $ as CodeBlock,
215
- M as backtickInputRegex,
216
- N as tildeInputRegex
51
+ i as Code,
52
+ o as inputRegex,
53
+ u as pasteRegex
217
54
  };
package/dist/index270.js CHANGED
@@ -1,12 +1,217 @@
1
- import { Node as n } from "./index265.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, `
1
+ import { Node as k, textblockTypeInputRule as S, mergeAttributes as C } from "./index266.js";
2
+ import { Plugin as w, PluginKey as B, TextSelection as T, Selection as L } from "./index281.js";
3
+ var y = 4, M = /^```([a-z]+)?[\s\n]$/, N = /^~~~([a-z]+)?[\s\n]$/, $ = k.create({
4
+ name: "codeBlock",
5
+ addOptions() {
6
+ return {
7
+ languageClassPrefix: "language-",
8
+ exitOnTripleEnter: !0,
9
+ exitOnArrowDown: !0,
10
+ defaultLanguage: null,
11
+ enableTabIndentation: !1,
12
+ tabSize: y,
13
+ HTMLAttributes: {}
14
+ };
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
+ },
37
+ parseHTML() {
38
+ return [
39
+ {
40
+ tag: "pre",
41
+ preserveWhitespace: "full"
42
+ }
43
+ ];
44
+ },
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}
7
73
 
8
- `) : ""
74
+ \`\`\``, n;
75
+ },
76
+ addCommands() {
77
+ return {
78
+ setCodeBlock: (e) => ({ commands: t }) => t.setNode(this.name, e),
79
+ toggleCodeBlock: (e) => ({ commands: t }) => t.toggleNode(this.name, "paragraph", e)
80
+ };
81
+ },
82
+ addKeyboardShortcuts() {
83
+ return {
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
+ }
171
+ };
172
+ },
173
+ addInputRules() {
174
+ return [
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
+ })
188
+ })
189
+ ];
190
+ },
191
+ addProseMirrorPlugins() {
192
+ return [
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
+ }
209
+ })
210
+ ];
211
+ }
9
212
  });
10
213
  export {
11
- o as Document
214
+ $ as CodeBlock,
215
+ M as backtickInputRegex,
216
+ N as tildeInputRegex
12
217
  };