@pinkpixel/marzipan 1.0.5 → 1.0.7

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 (220) hide show
  1. package/dist/_basePickBy-BXyyc71p.js +152 -0
  2. package/dist/_basePickBy-BXyyc71p.js.map +1 -0
  3. package/dist/_baseUniq-Dde5pUWM.js +615 -0
  4. package/dist/_baseUniq-Dde5pUWM.js.map +1 -0
  5. package/dist/actions/core/detection.d.ts +11 -0
  6. package/dist/actions/core/detection.d.ts.map +1 -0
  7. package/dist/actions/core/detection.js +142 -0
  8. package/dist/actions/core/detection.js.map +1 -0
  9. package/dist/actions/core/formats.d.ts +5 -0
  10. package/dist/actions/core/formats.d.ts.map +1 -0
  11. package/dist/actions/core/formats.js +75 -0
  12. package/dist/actions/core/formats.js.map +1 -0
  13. package/dist/actions/core/insertion.d.ts +5 -0
  14. package/dist/actions/core/insertion.d.ts.map +1 -0
  15. package/dist/actions/core/insertion.js +116 -0
  16. package/dist/actions/core/insertion.js.map +1 -0
  17. package/dist/actions/core/selection.d.ts +13 -0
  18. package/dist/actions/core/selection.d.ts.map +1 -0
  19. package/dist/actions/core/selection.js +137 -0
  20. package/dist/actions/core/selection.js.map +1 -0
  21. package/dist/actions/debug.d.ts +10 -0
  22. package/dist/actions/debug.d.ts.map +1 -0
  23. package/dist/actions/debug.js +39 -0
  24. package/dist/actions/debug.js.map +1 -0
  25. package/dist/actions/index.d.ts +48 -0
  26. package/dist/actions/index.d.ts.map +1 -0
  27. package/dist/actions/index.js +237 -0
  28. package/dist/actions/index.js.map +1 -0
  29. package/dist/actions/operations/block.d.ts +5 -0
  30. package/dist/actions/operations/block.d.ts.map +1 -0
  31. package/dist/actions/operations/block.js +120 -0
  32. package/dist/actions/operations/block.js.map +1 -0
  33. package/dist/actions/operations/list.d.ts +4 -0
  34. package/dist/actions/operations/list.d.ts.map +1 -0
  35. package/dist/actions/operations/list.js +151 -0
  36. package/dist/actions/operations/list.js.map +1 -0
  37. package/dist/actions/types.d.ts +43 -0
  38. package/dist/actions/types.d.ts.map +1 -0
  39. package/dist/actions/types.js +2 -0
  40. package/dist/actions/types.js.map +1 -0
  41. package/dist/arc-CfMWIGxd.js +84 -0
  42. package/dist/arc-CfMWIGxd.js.map +1 -0
  43. package/dist/architectureDiagram-VXUJARFQ-Bb4i7x-6.js +4663 -0
  44. package/dist/architectureDiagram-VXUJARFQ-Bb4i7x-6.js.map +1 -0
  45. package/dist/blockDiagram-VD42YOAC-ldSoJhgA.js +2262 -0
  46. package/dist/blockDiagram-VD42YOAC-ldSoJhgA.js.map +1 -0
  47. package/dist/c4Diagram-YG6GDRKO-D-ENeA7h.js +1581 -0
  48. package/dist/c4Diagram-YG6GDRKO-D-ENeA7h.js.map +1 -0
  49. package/dist/channel-BCTxewZI.js +6 -0
  50. package/dist/channel-BCTxewZI.js.map +1 -0
  51. package/dist/chunk-4BX2VUAB-Cfh_4i4X.js +9 -0
  52. package/dist/chunk-4BX2VUAB-Cfh_4i4X.js.map +1 -0
  53. package/dist/chunk-55IACEB6-DNOIVRvW.js +9 -0
  54. package/dist/chunk-55IACEB6-DNOIVRvW.js.map +1 -0
  55. package/dist/chunk-B4BG7PRW-C_qWbbk6.js +1376 -0
  56. package/dist/chunk-B4BG7PRW-C_qWbbk6.js.map +1 -0
  57. package/dist/chunk-DI55MBZ5-D_yXJA03.js +1371 -0
  58. package/dist/chunk-DI55MBZ5-D_yXJA03.js.map +1 -0
  59. package/dist/chunk-FMBD7UC4-B9NJjOBf.js +20 -0
  60. package/dist/chunk-FMBD7UC4-B9NJjOBf.js.map +1 -0
  61. package/dist/chunk-QN33PNHL-CVrLUVsI.js +20 -0
  62. package/dist/chunk-QN33PNHL-CVrLUVsI.js.map +1 -0
  63. package/dist/chunk-QZHKN3VN-FvAf_VJR.js +16 -0
  64. package/dist/chunk-QZHKN3VN-FvAf_VJR.js.map +1 -0
  65. package/dist/chunk-TZMSLE5B-DxYTPD3t.js +65 -0
  66. package/dist/chunk-TZMSLE5B-DxYTPD3t.js.map +1 -0
  67. package/dist/classDiagram-2ON5EDUG-Cg641kit.js +17 -0
  68. package/dist/classDiagram-2ON5EDUG-Cg641kit.js.map +1 -0
  69. package/dist/classDiagram-v2-WZHVMYZB-Cg641kit.js +17 -0
  70. package/dist/classDiagram-v2-WZHVMYZB-Cg641kit.js.map +1 -0
  71. package/dist/clone-D062_nJ-.js +9 -0
  72. package/dist/clone-D062_nJ-.js.map +1 -0
  73. package/dist/cose-bilkent-S5V4N54A-DIb5rck_.js +2609 -0
  74. package/dist/cose-bilkent-S5V4N54A-DIb5rck_.js.map +1 -0
  75. package/dist/cytoscape.esm-DfdJODL8.js +18736 -0
  76. package/dist/cytoscape.esm-DfdJODL8.js.map +1 -0
  77. package/dist/dagre-6UL2VRFP-CZKadRq9.js +445 -0
  78. package/dist/dagre-6UL2VRFP-CZKadRq9.js.map +1 -0
  79. package/dist/defaultLocale-D7EN2tov.js +172 -0
  80. package/dist/defaultLocale-D7EN2tov.js.map +1 -0
  81. package/dist/diagram-PSM6KHXK-VDtnZynV.js +532 -0
  82. package/dist/diagram-PSM6KHXK-VDtnZynV.js.map +1 -0
  83. package/dist/diagram-QEK2KX5R-DxjNZqZ_.js +218 -0
  84. package/dist/diagram-QEK2KX5R-DxjNZqZ_.js.map +1 -0
  85. package/dist/diagram-S2PKOQOG-CCX3j4vi.js +143 -0
  86. package/dist/diagram-S2PKOQOG-CCX3j4vi.js.map +1 -0
  87. package/dist/erDiagram-Q2GNP2WA-nwmrf6lJ.js +842 -0
  88. package/dist/erDiagram-Q2GNP2WA-nwmrf6lJ.js.map +1 -0
  89. package/dist/flowDiagram-NV44I4VS-DQEdMlRX.js +1621 -0
  90. package/dist/flowDiagram-NV44I4VS-DQEdMlRX.js.map +1 -0
  91. package/dist/ganttDiagram-LVOFAZNH-WMiy-Gep.js +2506 -0
  92. package/dist/ganttDiagram-LVOFAZNH-WMiy-Gep.js.map +1 -0
  93. package/dist/gitGraphDiagram-NY62KEGX-BgmbSTgN.js +700 -0
  94. package/dist/gitGraphDiagram-NY62KEGX-BgmbSTgN.js.map +1 -0
  95. package/dist/graph-CSVEP8oS.js +248 -0
  96. package/dist/graph-CSVEP8oS.js.map +1 -0
  97. package/dist/icons.d.ts +17 -0
  98. package/dist/icons.d.ts.map +1 -0
  99. package/dist/icons.js +67 -0
  100. package/dist/icons.js.map +1 -0
  101. package/dist/index.d.ts +143 -0
  102. package/dist/index.d.ts.map +1 -0
  103. package/dist/index.js +1 -1
  104. package/dist/index.js.map +1 -1
  105. package/dist/infoDiagram-F6ZHWCRC-BzTgHHGF.js +25 -0
  106. package/dist/infoDiagram-F6ZHWCRC-BzTgHHGF.js.map +1 -0
  107. package/dist/init-DjUOC4st.js +17 -0
  108. package/dist/init-DjUOC4st.js.map +1 -0
  109. package/dist/journeyDiagram-XKPGCS4Q-B5P7hkT-.js +835 -0
  110. package/dist/journeyDiagram-XKPGCS4Q-B5P7hkT-.js.map +1 -0
  111. package/dist/kanban-definition-3W4ZIXB7-CLtnd0xR.js +720 -0
  112. package/dist/kanban-definition-3W4ZIXB7-CLtnd0xR.js.map +1 -0
  113. package/dist/katex-CmGeg_OO.js +11693 -0
  114. package/dist/katex-CmGeg_OO.js.map +1 -0
  115. package/dist/layout-CdTiJocX.js +1325 -0
  116. package/dist/layout-CdTiJocX.js.map +1 -0
  117. package/dist/linear-BhblBDrV.js +260 -0
  118. package/dist/linear-BhblBDrV.js.map +1 -0
  119. package/dist/link-tooltip.d.ts +27 -0
  120. package/dist/link-tooltip.d.ts.map +1 -0
  121. package/dist/link-tooltip.js +224 -0
  122. package/dist/link-tooltip.js.map +1 -0
  123. package/dist/marzipan.d.ts +472 -0
  124. package/dist/marzipan.d.ts.map +1 -0
  125. package/dist/marzipan.js +1185 -0
  126. package/dist/marzipan.js.map +1 -0
  127. package/dist/mermaid.core-DENutRS8.js +15249 -0
  128. package/dist/mermaid.core-DENutRS8.js.map +1 -0
  129. package/dist/mindmap-definition-VGOIOE7T-BXBE9eta.js +785 -0
  130. package/dist/mindmap-definition-VGOIOE7T-BXBE9eta.js.map +1 -0
  131. package/dist/ordinal-DfAQgscy.js +62 -0
  132. package/dist/ordinal-DfAQgscy.js.map +1 -0
  133. package/dist/parser.d.ts +234 -0
  134. package/dist/parser.d.ts.map +1 -0
  135. package/dist/parser.js +886 -0
  136. package/dist/parser.js.map +1 -0
  137. package/dist/pieDiagram-ADFJNKIX-BND3UUQ-.js +162 -0
  138. package/dist/pieDiagram-ADFJNKIX-BND3UUQ-.js.map +1 -0
  139. package/dist/plugins/accentSwatchPlugin.d.ts +15 -0
  140. package/dist/plugins/accentSwatchPlugin.d.ts.map +1 -0
  141. package/dist/plugins/accentSwatchPlugin.js +142 -0
  142. package/dist/plugins/accentSwatchPlugin.js.map +1 -0
  143. package/dist/plugins/imageManagerPlugin.d.ts +16 -0
  144. package/dist/plugins/imageManagerPlugin.d.ts.map +1 -0
  145. package/dist/plugins/imageManagerPlugin.js +161 -0
  146. package/dist/plugins/imageManagerPlugin.js.map +1 -0
  147. package/dist/plugins/imagePicker.d.ts +7 -0
  148. package/dist/plugins/imagePicker.d.ts.map +1 -0
  149. package/dist/plugins/imagePicker.js +33 -0
  150. package/dist/plugins/imagePicker.js.map +1 -0
  151. package/dist/plugins/imagePickerPlugin.d.ts +3 -0
  152. package/dist/plugins/imagePickerPlugin.d.ts.map +1 -0
  153. package/dist/plugins/imagePickerPlugin.js +12 -0
  154. package/dist/plugins/imagePickerPlugin.js.map +1 -0
  155. package/dist/plugins/mermaidExternal.d.ts +2 -0
  156. package/dist/plugins/mermaidExternal.d.ts.map +1 -0
  157. package/dist/plugins/mermaidExternal.js +44 -0
  158. package/dist/plugins/mermaidExternal.js.map +1 -0
  159. package/dist/plugins/mermaidPlugin.d.ts +2 -0
  160. package/dist/plugins/mermaidPlugin.d.ts.map +1 -0
  161. package/dist/plugins/mermaidPlugin.js +25 -0
  162. package/dist/plugins/mermaidPlugin.js.map +1 -0
  163. package/dist/plugins/tableGenerator.d.ts +2 -0
  164. package/dist/plugins/tableGenerator.d.ts.map +1 -0
  165. package/dist/plugins/tableGenerator.js +24 -0
  166. package/dist/plugins/tableGenerator.js.map +1 -0
  167. package/dist/plugins/tableGridPlugin.d.ts +14 -0
  168. package/dist/plugins/tableGridPlugin.d.ts.map +1 -0
  169. package/dist/plugins/tableGridPlugin.js +77 -0
  170. package/dist/plugins/tableGridPlugin.js.map +1 -0
  171. package/dist/plugins/tablePlugin.d.ts +2 -0
  172. package/dist/plugins/tablePlugin.d.ts.map +1 -0
  173. package/dist/plugins/tablePlugin.js +26 -0
  174. package/dist/plugins/tablePlugin.js.map +1 -0
  175. package/dist/plugins/tinyHighlight.d.ts +10 -0
  176. package/dist/plugins/tinyHighlight.d.ts.map +1 -0
  177. package/dist/plugins/tinyHighlight.js +109 -0
  178. package/dist/plugins/tinyHighlight.js.map +1 -0
  179. package/dist/plugins/utils/table.d.ts +3 -0
  180. package/dist/plugins/utils/table.d.ts.map +1 -0
  181. package/dist/plugins/utils/table.js +25 -0
  182. package/dist/plugins/utils/table.js.map +1 -0
  183. package/dist/quadrantDiagram-AYHSOK5B-CnLHbrEF.js +1023 -0
  184. package/dist/quadrantDiagram-AYHSOK5B-CnLHbrEF.js.map +1 -0
  185. package/dist/requirementDiagram-UZGBJVZJ-caC7K17a.js +851 -0
  186. package/dist/requirementDiagram-UZGBJVZJ-caC7K17a.js.map +1 -0
  187. package/dist/sankeyDiagram-TZEHDZUN-CV5-bwv8.js +811 -0
  188. package/dist/sankeyDiagram-TZEHDZUN-CV5-bwv8.js.map +1 -0
  189. package/dist/sequenceDiagram-WL72ISMW-Cq1otbHU.js +2512 -0
  190. package/dist/sequenceDiagram-WL72ISMW-Cq1otbHU.js.map +1 -0
  191. package/dist/shortcuts.d.ts +15 -0
  192. package/dist/shortcuts.d.ts.map +1 -0
  193. package/dist/shortcuts.js +78 -0
  194. package/dist/shortcuts.js.map +1 -0
  195. package/dist/stateDiagram-FKZM4ZOC-BJ5UwskL.js +264 -0
  196. package/dist/stateDiagram-FKZM4ZOC-BJ5UwskL.js.map +1 -0
  197. package/dist/stateDiagram-v2-4FDKWEC3-H1gqsSsO.js +17 -0
  198. package/dist/stateDiagram-v2-4FDKWEC3-H1gqsSsO.js.map +1 -0
  199. package/dist/styles.d.ts +11 -0
  200. package/dist/styles.d.ts.map +1 -0
  201. package/dist/styles.js +854 -0
  202. package/dist/styles.js.map +1 -0
  203. package/dist/table-DMIy93NJ.js +25 -0
  204. package/dist/table-DMIy93NJ.js.map +1 -0
  205. package/dist/themes.d.ts +197 -0
  206. package/dist/themes.d.ts.map +1 -0
  207. package/dist/themes.js +120 -0
  208. package/dist/themes.js.map +1 -0
  209. package/dist/timeline-definition-IT6M3QCI-CqPEUsh4.js +796 -0
  210. package/dist/timeline-definition-IT6M3QCI-CqPEUsh4.js.map +1 -0
  211. package/dist/toolbar.d.ts +37 -0
  212. package/dist/toolbar.d.ts.map +1 -0
  213. package/dist/toolbar.js +283 -0
  214. package/dist/toolbar.js.map +1 -0
  215. package/dist/treemap-75Q7IDZK-DmPg5GN7.js +12988 -0
  216. package/dist/treemap-75Q7IDZK-DmPg5GN7.js.map +1 -0
  217. package/dist/xychartDiagram-PRI3JC2R-C3_IO4Rm.js +1341 -0
  218. package/dist/xychartDiagram-PRI3JC2R-C3_IO4Rm.js.map +1 -0
  219. package/docs/types.d.ts +1 -1
  220. package/package.json +15 -11
