@pinkpixel/marzipan 1.0.8 → 1.1.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 (163) hide show
  1. package/README.md +23 -1
  2. package/dist/{_basePickBy-BXyyc71p.js → _basePickBy-CBhXlrs3.js} +3 -3
  3. package/dist/{_basePickBy-BXyyc71p.js.map → _basePickBy-CBhXlrs3.js.map} +1 -1
  4. package/dist/{_baseUniq-Dde5pUWM.js → _baseUniq-BnlNEqx5.js} +2 -2
  5. package/dist/{_baseUniq-Dde5pUWM.js.map → _baseUniq-BnlNEqx5.js.map} +1 -1
  6. package/dist/actions/core/formats.d.ts.map +1 -1
  7. package/dist/actions/core/formats.js +5 -0
  8. package/dist/actions/core/formats.js.map +1 -1
  9. package/dist/actions/index.d.ts +4 -0
  10. package/dist/actions/index.d.ts.map +1 -1
  11. package/dist/actions/index.js +20 -0
  12. package/dist/actions/index.js.map +1 -1
  13. package/dist/{arc-CfMWIGxd.js → arc-DKfQKN_X.js} +2 -2
  14. package/dist/{arc-CfMWIGxd.js.map → arc-DKfQKN_X.js.map} +1 -1
  15. package/dist/{architectureDiagram-VXUJARFQ-Bb4i7x-6.js → architectureDiagram-VXUJARFQ-DyTB8Kgd.js} +5 -5
  16. package/dist/{architectureDiagram-VXUJARFQ-Bb4i7x-6.js.map → architectureDiagram-VXUJARFQ-DyTB8Kgd.js.map} +1 -1
  17. package/dist/{blockDiagram-VD42YOAC-ldSoJhgA.js → blockDiagram-VD42YOAC-BCYA47jf.js} +7 -12
  18. package/dist/{blockDiagram-VD42YOAC-ldSoJhgA.js.map → blockDiagram-VD42YOAC-BCYA47jf.js.map} +1 -1
  19. package/dist/{c4Diagram-YG6GDRKO-D-ENeA7h.js → c4Diagram-YG6GDRKO-ChtfMRpM.js} +3 -3
  20. package/dist/{c4Diagram-YG6GDRKO-D-ENeA7h.js.map → c4Diagram-YG6GDRKO-ChtfMRpM.js.map} +1 -1
  21. package/dist/channel-XZzkxuXg.js +6 -0
  22. package/dist/{channel-BCTxewZI.js.map → channel-XZzkxuXg.js.map} +1 -1
  23. package/dist/{chunk-4BX2VUAB-Cfh_4i4X.js → chunk-4BX2VUAB-Cx8HPvOf.js} +2 -2
  24. package/dist/{chunk-4BX2VUAB-Cfh_4i4X.js.map → chunk-4BX2VUAB-Cx8HPvOf.js.map} +1 -1
  25. package/dist/{chunk-55IACEB6-DNOIVRvW.js → chunk-55IACEB6-DGQSbiTY.js} +2 -2
  26. package/dist/{chunk-55IACEB6-DNOIVRvW.js.map → chunk-55IACEB6-DGQSbiTY.js.map} +1 -1
  27. package/dist/{chunk-B4BG7PRW-C_qWbbk6.js → chunk-B4BG7PRW-CY260R4Q.js} +5 -5
  28. package/dist/{chunk-B4BG7PRW-C_qWbbk6.js.map → chunk-B4BG7PRW-CY260R4Q.js.map} +1 -1
  29. package/dist/{chunk-DI55MBZ5-D_yXJA03.js → chunk-DI55MBZ5-B4h9UrCS.js} +4 -4
  30. package/dist/{chunk-DI55MBZ5-D_yXJA03.js.map → chunk-DI55MBZ5-B4h9UrCS.js.map} +1 -1
  31. package/dist/{chunk-FMBD7UC4-B9NJjOBf.js → chunk-FMBD7UC4-BrVGjj-q.js} +2 -2
  32. package/dist/{chunk-FMBD7UC4-B9NJjOBf.js.map → chunk-FMBD7UC4-BrVGjj-q.js.map} +1 -1
  33. package/dist/{chunk-QN33PNHL-CVrLUVsI.js → chunk-QN33PNHL-DZm-2bJu.js} +2 -2
  34. package/dist/{chunk-QN33PNHL-CVrLUVsI.js.map → chunk-QN33PNHL-DZm-2bJu.js.map} +1 -1
  35. package/dist/{chunk-QZHKN3VN-FvAf_VJR.js → chunk-QZHKN3VN-Hi_p5q2K.js} +2 -2
  36. package/dist/{chunk-QZHKN3VN-FvAf_VJR.js.map → chunk-QZHKN3VN-Hi_p5q2K.js.map} +1 -1
  37. package/dist/{chunk-TZMSLE5B-DxYTPD3t.js → chunk-TZMSLE5B-CIZlLW3r.js} +2 -2
  38. package/dist/{chunk-TZMSLE5B-DxYTPD3t.js.map → chunk-TZMSLE5B-CIZlLW3r.js.map} +1 -1
  39. package/dist/{classDiagram-2ON5EDUG-Cg641kit.js → classDiagram-2ON5EDUG-QSrTDjZ0.js} +3 -3
  40. package/dist/{classDiagram-2ON5EDUG-Cg641kit.js.map → classDiagram-2ON5EDUG-QSrTDjZ0.js.map} +1 -1
  41. package/dist/{classDiagram-v2-WZHVMYZB-Cg641kit.js → classDiagram-v2-WZHVMYZB-QSrTDjZ0.js} +3 -3
  42. package/dist/{classDiagram-v2-WZHVMYZB-Cg641kit.js.map → classDiagram-v2-WZHVMYZB-QSrTDjZ0.js.map} +1 -1
  43. package/dist/clone-B6rhP1DC.js +9 -0
  44. package/dist/{clone-D062_nJ-.js.map → clone-B6rhP1DC.js.map} +1 -1
  45. package/dist/{cose-bilkent-S5V4N54A-DIb5rck_.js → cose-bilkent-S5V4N54A-Cz05oWQ-.js} +3 -3
  46. package/dist/{cose-bilkent-S5V4N54A-DIb5rck_.js.map → cose-bilkent-S5V4N54A-Cz05oWQ-.js.map} +1 -1
  47. package/dist/{cytoscape.esm-DfdJODL8.js → cytoscape.esm-Cvf3sx9F.js} +16 -47
  48. package/dist/{cytoscape.esm-DfdJODL8.js.map → cytoscape.esm-Cvf3sx9F.js.map} +1 -1
  49. package/dist/{dagre-6UL2VRFP-CZKadRq9.js → dagre-6UL2VRFP-24cZIDCv.js} +7 -7
  50. package/dist/{dagre-6UL2VRFP-CZKadRq9.js.map → dagre-6UL2VRFP-24cZIDCv.js.map} +1 -1
  51. package/dist/defaultLocale-BgPVtth8.js +172 -0
  52. package/dist/defaultLocale-BgPVtth8.js.map +1 -0
  53. package/dist/{diagram-PSM6KHXK-VDtnZynV.js → diagram-PSM6KHXK-hMkwALkg.js} +7 -7
  54. package/dist/{diagram-PSM6KHXK-VDtnZynV.js.map → diagram-PSM6KHXK-hMkwALkg.js.map} +1 -1
  55. package/dist/{diagram-QEK2KX5R-DxjNZqZ_.js → diagram-QEK2KX5R-DN407_qN.js} +4 -4
  56. package/dist/{diagram-QEK2KX5R-DxjNZqZ_.js.map → diagram-QEK2KX5R-DN407_qN.js.map} +1 -1
  57. package/dist/{diagram-S2PKOQOG-CCX3j4vi.js → diagram-S2PKOQOG-DYfbxKMk.js} +4 -4
  58. package/dist/{diagram-S2PKOQOG-CCX3j4vi.js.map → diagram-S2PKOQOG-DYfbxKMk.js.map} +1 -1
  59. package/dist/{erDiagram-Q2GNP2WA-nwmrf6lJ.js → erDiagram-Q2GNP2WA-CyzD1x2b.js} +5 -5
  60. package/dist/{erDiagram-Q2GNP2WA-nwmrf6lJ.js.map → erDiagram-Q2GNP2WA-CyzD1x2b.js.map} +1 -1
  61. package/dist/{flowDiagram-NV44I4VS-DQEdMlRX.js → flowDiagram-NV44I4VS-BHrJSYHv.js} +6 -6
  62. package/dist/{flowDiagram-NV44I4VS-DQEdMlRX.js.map → flowDiagram-NV44I4VS-BHrJSYHv.js.map} +1 -1
  63. package/dist/ganttDiagram-JELNMOA3-DibD3FLu.js +2671 -0
  64. package/dist/ganttDiagram-JELNMOA3-DibD3FLu.js.map +1 -0
  65. package/dist/{gitGraphDiagram-NY62KEGX-BgmbSTgN.js → gitGraphDiagram-V2S2FVAM-BlXeU9uI.js} +5 -5
  66. package/dist/gitGraphDiagram-V2S2FVAM-BlXeU9uI.js.map +1 -0
  67. package/dist/{graph-CSVEP8oS.js → graph-BN01VVM9.js} +3 -3
  68. package/dist/{graph-CSVEP8oS.js.map → graph-BN01VVM9.js.map} +1 -1
  69. package/dist/index-DjXgvYA3.js +36 -0
  70. package/dist/index-DjXgvYA3.js.map +1 -0
  71. package/dist/index.d.ts +60 -0
  72. package/dist/index.d.ts.map +1 -1
  73. package/dist/index.js +350 -264
  74. package/dist/index.js.map +1 -1
  75. package/dist/{infoDiagram-F6ZHWCRC-BzTgHHGF.js → infoDiagram-HS3SLOUP-Dqf1wtMF.js} +3 -3
  76. package/dist/{infoDiagram-F6ZHWCRC-BzTgHHGF.js.map → infoDiagram-HS3SLOUP-Dqf1wtMF.js.map} +1 -1
  77. package/dist/{journeyDiagram-XKPGCS4Q-B5P7hkT-.js → journeyDiagram-XKPGCS4Q-DCJl6fPA.js} +5 -5
  78. package/dist/{journeyDiagram-XKPGCS4Q-B5P7hkT-.js.map → journeyDiagram-XKPGCS4Q-DCJl6fPA.js.map} +1 -1
  79. package/dist/{kanban-definition-3W4ZIXB7-CLtnd0xR.js → kanban-definition-3W4ZIXB7-C4uKwcnd.js} +17 -17
  80. package/dist/{kanban-definition-3W4ZIXB7-CLtnd0xR.js.map → kanban-definition-3W4ZIXB7-C4uKwcnd.js.map} +1 -1
  81. package/dist/{layout-CdTiJocX.js → layout-DPZm-_SA.js} +33 -22
  82. package/dist/layout-DPZm-_SA.js.map +1 -0
  83. package/dist/{linear-BhblBDrV.js → linear-DgKHAz_i.js} +3 -3
  84. package/dist/{linear-BhblBDrV.js.map → linear-DgKHAz_i.js.map} +1 -1
  85. package/dist/marzipan.d.ts +2 -0
  86. package/dist/marzipan.d.ts.map +1 -1
  87. package/dist/marzipan.js +23 -5
  88. package/dist/marzipan.js.map +1 -1
  89. package/dist/{mermaid.core-DENutRS8.js → mermaid.core-KR6iXUBd.js} +430 -415
  90. package/dist/{mermaid.core-DENutRS8.js.map → mermaid.core-KR6iXUBd.js.map} +1 -1
  91. package/dist/{mindmap-definition-VGOIOE7T-BXBE9eta.js → mindmap-definition-VGOIOE7T-DDKBtjHc.js} +4 -4
  92. package/dist/{mindmap-definition-VGOIOE7T-BXBE9eta.js.map → mindmap-definition-VGOIOE7T-DDKBtjHc.js.map} +1 -1
  93. package/dist/{ordinal-DfAQgscy.js → ordinal-B6-f3MAq.js} +2 -2
  94. package/dist/{ordinal-DfAQgscy.js.map → ordinal-B6-f3MAq.js.map} +1 -1
  95. package/dist/parser.d.ts +12 -1
  96. package/dist/parser.d.ts.map +1 -1
  97. package/dist/parser.js +61 -14
  98. package/dist/parser.js.map +1 -1
  99. package/dist/{pieDiagram-ADFJNKIX-BND3UUQ-.js → pieDiagram-ADFJNKIX-hp1Z1x8W.js} +6 -6
  100. package/dist/{pieDiagram-ADFJNKIX-BND3UUQ-.js.map → pieDiagram-ADFJNKIX-hp1Z1x8W.js.map} +1 -1
  101. package/dist/plugins/accentSwatchPlugin.d.ts.map +1 -1
  102. package/dist/plugins/accentSwatchPlugin.js +33 -33
  103. package/dist/plugins/accentSwatchPlugin.js.map +1 -1
  104. package/dist/plugins/block-handles.d.ts +177 -0
  105. package/dist/plugins/block-handles.d.ts.map +1 -0
  106. package/dist/plugins/block-handles.js +379 -0
  107. package/dist/plugins/block-handles.js.map +1 -0
  108. package/dist/plugins/imageManagerPlugin.js.map +1 -1
  109. package/dist/plugins/index.d.ts +24 -0
  110. package/dist/plugins/index.d.ts.map +1 -0
  111. package/dist/plugins/index.js +32 -0
  112. package/dist/plugins/index.js.map +1 -0
  113. package/dist/plugins/mermaidPlugin.js +1 -1
  114. package/dist/plugins/tableGridPlugin.d.ts.map +1 -1
  115. package/dist/plugins/tableGridPlugin.js +23 -23
  116. package/dist/plugins/tableGridPlugin.js.map +1 -1
  117. package/dist/{quadrantDiagram-AYHSOK5B-CnLHbrEF.js → quadrantDiagram-AYHSOK5B-B9wjnoWH.js} +3 -3
  118. package/dist/{quadrantDiagram-AYHSOK5B-CnLHbrEF.js.map → quadrantDiagram-AYHSOK5B-B9wjnoWH.js.map} +1 -1
  119. package/dist/{requirementDiagram-UZGBJVZJ-caC7K17a.js → requirementDiagram-UZGBJVZJ-CAYg9pNG.js} +4 -4
  120. package/dist/{requirementDiagram-UZGBJVZJ-caC7K17a.js.map → requirementDiagram-UZGBJVZJ-CAYg9pNG.js.map} +1 -1
  121. package/dist/{sankeyDiagram-TZEHDZUN-CV5-bwv8.js → sankeyDiagram-TZEHDZUN-Dbi0-ImG.js} +3 -3
  122. package/dist/{sankeyDiagram-TZEHDZUN-CV5-bwv8.js.map → sankeyDiagram-TZEHDZUN-Dbi0-ImG.js.map} +1 -1
  123. package/dist/{sequenceDiagram-WL72ISMW-Cq1otbHU.js → sequenceDiagram-WL72ISMW-CgnGVPN0.js} +4 -4
  124. package/dist/{sequenceDiagram-WL72ISMW-Cq1otbHU.js.map → sequenceDiagram-WL72ISMW-CgnGVPN0.js.map} +1 -1
  125. package/dist/{stateDiagram-FKZM4ZOC-BJ5UwskL.js → stateDiagram-FKZM4ZOC-BnrHMBt-.js} +5 -5
  126. package/dist/{stateDiagram-FKZM4ZOC-BJ5UwskL.js.map → stateDiagram-FKZM4ZOC-BnrHMBt-.js.map} +1 -1
  127. package/dist/{stateDiagram-v2-4FDKWEC3-H1gqsSsO.js → stateDiagram-v2-4FDKWEC3-CvQCssRZ.js} +3 -3
  128. package/dist/{stateDiagram-v2-4FDKWEC3-H1gqsSsO.js.map → stateDiagram-v2-4FDKWEC3-CvQCssRZ.js.map} +1 -1
  129. package/dist/styles.d.ts.map +1 -1
  130. package/dist/styles.js +25 -21
  131. package/dist/styles.js.map +1 -1
  132. package/dist/themes.d.ts +6 -0
  133. package/dist/themes.d.ts.map +1 -1
  134. package/dist/themes.js +2 -0
  135. package/dist/themes.js.map +1 -1
  136. package/dist/{timeline-definition-IT6M3QCI-CqPEUsh4.js → timeline-definition-IT6M3QCI-C9po0EuD.js} +3 -3
  137. package/dist/{timeline-definition-IT6M3QCI-CqPEUsh4.js.map → timeline-definition-IT6M3QCI-C9po0EuD.js.map} +1 -1
  138. package/dist/treemap-GDKQZRPO-DUJ_UgsM.js +17929 -0
  139. package/dist/treemap-GDKQZRPO-DUJ_UgsM.js.map +1 -0
  140. package/dist/{xychartDiagram-PRI3JC2R-C3_IO4Rm.js → xychartDiagram-PRI3JC2R-Daz1URdd.js} +4 -4
  141. package/dist/{xychartDiagram-PRI3JC2R-C3_IO4Rm.js.map → xychartDiagram-PRI3JC2R-Daz1URdd.js.map} +1 -1
  142. package/docs/.vitepress/config.ts +77 -0
  143. package/docs/README.md +3 -1
  144. package/docs/TABLE_OF_CONTENTS.md +1 -0
  145. package/docs/api.md +42 -2
  146. package/docs/block-handles.md +325 -0
  147. package/docs/index.md +95 -0
  148. package/docs/plugins.md +24 -0
  149. package/docs/public/favicon.png +0 -0
  150. package/docs/public/logo.png +0 -0
  151. package/docs/types.d.ts +1 -1
  152. package/docs/types.md +150 -0
  153. package/package.json +12 -4
  154. package/dist/channel-BCTxewZI.js +0 -6
  155. package/dist/clone-D062_nJ-.js +0 -9
  156. package/dist/defaultLocale-D7EN2tov.js +0 -172
  157. package/dist/defaultLocale-D7EN2tov.js.map +0 -1
  158. package/dist/ganttDiagram-LVOFAZNH-WMiy-Gep.js +0 -2506
  159. package/dist/ganttDiagram-LVOFAZNH-WMiy-Gep.js.map +0 -1
  160. package/dist/gitGraphDiagram-NY62KEGX-BgmbSTgN.js.map +0 -1
  161. package/dist/layout-CdTiJocX.js.map +0 -1
  162. package/dist/treemap-75Q7IDZK-DmPg5GN7.js +0 -12988
  163. package/dist/treemap-75Q7IDZK-DmPg5GN7.js.map +0 -1
