@copilotkitnext/react 0.0.22-alpha.7 → 0.0.22-alpha.8
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.
- package/package.json +4 -4
- package/dist/KaTeX_AMS-Regular-CYEKBG2K.woff +0 -0
- package/dist/KaTeX_AMS-Regular-JKX5W2C4.ttf +0 -0
- package/dist/KaTeX_AMS-Regular-U6PRYMIZ.woff2 +0 -0
- package/dist/KaTeX_Caligraphic-Bold-5QL5CMTE.woff2 +0 -0
- package/dist/KaTeX_Caligraphic-Bold-WZ3QSGD3.woff +0 -0
- package/dist/KaTeX_Caligraphic-Bold-ZTS3R3HK.ttf +0 -0
- package/dist/KaTeX_Caligraphic-Regular-3LKEU76G.woff +0 -0
- package/dist/KaTeX_Caligraphic-Regular-A7XRTZ5Q.ttf +0 -0
- package/dist/KaTeX_Caligraphic-Regular-KX5MEWCF.woff2 +0 -0
- package/dist/KaTeX_Fraktur-Bold-2QVFK6NQ.woff2 +0 -0
- package/dist/KaTeX_Fraktur-Bold-T4SWXBMT.woff +0 -0
- package/dist/KaTeX_Fraktur-Bold-WGHVTYOR.ttf +0 -0
- package/dist/KaTeX_Fraktur-Regular-2PEIFJSJ.woff2 +0 -0
- package/dist/KaTeX_Fraktur-Regular-5U4OPH2X.ttf +0 -0
- package/dist/KaTeX_Fraktur-Regular-PQMHCIK6.woff +0 -0
- package/dist/KaTeX_Main-Bold-2GA4IZIN.woff +0 -0
- package/dist/KaTeX_Main-Bold-W5FBVCZM.ttf +0 -0
- package/dist/KaTeX_Main-Bold-YP5VVQRP.woff2 +0 -0
- package/dist/KaTeX_Main-BoldItalic-4P4C7HJH.woff +0 -0
- package/dist/KaTeX_Main-BoldItalic-N4V3DX7S.woff2 +0 -0
- package/dist/KaTeX_Main-BoldItalic-ODMLBJJQ.ttf +0 -0
- package/dist/KaTeX_Main-Italic-I43T2HSR.ttf +0 -0
- package/dist/KaTeX_Main-Italic-RELBIK7M.woff2 +0 -0
- package/dist/KaTeX_Main-Italic-SASNQFN2.woff +0 -0
- package/dist/KaTeX_Main-Regular-ARRPAO67.woff2 +0 -0
- package/dist/KaTeX_Main-Regular-P5I74A2A.woff +0 -0
- package/dist/KaTeX_Main-Regular-W74P5G27.ttf +0 -0
- package/dist/KaTeX_Math-BoldItalic-6EBV3DK5.woff +0 -0
- package/dist/KaTeX_Math-BoldItalic-K4WTGH3J.woff2 +0 -0
- package/dist/KaTeX_Math-BoldItalic-VB447A4D.ttf +0 -0
- package/dist/KaTeX_Math-Italic-6KGCHLFN.woff2 +0 -0
- package/dist/KaTeX_Math-Italic-KKK3USB2.woff +0 -0
- package/dist/KaTeX_Math-Italic-SON4MRCA.ttf +0 -0
- package/dist/KaTeX_SansSerif-Bold-RRNVJFFW.woff2 +0 -0
- package/dist/KaTeX_SansSerif-Bold-STQ6RXC7.ttf +0 -0
- package/dist/KaTeX_SansSerif-Bold-X5M5EMOD.woff +0 -0
- package/dist/KaTeX_SansSerif-Italic-HMPFTM52.woff2 +0 -0
- package/dist/KaTeX_SansSerif-Italic-PSN4QKYX.woff +0 -0
- package/dist/KaTeX_SansSerif-Italic-WTBAZBGY.ttf +0 -0
- package/dist/KaTeX_SansSerif-Regular-2TL3USAE.ttf +0 -0
- package/dist/KaTeX_SansSerif-Regular-OQCII6EP.woff +0 -0
- package/dist/KaTeX_SansSerif-Regular-XIQ62X4E.woff2 +0 -0
- package/dist/KaTeX_Script-Regular-72OLXYNA.ttf +0 -0
- package/dist/KaTeX_Script-Regular-A5IFOEBS.woff +0 -0
- package/dist/KaTeX_Script-Regular-APUWIHLP.woff2 +0 -0
- package/dist/KaTeX_Size1-Regular-4HRHTS65.woff +0 -0
- package/dist/KaTeX_Size1-Regular-5LRUTBFT.woff2 +0 -0
- package/dist/KaTeX_Size1-Regular-7K6AASVL.ttf +0 -0
- package/dist/KaTeX_Size2-Regular-222HN3GT.ttf +0 -0
- package/dist/KaTeX_Size2-Regular-K5ZHAIS6.woff +0 -0
- package/dist/KaTeX_Size2-Regular-LELKET5D.woff2 +0 -0
- package/dist/KaTeX_Size3-Regular-TLFPAHDE.woff +0 -0
- package/dist/KaTeX_Size3-Regular-UFCO6WCA.ttf +0 -0
- package/dist/KaTeX_Size3-Regular-WQRQ47UD.woff2 +0 -0
- package/dist/KaTeX_Size4-Regular-7PGNVPQK.ttf +0 -0
- package/dist/KaTeX_Size4-Regular-CDMV7U5C.woff2 +0 -0
- package/dist/KaTeX_Size4-Regular-PKMWZHNC.woff +0 -0
- package/dist/KaTeX_Typewriter-Regular-3F5K6SQ6.ttf +0 -0
- package/dist/KaTeX_Typewriter-Regular-MJMFSK64.woff +0 -0
- package/dist/KaTeX_Typewriter-Regular-VBYJ4NRC.woff2 +0 -0
- package/dist/angular-html-LD6QEAZE.mjs +0 -7
- package/dist/angular-html-LD6QEAZE.mjs.map +0 -1
- package/dist/angular-ts-FGK7I2F5.mjs +0 -37
- package/dist/angular-ts-FGK7I2F5.mjs.map +0 -1
- package/dist/angular-ts-XZTE5LQS.mjs +0 -37
- package/dist/angular-ts-XZTE5LQS.mjs.map +0 -1
- package/dist/apl-VB2EG5RZ.mjs +0 -22
- package/dist/apl-VB2EG5RZ.mjs.map +0 -1
- package/dist/architectureDiagram-VXUJARFQ-PPLKSFYC.mjs +0 -8712
- package/dist/architectureDiagram-VXUJARFQ-PPLKSFYC.mjs.map +0 -1
- package/dist/blade-EZDWULER.mjs +0 -26
- package/dist/blade-EZDWULER.mjs.map +0 -1
- package/dist/blade-HS4Z7O3Y.mjs +0 -26
- package/dist/blade-HS4Z7O3Y.mjs.map +0 -1
- package/dist/blockDiagram-VD42YOAC-7SIEWHYD.mjs +0 -3618
- package/dist/blockDiagram-VD42YOAC-7SIEWHYD.mjs.map +0 -1
- package/dist/c4Diagram-YG6GDRKO-G2UUBRHQ.mjs +0 -2495
- package/dist/c4Diagram-YG6GDRKO-G2UUBRHQ.mjs.map +0 -1
- package/dist/chunk-2BAFECUC.mjs +0 -28
- package/dist/chunk-2BAFECUC.mjs.map +0 -1
- package/dist/chunk-BF5LDW2L.mjs +0 -65
- package/dist/chunk-BF5LDW2L.mjs.map +0 -1
- package/dist/chunk-BUEC2HNL.mjs +0 -762
- package/dist/chunk-BUEC2HNL.mjs.map +0 -1
- package/dist/chunk-CRGJ2YCV.mjs +0 -109
- package/dist/chunk-CRGJ2YCV.mjs.map +0 -1
- package/dist/chunk-DKZXT4VQ.mjs +0 -19
- package/dist/chunk-DKZXT4VQ.mjs.map +0 -1
- package/dist/chunk-DYQXFOGA.mjs +0 -34
- package/dist/chunk-DYQXFOGA.mjs.map +0 -1
- package/dist/chunk-ENI667QL.mjs +0 -806
- package/dist/chunk-ENI667QL.mjs.map +0 -1
- package/dist/chunk-GEUZOPED.mjs +0 -1834
- package/dist/chunk-GEUZOPED.mjs.map +0 -1
- package/dist/chunk-GU7334FJ.mjs +0 -538
- package/dist/chunk-GU7334FJ.mjs.map +0 -1
- package/dist/chunk-HNKEYT4A.mjs +0 -4693
- package/dist/chunk-HNKEYT4A.mjs.map +0 -1
- package/dist/chunk-HTMHAYGC.mjs +0 -14
- package/dist/chunk-HTMHAYGC.mjs.map +0 -1
- package/dist/chunk-JRLFMJ6U.mjs +0 -1923
- package/dist/chunk-JRLFMJ6U.mjs.map +0 -1
- package/dist/chunk-JYRND4DC.mjs +0 -22
- package/dist/chunk-JYRND4DC.mjs.map +0 -1
- package/dist/chunk-KFEPUFID.mjs +0 -52
- package/dist/chunk-KFEPUFID.mjs.map +0 -1
- package/dist/chunk-M3UH7XZX.mjs +0 -6222
- package/dist/chunk-M3UH7XZX.mjs.map +0 -1
- package/dist/chunk-ND4RYWG7.mjs +0 -12
- package/dist/chunk-ND4RYWG7.mjs.map +0 -1
- package/dist/chunk-VLSLBZME.mjs +0 -51
- package/dist/chunk-VLSLBZME.mjs.map +0 -1
- package/dist/chunk-WJBV3P3K.mjs +0 -55
- package/dist/chunk-WJBV3P3K.mjs.map +0 -1
- package/dist/chunk-X2TQ2HDS.mjs +0 -44
- package/dist/chunk-X2TQ2HDS.mjs.map +0 -1
- package/dist/chunk-YIDZOZG3.mjs +0 -103
- package/dist/chunk-YIDZOZG3.mjs.map +0 -1
- package/dist/chunk-YLW7IP7V.mjs +0 -14525
- package/dist/chunk-YLW7IP7V.mjs.map +0 -1
- package/dist/classDiagram-2ON5EDUG-WUV4PTK5.mjs +0 -38
- package/dist/classDiagram-2ON5EDUG-WUV4PTK5.mjs.map +0 -1
- package/dist/classDiagram-v2-WZHVMYZB-J4QNVYPE.mjs +0 -38
- package/dist/classDiagram-v2-WZHVMYZB-J4QNVYPE.mjs.map +0 -1
- package/dist/cobol-PNTKRG5I.mjs +0 -17
- package/dist/cobol-PNTKRG5I.mjs.map +0 -1
- package/dist/crystal-BSMHK65A.mjs +0 -23
- package/dist/crystal-BSMHK65A.mjs.map +0 -1
- package/dist/dagre-6UL2VRFP-XN667C7N.mjs +0 -710
- package/dist/dagre-6UL2VRFP-XN667C7N.mjs.map +0 -1
- package/dist/diagram-PSM6KHXK-VA2CF5LZ.mjs +0 -538
- package/dist/diagram-PSM6KHXK-VA2CF5LZ.mjs.map +0 -1
- package/dist/diagram-QEK2KX5R-H3EHES33.mjs +0 -319
- package/dist/diagram-QEK2KX5R-H3EHES33.mjs.map +0 -1
- package/dist/diagram-S2PKOQOG-FOQYPB22.mjs +0 -231
- package/dist/diagram-S2PKOQOG-FOQYPB22.mjs.map +0 -1
- package/dist/edge-JOI74UJM.mjs +0 -19
- package/dist/edge-JOI74UJM.mjs.map +0 -1
- package/dist/elixir-FEL6DDPJ.mjs +0 -15
- package/dist/elixir-FEL6DDPJ.mjs.map +0 -1
- package/dist/erDiagram-Q2GNP2WA-IXNJSD2A.mjs +0 -1175
- package/dist/erDiagram-Q2GNP2WA-IXNJSD2A.mjs.map +0 -1
- package/dist/erb-Q2D6FWX3.mjs +0 -32
- package/dist/erb-Q2D6FWX3.mjs.map +0 -1
- package/dist/flowDiagram-NV44I4VS-ISKGEBMD.mjs +0 -2349
- package/dist/flowDiagram-NV44I4VS-ISKGEBMD.mjs.map +0 -1
- package/dist/ganttDiagram-LVOFAZNH-OAL7V7IR.mjs +0 -2344
- package/dist/ganttDiagram-LVOFAZNH-OAL7V7IR.mjs.map +0 -1
- package/dist/gitGraphDiagram-NY62KEGX-RKN2CCAZ.mjs +0 -1221
- package/dist/gitGraphDiagram-NY62KEGX-RKN2CCAZ.mjs.map +0 -1
- package/dist/glimmer-js-B32LCGFA.mjs +0 -19
- package/dist/glimmer-js-B32LCGFA.mjs.map +0 -1
- package/dist/glimmer-ts-4PHFAQCG.mjs +0 -19
- package/dist/glimmer-ts-4PHFAQCG.mjs.map +0 -1
- package/dist/hack-3ZNSL4KD.mjs +0 -17
- package/dist/hack-3ZNSL4KD.mjs.map +0 -1
- package/dist/handlebars-ICBC3AZK.mjs +0 -19
- package/dist/handlebars-ICBC3AZK.mjs.map +0 -1
- package/dist/html-BGY5P773.mjs +0 -6
- package/dist/html-BGY5P773.mjs.map +0 -1
- package/dist/html-derivative-3HGXHHFE.mjs +0 -7
- package/dist/html-derivative-3HGXHHFE.mjs.map +0 -1
- package/dist/index.css +0 -2385
- package/dist/index.css.map +0 -1
- package/dist/infoDiagram-F6ZHWCRC-Z7KMJJ45.mjs +0 -49
- package/dist/infoDiagram-F6ZHWCRC-Z7KMJJ45.mjs.map +0 -1
- package/dist/jinja-WL6HNMB5.mjs +0 -22
- package/dist/jinja-WL6HNMB5.mjs.map +0 -1
- package/dist/journeyDiagram-XKPGCS4Q-BMTOBHZ4.mjs +0 -1259
- package/dist/journeyDiagram-XKPGCS4Q-BMTOBHZ4.mjs.map +0 -1
- package/dist/kanban-definition-3W4ZIXB7-MVFRARF4.mjs +0 -1062
- package/dist/kanban-definition-3W4ZIXB7-MVFRARF4.mjs.map +0 -1
- package/dist/katex-4R42CMCB.mjs +0 -4
- package/dist/katex-4R42CMCB.mjs.map +0 -1
- package/dist/liquid-YS3YPW54.mjs +0 -19
- package/dist/liquid-YS3YPW54.mjs.map +0 -1
- package/dist/logo-mark-OHF64HAY.svg +0 -8
- package/dist/mdc-A66KLOT4.mjs +0 -20
- package/dist/mdc-A66KLOT4.mjs.map +0 -1
- package/dist/mermaid.core-4OWTNZSL.mjs +0 -1587
- package/dist/mermaid.core-4OWTNZSL.mjs.map +0 -1
- package/dist/mermaid.core-7AUE4M6E.mjs +0 -1587
- package/dist/mermaid.core-7AUE4M6E.mjs.map +0 -1
- package/dist/mindmap-definition-VGOIOE7T-7FMA2CPY.mjs +0 -1112
- package/dist/mindmap-definition-VGOIOE7T-7FMA2CPY.mjs.map +0 -1
- package/dist/mindmap-definition-VGOIOE7T-VNF7JZOY.mjs +0 -1112
- package/dist/mindmap-definition-VGOIOE7T-VNF7JZOY.mjs.map +0 -1
- package/dist/nim-HUBKBJHZ.mjs +0 -26
- package/dist/nim-HUBKBJHZ.mjs.map +0 -1
- package/dist/perl-QHAMWWQ5.mjs +0 -22
- package/dist/perl-QHAMWWQ5.mjs.map +0 -1
- package/dist/php-FS5GKSPN.mjs +0 -11
- package/dist/php-FS5GKSPN.mjs.map +0 -1
- package/dist/pieDiagram-ADFJNKIX-EER3WTCU.mjs +0 -200
- package/dist/pieDiagram-ADFJNKIX-EER3WTCU.mjs.map +0 -1
- package/dist/pug-WTY5FMEA.mjs +0 -17
- package/dist/pug-WTY5FMEA.mjs.map +0 -1
- package/dist/quadrantDiagram-AYHSOK5B-WQCIRJOK.mjs +0 -1344
- package/dist/quadrantDiagram-AYHSOK5B-WQCIRJOK.mjs.map +0 -1
- package/dist/razor-BAB7LFWZ.mjs +0 -17
- package/dist/razor-BAB7LFWZ.mjs.map +0 -1
- package/dist/requirementDiagram-UZGBJVZJ-RVM6Q2TT.mjs +0 -1179
- package/dist/requirementDiagram-UZGBJVZJ-RVM6Q2TT.mjs.map +0 -1
- package/dist/rst-AY7U27YM.mjs +0 -41
- package/dist/rst-AY7U27YM.mjs.map +0 -1
- package/dist/rst-Y2VLYMJI.mjs +0 -41
- package/dist/rst-Y2VLYMJI.mjs.map +0 -1
- package/dist/ruby-K4BNEYWG.mjs +0 -22
- package/dist/ruby-K4BNEYWG.mjs.map +0 -1
- package/dist/sankeyDiagram-TZEHDZUN-H7BVEXGO.mjs +0 -1230
- package/dist/sankeyDiagram-TZEHDZUN-H7BVEXGO.mjs.map +0 -1
- package/dist/sequenceDiagram-WL72ISMW-XBGZSOYI.mjs +0 -3885
- package/dist/sequenceDiagram-WL72ISMW-XBGZSOYI.mjs.map +0 -1
- package/dist/soy-5QMQV2KL.mjs +0 -15
- package/dist/soy-5QMQV2KL.mjs.map +0 -1
- package/dist/stateDiagram-FKZM4ZOC-WRIBVFSJ.mjs +0 -467
- package/dist/stateDiagram-FKZM4ZOC-WRIBVFSJ.mjs.map +0 -1
- package/dist/stateDiagram-v2-4FDKWEC3-SPDO7R6D.mjs +0 -37
- package/dist/stateDiagram-v2-4FDKWEC3-SPDO7R6D.mjs.map +0 -1
- package/dist/templ-VSARRSO2.mjs +0 -17
- package/dist/templ-VSARRSO2.mjs.map +0 -1
- package/dist/timeline-definition-IT6M3QCI-PX4A2RIH.mjs +0 -1226
- package/dist/timeline-definition-IT6M3QCI-PX4A2RIH.mjs.map +0 -1
- package/dist/ts-tags-YK3Q2LIW.mjs +0 -68
- package/dist/ts-tags-YK3Q2LIW.mjs.map +0 -1
- package/dist/twig-HNMWLN6H.mjs +0 -40
- package/dist/twig-HNMWLN6H.mjs.map +0 -1
- package/dist/vue-7OSX6ZY5.mjs +0 -10
- package/dist/vue-7OSX6ZY5.mjs.map +0 -1
- package/dist/vue-html-AQH2V2EU.mjs +0 -20
- package/dist/vue-html-AQH2V2EU.mjs.map +0 -1
- package/dist/vue-vine-GCYT2IGV.mjs +0 -29
- package/dist/vue-vine-GCYT2IGV.mjs.map +0 -1
- package/dist/xychartDiagram-PRI3JC2R-65KZQZDU.mjs +0 -1865
- package/dist/xychartDiagram-PRI3JC2R-65KZQZDU.mjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/.pnpm/mermaid@11.12.0/node_modules/mermaid/dist/chunks/mermaid.core/diagram-PSM6KHXK.mjs"],"names":[],"mappings":"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","file":"diagram-PSM6KHXK-VA2CF5LZ.mjs","sourcesContent":["import {\n selectSvgElement\n} from \"./chunk-EXTU4WIE.mjs\";\nimport {\n setupViewPortForSVG\n} from \"./chunk-QN33PNHL.mjs\";\nimport {\n isLabelStyle,\n styles2String\n} from \"./chunk-ATLVNIR6.mjs\";\nimport {\n populateCommonDb\n} from \"./chunk-4BX2VUAB.mjs\";\nimport {\n cleanAndMerge\n} from \"./chunk-S3R3BYOJ.mjs\";\nimport {\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n 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/treemap/db.ts\nvar TreeMapDB = class {\n constructor() {\n this.nodes = [];\n this.levels = /* @__PURE__ */ new Map();\n this.outerNodes = [];\n this.classes = /* @__PURE__ */ new Map();\n this.setAccTitle = setAccTitle;\n this.getAccTitle = getAccTitle;\n this.setDiagramTitle = setDiagramTitle;\n this.getDiagramTitle = getDiagramTitle;\n this.getAccDescription = getAccDescription;\n this.setAccDescription = setAccDescription;\n }\n static {\n __name(this, \"TreeMapDB\");\n }\n getNodes() {\n return this.nodes;\n }\n getConfig() {\n const defaultConfig = defaultConfig_default;\n const userConfig = getConfig();\n return cleanAndMerge({\n ...defaultConfig.treemap,\n ...userConfig.treemap ?? {}\n });\n }\n addNode(node, level) {\n this.nodes.push(node);\n this.levels.set(node, level);\n if (level === 0) {\n this.outerNodes.push(node);\n this.root ??= node;\n }\n }\n getRoot() {\n return { name: \"\", children: this.outerNodes };\n }\n addClass(id, _style) {\n const styleClass = this.classes.get(id) ?? { id, styles: [], textStyles: [] };\n const styles = _style.replace(/\\\\,/g, \"\\xA7\\xA7\\xA7\").replace(/,/g, \";\").replace(/§§§/g, \",\").split(\";\");\n if (styles) {\n styles.forEach((s) => {\n if (isLabelStyle(s)) {\n if (styleClass?.textStyles) {\n styleClass.textStyles.push(s);\n } else {\n styleClass.textStyles = [s];\n }\n }\n if (styleClass?.styles) {\n styleClass.styles.push(s);\n } else {\n styleClass.styles = [s];\n }\n });\n }\n this.classes.set(id, styleClass);\n }\n getClasses() {\n return this.classes;\n }\n getStylesForClass(classSelector) {\n return this.classes.get(classSelector)?.styles ?? [];\n }\n clear() {\n clear();\n this.nodes = [];\n this.levels = /* @__PURE__ */ new Map();\n this.outerNodes = [];\n this.classes = /* @__PURE__ */ new Map();\n this.root = void 0;\n }\n};\n\n// src/diagrams/treemap/parser.ts\nimport { parse } from \"@mermaid-js/parser\";\n\n// src/diagrams/treemap/utils.ts\nfunction buildHierarchy(items) {\n if (!items.length) {\n return [];\n }\n const root = [];\n const stack = [];\n items.forEach((item) => {\n const node = {\n name: item.name,\n children: item.type === \"Leaf\" ? void 0 : []\n };\n node.classSelector = item?.classSelector;\n if (item?.cssCompiledStyles) {\n node.cssCompiledStyles = [item.cssCompiledStyles];\n }\n if (item.type === \"Leaf\" && item.value !== void 0) {\n node.value = item.value;\n }\n while (stack.length > 0 && stack[stack.length - 1].level >= item.level) {\n stack.pop();\n }\n if (stack.length === 0) {\n root.push(node);\n } else {\n const parent = stack[stack.length - 1].node;\n if (parent.children) {\n parent.children.push(node);\n } else {\n parent.children = [node];\n }\n }\n if (item.type !== \"Leaf\") {\n stack.push({ node, level: item.level });\n }\n });\n return root;\n}\n__name(buildHierarchy, \"buildHierarchy\");\n\n// src/diagrams/treemap/parser.ts\nvar populate = /* @__PURE__ */ __name((ast, db) => {\n populateCommonDb(ast, db);\n const items = [];\n for (const row of ast.TreemapRows ?? []) {\n if (row.$type === \"ClassDefStatement\") {\n db.addClass(row.className ?? \"\", row.styleText ?? \"\");\n }\n }\n for (const row of ast.TreemapRows ?? []) {\n const item = row.item;\n if (!item) {\n continue;\n }\n const level = row.indent ? parseInt(row.indent) : 0;\n const name = getItemName(item);\n const styles = item.classSelector ? db.getStylesForClass(item.classSelector) : [];\n const cssCompiledStyles = styles.length > 0 ? styles.join(\";\") : void 0;\n const itemData = {\n level,\n name,\n type: item.$type,\n value: item.value,\n classSelector: item.classSelector,\n cssCompiledStyles\n };\n items.push(itemData);\n }\n const hierarchyNodes = buildHierarchy(items);\n const addNodesRecursively = /* @__PURE__ */ __name((nodes, level) => {\n for (const node of nodes) {\n db.addNode(node, level);\n if (node.children && node.children.length > 0) {\n addNodesRecursively(node.children, level + 1);\n }\n }\n }, \"addNodesRecursively\");\n addNodesRecursively(hierarchyNodes, 0);\n}, \"populate\");\nvar getItemName = /* @__PURE__ */ __name((item) => {\n return item.name ? String(item.name) : \"\";\n}, \"getItemName\");\nvar parser = {\n // @ts-expect-error - TreeMapDB is not assignable to DiagramDB\n parser: { yy: void 0 },\n parse: /* @__PURE__ */ __name(async (text) => {\n try {\n const parseFunc = parse;\n const ast = await parseFunc(\"treemap\", text);\n log.debug(\"Treemap AST:\", ast);\n const db = parser.parser?.yy;\n if (!(db instanceof TreeMapDB)) {\n throw new Error(\n \"parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.\"\n );\n }\n populate(ast, db);\n } catch (error) {\n log.error(\"Error parsing treemap:\", error);\n throw error;\n }\n }, \"parse\")\n};\n\n// src/diagrams/treemap/renderer.ts\nimport { scaleOrdinal, treemap, hierarchy, format, select } from \"d3\";\nvar DEFAULT_INNER_PADDING = 10;\nvar SECTION_INNER_PADDING = 10;\nvar SECTION_HEADER_HEIGHT = 25;\nvar draw = /* @__PURE__ */ __name((_text, id, _version, diagram2) => {\n const treemapDb = diagram2.db;\n const config = treemapDb.getConfig();\n const treemapInnerPadding = config.padding ?? DEFAULT_INNER_PADDING;\n const title = treemapDb.getDiagramTitle();\n const root = treemapDb.getRoot();\n const { themeVariables } = getConfig();\n if (!root) {\n return;\n }\n const titleHeight = title ? 30 : 0;\n const svg = selectSvgElement(id);\n const width = config.nodeWidth ? config.nodeWidth * SECTION_INNER_PADDING : 960;\n const height = config.nodeHeight ? config.nodeHeight * SECTION_INNER_PADDING : 500;\n const svgWidth = width;\n const svgHeight = height + titleHeight;\n svg.attr(\"viewBox\", `0 0 ${svgWidth} ${svgHeight}`);\n configureSvgSize(svg, svgHeight, svgWidth, config.useMaxWidth);\n let valueFormat;\n try {\n const formatStr = config.valueFormat || \",\";\n if (formatStr === \"$0,0\") {\n valueFormat = /* @__PURE__ */ __name((value) => \"$\" + format(\",\")(value), \"valueFormat\");\n } else if (formatStr.startsWith(\"$\") && formatStr.includes(\",\")) {\n const precision = /\\.\\d+/.exec(formatStr);\n const precisionStr = precision ? precision[0] : \"\";\n valueFormat = /* @__PURE__ */ __name((value) => \"$\" + format(\",\" + precisionStr)(value), \"valueFormat\");\n } else if (formatStr.startsWith(\"$\")) {\n const restOfFormat = formatStr.substring(1);\n valueFormat = /* @__PURE__ */ __name((value) => \"$\" + format(restOfFormat || \"\")(value), \"valueFormat\");\n } else {\n valueFormat = format(formatStr);\n }\n } catch (error) {\n log.error(\"Error creating format function:\", error);\n valueFormat = format(\",\");\n }\n const colorScale = scaleOrdinal().range([\n \"transparent\",\n themeVariables.cScale0,\n themeVariables.cScale1,\n themeVariables.cScale2,\n themeVariables.cScale3,\n themeVariables.cScale4,\n themeVariables.cScale5,\n themeVariables.cScale6,\n themeVariables.cScale7,\n themeVariables.cScale8,\n themeVariables.cScale9,\n themeVariables.cScale10,\n themeVariables.cScale11\n ]);\n const colorScalePeer = scaleOrdinal().range([\n \"transparent\",\n themeVariables.cScalePeer0,\n themeVariables.cScalePeer1,\n themeVariables.cScalePeer2,\n themeVariables.cScalePeer3,\n themeVariables.cScalePeer4,\n themeVariables.cScalePeer5,\n themeVariables.cScalePeer6,\n themeVariables.cScalePeer7,\n themeVariables.cScalePeer8,\n themeVariables.cScalePeer9,\n themeVariables.cScalePeer10,\n themeVariables.cScalePeer11\n ]);\n const colorScaleLabel = scaleOrdinal().range([\n themeVariables.cScaleLabel0,\n themeVariables.cScaleLabel1,\n themeVariables.cScaleLabel2,\n themeVariables.cScaleLabel3,\n themeVariables.cScaleLabel4,\n themeVariables.cScaleLabel5,\n themeVariables.cScaleLabel6,\n themeVariables.cScaleLabel7,\n themeVariables.cScaleLabel8,\n themeVariables.cScaleLabel9,\n themeVariables.cScaleLabel10,\n themeVariables.cScaleLabel11\n ]);\n if (title) {\n svg.append(\"text\").attr(\"x\", svgWidth / 2).attr(\"y\", titleHeight / 2).attr(\"class\", \"treemapTitle\").attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"middle\").text(title);\n }\n const g = svg.append(\"g\").attr(\"transform\", `translate(0, ${titleHeight})`).attr(\"class\", \"treemapContainer\");\n const hierarchyRoot = hierarchy(root).sum((d) => d.value ?? 0).sort((a, b) => (b.value ?? 0) - (a.value ?? 0));\n const treemapLayout = treemap().size([width, height]).paddingTop(\n (d) => d.children && d.children.length > 0 ? SECTION_HEADER_HEIGHT + SECTION_INNER_PADDING : 0\n ).paddingInner(treemapInnerPadding).paddingLeft((d) => d.children && d.children.length > 0 ? SECTION_INNER_PADDING : 0).paddingRight((d) => d.children && d.children.length > 0 ? SECTION_INNER_PADDING : 0).paddingBottom((d) => d.children && d.children.length > 0 ? SECTION_INNER_PADDING : 0).round(true);\n const treemapData = treemapLayout(hierarchyRoot);\n const branchNodes = treemapData.descendants().filter((d) => d.children && d.children.length > 0);\n const sections = g.selectAll(\".treemapSection\").data(branchNodes).enter().append(\"g\").attr(\"class\", \"treemapSection\").attr(\"transform\", (d) => `translate(${d.x0},${d.y0})`);\n sections.append(\"rect\").attr(\"width\", (d) => d.x1 - d.x0).attr(\"height\", SECTION_HEADER_HEIGHT).attr(\"class\", \"treemapSectionHeader\").attr(\"fill\", \"none\").attr(\"fill-opacity\", 0.6).attr(\"stroke-width\", 0.6).attr(\"style\", (d) => {\n if (d.depth === 0) {\n return \"display: none;\";\n }\n return \"\";\n });\n sections.append(\"clipPath\").attr(\"id\", (_d, i) => `clip-section-${id}-${i}`).append(\"rect\").attr(\"width\", (d) => Math.max(0, d.x1 - d.x0 - 12)).attr(\"height\", SECTION_HEADER_HEIGHT);\n sections.append(\"rect\").attr(\"width\", (d) => d.x1 - d.x0).attr(\"height\", (d) => d.y1 - d.y0).attr(\"class\", (_d, i) => {\n return `treemapSection section${i}`;\n }).attr(\"fill\", (d) => colorScale(d.data.name)).attr(\"fill-opacity\", 0.6).attr(\"stroke\", (d) => colorScalePeer(d.data.name)).attr(\"stroke-width\", 2).attr(\"stroke-opacity\", 0.4).attr(\"style\", (d) => {\n if (d.depth === 0) {\n return \"display: none;\";\n }\n const styles = styles2String({ cssCompiledStyles: d.data.cssCompiledStyles });\n return styles.nodeStyles + \";\" + styles.borderStyles.join(\";\");\n });\n sections.append(\"text\").attr(\"class\", \"treemapSectionLabel\").attr(\"x\", 6).attr(\"y\", SECTION_HEADER_HEIGHT / 2).attr(\"dominant-baseline\", \"middle\").text((d) => d.depth === 0 ? \"\" : d.data.name).attr(\"font-weight\", \"bold\").attr(\"style\", (d) => {\n if (d.depth === 0) {\n return \"display: none;\";\n }\n const labelStyles = \"dominant-baseline: middle; font-size: 12px; fill:\" + colorScaleLabel(d.data.name) + \"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;\";\n const styles = styles2String({ cssCompiledStyles: d.data.cssCompiledStyles });\n return labelStyles + styles.labelStyles.replace(\"color:\", \"fill:\");\n }).each(function(d) {\n if (d.depth === 0) {\n return;\n }\n const self = select(this);\n const originalText = d.data.name;\n self.text(originalText);\n const totalHeaderWidth = d.x1 - d.x0;\n const labelXPosition = 6;\n let spaceForTextContent;\n if (config.showValues !== false && d.value) {\n const valueEndsAtXRelative = totalHeaderWidth - 10;\n const estimatedValueTextActualWidth = 30;\n const gapBetweenLabelAndValue = 10;\n const labelMustEndBeforeX = valueEndsAtXRelative - estimatedValueTextActualWidth - gapBetweenLabelAndValue;\n spaceForTextContent = labelMustEndBeforeX - labelXPosition;\n } else {\n const labelOwnRightPadding = 6;\n spaceForTextContent = totalHeaderWidth - labelXPosition - labelOwnRightPadding;\n }\n const minimumWidthToDisplay = 15;\n const actualAvailableWidth = Math.max(minimumWidthToDisplay, spaceForTextContent);\n const textNode = self.node();\n const currentTextContentLength = textNode.getComputedTextLength();\n if (currentTextContentLength > actualAvailableWidth) {\n const ellipsis = \"...\";\n let currentTruncatedText = originalText;\n while (currentTruncatedText.length > 0) {\n currentTruncatedText = originalText.substring(0, currentTruncatedText.length - 1);\n if (currentTruncatedText.length === 0) {\n self.text(ellipsis);\n if (textNode.getComputedTextLength() > actualAvailableWidth) {\n self.text(\"\");\n }\n break;\n }\n self.text(currentTruncatedText + ellipsis);\n if (textNode.getComputedTextLength() <= actualAvailableWidth) {\n break;\n }\n }\n }\n });\n if (config.showValues !== false) {\n sections.append(\"text\").attr(\"class\", \"treemapSectionValue\").attr(\"x\", (d) => d.x1 - d.x0 - 10).attr(\"y\", SECTION_HEADER_HEIGHT / 2).attr(\"text-anchor\", \"end\").attr(\"dominant-baseline\", \"middle\").text((d) => d.value ? valueFormat(d.value) : \"\").attr(\"font-style\", \"italic\").attr(\"style\", (d) => {\n if (d.depth === 0) {\n return \"display: none;\";\n }\n const labelStyles = \"text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:\" + colorScaleLabel(d.data.name) + \"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;\";\n const styles = styles2String({ cssCompiledStyles: d.data.cssCompiledStyles });\n return labelStyles + styles.labelStyles.replace(\"color:\", \"fill:\");\n });\n }\n const leafNodes = treemapData.leaves();\n const cell = g.selectAll(\".treemapLeafGroup\").data(leafNodes).enter().append(\"g\").attr(\"class\", (d, i) => {\n return `treemapNode treemapLeafGroup leaf${i}${d.data.classSelector ? ` ${d.data.classSelector}` : \"\"}x`;\n }).attr(\"transform\", (d) => `translate(${d.x0},${d.y0})`);\n cell.append(\"rect\").attr(\"width\", (d) => d.x1 - d.x0).attr(\"height\", (d) => d.y1 - d.y0).attr(\"class\", \"treemapLeaf\").attr(\"fill\", (d) => {\n return d.parent ? colorScale(d.parent.data.name) : colorScale(d.data.name);\n }).attr(\"style\", (d) => {\n const styles = styles2String({ cssCompiledStyles: d.data.cssCompiledStyles });\n return styles.nodeStyles;\n }).attr(\"fill-opacity\", 0.3).attr(\"stroke\", (d) => {\n return d.parent ? colorScale(d.parent.data.name) : colorScale(d.data.name);\n }).attr(\"stroke-width\", 3);\n cell.append(\"clipPath\").attr(\"id\", (_d, i) => `clip-${id}-${i}`).append(\"rect\").attr(\"width\", (d) => Math.max(0, d.x1 - d.x0 - 4)).attr(\"height\", (d) => Math.max(0, d.y1 - d.y0 - 4));\n const leafLabels = cell.append(\"text\").attr(\"class\", \"treemapLabel\").attr(\"x\", (d) => (d.x1 - d.x0) / 2).attr(\"y\", (d) => (d.y1 - d.y0) / 2).attr(\"style\", (d) => {\n const labelStyles = \"text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:\" + colorScaleLabel(d.data.name) + \";\";\n const styles = styles2String({ cssCompiledStyles: d.data.cssCompiledStyles });\n return labelStyles + styles.labelStyles.replace(\"color:\", \"fill:\");\n }).attr(\"clip-path\", (_d, i) => `url(#clip-${id}-${i})`).text((d) => d.data.name);\n leafLabels.each(function(d) {\n const self = select(this);\n const nodeWidth = d.x1 - d.x0;\n const nodeHeight = d.y1 - d.y0;\n const textNode = self.node();\n const padding = 4;\n const availableWidth = nodeWidth - 2 * padding;\n const availableHeight = nodeHeight - 2 * padding;\n if (availableWidth < 10 || availableHeight < 10) {\n self.style(\"display\", \"none\");\n return;\n }\n let currentLabelFontSize = parseInt(self.style(\"font-size\"), 10);\n const minLabelFontSize = 8;\n const originalValueRelFontSize = 28;\n const valueScaleFactor = 0.6;\n const minValueFontSize = 6;\n const spacingBetweenLabelAndValue = 2;\n while (textNode.getComputedTextLength() > availableWidth && currentLabelFontSize > minLabelFontSize) {\n currentLabelFontSize--;\n self.style(\"font-size\", `${currentLabelFontSize}px`);\n }\n let prospectiveValueFontSize = Math.max(\n minValueFontSize,\n Math.min(originalValueRelFontSize, Math.round(currentLabelFontSize * valueScaleFactor))\n );\n let combinedHeight = currentLabelFontSize + spacingBetweenLabelAndValue + prospectiveValueFontSize;\n while (combinedHeight > availableHeight && currentLabelFontSize > minLabelFontSize) {\n currentLabelFontSize--;\n prospectiveValueFontSize = Math.max(\n minValueFontSize,\n Math.min(originalValueRelFontSize, Math.round(currentLabelFontSize * valueScaleFactor))\n );\n if (prospectiveValueFontSize < minValueFontSize && currentLabelFontSize === minLabelFontSize) {\n break;\n }\n self.style(\"font-size\", `${currentLabelFontSize}px`);\n combinedHeight = currentLabelFontSize + spacingBetweenLabelAndValue + prospectiveValueFontSize;\n if (prospectiveValueFontSize <= minValueFontSize && combinedHeight > availableHeight) {\n }\n }\n self.style(\"font-size\", `${currentLabelFontSize}px`);\n if (textNode.getComputedTextLength() > availableWidth || currentLabelFontSize < minLabelFontSize || availableHeight < currentLabelFontSize) {\n self.style(\"display\", \"none\");\n }\n });\n if (config.showValues !== false) {\n const leafValues = cell.append(\"text\").attr(\"class\", \"treemapValue\").attr(\"x\", (d) => (d.x1 - d.x0) / 2).attr(\"y\", function(d) {\n return (d.y1 - d.y0) / 2;\n }).attr(\"style\", (d) => {\n const labelStyles = \"text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:\" + colorScaleLabel(d.data.name) + \";\";\n const styles = styles2String({ cssCompiledStyles: d.data.cssCompiledStyles });\n return labelStyles + styles.labelStyles.replace(\"color:\", \"fill:\");\n }).attr(\"clip-path\", (_d, i) => `url(#clip-${id}-${i})`).text((d) => d.value ? valueFormat(d.value) : \"\");\n leafValues.each(function(d) {\n const valueTextElement = select(this);\n const parentCellNode = this.parentNode;\n if (!parentCellNode) {\n valueTextElement.style(\"display\", \"none\");\n return;\n }\n const labelElement = select(parentCellNode).select(\".treemapLabel\");\n if (labelElement.empty() || labelElement.style(\"display\") === \"none\") {\n valueTextElement.style(\"display\", \"none\");\n return;\n }\n const finalLabelFontSize = parseFloat(labelElement.style(\"font-size\"));\n const originalValueFontSize = 28;\n const valueScaleFactor = 0.6;\n const minValueFontSize = 6;\n const spacingBetweenLabelAndValue = 2;\n const actualValueFontSize = Math.max(\n minValueFontSize,\n Math.min(originalValueFontSize, Math.round(finalLabelFontSize * valueScaleFactor))\n );\n valueTextElement.style(\"font-size\", `${actualValueFontSize}px`);\n const labelCenterY = (d.y1 - d.y0) / 2;\n const valueTopActualY = labelCenterY + finalLabelFontSize / 2 + spacingBetweenLabelAndValue;\n valueTextElement.attr(\"y\", valueTopActualY);\n const nodeWidth = d.x1 - d.x0;\n const nodeTotalHeight = d.y1 - d.y0;\n const cellBottomPadding = 4;\n const maxValueBottomY = nodeTotalHeight - cellBottomPadding;\n const availableWidthForValue = nodeWidth - 2 * 4;\n if (valueTextElement.node().getComputedTextLength() > availableWidthForValue || valueTopActualY + actualValueFontSize > maxValueBottomY || actualValueFontSize < minValueFontSize) {\n valueTextElement.style(\"display\", \"none\");\n } else {\n valueTextElement.style(\"display\", null);\n }\n });\n }\n const diagramPadding = config.diagramPadding ?? 8;\n setupViewPortForSVG(svg, diagramPadding, \"flowchart\", config?.useMaxWidth || false);\n}, \"draw\");\nvar getClasses = /* @__PURE__ */ __name(function(_text, diagramObj) {\n return diagramObj.db.getClasses();\n}, \"getClasses\");\nvar renderer = { draw, getClasses };\n\n// src/diagrams/treemap/styles.ts\nvar defaultTreemapStyleOptions = {\n sectionStrokeColor: \"black\",\n sectionStrokeWidth: \"1\",\n sectionFillColor: \"#efefef\",\n leafStrokeColor: \"black\",\n leafStrokeWidth: \"1\",\n leafFillColor: \"#efefef\",\n labelColor: \"black\",\n labelFontSize: \"12px\",\n valueFontSize: \"10px\",\n valueColor: \"black\",\n titleColor: \"black\",\n titleFontSize: \"14px\"\n};\nvar getStyles = /* @__PURE__ */ __name(({\n treemap: treemap2\n} = {}) => {\n const options = cleanAndMerge(defaultTreemapStyleOptions, treemap2);\n return `\n .treemapNode.section {\n stroke: ${options.sectionStrokeColor};\n stroke-width: ${options.sectionStrokeWidth};\n fill: ${options.sectionFillColor};\n }\n .treemapNode.leaf {\n stroke: ${options.leafStrokeColor};\n stroke-width: ${options.leafStrokeWidth};\n fill: ${options.leafFillColor};\n }\n .treemapLabel {\n fill: ${options.labelColor};\n font-size: ${options.labelFontSize};\n }\n .treemapValue {\n fill: ${options.valueColor};\n font-size: ${options.valueFontSize};\n }\n .treemapTitle {\n fill: ${options.titleColor};\n font-size: ${options.titleFontSize};\n }\n `;\n}, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/treemap/diagram.ts\nvar diagram = {\n parser,\n get db() {\n return new TreeMapDB();\n },\n renderer,\n styles: styles_default\n};\nexport {\n diagram\n};\n"]}
|
|
@@ -1,319 +0,0 @@
|
|
|
1
|
-
import { populateCommonDb } from './chunk-TTWRCDIC.mjs';
|
|
2
|
-
import { parse } from './chunk-S7QNUGK2.mjs';
|
|
3
|
-
import { selectSvgElement } from './chunk-DKZXT4VQ.mjs';
|
|
4
|
-
import './chunk-WJTQD7PW.mjs';
|
|
5
|
-
import './chunk-TO2PW746.mjs';
|
|
6
|
-
import './chunk-4ZPM5JLE.mjs';
|
|
7
|
-
import './chunk-UDJFODZR.mjs';
|
|
8
|
-
import './chunk-TKSZKNX6.mjs';
|
|
9
|
-
import './chunk-FBSCEMOY.mjs';
|
|
10
|
-
import './chunk-LAALMHUD.mjs';
|
|
11
|
-
import './chunk-6BGV5W65.mjs';
|
|
12
|
-
import './chunk-GKV77NWJ.mjs';
|
|
13
|
-
import './chunk-JIP2SELZ.mjs';
|
|
14
|
-
import { cleanAndMerge } from './chunk-GU7334FJ.mjs';
|
|
15
|
-
import './chunk-ZGPFSRJJ.mjs';
|
|
16
|
-
import { defaultConfig_default, setAccDescription, getAccDescription, getDiagramTitle, setDiagramTitle, getAccTitle, setAccTitle, getConfig, clear, getThemeVariables3 } from './chunk-HNKEYT4A.mjs';
|
|
17
|
-
import './chunk-7O6EKIFY.mjs';
|
|
18
|
-
import { __name, log } from './chunk-WHXHCOFP.mjs';
|
|
19
|
-
import './chunk-SH6YXSHR.mjs';
|
|
20
|
-
|
|
21
|
-
// ../../node_modules/.pnpm/mermaid@11.12.0/node_modules/mermaid/dist/chunks/mermaid.core/diagram-QEK2KX5R.mjs
|
|
22
|
-
var defaultOptions = {
|
|
23
|
-
showLegend: true,
|
|
24
|
-
ticks: 5,
|
|
25
|
-
max: null,
|
|
26
|
-
min: 0,
|
|
27
|
-
graticule: "circle"
|
|
28
|
-
};
|
|
29
|
-
var defaultRadarData = {
|
|
30
|
-
axes: [],
|
|
31
|
-
curves: [],
|
|
32
|
-
options: defaultOptions
|
|
33
|
-
};
|
|
34
|
-
var data = structuredClone(defaultRadarData);
|
|
35
|
-
var DEFAULT_RADAR_CONFIG = defaultConfig_default.radar;
|
|
36
|
-
var getConfig2 = /* @__PURE__ */ __name(() => {
|
|
37
|
-
const config = cleanAndMerge({
|
|
38
|
-
...DEFAULT_RADAR_CONFIG,
|
|
39
|
-
...getConfig().radar
|
|
40
|
-
});
|
|
41
|
-
return config;
|
|
42
|
-
}, "getConfig");
|
|
43
|
-
var getAxes = /* @__PURE__ */ __name(() => data.axes, "getAxes");
|
|
44
|
-
var getCurves = /* @__PURE__ */ __name(() => data.curves, "getCurves");
|
|
45
|
-
var getOptions = /* @__PURE__ */ __name(() => data.options, "getOptions");
|
|
46
|
-
var setAxes = /* @__PURE__ */ __name((axes) => {
|
|
47
|
-
data.axes = axes.map((axis) => {
|
|
48
|
-
return {
|
|
49
|
-
name: axis.name,
|
|
50
|
-
label: axis.label ?? axis.name
|
|
51
|
-
};
|
|
52
|
-
});
|
|
53
|
-
}, "setAxes");
|
|
54
|
-
var setCurves = /* @__PURE__ */ __name((curves) => {
|
|
55
|
-
data.curves = curves.map((curve) => {
|
|
56
|
-
return {
|
|
57
|
-
name: curve.name,
|
|
58
|
-
label: curve.label ?? curve.name,
|
|
59
|
-
entries: computeCurveEntries(curve.entries)
|
|
60
|
-
};
|
|
61
|
-
});
|
|
62
|
-
}, "setCurves");
|
|
63
|
-
var computeCurveEntries = /* @__PURE__ */ __name((entries) => {
|
|
64
|
-
if (entries[0].axis == void 0) {
|
|
65
|
-
return entries.map((entry) => entry.value);
|
|
66
|
-
}
|
|
67
|
-
const axes = getAxes();
|
|
68
|
-
if (axes.length === 0) {
|
|
69
|
-
throw new Error("Axes must be populated before curves for reference entries");
|
|
70
|
-
}
|
|
71
|
-
return axes.map((axis) => {
|
|
72
|
-
const entry = entries.find((entry2) => entry2.axis?.$refText === axis.name);
|
|
73
|
-
if (entry === void 0) {
|
|
74
|
-
throw new Error("Missing entry for axis " + axis.label);
|
|
75
|
-
}
|
|
76
|
-
return entry.value;
|
|
77
|
-
});
|
|
78
|
-
}, "computeCurveEntries");
|
|
79
|
-
var setOptions = /* @__PURE__ */ __name((options) => {
|
|
80
|
-
const optionMap = options.reduce(
|
|
81
|
-
(acc, option) => {
|
|
82
|
-
acc[option.name] = option;
|
|
83
|
-
return acc;
|
|
84
|
-
},
|
|
85
|
-
{}
|
|
86
|
-
);
|
|
87
|
-
data.options = {
|
|
88
|
-
showLegend: optionMap.showLegend?.value ?? defaultOptions.showLegend,
|
|
89
|
-
ticks: optionMap.ticks?.value ?? defaultOptions.ticks,
|
|
90
|
-
max: optionMap.max?.value ?? defaultOptions.max,
|
|
91
|
-
min: optionMap.min?.value ?? defaultOptions.min,
|
|
92
|
-
graticule: optionMap.graticule?.value ?? defaultOptions.graticule
|
|
93
|
-
};
|
|
94
|
-
}, "setOptions");
|
|
95
|
-
var clear2 = /* @__PURE__ */ __name(() => {
|
|
96
|
-
clear();
|
|
97
|
-
data = structuredClone(defaultRadarData);
|
|
98
|
-
}, "clear");
|
|
99
|
-
var db = {
|
|
100
|
-
getAxes,
|
|
101
|
-
getCurves,
|
|
102
|
-
getOptions,
|
|
103
|
-
setAxes,
|
|
104
|
-
setCurves,
|
|
105
|
-
setOptions,
|
|
106
|
-
getConfig: getConfig2,
|
|
107
|
-
clear: clear2,
|
|
108
|
-
setAccTitle,
|
|
109
|
-
getAccTitle,
|
|
110
|
-
setDiagramTitle,
|
|
111
|
-
getDiagramTitle,
|
|
112
|
-
getAccDescription,
|
|
113
|
-
setAccDescription
|
|
114
|
-
};
|
|
115
|
-
var populate = /* @__PURE__ */ __name((ast) => {
|
|
116
|
-
populateCommonDb(ast, db);
|
|
117
|
-
const { axes, curves, options } = ast;
|
|
118
|
-
db.setAxes(axes);
|
|
119
|
-
db.setCurves(curves);
|
|
120
|
-
db.setOptions(options);
|
|
121
|
-
}, "populate");
|
|
122
|
-
var parser = {
|
|
123
|
-
parse: /* @__PURE__ */ __name(async (input) => {
|
|
124
|
-
const ast = await parse("radar", input);
|
|
125
|
-
log.debug(ast);
|
|
126
|
-
populate(ast);
|
|
127
|
-
}, "parse")
|
|
128
|
-
};
|
|
129
|
-
var draw = /* @__PURE__ */ __name((_text, id, _version, diagram2) => {
|
|
130
|
-
const db2 = diagram2.db;
|
|
131
|
-
const axes = db2.getAxes();
|
|
132
|
-
const curves = db2.getCurves();
|
|
133
|
-
const options = db2.getOptions();
|
|
134
|
-
const config = db2.getConfig();
|
|
135
|
-
const title = db2.getDiagramTitle();
|
|
136
|
-
const svg = selectSvgElement(id);
|
|
137
|
-
const g = drawFrame(svg, config);
|
|
138
|
-
const maxValue = options.max ?? Math.max(...curves.map((curve) => Math.max(...curve.entries)));
|
|
139
|
-
const minValue = options.min;
|
|
140
|
-
const radius = Math.min(config.width, config.height) / 2;
|
|
141
|
-
drawGraticule(g, axes, radius, options.ticks, options.graticule);
|
|
142
|
-
drawAxes(g, axes, radius, config);
|
|
143
|
-
drawCurves(g, axes, curves, minValue, maxValue, options.graticule, config);
|
|
144
|
-
drawLegend(g, curves, options.showLegend, config);
|
|
145
|
-
g.append("text").attr("class", "radarTitle").text(title).attr("x", 0).attr("y", -config.height / 2 - config.marginTop);
|
|
146
|
-
}, "draw");
|
|
147
|
-
var drawFrame = /* @__PURE__ */ __name((svg, config) => {
|
|
148
|
-
const totalWidth = config.width + config.marginLeft + config.marginRight;
|
|
149
|
-
const totalHeight = config.height + config.marginTop + config.marginBottom;
|
|
150
|
-
const center = {
|
|
151
|
-
x: config.marginLeft + config.width / 2,
|
|
152
|
-
y: config.marginTop + config.height / 2
|
|
153
|
-
};
|
|
154
|
-
svg.attr("viewbox", `0 0 ${totalWidth} ${totalHeight}`).attr("width", totalWidth).attr("height", totalHeight);
|
|
155
|
-
return svg.append("g").attr("transform", `translate(${center.x}, ${center.y})`);
|
|
156
|
-
}, "drawFrame");
|
|
157
|
-
var drawGraticule = /* @__PURE__ */ __name((g, axes, radius, ticks, graticule) => {
|
|
158
|
-
if (graticule === "circle") {
|
|
159
|
-
for (let i = 0; i < ticks; i++) {
|
|
160
|
-
const r = radius * (i + 1) / ticks;
|
|
161
|
-
g.append("circle").attr("r", r).attr("class", "radarGraticule");
|
|
162
|
-
}
|
|
163
|
-
} else if (graticule === "polygon") {
|
|
164
|
-
const numAxes = axes.length;
|
|
165
|
-
for (let i = 0; i < ticks; i++) {
|
|
166
|
-
const r = radius * (i + 1) / ticks;
|
|
167
|
-
const points = axes.map((_, j) => {
|
|
168
|
-
const angle = 2 * j * Math.PI / numAxes - Math.PI / 2;
|
|
169
|
-
const x = r * Math.cos(angle);
|
|
170
|
-
const y = r * Math.sin(angle);
|
|
171
|
-
return `${x},${y}`;
|
|
172
|
-
}).join(" ");
|
|
173
|
-
g.append("polygon").attr("points", points).attr("class", "radarGraticule");
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
}, "drawGraticule");
|
|
177
|
-
var drawAxes = /* @__PURE__ */ __name((g, axes, radius, config) => {
|
|
178
|
-
const numAxes = axes.length;
|
|
179
|
-
for (let i = 0; i < numAxes; i++) {
|
|
180
|
-
const label = axes[i].label;
|
|
181
|
-
const angle = 2 * i * Math.PI / numAxes - Math.PI / 2;
|
|
182
|
-
g.append("line").attr("x1", 0).attr("y1", 0).attr("x2", radius * config.axisScaleFactor * Math.cos(angle)).attr("y2", radius * config.axisScaleFactor * Math.sin(angle)).attr("class", "radarAxisLine");
|
|
183
|
-
g.append("text").text(label).attr("x", radius * config.axisLabelFactor * Math.cos(angle)).attr("y", radius * config.axisLabelFactor * Math.sin(angle)).attr("class", "radarAxisLabel");
|
|
184
|
-
}
|
|
185
|
-
}, "drawAxes");
|
|
186
|
-
function drawCurves(g, axes, curves, minValue, maxValue, graticule, config) {
|
|
187
|
-
const numAxes = axes.length;
|
|
188
|
-
const radius = Math.min(config.width, config.height) / 2;
|
|
189
|
-
curves.forEach((curve, index) => {
|
|
190
|
-
if (curve.entries.length !== numAxes) {
|
|
191
|
-
return;
|
|
192
|
-
}
|
|
193
|
-
const points = curve.entries.map((entry, i) => {
|
|
194
|
-
const angle = 2 * Math.PI * i / numAxes - Math.PI / 2;
|
|
195
|
-
const r = relativeRadius(entry, minValue, maxValue, radius);
|
|
196
|
-
const x = r * Math.cos(angle);
|
|
197
|
-
const y = r * Math.sin(angle);
|
|
198
|
-
return { x, y };
|
|
199
|
-
});
|
|
200
|
-
if (graticule === "circle") {
|
|
201
|
-
g.append("path").attr("d", closedRoundCurve(points, config.curveTension)).attr("class", `radarCurve-${index}`);
|
|
202
|
-
} else if (graticule === "polygon") {
|
|
203
|
-
g.append("polygon").attr("points", points.map((p) => `${p.x},${p.y}`).join(" ")).attr("class", `radarCurve-${index}`);
|
|
204
|
-
}
|
|
205
|
-
});
|
|
206
|
-
}
|
|
207
|
-
__name(drawCurves, "drawCurves");
|
|
208
|
-
function relativeRadius(value, minValue, maxValue, radius) {
|
|
209
|
-
const clippedValue = Math.min(Math.max(value, minValue), maxValue);
|
|
210
|
-
return radius * (clippedValue - minValue) / (maxValue - minValue);
|
|
211
|
-
}
|
|
212
|
-
__name(relativeRadius, "relativeRadius");
|
|
213
|
-
function closedRoundCurve(points, tension) {
|
|
214
|
-
const numPoints = points.length;
|
|
215
|
-
let d = `M${points[0].x},${points[0].y}`;
|
|
216
|
-
for (let i = 0; i < numPoints; i++) {
|
|
217
|
-
const p0 = points[(i - 1 + numPoints) % numPoints];
|
|
218
|
-
const p1 = points[i];
|
|
219
|
-
const p2 = points[(i + 1) % numPoints];
|
|
220
|
-
const p3 = points[(i + 2) % numPoints];
|
|
221
|
-
const cp1 = {
|
|
222
|
-
x: p1.x + (p2.x - p0.x) * tension,
|
|
223
|
-
y: p1.y + (p2.y - p0.y) * tension
|
|
224
|
-
};
|
|
225
|
-
const cp2 = {
|
|
226
|
-
x: p2.x - (p3.x - p1.x) * tension,
|
|
227
|
-
y: p2.y - (p3.y - p1.y) * tension
|
|
228
|
-
};
|
|
229
|
-
d += ` C${cp1.x},${cp1.y} ${cp2.x},${cp2.y} ${p2.x},${p2.y}`;
|
|
230
|
-
}
|
|
231
|
-
return `${d} Z`;
|
|
232
|
-
}
|
|
233
|
-
__name(closedRoundCurve, "closedRoundCurve");
|
|
234
|
-
function drawLegend(g, curves, showLegend, config) {
|
|
235
|
-
if (!showLegend) {
|
|
236
|
-
return;
|
|
237
|
-
}
|
|
238
|
-
const legendX = (config.width / 2 + config.marginRight) * 3 / 4;
|
|
239
|
-
const legendY = -(config.height / 2 + config.marginTop) * 3 / 4;
|
|
240
|
-
const lineHeight = 20;
|
|
241
|
-
curves.forEach((curve, index) => {
|
|
242
|
-
const itemGroup = g.append("g").attr("transform", `translate(${legendX}, ${legendY + index * lineHeight})`);
|
|
243
|
-
itemGroup.append("rect").attr("width", 12).attr("height", 12).attr("class", `radarLegendBox-${index}`);
|
|
244
|
-
itemGroup.append("text").attr("x", 16).attr("y", 0).attr("class", "radarLegendText").text(curve.label);
|
|
245
|
-
});
|
|
246
|
-
}
|
|
247
|
-
__name(drawLegend, "drawLegend");
|
|
248
|
-
var renderer = { draw };
|
|
249
|
-
var genIndexStyles = /* @__PURE__ */ __name((themeVariables, radarOptions) => {
|
|
250
|
-
let sections = "";
|
|
251
|
-
for (let i = 0; i < themeVariables.THEME_COLOR_LIMIT; i++) {
|
|
252
|
-
const indexColor = themeVariables[`cScale${i}`];
|
|
253
|
-
sections += `
|
|
254
|
-
.radarCurve-${i} {
|
|
255
|
-
color: ${indexColor};
|
|
256
|
-
fill: ${indexColor};
|
|
257
|
-
fill-opacity: ${radarOptions.curveOpacity};
|
|
258
|
-
stroke: ${indexColor};
|
|
259
|
-
stroke-width: ${radarOptions.curveStrokeWidth};
|
|
260
|
-
}
|
|
261
|
-
.radarLegendBox-${i} {
|
|
262
|
-
fill: ${indexColor};
|
|
263
|
-
fill-opacity: ${radarOptions.curveOpacity};
|
|
264
|
-
stroke: ${indexColor};
|
|
265
|
-
}
|
|
266
|
-
`;
|
|
267
|
-
}
|
|
268
|
-
return sections;
|
|
269
|
-
}, "genIndexStyles");
|
|
270
|
-
var buildRadarStyleOptions = /* @__PURE__ */ __name((radar) => {
|
|
271
|
-
const defaultThemeVariables = getThemeVariables3();
|
|
272
|
-
const currentConfig = getConfig();
|
|
273
|
-
const themeVariables = cleanAndMerge(defaultThemeVariables, currentConfig.themeVariables);
|
|
274
|
-
const radarOptions = cleanAndMerge(themeVariables.radar, radar);
|
|
275
|
-
return { themeVariables, radarOptions };
|
|
276
|
-
}, "buildRadarStyleOptions");
|
|
277
|
-
var styles = /* @__PURE__ */ __name(({ radar } = {}) => {
|
|
278
|
-
const { themeVariables, radarOptions } = buildRadarStyleOptions(radar);
|
|
279
|
-
return `
|
|
280
|
-
.radarTitle {
|
|
281
|
-
font-size: ${themeVariables.fontSize};
|
|
282
|
-
color: ${themeVariables.titleColor};
|
|
283
|
-
dominant-baseline: hanging;
|
|
284
|
-
text-anchor: middle;
|
|
285
|
-
}
|
|
286
|
-
.radarAxisLine {
|
|
287
|
-
stroke: ${radarOptions.axisColor};
|
|
288
|
-
stroke-width: ${radarOptions.axisStrokeWidth};
|
|
289
|
-
}
|
|
290
|
-
.radarAxisLabel {
|
|
291
|
-
dominant-baseline: middle;
|
|
292
|
-
text-anchor: middle;
|
|
293
|
-
font-size: ${radarOptions.axisLabelFontSize}px;
|
|
294
|
-
color: ${radarOptions.axisColor};
|
|
295
|
-
}
|
|
296
|
-
.radarGraticule {
|
|
297
|
-
fill: ${radarOptions.graticuleColor};
|
|
298
|
-
fill-opacity: ${radarOptions.graticuleOpacity};
|
|
299
|
-
stroke: ${radarOptions.graticuleColor};
|
|
300
|
-
stroke-width: ${radarOptions.graticuleStrokeWidth};
|
|
301
|
-
}
|
|
302
|
-
.radarLegendText {
|
|
303
|
-
text-anchor: start;
|
|
304
|
-
font-size: ${radarOptions.legendFontSize}px;
|
|
305
|
-
dominant-baseline: hanging;
|
|
306
|
-
}
|
|
307
|
-
${genIndexStyles(themeVariables, radarOptions)}
|
|
308
|
-
`;
|
|
309
|
-
}, "styles");
|
|
310
|
-
var diagram = {
|
|
311
|
-
parser,
|
|
312
|
-
db,
|
|
313
|
-
renderer,
|
|
314
|
-
styles
|
|
315
|
-
};
|
|
316
|
-
|
|
317
|
-
export { diagram };
|
|
318
|
-
//# sourceMappingURL=diagram-QEK2KX5R-H3EHES33.mjs.map
|
|
319
|
-
//# sourceMappingURL=diagram-QEK2KX5R-H3EHES33.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/.pnpm/mermaid@11.12.0/node_modules/mermaid/dist/chunks/mermaid.core/diagram-QEK2KX5R.mjs"],"names":[],"mappings":"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","file":"diagram-QEK2KX5R-H3EHES33.mjs","sourcesContent":["import {\n selectSvgElement\n} from \"./chunk-EXTU4WIE.mjs\";\nimport {\n populateCommonDb\n} from \"./chunk-4BX2VUAB.mjs\";\nimport {\n cleanAndMerge\n} from \"./chunk-S3R3BYOJ.mjs\";\nimport {\n clear,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig,\n getDiagramTitle,\n getThemeVariables,\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/radar/db.ts\nvar defaultOptions = {\n showLegend: true,\n ticks: 5,\n max: null,\n min: 0,\n graticule: \"circle\"\n};\nvar defaultRadarData = {\n axes: [],\n curves: [],\n options: defaultOptions\n};\nvar data = structuredClone(defaultRadarData);\nvar DEFAULT_RADAR_CONFIG = defaultConfig_default.radar;\nvar getConfig2 = /* @__PURE__ */ __name(() => {\n const config = cleanAndMerge({\n ...DEFAULT_RADAR_CONFIG,\n ...getConfig().radar\n });\n return config;\n}, \"getConfig\");\nvar getAxes = /* @__PURE__ */ __name(() => data.axes, \"getAxes\");\nvar getCurves = /* @__PURE__ */ __name(() => data.curves, \"getCurves\");\nvar getOptions = /* @__PURE__ */ __name(() => data.options, \"getOptions\");\nvar setAxes = /* @__PURE__ */ __name((axes) => {\n data.axes = axes.map((axis) => {\n return {\n name: axis.name,\n label: axis.label ?? axis.name\n };\n });\n}, \"setAxes\");\nvar setCurves = /* @__PURE__ */ __name((curves) => {\n data.curves = curves.map((curve) => {\n return {\n name: curve.name,\n label: curve.label ?? curve.name,\n entries: computeCurveEntries(curve.entries)\n };\n });\n}, \"setCurves\");\nvar computeCurveEntries = /* @__PURE__ */ __name((entries) => {\n if (entries[0].axis == void 0) {\n return entries.map((entry) => entry.value);\n }\n const axes = getAxes();\n if (axes.length === 0) {\n throw new Error(\"Axes must be populated before curves for reference entries\");\n }\n return axes.map((axis) => {\n const entry = entries.find((entry2) => entry2.axis?.$refText === axis.name);\n if (entry === void 0) {\n throw new Error(\"Missing entry for axis \" + axis.label);\n }\n return entry.value;\n });\n}, \"computeCurveEntries\");\nvar setOptions = /* @__PURE__ */ __name((options) => {\n const optionMap = options.reduce(\n (acc, option) => {\n acc[option.name] = option;\n return acc;\n },\n {}\n );\n data.options = {\n showLegend: optionMap.showLegend?.value ?? defaultOptions.showLegend,\n ticks: optionMap.ticks?.value ?? defaultOptions.ticks,\n max: optionMap.max?.value ?? defaultOptions.max,\n min: optionMap.min?.value ?? defaultOptions.min,\n graticule: optionMap.graticule?.value ?? defaultOptions.graticule\n };\n}, \"setOptions\");\nvar clear2 = /* @__PURE__ */ __name(() => {\n clear();\n data = structuredClone(defaultRadarData);\n}, \"clear\");\nvar db = {\n getAxes,\n getCurves,\n getOptions,\n setAxes,\n setCurves,\n setOptions,\n getConfig: getConfig2,\n clear: clear2,\n setAccTitle,\n getAccTitle,\n setDiagramTitle,\n getDiagramTitle,\n getAccDescription,\n setAccDescription\n};\n\n// src/diagrams/radar/parser.ts\nimport { parse } from \"@mermaid-js/parser\";\nvar populate = /* @__PURE__ */ __name((ast) => {\n populateCommonDb(ast, db);\n const { axes, curves, options } = ast;\n db.setAxes(axes);\n db.setCurves(curves);\n db.setOptions(options);\n}, \"populate\");\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"radar\", input);\n log.debug(ast);\n populate(ast);\n }, \"parse\")\n};\n\n// src/diagrams/radar/renderer.ts\nvar draw = /* @__PURE__ */ __name((_text, id, _version, diagram2) => {\n const db2 = diagram2.db;\n const axes = db2.getAxes();\n const curves = db2.getCurves();\n const options = db2.getOptions();\n const config = db2.getConfig();\n const title = db2.getDiagramTitle();\n const svg = selectSvgElement(id);\n const g = drawFrame(svg, config);\n const maxValue = options.max ?? Math.max(...curves.map((curve) => Math.max(...curve.entries)));\n const minValue = options.min;\n const radius = Math.min(config.width, config.height) / 2;\n drawGraticule(g, axes, radius, options.ticks, options.graticule);\n drawAxes(g, axes, radius, config);\n drawCurves(g, axes, curves, minValue, maxValue, options.graticule, config);\n drawLegend(g, curves, options.showLegend, config);\n g.append(\"text\").attr(\"class\", \"radarTitle\").text(title).attr(\"x\", 0).attr(\"y\", -config.height / 2 - config.marginTop);\n}, \"draw\");\nvar drawFrame = /* @__PURE__ */ __name((svg, config) => {\n const totalWidth = config.width + config.marginLeft + config.marginRight;\n const totalHeight = config.height + config.marginTop + config.marginBottom;\n const center = {\n x: config.marginLeft + config.width / 2,\n y: config.marginTop + config.height / 2\n };\n svg.attr(\"viewbox\", `0 0 ${totalWidth} ${totalHeight}`).attr(\"width\", totalWidth).attr(\"height\", totalHeight);\n return svg.append(\"g\").attr(\"transform\", `translate(${center.x}, ${center.y})`);\n}, \"drawFrame\");\nvar drawGraticule = /* @__PURE__ */ __name((g, axes, radius, ticks, graticule) => {\n if (graticule === \"circle\") {\n for (let i = 0; i < ticks; i++) {\n const r = radius * (i + 1) / ticks;\n g.append(\"circle\").attr(\"r\", r).attr(\"class\", \"radarGraticule\");\n }\n } else if (graticule === \"polygon\") {\n const numAxes = axes.length;\n for (let i = 0; i < ticks; i++) {\n const r = radius * (i + 1) / ticks;\n const points = axes.map((_, j) => {\n const angle = 2 * j * Math.PI / numAxes - Math.PI / 2;\n const x = r * Math.cos(angle);\n const y = r * Math.sin(angle);\n return `${x},${y}`;\n }).join(\" \");\n g.append(\"polygon\").attr(\"points\", points).attr(\"class\", \"radarGraticule\");\n }\n }\n}, \"drawGraticule\");\nvar drawAxes = /* @__PURE__ */ __name((g, axes, radius, config) => {\n const numAxes = axes.length;\n for (let i = 0; i < numAxes; i++) {\n const label = axes[i].label;\n const angle = 2 * i * Math.PI / numAxes - Math.PI / 2;\n g.append(\"line\").attr(\"x1\", 0).attr(\"y1\", 0).attr(\"x2\", radius * config.axisScaleFactor * Math.cos(angle)).attr(\"y2\", radius * config.axisScaleFactor * Math.sin(angle)).attr(\"class\", \"radarAxisLine\");\n g.append(\"text\").text(label).attr(\"x\", radius * config.axisLabelFactor * Math.cos(angle)).attr(\"y\", radius * config.axisLabelFactor * Math.sin(angle)).attr(\"class\", \"radarAxisLabel\");\n }\n}, \"drawAxes\");\nfunction drawCurves(g, axes, curves, minValue, maxValue, graticule, config) {\n const numAxes = axes.length;\n const radius = Math.min(config.width, config.height) / 2;\n curves.forEach((curve, index) => {\n if (curve.entries.length !== numAxes) {\n return;\n }\n const points = curve.entries.map((entry, i) => {\n const angle = 2 * Math.PI * i / numAxes - Math.PI / 2;\n const r = relativeRadius(entry, minValue, maxValue, radius);\n const x = r * Math.cos(angle);\n const y = r * Math.sin(angle);\n return { x, y };\n });\n if (graticule === \"circle\") {\n g.append(\"path\").attr(\"d\", closedRoundCurve(points, config.curveTension)).attr(\"class\", `radarCurve-${index}`);\n } else if (graticule === \"polygon\") {\n g.append(\"polygon\").attr(\"points\", points.map((p) => `${p.x},${p.y}`).join(\" \")).attr(\"class\", `radarCurve-${index}`);\n }\n });\n}\n__name(drawCurves, \"drawCurves\");\nfunction relativeRadius(value, minValue, maxValue, radius) {\n const clippedValue = Math.min(Math.max(value, minValue), maxValue);\n return radius * (clippedValue - minValue) / (maxValue - minValue);\n}\n__name(relativeRadius, \"relativeRadius\");\nfunction closedRoundCurve(points, tension) {\n const numPoints = points.length;\n let d = `M${points[0].x},${points[0].y}`;\n for (let i = 0; i < numPoints; i++) {\n const p0 = points[(i - 1 + numPoints) % numPoints];\n const p1 = points[i];\n const p2 = points[(i + 1) % numPoints];\n const p3 = points[(i + 2) % numPoints];\n const cp1 = {\n x: p1.x + (p2.x - p0.x) * tension,\n y: p1.y + (p2.y - p0.y) * tension\n };\n const cp2 = {\n x: p2.x - (p3.x - p1.x) * tension,\n y: p2.y - (p3.y - p1.y) * tension\n };\n d += ` C${cp1.x},${cp1.y} ${cp2.x},${cp2.y} ${p2.x},${p2.y}`;\n }\n return `${d} Z`;\n}\n__name(closedRoundCurve, \"closedRoundCurve\");\nfunction drawLegend(g, curves, showLegend, config) {\n if (!showLegend) {\n return;\n }\n const legendX = (config.width / 2 + config.marginRight) * 3 / 4;\n const legendY = -(config.height / 2 + config.marginTop) * 3 / 4;\n const lineHeight = 20;\n curves.forEach((curve, index) => {\n const itemGroup = g.append(\"g\").attr(\"transform\", `translate(${legendX}, ${legendY + index * lineHeight})`);\n itemGroup.append(\"rect\").attr(\"width\", 12).attr(\"height\", 12).attr(\"class\", `radarLegendBox-${index}`);\n itemGroup.append(\"text\").attr(\"x\", 16).attr(\"y\", 0).attr(\"class\", \"radarLegendText\").text(curve.label);\n });\n}\n__name(drawLegend, \"drawLegend\");\nvar renderer = { draw };\n\n// src/diagrams/radar/styles.ts\nvar genIndexStyles = /* @__PURE__ */ __name((themeVariables, radarOptions) => {\n let sections = \"\";\n for (let i = 0; i < themeVariables.THEME_COLOR_LIMIT; i++) {\n const indexColor = themeVariables[`cScale${i}`];\n sections += `\n\t\t.radarCurve-${i} {\n\t\t\tcolor: ${indexColor};\n\t\t\tfill: ${indexColor};\n\t\t\tfill-opacity: ${radarOptions.curveOpacity};\n\t\t\tstroke: ${indexColor};\n\t\t\tstroke-width: ${radarOptions.curveStrokeWidth};\n\t\t}\n\t\t.radarLegendBox-${i} {\n\t\t\tfill: ${indexColor};\n\t\t\tfill-opacity: ${radarOptions.curveOpacity};\n\t\t\tstroke: ${indexColor};\n\t\t}\n\t\t`;\n }\n return sections;\n}, \"genIndexStyles\");\nvar buildRadarStyleOptions = /* @__PURE__ */ __name((radar) => {\n const defaultThemeVariables = getThemeVariables();\n const currentConfig = getConfig();\n const themeVariables = cleanAndMerge(defaultThemeVariables, currentConfig.themeVariables);\n const radarOptions = cleanAndMerge(themeVariables.radar, radar);\n return { themeVariables, radarOptions };\n}, \"buildRadarStyleOptions\");\nvar styles = /* @__PURE__ */ __name(({ radar } = {}) => {\n const { themeVariables, radarOptions } = buildRadarStyleOptions(radar);\n return `\n\t.radarTitle {\n\t\tfont-size: ${themeVariables.fontSize};\n\t\tcolor: ${themeVariables.titleColor};\n\t\tdominant-baseline: hanging;\n\t\ttext-anchor: middle;\n\t}\n\t.radarAxisLine {\n\t\tstroke: ${radarOptions.axisColor};\n\t\tstroke-width: ${radarOptions.axisStrokeWidth};\n\t}\n\t.radarAxisLabel {\n\t\tdominant-baseline: middle;\n\t\ttext-anchor: middle;\n\t\tfont-size: ${radarOptions.axisLabelFontSize}px;\n\t\tcolor: ${radarOptions.axisColor};\n\t}\n\t.radarGraticule {\n\t\tfill: ${radarOptions.graticuleColor};\n\t\tfill-opacity: ${radarOptions.graticuleOpacity};\n\t\tstroke: ${radarOptions.graticuleColor};\n\t\tstroke-width: ${radarOptions.graticuleStrokeWidth};\n\t}\n\t.radarLegendText {\n\t\ttext-anchor: start;\n\t\tfont-size: ${radarOptions.legendFontSize}px;\n\t\tdominant-baseline: hanging;\n\t}\n\t${genIndexStyles(themeVariables, radarOptions)}\n\t`;\n}, \"styles\");\n\n// src/diagrams/radar/diagram.ts\nvar diagram = {\n parser,\n db,\n renderer,\n styles\n};\nexport {\n diagram\n};\n"]}
|