@@ -0,0 +1,109 @@
1
+ function p(e) {
2
+ return e.replace(/[&<>"']/g, (t) => ({ "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;" })[t]);
3
+ }
4
+ function f(e, t) {
5
+ let n = p(e);
6
+ for (const { pattern: a, cls: l } of t)
7
+ n = n.replace(a, (c) => `<span class="tok ${l}">${p(c)}</span>`);
8
+ return n;
9
+ }
10
+ const g = String.raw`\b(abstract|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b`, d = String.raw`\b(string|number|boolean|any|unknown|never|void|null|undefined|Record|Partial|Readonly|Array|Promise|Map|Set)\b`, r = {
11
+ js: [
12
+ { pattern: /\/\/.*/g, cls: "com" },
13
+ { pattern: /\/\*[\s\S]*?\*\//g, cls: "com" },
14
+ { pattern: /(['"`])(?:\\.|(?!\1)[\s\S])*\1/g, cls: "str" },
15
+ { pattern: /\b\d[\d_]*(?:\.[\d_]+)?\b/g, cls: "num" },
16
+ { pattern: new RegExp(g, "g"), cls: "kw" }
17
+ ],
18
+ ts: [
19
+ { pattern: /\/\/.*/g, cls: "com" },
20
+ { pattern: /\/\*[\s\S]*?\*\//g, cls: "com" },
21
+ { pattern: /(['"`])(?:\\.|(?!\1)[\s\S])*\1/g, cls: "str" },
22
+ { pattern: new RegExp("\\b\\d[\\d_]*(?:\\.[\\d_]+)?\\b", "g"), cls: "num" },
23
+ { pattern: new RegExp(g, "g"), cls: "kw" },
24
+ { pattern: new RegExp(d, "g"), cls: "type" }
25
+ ],
26
+ json: [
27
+ { pattern: /"(?:\\.|[^"])*"(?=\s*:)/g, cls: "prop" },
28
+ { pattern: /"(?:\\.|[^"])*"/g, cls: "str" },
29
+ { pattern: /\b(true|false|null)\b/g, cls: "kw" },
30
+ { pattern: /-?\b\d[\d.]*\b/g, cls: "num" }
31
+ ],
32
+ css: [
33
+ { pattern: /\/\*[\s\S]*?\*\//g, cls: "com" },
34
+ { pattern: /#[0-9a-fA-F]{3,8}\b/g, cls: "num" },
35
+ { pattern: /\b\d+(\.\d+)?(px|em|rem|%|vh|vw)\b/g, cls: "num" },
36
+ { pattern: /:[a-z-]+(?=\s*:)/g, cls: "prop" },
37
+ { pattern: /\b(var|calc|clamp)\b/g, cls: "kw" }
38
+ ],
39
+ html: [
40
+ { pattern: /<!--[\s\S]*?-->/g, cls: "com" },
41
+ { pattern: /<\/?[a-zA-Z][\w:-]*/g, cls: "tag" },
42
+ { pattern: /\s+[a-zA-Z_:][\w:.-]*(?==)/g, cls: "attr" },
43
+ { pattern: /"[^"]*"|'[^']*'/g, cls: "str" },
44
+ { pattern: /\/?>/g, cls: "tag" }
45
+ ],
46
+ bash: [
47
+ { pattern: /#.*/g, cls: "com" },
48
+ { pattern: /\$[A-Za-z_]\w*/g, cls: "var" },
49
+ { pattern: /(['"`])(?:\\.|(?!\1)[\s\S])*\1/g, cls: "str" },
50
+ { pattern: /^\s*[a-zA-Z][\w-]*/gm, cls: "kw" },
51
+ { pattern: /\b\d+\b/g, cls: "num" }
52
+ ],
53
+ ini: [
54
+ { pattern: /;.*/g, cls: "com" },
55
+ { pattern: /^\s*\[[^\]]+\]/gm, cls: "kw" },
56
+ { pattern: /^\s*[A-Za-z0-9_.-]+\s*(?==)/gm, cls: "prop" },
57
+ { pattern: /=\s*".*?"|=\s*'.*?'|=\s*\S+/g, cls: "str" }
58
+ ],
59
+ md: [
60
+ { pattern: /^###[^\n]+/gm, cls: "kw" },
61
+ { pattern: /^##[^\n]+/gm, cls: "kw" },
62
+ { pattern: /^#[^\n]+/gm, cls: "kw" },
63
+ { pattern: /`[^`]+`/g, cls: "code" },
64
+ { pattern: /\*\*[^*]+\*\*/g, cls: "strong" },
65
+ { pattern: /\*[^*]+\*/g, cls: "em" }
66
+ ]
67
+ };
68
+ function h(e) {
69
+ const t = e.replace(/^language-/, "").toLowerCase();
70
+ return t === "ts" || t === "tsx" ? r.ts : t === "js" || t === "jsx" || t === "mjs" || t === "cjs" ? r.js : t === "json" ? r.json : t === "html" || t === "xml" ? r.html : t === "css" ? r.css : t === "bash" || t === "sh" || t === "shell" ? r.bash : t === "ini" || t === "conf" ? r.ini : t === "md" || t === "markdown" ? r.md : [];
71
+ }
72
+ function w() {
73
+ return (e) => {
74
+ const t = e.options.hooks?.afterPreviewRender;
75
+ e.options.hooks = e.options.hooks || {}, e.options.hooks.afterPreviewRender = (n, a) => {
76
+ t?.(n, a), n.querySelectorAll('pre code[class*="language-"]').forEach((c) => {
77
+ const s = c;
78
+ if (s.dataset.hl === "1") return;
79
+ const i = [...s.classList].find((u) => u.startsWith("language-")), o = h(i);
80
+ if (!o.length) {
81
+ s.dataset.hl = "1";
82
+ return;
83
+ }
84
+ const m = s.textContent || "";
85
+ s.innerHTML = f(m, o), s.closest("pre")?.classList.add("marzipan-highlight"), s.dataset.hl = "1";
86
+ });
87
+ };
88
+ };
89
+ }
90
+ const b = `
91
+ .marzipan-highlight { line-height: 1.5; overflow: auto; border-radius: 8px; }
92
+ .tok.kw { color: var(--mz-k, #c678dd); font-weight: 600; }
93
+ .tok.type { color: var(--mz-t, #56b6c2); }
94
+ .tok.prop { color: var(--mz-p, #e5c07b); }
95
+ .tok.num { color: var(--mz-n, #d19a66); }
96
+ .tok.str { color: var(--mz-s, #98c379); }
97
+ .tok.com { color: var(--mz-c, #7f848e); font-style: italic; }
98
+ .tok.tag { color: var(--mz-tag, #e06c75); }
99
+ .tok.attr { color: var(--mz-attr, #61afef); }
100
+ .tok.var { color: var(--mz-var, #61afef); }
101
+ .tok.code { color: var(--mz-code, #e5c07b); }
102
+ .tok.strong { font-weight: 700; }
103
+ .tok.em { font-style: italic; }
104
+ `;
105
+ export {
106
+ w as tinyHighlightPlugin,
107
+ b as tinyHighlightStyles
108
+ };
109
+ //# sourceMappingURL=tinyHighlight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tinyHighlight.js","sources":["../../src/plugins/tinyHighlight.ts"],"sourcesContent":["// plugins/tinyHighlight.ts\n// A tiny, regex-based highlighter for common languages. Zero deps.\n// Not spec-perfect; tuned for readability and speed.\n\nexport type MarzipanLike = {\n options: { hooks?: { afterPreviewRender?: (root: HTMLElement, editor: any) => void } };\n};\n\ntype Rule = { pattern: RegExp; cls: string };\n\nfunction escHtml(s: string) {\n return s.replace(/[&<>\"']/g, m => ({ '&': '&amp;', '<': '&lt;', '>': '&gt;', '\"': '&quot;', \"'\": '&#39;' }[m]!));\n}\n\nfunction applyRules(code: string, rules: Rule[]) {\n // Protect code by escaping, then re-inject spans via token placeholders\n let html = escHtml(code);\n // Run longer-span rules first (comments/strings), then keywords/numbers.\n for (const { pattern, cls } of rules) {\n html = html.replace(pattern, (m) => `<span class=\"tok ${cls}\">${escHtml(m)}</span>`);\n }\n return html;\n}\n\nconst JS_WORDS = String.raw`\\b(abstract|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\\b`;\nconst TYPES = String.raw`\\b(string|number|boolean|any|unknown|never|void|null|undefined|Record|Partial|Readonly|Array|Promise|Map|Set)\\b`;\n\nconst rulesByLang: Record<string, Rule[]> = {\n js: [\n { pattern: /\\/\\/.*/g, cls: 'com' },\n { pattern: /\\/\\*[\\s\\S]*?\\*\\//g, cls: 'com' },\n { pattern: /(['\"`])(?:\\\\.|(?!\\1)[\\s\\S])*\\1/g, cls: 'str' },\n { pattern: /\\b\\d[\\d_]*(?:\\.[\\d_]+)?\\b/g, cls: 'num' },\n { pattern: new RegExp(JS_WORDS, 'g'), cls: 'kw' },\n ],\n ts: [\n { pattern: /\\/\\/.*/g, cls: 'com' },\n { pattern: /\\/\\*[\\s\\S]*?\\*\\//g, cls: 'com' },\n { pattern: /(['\"`])(?:\\\\.|(?!\\1)[\\s\\S])*\\1/g, cls: 'str' },\n { pattern: new RegExp(`\\\\b\\\\d[\\\\d_]*(?:\\\\.[\\\\d_]+)?\\\\b`, 'g'), cls: 'num' },\n { pattern: new RegExp(JS_WORDS, 'g'), cls: 'kw' },\n { pattern: new RegExp(TYPES, 'g'), cls: 'type' },\n ],\n json: [\n { pattern: /\"(?:\\\\.|[^\"])*\"(?=\\s*:)/g, cls: 'prop' },\n { pattern: /\"(?:\\\\.|[^\"])*\"/g, cls: 'str' },\n { pattern: /\\b(true|false|null)\\b/g, cls: 'kw' },\n { pattern: /-?\\b\\d[\\d.]*\\b/g, cls: 'num' },\n ],\n css: [\n { pattern: /\\/\\*[\\s\\S]*?\\*\\//g, cls: 'com' },\n { pattern: /#[0-9a-fA-F]{3,8}\\b/g, cls: 'num' },\n { pattern: /\\b\\d+(\\.\\d+)?(px|em|rem|%|vh|vw)\\b/g, cls: 'num' },\n { pattern: /:[a-z-]+(?=\\s*:)/g, cls: 'prop' },\n { pattern: /\\b(var|calc|clamp)\\b/g, cls: 'kw' },\n ],\n html: [\n { pattern: /<!--[\\s\\S]*?-->/g, cls: 'com' },\n { pattern: /<\\/?[a-zA-Z][\\w:-]*/g, cls: 'tag' },\n { pattern: /\\s+[a-zA-Z_:][\\w:.-]*(?==)/g, cls: 'attr' },\n { pattern: /\"[^\"]*\"|'[^']*'/g, cls: 'str' },\n { pattern: /\\/?>/g, cls: 'tag' },\n ],\n bash: [\n { pattern: /#.*/g, cls: 'com' },\n { pattern: /\\$[A-Za-z_]\\w*/g, cls: 'var' },\n { pattern: /(['\"`])(?:\\\\.|(?!\\1)[\\s\\S])*\\1/g, cls: 'str' },\n { pattern: /^\\s*[a-zA-Z][\\w-]*/gm, cls: 'kw' },\n { pattern: /\\b\\d+\\b/g, cls: 'num' },\n ],\n ini: [\n { pattern: /;.*/g, cls: 'com' },\n { pattern: /^\\s*\\[[^\\]]+\\]/gm, cls: 'kw' },\n { pattern: /^\\s*[A-Za-z0-9_.-]+\\s*(?==)/gm, cls: 'prop' },\n { pattern: /=\\s*\".*?\"|=\\s*'.*?'|=\\s*\\S+/g, cls: 'str' },\n ],\n md: [\n { pattern: /^###[^\\n]+/gm, cls: 'kw' },\n { pattern: /^##[^\\n]+/gm, cls: 'kw' },\n { pattern: /^#[^\\n]+/gm, cls: 'kw' },\n { pattern: /`[^`]+`/g, cls: 'code' },\n { pattern: /\\*\\*[^*]+\\*\\*/g, cls: 'strong' },\n { pattern: /\\*[^*]+\\*/g, cls: 'em' },\n ]\n};\n\nfunction langToRules(langClass: string): Rule[] {\n const lang = langClass.replace(/^language-/, '').toLowerCase();\n if (lang === 'ts' || lang === 'tsx') return rulesByLang.ts;\n if (lang === 'js' || lang === 'jsx' || lang === 'mjs' || lang === 'cjs') return rulesByLang.js;\n if (lang === 'json') return rulesByLang.json;\n if (lang === 'html' || lang === 'xml') return rulesByLang.html;\n if (lang === 'css') return rulesByLang.css;\n if (lang === 'bash' || lang === 'sh' || lang === 'shell') return rulesByLang.bash;\n if (lang === 'ini' || lang === 'conf') return rulesByLang.ini;\n if (lang === 'md' || lang === 'markdown') return rulesByLang.md;\n return []; // unknown -> no-op\n}\n\nexport function tinyHighlightPlugin() {\n return (editor: MarzipanLike) => {\n const prev = editor.options.hooks?.afterPreviewRender;\n editor.options.hooks = editor.options.hooks || {};\n editor.options.hooks.afterPreviewRender = (root: HTMLElement, e: any) => {\n prev?.(root, e);\n\n const blocks = root.querySelectorAll('pre code[class*=\"language-\"]');\n blocks.forEach((codeEl) => {\n const el = codeEl as HTMLElement;\n if (el.dataset.hl === '1') return;\n const cls = [...el.classList].find(c => c.startsWith('language-'))!;\n const rules = langToRules(cls);\n if (!rules.length) { el.dataset.hl = '1'; return; }\n\n const src = el.textContent || '';\n (el as HTMLElement).innerHTML = applyRules(src, rules);\n (el.closest('pre') as HTMLElement)?.classList.add('marzipan-highlight');\n el.dataset.hl = '1';\n });\n };\n };\n}\n\n// Optional styles — include once in your app:\nexport const tinyHighlightStyles = `\n.marzipan-highlight { line-height: 1.5; overflow: auto; border-radius: 8px; }\n.tok.kw { color: var(--mz-k, #c678dd); font-weight: 600; }\n.tok.type { color: var(--mz-t, #56b6c2); }\n.tok.prop { color: var(--mz-p, #e5c07b); }\n.tok.num { color: var(--mz-n, #d19a66); }\n.tok.str { color: var(--mz-s, #98c379); }\n.tok.com { color: var(--mz-c, #7f848e); font-style: italic; }\n.tok.tag { color: var(--mz-tag, #e06c75); }\n.tok.attr { color: var(--mz-attr, #61afef); }\n.tok.var { color: var(--mz-var, #61afef); }\n.tok.code { color: var(--mz-code, #e5c07b); }\n.tok.strong { font-weight: 700; }\n.tok.em { font-style: italic; }\n`;"],"names":["escHtml","s","m","applyRules","code","rules","html","pattern","cls","JS_WORDS","TYPES","rulesByLang","langToRules","langClass","lang","tinyHighlightPlugin","editor","prev","root","e","codeEl","el","c","src","tinyHighlightStyles"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function buildTableMarkdown(rows: number, cols: number): string;
2
+ export declare function resolvePositiveInteger(value: string | null, fallback: number): number | null;
3
+ //# sourceMappingURL=table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/plugins/utils/table.ts"],"names":[],"mappings":"AAAA,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAarE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgB5F"}
@@ -0,0 +1,25 @@
1
+ export function buildTableMarkdown(rows, cols) {
2
+ const safeRows = Math.max(1, Math.floor(rows));
3
+ const safeCols = Math.max(1, Math.floor(cols));
4
+ const header = Array.from({ length: safeCols }, (_, i) => `Header ${i + 1}`).join(' | ');
5
+ const divider = Array.from({ length: safeCols }, () => '---').join(' | ');
6
+ const body = Array.from({ length: safeRows }, () => Array.from({ length: safeCols }, () => ' ').join(' | '))
7
+ .map((row) => `| ${row} |`)
8
+ .join('\n');
9
+ return `| ${header} |\n| ${divider} |\n${body}\n`;
10
+ }
11
+ export function resolvePositiveInteger(value, fallback) {
12
+ if (value === null) {
13
+ return null;
14
+ }
15
+ const trimmed = value.trim();
16
+ if (!trimmed) {
17
+ return Math.max(1, fallback);
18
+ }
19
+ const parsed = Number.parseInt(trimmed, 10);
20
+ if (Number.isNaN(parsed) || parsed < 1) {
21
+ return Math.max(1, fallback);
22
+ }
23
+ return parsed;
24
+ }
25
+ //# sourceMappingURL=table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../../../src/plugins/utils/table.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,IAAY;IAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAE/C,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzF,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,CACjD,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CACxD;SACE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC;SAC1B,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO,KAAK,MAAM,SAAS,OAAO,OAAO,IAAI,IAAI,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAoB,EAAE,QAAgB;IAC3E,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC5C,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}