package/dist/parser.js CHANGED
@@ -15,6 +15,19 @@ export class MarkdownParser {
15
15
  static resetLinkIndex() {
16
16
  this.linkIndex = 0;
17
17
  }
18
+ /**
19
+ * Reset block index (call before parsing a new document)
20
+ */
21
+ static resetBlockIndex() {
22
+ this.blockIndex = 0;
23
+ }
24
+ /**
25
+ * Generate unique block ID
26
+ * @returns {string} Unique block ID
27
+ */
28
+ static generateBlockId() {
29
+ return `mz-block-${this.blockIndex++}`;
30
+ }
18
31
  /**
19
32
  * Escape HTML special characters
20
33
  * @param {string} text - Raw text to escape
@@ -411,19 +424,44 @@ export class MarkdownParser {
411
424
  /**
412
425
  * Parse a single line of markdown
413
426
  * @param {string} line - Raw markdown line
427
+ * @param {number} lineIndex - Line index in the document
414
428
  * @returns {string} Parsed HTML line
415
429
  */
416
- static parseLine(line) {
430
+ static parseLine(line, lineIndex = 0) {
417
431
  let html = this.escapeHtml(line);
418
432
  // Preserve indentation
419
433
  html = this.preserveIndentation(html, line);
434
+ // Determine block type and generate metadata
435
+ let blockType = 'paragraph';
436
+ let blockAttrs = '';
420
437
  // Check for block elements first
421
438
  const horizontalRule = this.parseHorizontalRule(html);
422
- if (horizontalRule)
423
- return horizontalRule;
439
+ if (horizontalRule) {
440
+ blockType = 'hr';
441
+ const blockId = this.generateBlockId();
442
+ blockAttrs = ` data-block-id="${blockId}" data-block-type="${blockType}" data-line-start="${lineIndex}" data-line-end="${lineIndex}"`;
443
+ return horizontalRule.replace('<div', `<div${blockAttrs}`);
444
+ }
424
445
  const codeBlock = this.parseCodeBlock(html);
425
- if (codeBlock)
426
- return codeBlock;
446
+ if (codeBlock) {
447
+ blockType = 'code-fence';
448
+ const blockId = this.generateBlockId();
449
+ blockAttrs = ` data-block-id="${blockId}" data-block-type="${blockType}" data-line-start="${lineIndex}" data-line-end="${lineIndex}"`;
450
+ return codeBlock.replace('<div', `<div${blockAttrs}`);
451
+ }
452
+ // Detect block type from HTML patterns
453
+ if (html.match(/^<h[1-6]/)) {
454
+ blockType = 'heading';
455
+ }
456
+ else if (html.includes('class="blockquote"')) {
457
+ blockType = 'quote';
458
+ }
459
+ else if (html.includes('class="bullet-list"')) {
460
+ blockType = 'list-item';
461
+ }
462
+ else if (html.includes('class="ordered-list"')) {
463
+ blockType = 'list-item';
464
+ }
427
465
  // Parse block elements
428
466
  html = this.parseHeader(html);
429
467
  html = this.parseBlockquote(html);
@@ -431,13 +469,16 @@ export class MarkdownParser {
431
469
  html = this.parseNumberedList(html);
432
470
  // Parse inline elements
433
471
  html = this.parseInlineElements(html);
472
+ // Generate block metadata
473
+ const blockId = this.generateBlockId();
474
+ blockAttrs = ` data-block-id="${blockId}" data-block-type="${blockType}" data-line-start="${lineIndex}" data-line-end="${lineIndex}"`;
434
475
  // Wrap in div to maintain line structure
435
476
  if (html.trim() === '') {
436
477
  // Intentionally use &nbsp; for empty lines to maintain vertical spacing
437
478
  // This causes a 0->1 character count difference but preserves visual alignment
438
- return '<div>&nbsp;</div>';
479
+ return `<div${blockAttrs}>&nbsp;</div>`;
439
480
  }
440
- return `<div>${html}</div>`;
481
+ return `<div${blockAttrs}>${html}</div>`;
441
482
  }
442
483
  /**
443
484
  * Parse full markdown text
@@ -447,41 +488,45 @@ export class MarkdownParser {
447
488
  * @returns {string} Parsed HTML
448
489
  */
449
490
  static parse(text, activeLine = -1, showActiveLineRaw = false) {
450
- // Reset link counter for each parse
491
+ // Reset link counter and block counter for each parse
451
492
  this.resetLinkIndex();
493
+ this.resetBlockIndex();
452
494
  const lines = text.split('\n');
453
495
  let inCodeBlock = false;
454
496
  const parsedLines = lines.map((line, index) => {
455
497
  // Show raw markdown on active line if requested
456
498
  if (showActiveLineRaw && index === activeLine) {
457
499
  const content = this.escapeHtml(line) || '&nbsp;';
458
- return `<div class="raw-line">${content}</div>`;
500
+ const blockId = this.generateBlockId();
501
+ return `<div class="raw-line" data-block-id="${blockId}" data-block-type="paragraph" data-line-start="${index}" data-line-end="${index}">${content}</div>`;
459
502
  }
460
503
  // Check if this line is a code fence
461
504
  const codeFenceRegex = /^```[^`]*$/;
462
505
  if (codeFenceRegex.test(line)) {
463
506
  inCodeBlock = !inCodeBlock;
464
507
  // Parse fence markers normally to get styled output
465
- return this.parseLine(line);
508
+ return this.parseLine(line, index);
466
509
  }
467
510
  // If we're inside a code block, don't parse as markdown
468
511
  if (inCodeBlock) {
469
512
  const escaped = this.escapeHtml(line);
470
513
  const indented = this.preserveIndentation(escaped, line);
471
- return `<div>${indented || '&nbsp;'}</div>`;
514
+ const blockId = this.generateBlockId();
515
+ return `<div data-block-id="${blockId}" data-block-type="code-content" data-line-start="${index}" data-line-end="${index}">${indented || '&nbsp;'}</div>`;
472
516
  }
473
517
  // Check if this is a table row - mark it for post-processing
474
518
  const escaped = this.escapeHtml(line);
475
519
  if (this.isTableRow(escaped)) {
520
+ const blockId = this.generateBlockId();
476
521
  if (this.isTableSeparator(escaped)) {
477
- return `<div class="table-separator">${escaped}</div>`;
522
+ return `<div class="table-separator" data-block-id="${blockId}" data-block-type="table-separator" data-line-start="${index}" data-line-end="${index}">${escaped}</div>`;
478
523
  }
479
524
  else {
480
- return `<div class="table-row">${escaped}</div>`;
525
+ return `<div class="table-row" data-block-id="${blockId}" data-block-type="table-row" data-line-start="${index}" data-line-end="${index}">${escaped}</div>`;
481
526
  }
482
527
  }
483
528
  // Otherwise, parse the markdown normally
484
- return this.parseLine(line);
529
+ return this.parseLine(line, index);
485
530
  });
486
531
  // Join without newlines to prevent extra spacing
487
532
  const html = parsedLines.join('');
@@ -875,6 +920,8 @@ export class MarkdownParser {
875
920
  }
876
921
  // Track link index for anchor naming
877
922
  MarkdownParser.linkIndex = 0;
923
+ // Track block index for unique IDs
924
+ MarkdownParser.blockIndex = 0;
878
925
  /**
879
926
  * List pattern definitions
880
927
  */
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { a4 as S, a7 as F, aG as j, _ as p, g as q, s as H, a as Z, b as J, q as K, p as Q, l as z, c as X, D as Y, H as ee, N as te, e as ae, y as re, F as ne } from "./mermaid.core-DENutRS8.js";
2
- import { p as ie } from "./chunk-4BX2VUAB-Cfh_4i4X.js";
3
- import { p as se } from "./treemap-75Q7IDZK-DmPg5GN7.js";
4
- import { d as I } from "./arc-CfMWIGxd.js";
5
- import { o as le } from "./ordinal-DfAQgscy.js";
1
+ import { a4 as S, a7 as F, aG as j, _ as p, g as q, s as H, a as Z, b as J, q as K, p as Q, l as z, c as X, D as Y, H as ee, N as te, e as ae, y as re, F as ne } from "./mermaid.core-KR6iXUBd.js";
2
+ import { p as ie } from "./chunk-4BX2VUAB-Cx8HPvOf.js";
3
+ import { p as se } from "./treemap-GDKQZRPO-DUJ_UgsM.js";
4
+ import { d as I } from "./arc-DKfQKN_X.js";
5
+ import { o as le } from "./ordinal-B6-f3MAq.js";
6
6
  function oe(e, a) {
7
7
  return a < e ? -1 : a > e ? 1 : a >= e ? 0 : NaN;
8
8
  }
@@ -159,4 +159,4 @@ var pe = ne.pie, G = {
159
159
  export {
160
160
  Fe as diagram
161
161
  };
162
- //# sourceMappingURL=pieDiagram-ADFJNKIX-BND3UUQ-.js.map
162
+ //# sourceMappingURL=pieDiagram-ADFJNKIX-hp1Z1x8W.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pieDiagram-ADFJNKIX-BND3UUQ-.js","sources":["../node_modules/d3-shape/src/descending.js","../node_modules/d3-shape/src/identity.js","../node_modules/d3-shape/src/pie.js","../node_modules/mermaid/dist/chunks/mermaid.core/pieDiagram-ADFJNKIX.mjs"],"sourcesContent":["export default function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}\n","export default function(d) {\n return d;\n}\n","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport descending from \"./descending.js\";\nimport identity from \"./identity.js\";\nimport {tau} from \"./math.js\";\n\nexport default function() {\n var value = identity,\n sortValues = descending,\n sort = null,\n startAngle = constant(0),\n endAngle = constant(tau),\n padAngle = constant(0);\n\n function pie(data) {\n var i,\n n = (data = array(data)).length,\n j,\n k,\n sum = 0,\n index = new Array(n),\n arcs = new Array(n),\n a0 = +startAngle.apply(this, arguments),\n da = Math.min(tau, Math.max(-tau, endAngle.apply(this, arguments) - a0)),\n a1,\n p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)),\n pa = p * (da < 0 ? -1 : 1),\n v;\n\n for (i = 0; i < n; ++i) {\n if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) {\n sum += v;\n }\n }\n\n // Optionally sort the arcs by previously-computed values or by data.\n if (sortValues != null) index.sort(function(i, j) { return sortValues(arcs[i], arcs[j]); });\n else if (sort != null) index.sort(function(i, j) { return sort(data[i], data[j]); });\n\n // Compute the arcs! They are stored in the original data's order.\n for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) {\n j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = {\n data: data[j],\n index: i,\n value: v,\n startAngle: a0,\n endAngle: a1,\n padAngle: p\n };\n }\n\n return arcs;\n }\n\n pie.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), pie) : value;\n };\n\n pie.sortValues = function(_) {\n return arguments.length ? (sortValues = _, sort = null, pie) : sortValues;\n };\n\n pie.sort = function(_) {\n return arguments.length ? (sort = _, sortValues = null, pie) : sort;\n };\n\n pie.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : startAngle;\n };\n\n pie.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : endAngle;\n };\n\n pie.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : padAngle;\n };\n\n return pie;\n}\n","import {\n selectSvgElement\n} from \"./chunk-EXTU4WIE.mjs\";\nimport {\n populateCommonDb\n} from \"./chunk-4BX2VUAB.mjs\";\nimport {\n cleanAndMerge,\n parseFontSize\n} from \"./chunk-S3R3BYOJ.mjs\";\nimport {\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig2 as getConfig,\n getDiagramTitle,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-ABZYJK2D.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/pie/pieParser.ts\nimport { parse } from \"@mermaid-js/parser\";\n\n// src/diagrams/pie/pieDb.ts\nvar DEFAULT_PIE_CONFIG = defaultConfig_default.pie;\nvar DEFAULT_PIE_DB = {\n sections: /* @__PURE__ */ new Map(),\n showData: false,\n config: DEFAULT_PIE_CONFIG\n};\nvar sections = DEFAULT_PIE_DB.sections;\nvar showData = DEFAULT_PIE_DB.showData;\nvar config = structuredClone(DEFAULT_PIE_CONFIG);\nvar getConfig2 = /* @__PURE__ */ __name(() => structuredClone(config), \"getConfig\");\nvar clear2 = /* @__PURE__ */ __name(() => {\n sections = /* @__PURE__ */ new Map();\n showData = DEFAULT_PIE_DB.showData;\n clear();\n}, \"clear\");\nvar addSection = /* @__PURE__ */ __name(({ label, value }) => {\n if (value < 0) {\n throw new Error(\n `\"${label}\" has invalid value: ${value}. Negative values are not allowed in pie charts. All slice values must be >= 0.`\n );\n }\n if (!sections.has(label)) {\n sections.set(label, value);\n log.debug(`added new section: ${label}, with value: ${value}`);\n }\n}, \"addSection\");\nvar getSections = /* @__PURE__ */ __name(() => sections, \"getSections\");\nvar setShowData = /* @__PURE__ */ __name((toggle) => {\n showData = toggle;\n}, \"setShowData\");\nvar getShowData = /* @__PURE__ */ __name(() => showData, \"getShowData\");\nvar db = {\n getConfig: getConfig2,\n clear: clear2,\n setDiagramTitle,\n getDiagramTitle,\n setAccTitle,\n getAccTitle,\n setAccDescription,\n getAccDescription,\n addSection,\n getSections,\n setShowData,\n getShowData\n};\n\n// src/diagrams/pie/pieParser.ts\nvar populateDb = /* @__PURE__ */ __name((ast, db2) => {\n populateCommonDb(ast, db2);\n db2.setShowData(ast.showData);\n ast.sections.map(db2.addSection);\n}, \"populateDb\");\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"pie\", input);\n log.debug(ast);\n populateDb(ast, db);\n }, \"parse\")\n};\n\n// src/diagrams/pie/pieStyles.ts\nvar getStyles = /* @__PURE__ */ __name((options) => `\n .pieCircle{\n stroke: ${options.pieStrokeColor};\n stroke-width : ${options.pieStrokeWidth};\n opacity : ${options.pieOpacity};\n }\n .pieOuterCircle{\n stroke: ${options.pieOuterStrokeColor};\n stroke-width: ${options.pieOuterStrokeWidth};\n fill: none;\n }\n .pieTitleText {\n text-anchor: middle;\n font-size: ${options.pieTitleTextSize};\n fill: ${options.pieTitleTextColor};\n font-family: ${options.fontFamily};\n }\n .slice {\n font-family: ${options.fontFamily};\n fill: ${options.pieSectionTextColor};\n font-size:${options.pieSectionTextSize};\n // fill: white;\n }\n .legend text {\n fill: ${options.pieLegendTextColor};\n font-family: ${options.fontFamily};\n font-size: ${options.pieLegendTextSize};\n }\n`, \"getStyles\");\nvar pieStyles_default = getStyles;\n\n// src/diagrams/pie/pieRenderer.ts\nimport { arc, pie as d3pie, scaleOrdinal } from \"d3\";\nvar createPieArcs = /* @__PURE__ */ __name((sections2) => {\n const sum = [...sections2.values()].reduce((acc, val) => acc + val, 0);\n const pieData = [...sections2.entries()].map(([label, value]) => ({ label, value })).filter((d) => d.value / sum * 100 >= 1).sort((a, b) => b.value - a.value);\n const pie = d3pie().value((d) => d.value);\n return pie(pieData);\n}, \"createPieArcs\");\nvar draw = /* @__PURE__ */ __name((text, id, _version, diagObj) => {\n log.debug(\"rendering pie chart\\n\" + text);\n const db2 = diagObj.db;\n const globalConfig = getConfig();\n const pieConfig = cleanAndMerge(db2.getConfig(), globalConfig.pie);\n const MARGIN = 40;\n const LEGEND_RECT_SIZE = 18;\n const LEGEND_SPACING = 4;\n const height = 450;\n const pieWidth = height;\n const svg = selectSvgElement(id);\n const group = svg.append(\"g\");\n group.attr(\"transform\", \"translate(\" + pieWidth / 2 + \",\" + height / 2 + \")\");\n const { themeVariables } = globalConfig;\n let [outerStrokeWidth] = parseFontSize(themeVariables.pieOuterStrokeWidth);\n outerStrokeWidth ??= 2;\n const textPosition = pieConfig.textPosition;\n const radius = Math.min(pieWidth, height) / 2 - MARGIN;\n const arcGenerator = arc().innerRadius(0).outerRadius(radius);\n const labelArcGenerator = arc().innerRadius(radius * textPosition).outerRadius(radius * textPosition);\n group.append(\"circle\").attr(\"cx\", 0).attr(\"cy\", 0).attr(\"r\", radius + outerStrokeWidth / 2).attr(\"class\", \"pieOuterCircle\");\n const sections2 = db2.getSections();\n const arcs = createPieArcs(sections2);\n const myGeneratedColors = [\n themeVariables.pie1,\n themeVariables.pie2,\n themeVariables.pie3,\n themeVariables.pie4,\n themeVariables.pie5,\n themeVariables.pie6,\n themeVariables.pie7,\n themeVariables.pie8,\n themeVariables.pie9,\n themeVariables.pie10,\n themeVariables.pie11,\n themeVariables.pie12\n ];\n let sum = 0;\n sections2.forEach((section) => {\n sum += section;\n });\n const filteredArcs = arcs.filter((datum) => (datum.data.value / sum * 100).toFixed(0) !== \"0\");\n const color = scaleOrdinal(myGeneratedColors);\n group.selectAll(\"mySlices\").data(filteredArcs).enter().append(\"path\").attr(\"d\", arcGenerator).attr(\"fill\", (datum) => {\n return color(datum.data.label);\n }).attr(\"class\", \"pieCircle\");\n group.selectAll(\"mySlices\").data(filteredArcs).enter().append(\"text\").text((datum) => {\n return (datum.data.value / sum * 100).toFixed(0) + \"%\";\n }).attr(\"transform\", (datum) => {\n return \"translate(\" + labelArcGenerator.centroid(datum) + \")\";\n }).style(\"text-anchor\", \"middle\").attr(\"class\", \"slice\");\n group.append(\"text\").text(db2.getDiagramTitle()).attr(\"x\", 0).attr(\"y\", -(height - 50) / 2).attr(\"class\", \"pieTitleText\");\n const allSectionData = [...sections2.entries()].map(([label, value]) => ({\n label,\n value\n }));\n const legend = group.selectAll(\".legend\").data(allSectionData).enter().append(\"g\").attr(\"class\", \"legend\").attr(\"transform\", (_datum, index) => {\n const height2 = LEGEND_RECT_SIZE + LEGEND_SPACING;\n const offset = height2 * allSectionData.length / 2;\n const horizontal = 12 * LEGEND_RECT_SIZE;\n const vertical = index * height2 - offset;\n return \"translate(\" + horizontal + \",\" + vertical + \")\";\n });\n legend.append(\"rect\").attr(\"width\", LEGEND_RECT_SIZE).attr(\"height\", LEGEND_RECT_SIZE).style(\"fill\", (d) => color(d.label)).style(\"stroke\", (d) => color(d.label));\n legend.append(\"text\").attr(\"x\", LEGEND_RECT_SIZE + LEGEND_SPACING).attr(\"y\", LEGEND_RECT_SIZE - LEGEND_SPACING).text((d) => {\n if (db2.getShowData()) {\n return `${d.label} [${d.value}]`;\n }\n return d.label;\n });\n const longestTextWidth = Math.max(\n ...legend.selectAll(\"text\").nodes().map((node) => node?.getBoundingClientRect().width ?? 0)\n );\n const totalWidth = pieWidth + MARGIN + LEGEND_RECT_SIZE + LEGEND_SPACING + longestTextWidth;\n svg.attr(\"viewBox\", `0 0 ${totalWidth} ${height}`);\n configureSvgSize(svg, height, totalWidth, pieConfig.useMaxWidth);\n}, \"draw\");\nvar renderer = { draw };\n\n// src/diagrams/pie/pieDiagram.ts\nvar diagram = {\n parser,\n db,\n renderer,\n styles: pieStyles_default\n};\nexport {\n diagram\n};\n"],"names":["descending","a","b","identity","d","d3pie","value","sortValues","sort","startAngle","constant","endAngle","tau","padAngle","pie","data","i","n","array","j","k","sum","index","arcs","a0","da","a1","p","pa","v","_","DEFAULT_PIE_CONFIG","defaultConfig_default","DEFAULT_PIE_DB","sections","showData","config","getConfig2","__name","clear2","clear","addSection","label","log","getSections","setShowData","toggle","getShowData","db","setDiagramTitle","getDiagramTitle","setAccTitle","getAccTitle","setAccDescription","getAccDescription","populateDb","ast","db2","populateCommonDb","parser","input","parse","getStyles","options","pieStyles_default","createPieArcs","sections2","acc","val","pieData","draw","text","id","_version","diagObj","globalConfig","getConfig","pieConfig","cleanAndMerge","MARGIN","LEGEND_RECT_SIZE","LEGEND_SPACING","height","pieWidth","svg","selectSvgElement","group","themeVariables","outerStrokeWidth","parseFontSize","textPosition","radius","arcGenerator","arc","labelArcGenerator","myGeneratedColors","section","filteredArcs","datum","color","scaleOrdinal","allSectionData","legend","_datum","height2","offset","horizontal","vertical","longestTextWidth","node","totalWidth","configureSvgSize","renderer","diagram"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
1
+ {"version":3,"file":"pieDiagram-ADFJNKIX-hp1Z1x8W.js","sources":["../node_modules/d3-shape/src/descending.js","../node_modules/d3-shape/src/identity.js","../node_modules/d3-shape/src/pie.js","../node_modules/mermaid/dist/chunks/mermaid.core/pieDiagram-ADFJNKIX.mjs"],"sourcesContent":["export default function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}\n","export default function(d) {\n return d;\n}\n","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport descending from \"./descending.js\";\nimport identity from \"./identity.js\";\nimport {tau} from \"./math.js\";\n\nexport default function() {\n var value = identity,\n sortValues = descending,\n sort = null,\n startAngle = constant(0),\n endAngle = constant(tau),\n padAngle = constant(0);\n\n function pie(data) {\n var i,\n n = (data = array(data)).length,\n j,\n k,\n sum = 0,\n index = new Array(n),\n arcs = new Array(n),\n a0 = +startAngle.apply(this, arguments),\n da = Math.min(tau, Math.max(-tau, endAngle.apply(this, arguments) - a0)),\n a1,\n p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)),\n pa = p * (da < 0 ? -1 : 1),\n v;\n\n for (i = 0; i < n; ++i) {\n if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) {\n sum += v;\n }\n }\n\n // Optionally sort the arcs by previously-computed values or by data.\n if (sortValues != null) index.sort(function(i, j) { return sortValues(arcs[i], arcs[j]); });\n else if (sort != null) index.sort(function(i, j) { return sort(data[i], data[j]); });\n\n // Compute the arcs! They are stored in the original data's order.\n for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) {\n j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = {\n data: data[j],\n index: i,\n value: v,\n startAngle: a0,\n endAngle: a1,\n padAngle: p\n };\n }\n\n return arcs;\n }\n\n pie.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), pie) : value;\n };\n\n pie.sortValues = function(_) {\n return arguments.length ? (sortValues = _, sort = null, pie) : sortValues;\n };\n\n pie.sort = function(_) {\n return arguments.length ? (sort = _, sortValues = null, pie) : sort;\n };\n\n pie.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : startAngle;\n };\n\n pie.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : endAngle;\n };\n\n pie.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : padAngle;\n };\n\n return pie;\n}\n","import {\n selectSvgElement\n} from \"./chunk-EXTU4WIE.mjs\";\nimport {\n populateCommonDb\n} from \"./chunk-4BX2VUAB.mjs\";\nimport {\n cleanAndMerge,\n parseFontSize\n} from \"./chunk-S3R3BYOJ.mjs\";\nimport {\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig2 as getConfig,\n getDiagramTitle,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-ABZYJK2D.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/pie/pieParser.ts\nimport { parse } from \"@mermaid-js/parser\";\n\n// src/diagrams/pie/pieDb.ts\nvar DEFAULT_PIE_CONFIG = defaultConfig_default.pie;\nvar DEFAULT_PIE_DB = {\n sections: /* @__PURE__ */ new Map(),\n showData: false,\n config: DEFAULT_PIE_CONFIG\n};\nvar sections = DEFAULT_PIE_DB.sections;\nvar showData = DEFAULT_PIE_DB.showData;\nvar config = structuredClone(DEFAULT_PIE_CONFIG);\nvar getConfig2 = /* @__PURE__ */ __name(() => structuredClone(config), \"getConfig\");\nvar clear2 = /* @__PURE__ */ __name(() => {\n sections = /* @__PURE__ */ new Map();\n showData = DEFAULT_PIE_DB.showData;\n clear();\n}, \"clear\");\nvar addSection = /* @__PURE__ */ __name(({ label, value }) => {\n if (value < 0) {\n throw new Error(\n `\"${label}\" has invalid value: ${value}. Negative values are not allowed in pie charts. All slice values must be >= 0.`\n );\n }\n if (!sections.has(label)) {\n sections.set(label, value);\n log.debug(`added new section: ${label}, with value: ${value}`);\n }\n}, \"addSection\");\nvar getSections = /* @__PURE__ */ __name(() => sections, \"getSections\");\nvar setShowData = /* @__PURE__ */ __name((toggle) => {\n showData = toggle;\n}, \"setShowData\");\nvar getShowData = /* @__PURE__ */ __name(() => showData, \"getShowData\");\nvar db = {\n getConfig: getConfig2,\n clear: clear2,\n setDiagramTitle,\n getDiagramTitle,\n setAccTitle,\n getAccTitle,\n setAccDescription,\n getAccDescription,\n addSection,\n getSections,\n setShowData,\n getShowData\n};\n\n// src/diagrams/pie/pieParser.ts\nvar populateDb = /* @__PURE__ */ __name((ast, db2) => {\n populateCommonDb(ast, db2);\n db2.setShowData(ast.showData);\n ast.sections.map(db2.addSection);\n}, \"populateDb\");\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"pie\", input);\n log.debug(ast);\n populateDb(ast, db);\n }, \"parse\")\n};\n\n// src/diagrams/pie/pieStyles.ts\nvar getStyles = /* @__PURE__ */ __name((options) => `\n .pieCircle{\n stroke: ${options.pieStrokeColor};\n stroke-width : ${options.pieStrokeWidth};\n opacity : ${options.pieOpacity};\n }\n .pieOuterCircle{\n stroke: ${options.pieOuterStrokeColor};\n stroke-width: ${options.pieOuterStrokeWidth};\n fill: none;\n }\n .pieTitleText {\n text-anchor: middle;\n font-size: ${options.pieTitleTextSize};\n fill: ${options.pieTitleTextColor};\n font-family: ${options.fontFamily};\n }\n .slice {\n font-family: ${options.fontFamily};\n fill: ${options.pieSectionTextColor};\n font-size:${options.pieSectionTextSize};\n // fill: white;\n }\n .legend text {\n fill: ${options.pieLegendTextColor};\n font-family: ${options.fontFamily};\n font-size: ${options.pieLegendTextSize};\n }\n`, \"getStyles\");\nvar pieStyles_default = getStyles;\n\n// src/diagrams/pie/pieRenderer.ts\nimport { arc, pie as d3pie, scaleOrdinal } from \"d3\";\nvar createPieArcs = /* @__PURE__ */ __name((sections2) => {\n const sum = [...sections2.values()].reduce((acc, val) => acc + val, 0);\n const pieData = [...sections2.entries()].map(([label, value]) => ({ label, value })).filter((d) => d.value / sum * 100 >= 1).sort((a, b) => b.value - a.value);\n const pie = d3pie().value((d) => d.value);\n return pie(pieData);\n}, \"createPieArcs\");\nvar draw = /* @__PURE__ */ __name((text, id, _version, diagObj) => {\n log.debug(\"rendering pie chart\\n\" + text);\n const db2 = diagObj.db;\n const globalConfig = getConfig();\n const pieConfig = cleanAndMerge(db2.getConfig(), globalConfig.pie);\n const MARGIN = 40;\n const LEGEND_RECT_SIZE = 18;\n const LEGEND_SPACING = 4;\n const height = 450;\n const pieWidth = height;\n const svg = selectSvgElement(id);\n const group = svg.append(\"g\");\n group.attr(\"transform\", \"translate(\" + pieWidth / 2 + \",\" + height / 2 + \")\");\n const { themeVariables } = globalConfig;\n let [outerStrokeWidth] = parseFontSize(themeVariables.pieOuterStrokeWidth);\n outerStrokeWidth ??= 2;\n const textPosition = pieConfig.textPosition;\n const radius = Math.min(pieWidth, height) / 2 - MARGIN;\n const arcGenerator = arc().innerRadius(0).outerRadius(radius);\n const labelArcGenerator = arc().innerRadius(radius * textPosition).outerRadius(radius * textPosition);\n group.append(\"circle\").attr(\"cx\", 0).attr(\"cy\", 0).attr(\"r\", radius + outerStrokeWidth / 2).attr(\"class\", \"pieOuterCircle\");\n const sections2 = db2.getSections();\n const arcs = createPieArcs(sections2);\n const myGeneratedColors = [\n themeVariables.pie1,\n themeVariables.pie2,\n themeVariables.pie3,\n themeVariables.pie4,\n themeVariables.pie5,\n themeVariables.pie6,\n themeVariables.pie7,\n themeVariables.pie8,\n themeVariables.pie9,\n themeVariables.pie10,\n themeVariables.pie11,\n themeVariables.pie12\n ];\n let sum = 0;\n sections2.forEach((section) => {\n sum += section;\n });\n const filteredArcs = arcs.filter((datum) => (datum.data.value / sum * 100).toFixed(0) !== \"0\");\n const color = scaleOrdinal(myGeneratedColors);\n group.selectAll(\"mySlices\").data(filteredArcs).enter().append(\"path\").attr(\"d\", arcGenerator).attr(\"fill\", (datum) => {\n return color(datum.data.label);\n }).attr(\"class\", \"pieCircle\");\n group.selectAll(\"mySlices\").data(filteredArcs).enter().append(\"text\").text((datum) => {\n return (datum.data.value / sum * 100).toFixed(0) + \"%\";\n }).attr(\"transform\", (datum) => {\n return \"translate(\" + labelArcGenerator.centroid(datum) + \")\";\n }).style(\"text-anchor\", \"middle\").attr(\"class\", \"slice\");\n group.append(\"text\").text(db2.getDiagramTitle()).attr(\"x\", 0).attr(\"y\", -(height - 50) / 2).attr(\"class\", \"pieTitleText\");\n const allSectionData = [...sections2.entries()].map(([label, value]) => ({\n label,\n value\n }));\n const legend = group.selectAll(\".legend\").data(allSectionData).enter().append(\"g\").attr(\"class\", \"legend\").attr(\"transform\", (_datum, index) => {\n const height2 = LEGEND_RECT_SIZE + LEGEND_SPACING;\n const offset = height2 * allSectionData.length / 2;\n const horizontal = 12 * LEGEND_RECT_SIZE;\n const vertical = index * height2 - offset;\n return \"translate(\" + horizontal + \",\" + vertical + \")\";\n });\n legend.append(\"rect\").attr(\"width\", LEGEND_RECT_SIZE).attr(\"height\", LEGEND_RECT_SIZE).style(\"fill\", (d) => color(d.label)).style(\"stroke\", (d) => color(d.label));\n legend.append(\"text\").attr(\"x\", LEGEND_RECT_SIZE + LEGEND_SPACING).attr(\"y\", LEGEND_RECT_SIZE - LEGEND_SPACING).text((d) => {\n if (db2.getShowData()) {\n return `${d.label} [${d.value}]`;\n }\n return d.label;\n });\n const longestTextWidth = Math.max(\n ...legend.selectAll(\"text\").nodes().map((node) => node?.getBoundingClientRect().width ?? 0)\n );\n const totalWidth = pieWidth + MARGIN + LEGEND_RECT_SIZE + LEGEND_SPACING + longestTextWidth;\n svg.attr(\"viewBox\", `0 0 ${totalWidth} ${height}`);\n configureSvgSize(svg, height, totalWidth, pieConfig.useMaxWidth);\n}, \"draw\");\nvar renderer = { draw };\n\n// src/diagrams/pie/pieDiagram.ts\nvar diagram = {\n parser,\n db,\n renderer,\n styles: pieStyles_default\n};\nexport {\n diagram\n};\n"],"names":["descending","a","b","identity","d","d3pie","value","sortValues","sort","startAngle","constant","endAngle","tau","padAngle","pie","data","i","n","array","j","k","sum","index","arcs","a0","da","a1","p","pa","v","_","DEFAULT_PIE_CONFIG","defaultConfig_default","DEFAULT_PIE_DB","sections","showData","config","getConfig2","__name","clear2","clear","addSection","label","log","getSections","setShowData","toggle","getShowData","db","setDiagramTitle","getDiagramTitle","setAccTitle","getAccTitle","setAccDescription","getAccDescription","populateDb","ast","db2","populateCommonDb","parser","input","parse","getStyles","options","pieStyles_default","createPieArcs","sections2","acc","val","pieData","draw","text","id","_version","diagObj","globalConfig","getConfig","pieConfig","cleanAndMerge","MARGIN","LEGEND_RECT_SIZE","LEGEND_SPACING","height","pieWidth","svg","selectSvgElement","group","themeVariables","outerStrokeWidth","parseFontSize","textPosition","radius","arcGenerator","arc","labelArcGenerator","myGeneratedColors","section","filteredArcs","datum","color","scaleOrdinal","allSectionData","legend","_datum","height2","offset","horizontal","vertical","longestTextWidth","node","totalWidth","configureSvgSize","renderer","diagram"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
@@ -1 +1 @@
1
- {"version":3,"file":"accentSwatchPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/accentSwatchPlugin.ts"],"names":[],"mappings":"AAIA,KAAK,QAAQ,GAAG;IACd,SAAS,EAAE,WAAW,CAAC;IACvB,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,aAAa,EAAE,MAAM,IAAI,CAAC;IAE1B,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;AAyCF,wBAAgB,kBAAkB,CAAC,IAAI,CAAC,EAAE;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,IAKS,QAAQ,QAAQ,UAwKzB;AAGD,eAAO,MAAM,kBAAkB,k8BAgB9B,CAAC"}
1
+ {"version":3,"file":"accentSwatchPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/accentSwatchPlugin.ts"],"names":[],"mappings":"AAIA,KAAK,QAAQ,GAAG;IACd,SAAS,EAAE,WAAW,CAAC;IACvB,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,aAAa,EAAE,MAAM,IAAI,CAAC;IAE1B,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;AAyCF,wBAAgB,kBAAkB,CAAC,IAAI,CAAC,EAAE;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,IAKS,QAAQ,QAAQ,UA0KzB;AAGD,eAAO,MAAM,kBAAkB,k8BAgB9B,CAAC"}
@@ -1,28 +1,28 @@
1
1
  const x = "marzipan.accent.colors";
2
- function p(t) {
2
+ function d(t) {
3
3
  if (!t) return null;
4
4
  let n = t.trim().toLowerCase();
5
- return n.startsWith("#") || (n = "#" + n), /^#([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(n) ? (n.length === 4 && (n = "#" + [...n.slice(1)].map((d) => d + d).join("")), n) : null;
5
+ return n.startsWith("#") || (n = "#" + n), /^#([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(n) ? (n.length === 4 && (n = "#" + [...n.slice(1)].map((p) => p + p).join("")), n) : null;
6
6
  }
7
- function P() {
7
+ function A() {
8
8
  try {
9
9
  return JSON.parse(localStorage.getItem(x) || "[]");
10
10
  } catch {
11
11
  return [];
12
12
  }
13
13
  }
14
- function b(t) {
14
+ function g(t) {
15
15
  try {
16
16
  localStorage.setItem(x, JSON.stringify(t));
17
17
  } catch {
18
18
  }
19
19
  }
20
- async function A() {
20
+ async function P() {
21
21
  const t = window;
22
22
  if (!t.EyeDropper) return null;
23
23
  try {
24
- const d = await new t.EyeDropper().open();
25
- return p(d.sRGBHex);
24
+ const p = await new t.EyeDropper().open();
25
+ return d(p.sRGBHex);
26
26
  } catch {
27
27
  return null;
28
28
  }
@@ -31,54 +31,54 @@ function z(t, n) {
31
31
  typeof t.setAccent == "function" && t.setAccent(n), document.documentElement.style.setProperty("--mz-accent", n), t.container.style.setProperty("--mz-accent", n), t.container.dispatchEvent(new CustomEvent("marzipan:accent", { detail: { color: n } }));
32
32
  }
33
33
  function R(t) {
34
- const n = Math.max(1, t?.max ?? 12), d = t?.title ?? "Accent color", E = t?.label ?? "⭘";
35
- return (l) => {
36
- const k = l.container.querySelector(".marzipan-toolbar") ?? l.container, s = document.createElement("button");
37
- s.type = "button", s.className = "mz-btn mz-btn-accent", s.title = d, s.textContent = E;
38
- let c = null, r = P();
39
- !r.length && t?.defaults?.length && (r = t.defaults.map(p).filter((e) => !!e).slice(0, n), b(r));
34
+ const n = Math.max(1, t?.max ?? 12), p = t?.title ?? "Accent color", E = t?.label ?? "⭘";
35
+ return (s) => {
36
+ const k = s.container.querySelector(".marzipan-toolbar") ?? s.container, i = document.createElement("button");
37
+ i.type = "button", i.className = "marzipan-toolbar-button mz-btn-accent", i.title = p, i.textContent = E, i.setAttribute("aria-label", p);
38
+ let c = null, r = A();
39
+ !r.length && t?.defaults?.length && (r = t.defaults.map(d).filter((e) => !!e).slice(0, n), g(r));
40
40
  function h() {
41
- const y = getComputedStyle(l.container).getPropertyValue("--mz-accent").trim() || getComputedStyle(document.documentElement).getPropertyValue("--mz-accent").trim();
42
- return p(y) || "#8b5cf6";
41
+ const y = getComputedStyle(s.container).getPropertyValue("--mz-accent").trim() || getComputedStyle(document.documentElement).getPropertyValue("--mz-accent").trim();
42
+ return d(y) || "#8b5cf6";
43
43
  }
44
44
  function w(e) {
45
- r = [e, ...r.filter((y) => y !== e)].slice(0, n), b(r);
45
+ r = [e, ...r.filter((y) => y !== e)].slice(0, n), g(r);
46
46
  }
47
47
  function m() {
48
48
  c && (c.remove(), c = null, document.removeEventListener("click", v, !0), window.removeEventListener("resize", m), window.removeEventListener("scroll", m, !0));
49
49
  }
50
50
  function v(e) {
51
- c && (e.target instanceof Node && (c.contains(e.target) || s.contains(e.target)) || m());
51
+ c && (e.target instanceof Node && (c.contains(e.target) || i.contains(e.target)) || m());
52
52
  }
53
53
  function u() {
54
54
  if (!c) return;
55
55
  const e = c.querySelector(".mz-accent-grid");
56
56
  e.innerHTML = "";
57
57
  const y = h();
58
- r.forEach((a, i) => {
58
+ r.forEach((a, l) => {
59
59
  const o = document.createElement("button");
60
60
  o.type = "button", o.className = "mz-swatch", o.style.setProperty("--sw", a), o.title = a, a === y && o.classList.add("sel"), o.onclick = () => {
61
- z(l, a), w(a), u();
62
- }, o.oncontextmenu = (g) => {
63
- g.preventDefault(), r.splice(i, 1), b(r), u();
61
+ z(s, a), w(a), u();
62
+ }, o.oncontextmenu = (b) => {
63
+ b.preventDefault(), r.splice(l, 1), g(r), u();
64
64
  }, e.appendChild(o);
65
65
  });
66
66
  const f = document.createElement("button");
67
67
  f.type = "button", f.className = "mz-swatch mz-swatch-add", f.textContent = "+", f.title = "Add color (click to pick, ⇧click to type, ⌥click eyedropper)", f.onclick = async (a) => {
68
- let i = null;
68
+ let l = null;
69
69
  if (a.shiftKey)
70
- i = p(prompt("Enter hex color (#RRGGBB or RRGGBB):") || "");
70
+ l = d(prompt("Enter hex color (#RRGGBB or RRGGBB):") || "");
71
71
  else if (a.altKey)
72
- i = await A(), i || (i = p(prompt("Enter hex color:") || ""));
72
+ l = await P(), l || (l = d(prompt("Enter hex color:") || ""));
73
73
  else {
74
74
  const o = document.createElement("input");
75
75
  o.type = "color", o.value = h(), o.onchange = () => {
76
- const g = p(o.value);
77
- g && (z(l, g), w(g), u());
76
+ const b = d(o.value);
77
+ b && (z(s, b), w(b), u());
78
78
  }, o.click();
79
79
  return;
80
80
  }
81
- i && (z(l, i), w(i), u());
81
+ l && (z(s, l), w(l), u());
82
82
  }, e.appendChild(f);
83
83
  const C = c.querySelector(".mz-accent-usecur");
84
84
  C.onclick = () => {
@@ -88,10 +88,10 @@ function R(t) {
88
88
  const L = c.querySelector(".mz-accent-reset");
89
89
  L.onclick = () => {
90
90
  if (!t?.defaults?.length) {
91
- r = [], b(r), u();
91
+ r = [], g(r), u();
92
92
  return;
93
93
  }
94
- r = t.defaults.map(p).filter(Boolean), b(r), u();
94
+ r = t.defaults.map(d).filter(Boolean), g(r), u();
95
95
  };
96
96
  }
97
97
  function S() {
@@ -107,14 +107,14 @@ function R(t) {
107
107
  </div>
108
108
  <div class="mz-accent-hint">Tip: Right-click a swatch to remove. Alt-click “+” for eyedropper.</div>
109
109
  `, document.body.appendChild(c);
110
- const e = s.getBoundingClientRect();
111
- c.style.left = `${Math.round(window.scrollX + e.left)}px`, c.style.top = `${Math.round(window.scrollY + e.bottom + 6)}px`, u(), setTimeout(() => {
110
+ const e = i.getBoundingClientRect();
111
+ c.style.position = "absolute", c.style.left = `${Math.round(window.scrollX + e.left)}px`, c.style.top = `${Math.round(window.scrollY + e.bottom + 6)}px`, u(), setTimeout(() => {
112
112
  document.addEventListener("click", v, !0), window.addEventListener("resize", m), window.addEventListener("scroll", m, !0);
113
113
  }, 0);
114
114
  }
115
- if (s.onclick = S, k.appendChild(s), !getComputedStyle(l.container).getPropertyValue("--mz-accent").trim()) {
115
+ if (i.onclick = S, k.appendChild(i), !getComputedStyle(s.container).getPropertyValue("--mz-accent").trim()) {
116
116
  const e = r[0] || t?.defaults?.[0] || "#8b5cf6";
117
- z(l, e);
117
+ z(s, e);
118
118
  }
119
119
  };
120
120
  }
@@ -1 +1 @@
1
- {"version":3,"file":"accentSwatchPlugin.js","sources":["../../src/plugins/accentSwatchPlugin.ts"],"sourcesContent":["// plugins/accentSwatchPlugin.ts\n// Tiny recent-colors palette with Eyedropper support (if available).\n// Persists to localStorage. No deps.\n\ntype MzEditor = {\n container: HTMLElement;\n textarea: HTMLTextAreaElement;\n updatePreview: () => void;\n // Optional if your core exposes it\n setAccent?: (hex: string) => void;\n};\n\nconst LS_KEY = 'marzipan.accent.colors';\n\nfunction normHex(hex: string): string | null {\n if (!hex) return null;\n let h = hex.trim().toLowerCase();\n if (!h.startsWith('#')) h = '#' + h;\n if (!/^#([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(h)) return null;\n // Expand #abc -> #aabbcc\n if (h.length === 4) h = '#' + [...h.slice(1)].map(c => c + c).join('');\n return h;\n}\n\nfunction load(): string[] {\n try { return JSON.parse(localStorage.getItem(LS_KEY) || '[]'); } catch { return []; }\n}\nfunction save(arr: string[]) {\n try { localStorage.setItem(LS_KEY, JSON.stringify(arr)); } catch {}\n}\n\nasync function pickWithEyedropper(): Promise<string | null> {\n const anyWin = window as any;\n if (!anyWin.EyeDropper) return null;\n try {\n const eye = new anyWin.EyeDropper();\n const res = await eye.open();\n return normHex(res.sRGBHex);\n } catch { return null; }\n}\n\nfunction setAccent(editor: MzEditor, hex: string) {\n // Prefer core hook if you have one\n if (typeof editor.setAccent === 'function') editor.setAccent(hex);\n // Always set CSS var as a fallback\n document.documentElement.style.setProperty('--mz-accent', hex);\n editor.container.style.setProperty('--mz-accent', hex);\n // Broadcast (optional) for any listeners\n editor.container.dispatchEvent(new CustomEvent('marzipan:accent', { detail: { color: hex } }));\n}\n\nexport function accentSwatchPlugin(opts?: {\n max?: number; // max swatches to keep (default 12)\n defaults?: string[]; // seed colors if none saved\n title?: string; // toolbar tooltip\n label?: string; // toolbar button label/icon\n}) {\n const max = Math.max(1, opts?.max ?? 12);\n const title = opts?.title ?? 'Accent color';\n const label = opts?.label ?? '⭘';\n\n return (editor: MzEditor) => {\n const bar = editor.container.querySelector('.marzipan-toolbar') as HTMLElement ?? editor.container;\n\n // Button that opens the palette popover\n const btn = document.createElement('button');\n btn.type = 'button';\n btn.className = 'mz-btn mz-btn-accent';\n btn.title = title;\n btn.textContent = label;\n\n // Popover elements\n let pop: HTMLElement | null = null;\n let colors: string[] = load();\n if (!colors.length && opts?.defaults?.length) {\n colors = opts.defaults\n .map(normHex)\n .filter((x): x is string => !!x)\n .slice(0, max);\n save(colors);\n }\n\n function currentAccent(): string {\n const css = getComputedStyle(editor.container);\n const v = css.getPropertyValue('--mz-accent').trim() ||\n getComputedStyle(document.documentElement).getPropertyValue('--mz-accent').trim();\n return normHex(v) || '#8b5cf6'; // fallback purple\n }\n\n function ensureFront(hex: string) {\n colors = [hex, ...colors.filter(c => c !== hex)].slice(0, max);\n save(colors);\n }\n\n function closePop() {\n if (!pop) return;\n pop.remove(); pop = null;\n document.removeEventListener('click', outsideClose, true);\n window.removeEventListener('resize', closePop);\n window.removeEventListener('scroll', closePop, true);\n }\n\n function outsideClose(e: MouseEvent) {\n if (!pop) return;\n if (e.target instanceof Node && (pop.contains(e.target) || btn.contains(e.target))) return;\n closePop();\n }\n\n function render() {\n if (!pop) return;\n const grid = pop.querySelector('.mz-accent-grid') as HTMLElement;\n grid.innerHTML = '';\n\n const cur = currentAccent();\n\n // Existing swatches\n colors.forEach((hex, i) => {\n const sw = document.createElement('button');\n sw.type = 'button';\n sw.className = 'mz-swatch';\n sw.style.setProperty('--sw', hex);\n sw.title = hex;\n if (hex === cur) sw.classList.add('sel');\n sw.onclick = () => {\n setAccent(editor, hex);\n ensureFront(hex);\n render();\n };\n sw.oncontextmenu = (e) => {\n e.preventDefault();\n colors.splice(i, 1);\n save(colors);\n render();\n };\n grid.appendChild(sw);\n });\n\n // “+” swatch to add new color\n const plus = document.createElement('button');\n plus.type = 'button';\n plus.className = 'mz-swatch mz-swatch-add';\n plus.textContent = '+';\n plus.title = 'Add color (click to pick, ⇧click to type, ⌥click eyedropper)';\n plus.onclick = async (e) => {\n let hex: string | null = null;\n\n if (e.shiftKey) {\n hex = normHex(prompt('Enter hex color (#RRGGBB or RRGGBB):') || '');\n } else if (e.altKey) {\n hex = await pickWithEyedropper();\n if (!hex) hex = normHex(prompt('Enter hex color:') || '');\n } else {\n // Native color input for broad support\n const input = document.createElement('input');\n input.type = 'color';\n input.value = currentAccent();\n input.onchange = () => {\n const v = normHex(input.value);\n if (!v) return;\n setAccent(editor, v);\n ensureFront(v);\n render();\n };\n input.click();\n return;\n }\n\n if (hex) {\n setAccent(editor, hex);\n ensureFront(hex);\n render();\n }\n };\n grid.appendChild(plus);\n\n // Controls: “Use current”, “Reset”\n const useCur = pop.querySelector('.mz-accent-usecur') as HTMLButtonElement;\n useCur.onclick = () => {\n const hex = currentAccent();\n ensureFront(hex);\n render();\n };\n\n const reset = pop.querySelector('.mz-accent-reset') as HTMLButtonElement;\n reset.onclick = () => {\n if (!opts?.defaults?.length) { colors = []; save(colors); render(); return; }\n colors = opts.defaults.map(normHex).filter(Boolean) as string[];\n save(colors);\n render();\n };\n }\n\n function openPop() {\n if (pop) { closePop(); return; }\n\n pop = document.createElement('div');\n pop.className = 'mz-pop mz-accent-pop';\n pop.innerHTML = `\n <div class=\"mz-accent-grid\"></div>\n <div class=\"mz-accent-row\">\n <button type=\"button\" class=\"mz-accent-usecur\">Add current</button>\n <button type=\"button\" class=\"mz-accent-reset\">Reset</button>\n </div>\n <div class=\"mz-accent-hint\">Tip: Right-click a swatch to remove. Alt-click “+” for eyedropper.</div>\n `;\n document.body.appendChild(pop);\n\n const r = btn.getBoundingClientRect();\n pop.style.left = `${Math.round(window.scrollX + r.left)}px`;\n pop.style.top = `${Math.round(window.scrollY + r.bottom + 6)}px`;\n\n render();\n\n setTimeout(() => {\n document.addEventListener('click', outsideClose, true);\n window.addEventListener('resize', closePop);\n window.addEventListener('scroll', closePop, true);\n }, 0);\n }\n\n btn.onclick = openPop;\n bar.appendChild(btn);\n\n // Initialize CSS var if missing\n if (!getComputedStyle(editor.container).getPropertyValue('--mz-accent').trim()) {\n const seed = colors[0] || opts?.defaults?.[0] || '#8b5cf6';\n setAccent(editor, seed);\n }\n };\n}\n\n// Minimal CSS you can inject once in your app\nexport const accentSwatchStyles = `\n.mz-accent-pop { width: 280px; max-width: calc(100vw - 24px); }\n.mz-accent-grid { display: grid; grid-template-columns: repeat(8, 28px); gap: 8px; padding: 6px; }\n.mz-swatch {\n width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--mz-pop-bd, #333);\n background: var(--sw, #777); cursor: pointer; box-shadow: inset 0 0 0 2px rgba(0,0,0,.2);\n}\n.mz-swatch.sel { outline: 2px solid var(--mz-accent, #8b5cf6); outline-offset: 2px; }\n.mz-swatch-add { background: linear-gradient(135deg, #222, #2b2f36); color: #e7e7e7;\n display:flex; align-items:center; justify-content:center; font-weight:700; }\n.mz-accent-row { display:flex; gap:8px; padding: 6px; }\n.mz-accent-row button {\n flex:1; padding:6px 8px; border-radius:8px; border:1px solid var(--mz-bd, #2b2f36);\n background: var(--mz-btn-bg, #1a1e24); color: var(--mz-btn-fg, #e7e7e7); cursor:pointer;\n}\n.mz-accent-hint { font-size: 12px; opacity: .7; padding: 0 6px 6px; }\n`;"],"names":["LS_KEY","normHex","hex","h","c","load","save","arr","pickWithEyedropper","anyWin","res","setAccent","editor","accentSwatchPlugin","opts","max","title","label","bar","btn","pop","colors","x","currentAccent","v","ensureFront","closePop","outsideClose","render","grid","cur","sw","e","plus","input","useCur","reset","openPop","r","seed","accentSwatchStyles"],"mappings":"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"}
1
+ {"version":3,"file":"accentSwatchPlugin.js","sources":["../../src/plugins/accentSwatchPlugin.ts"],"sourcesContent":["// plugins/accentSwatchPlugin.ts\n// Tiny recent-colors palette with Eyedropper support (if available).\n// Persists to localStorage. No deps.\n\ntype MzEditor = {\n container: HTMLElement;\n textarea: HTMLTextAreaElement;\n updatePreview: () => void;\n // Optional if your core exposes it\n setAccent?: (hex: string) => void;\n};\n\nconst LS_KEY = 'marzipan.accent.colors';\n\nfunction normHex(hex: string): string | null {\n if (!hex) return null;\n let h = hex.trim().toLowerCase();\n if (!h.startsWith('#')) h = '#' + h;\n if (!/^#([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(h)) return null;\n // Expand #abc -> #aabbcc\n if (h.length === 4) h = '#' + [...h.slice(1)].map(c => c + c).join('');\n return h;\n}\n\nfunction load(): string[] {\n try { return JSON.parse(localStorage.getItem(LS_KEY) || '[]'); } catch { return []; }\n}\nfunction save(arr: string[]) {\n try { localStorage.setItem(LS_KEY, JSON.stringify(arr)); } catch { /* localStorage not available */ }\n}\n\nasync function pickWithEyedropper(): Promise<string | null> {\n const anyWin = window as any;\n if (!anyWin.EyeDropper) return null;\n try {\n const eye = new anyWin.EyeDropper();\n const res = await eye.open();\n return normHex(res.sRGBHex);\n } catch { return null; }\n}\n\nfunction setAccent(editor: MzEditor, hex: string) {\n // Prefer core hook if you have one\n if (typeof editor.setAccent === 'function') editor.setAccent(hex);\n // Always set CSS var as a fallback\n document.documentElement.style.setProperty('--mz-accent', hex);\n editor.container.style.setProperty('--mz-accent', hex);\n // Broadcast (optional) for any listeners\n editor.container.dispatchEvent(new CustomEvent('marzipan:accent', { detail: { color: hex } }));\n}\n\nexport function accentSwatchPlugin(opts?: {\n max?: number; // max swatches to keep (default 12)\n defaults?: string[]; // seed colors if none saved\n title?: string; // toolbar tooltip\n label?: string; // toolbar button label/icon\n}) {\n const max = Math.max(1, opts?.max ?? 12);\n const title = opts?.title ?? 'Accent color';\n const label = opts?.label ?? '⭘';\n\n return (editor: MzEditor) => {\n const bar = editor.container.querySelector('.marzipan-toolbar') as HTMLElement ?? editor.container;\n\n // Button that opens the palette popover\n const btn = document.createElement('button');\n btn.type = 'button';\n btn.className = 'marzipan-toolbar-button mz-btn-accent';\n btn.title = title;\n btn.textContent = label;\n btn.setAttribute('aria-label', title);\n\n // Popover elements\n let pop: HTMLElement | null = null;\n let colors: string[] = load();\n if (!colors.length && opts?.defaults?.length) {\n colors = opts.defaults\n .map(normHex)\n .filter((x): x is string => !!x)\n .slice(0, max);\n save(colors);\n }\n\n function currentAccent(): string {\n const css = getComputedStyle(editor.container);\n const v = css.getPropertyValue('--mz-accent').trim() ||\n getComputedStyle(document.documentElement).getPropertyValue('--mz-accent').trim();\n return normHex(v) || '#8b5cf6'; // fallback purple\n }\n\n function ensureFront(hex: string) {\n colors = [hex, ...colors.filter(c => c !== hex)].slice(0, max);\n save(colors);\n }\n\n function closePop() {\n if (!pop) return;\n pop.remove(); pop = null;\n document.removeEventListener('click', outsideClose, true);\n window.removeEventListener('resize', closePop);\n window.removeEventListener('scroll', closePop, true);\n }\n\n function outsideClose(e: MouseEvent) {\n if (!pop) return;\n if (e.target instanceof Node && (pop.contains(e.target) || btn.contains(e.target))) return;\n closePop();\n }\n\n function render() {\n if (!pop) return;\n const grid = pop.querySelector('.mz-accent-grid') as HTMLElement;\n grid.innerHTML = '';\n\n const cur = currentAccent();\n\n // Existing swatches\n colors.forEach((hex, i) => {\n const sw = document.createElement('button');\n sw.type = 'button';\n sw.className = 'mz-swatch';\n sw.style.setProperty('--sw', hex);\n sw.title = hex;\n if (hex === cur) sw.classList.add('sel');\n sw.onclick = () => {\n setAccent(editor, hex);\n ensureFront(hex);\n render();\n };\n sw.oncontextmenu = (e) => {\n e.preventDefault();\n colors.splice(i, 1);\n save(colors);\n render();\n };\n grid.appendChild(sw);\n });\n\n // “+” swatch to add new color\n const plus = document.createElement('button');\n plus.type = 'button';\n plus.className = 'mz-swatch mz-swatch-add';\n plus.textContent = '+';\n plus.title = 'Add color (click to pick, ⇧click to type, ⌥click eyedropper)';\n plus.onclick = async (e) => {\n let hex: string | null = null;\n\n if (e.shiftKey) {\n hex = normHex(prompt('Enter hex color (#RRGGBB or RRGGBB):') || '');\n } else if (e.altKey) {\n hex = await pickWithEyedropper();\n if (!hex) hex = normHex(prompt('Enter hex color:') || '');\n } else {\n // Native color input for broad support\n const input = document.createElement('input');\n input.type = 'color';\n input.value = currentAccent();\n input.onchange = () => {\n const v = normHex(input.value);\n if (!v) return;\n setAccent(editor, v);\n ensureFront(v);\n render();\n };\n input.click();\n return;\n }\n\n if (hex) {\n setAccent(editor, hex);\n ensureFront(hex);\n render();\n }\n };\n grid.appendChild(plus);\n\n // Controls: “Use current”, “Reset”\n const useCur = pop.querySelector('.mz-accent-usecur') as HTMLButtonElement;\n useCur.onclick = () => {\n const hex = currentAccent();\n ensureFront(hex);\n render();\n };\n\n const reset = pop.querySelector('.mz-accent-reset') as HTMLButtonElement;\n reset.onclick = () => {\n if (!opts?.defaults?.length) { colors = []; save(colors); render(); return; }\n colors = opts.defaults.map(normHex).filter(Boolean) as string[];\n save(colors);\n render();\n };\n }\n\n function openPop() {\n if (pop) { closePop(); return; }\n\n pop = document.createElement('div');\n pop.className = 'mz-pop mz-accent-pop';\n pop.innerHTML = `\n <div class=\"mz-accent-grid\"></div>\n <div class=\"mz-accent-row\">\n <button type=\"button\" class=\"mz-accent-usecur\">Add current</button>\n <button type=\"button\" class=\"mz-accent-reset\">Reset</button>\n </div>\n <div class=\"mz-accent-hint\">Tip: Right-click a swatch to remove. Alt-click “+” for eyedropper.</div>\n `;\n document.body.appendChild(pop);\n\n const r = btn.getBoundingClientRect();\n pop.style.position = 'absolute';\n pop.style.left = `${Math.round(window.scrollX + r.left)}px`;\n pop.style.top = `${Math.round(window.scrollY + r.bottom + 6)}px`;\n\n render();\n\n setTimeout(() => {\n document.addEventListener('click', outsideClose, true);\n window.addEventListener('resize', closePop);\n window.addEventListener('scroll', closePop, true);\n }, 0);\n }\n\n btn.onclick = openPop;\n bar.appendChild(btn);\n\n // Initialize CSS var if missing\n if (!getComputedStyle(editor.container).getPropertyValue('--mz-accent').trim()) {\n const seed = colors[0] || opts?.defaults?.[0] || '#8b5cf6';\n setAccent(editor, seed);\n }\n };\n}\n\n// Minimal CSS you can inject once in your app\nexport const accentSwatchStyles = `\n.mz-accent-pop { width: 280px; max-width: calc(100vw - 24px); }\n.mz-accent-grid { display: grid; grid-template-columns: repeat(8, 28px); gap: 8px; padding: 6px; }\n.mz-swatch {\n width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--mz-pop-bd, #333);\n background: var(--sw, #777); cursor: pointer; box-shadow: inset 0 0 0 2px rgba(0,0,0,.2);\n}\n.mz-swatch.sel { outline: 2px solid var(--mz-accent, #8b5cf6); outline-offset: 2px; }\n.mz-swatch-add { background: linear-gradient(135deg, #222, #2b2f36); color: #e7e7e7;\n display:flex; align-items:center; justify-content:center; font-weight:700; }\n.mz-accent-row { display:flex; gap:8px; padding: 6px; }\n.mz-accent-row button {\n flex:1; padding:6px 8px; border-radius:8px; border:1px solid var(--mz-bd, #2b2f36);\n background: var(--mz-btn-bg, #1a1e24); color: var(--mz-btn-fg, #e7e7e7); cursor:pointer;\n}\n.mz-accent-hint { font-size: 12px; opacity: .7; padding: 0 6px 6px; }\n`;"],"names":["LS_KEY","normHex","hex","h","c","load","save","arr","pickWithEyedropper","anyWin","res","setAccent","editor","accentSwatchPlugin","opts","max","title","label","bar","btn","pop","colors","x","currentAccent","v","ensureFront","closePop","outsideClose","render","grid","cur","i","sw","e","plus","input","useCur","reset","openPop","r","seed","accentSwatchStyles"],"mappings":"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"}