@render-harness/ui 0.1.1 → 0.1.2

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 (106) hide show
  1. package/dist/index.d.ts +6 -6
  2. package/dist/index.js +25 -14
  3. package/dist/index.js.map +1 -1
  4. package/dist/static/assets/{architectureDiagram-3BPJPVTR-D4589TUy.js → architectureDiagram-3BPJPVTR-DLNRxqTW.js} +2 -2
  5. package/dist/static/assets/{architectureDiagram-3BPJPVTR-D4589TUy.js.map → architectureDiagram-3BPJPVTR-DLNRxqTW.js.map} +1 -1
  6. package/dist/static/assets/{blockDiagram-GPEHLZMM-Cfjv0TRV.js → blockDiagram-GPEHLZMM-CCWTkWe6.js} +2 -2
  7. package/dist/static/assets/{blockDiagram-GPEHLZMM-Cfjv0TRV.js.map → blockDiagram-GPEHLZMM-CCWTkWe6.js.map} +1 -1
  8. package/dist/static/assets/{c4Diagram-AAUBKEIU-BoXkzmRI.js → c4Diagram-AAUBKEIU-qO0tZRXO.js} +2 -2
  9. package/dist/static/assets/{c4Diagram-AAUBKEIU-BoXkzmRI.js.map → c4Diagram-AAUBKEIU-qO0tZRXO.js.map} +1 -1
  10. package/dist/static/assets/channel-CAoVqDgM.js +2 -0
  11. package/dist/static/assets/{channel-DusP3IMn.js.map → channel-CAoVqDgM.js.map} +1 -1
  12. package/dist/static/assets/{chunk-2J33WTMH-Lf1eCW8w.js → chunk-2J33WTMH-DaEvWRZX.js} +2 -2
  13. package/dist/static/assets/{chunk-2J33WTMH-Lf1eCW8w.js.map → chunk-2J33WTMH-DaEvWRZX.js.map} +1 -1
  14. package/dist/static/assets/{chunk-3OPIFGDE-BYpEG0v0.js → chunk-3OPIFGDE-xcRWDOrg.js} +2 -2
  15. package/dist/static/assets/{chunk-3OPIFGDE-BYpEG0v0.js.map → chunk-3OPIFGDE-xcRWDOrg.js.map} +1 -1
  16. package/dist/static/assets/{chunk-5ZQYHXKU-CxDIhrF-.js → chunk-5ZQYHXKU-B_3UEJ_q.js} +2 -2
  17. package/dist/static/assets/{chunk-5ZQYHXKU-CxDIhrF-.js.map → chunk-5ZQYHXKU-B_3UEJ_q.js.map} +1 -1
  18. package/dist/static/assets/{chunk-727SXJPM-BEbDzxvV.js → chunk-727SXJPM-c1bbIj6N.js} +2 -2
  19. package/dist/static/assets/{chunk-727SXJPM-BEbDzxvV.js.map → chunk-727SXJPM-c1bbIj6N.js.map} +1 -1
  20. package/dist/static/assets/{chunk-AQP2D5EJ-DGTbQ17q.js → chunk-AQP2D5EJ-Wv0w6wvH.js} +2 -2
  21. package/dist/static/assets/{chunk-AQP2D5EJ-DGTbQ17q.js.map → chunk-AQP2D5EJ-Wv0w6wvH.js.map} +1 -1
  22. package/dist/static/assets/{chunk-CSCIHK7Q-Bo3glXo1.js → chunk-CSCIHK7Q-BBzr5U3o.js} +3 -3
  23. package/dist/static/assets/{chunk-CSCIHK7Q-Bo3glXo1.js.map → chunk-CSCIHK7Q-BBzr5U3o.js.map} +1 -1
  24. package/dist/static/assets/{chunk-KSCS5N6A-DVQpViur.js → chunk-KSCS5N6A-BZrceHGX.js} +2 -2
  25. package/dist/static/assets/{chunk-KSCS5N6A-DVQpViur.js.map → chunk-KSCS5N6A-BZrceHGX.js.map} +1 -1
  26. package/dist/static/assets/{chunk-L5ZTLDWV-BwOlshrN.js → chunk-L5ZTLDWV-BAcjEn3C.js} +2 -2
  27. package/dist/static/assets/{chunk-L5ZTLDWV-BwOlshrN.js.map → chunk-L5ZTLDWV-BAcjEn3C.js.map} +1 -1
  28. package/dist/static/assets/{chunk-ND2GUHAM-a2zgmbwP.js → chunk-ND2GUHAM-DHtjIa8_.js} +2 -2
  29. package/dist/static/assets/{chunk-ND2GUHAM-a2zgmbwP.js.map → chunk-ND2GUHAM-DHtjIa8_.js.map} +1 -1
  30. package/dist/static/assets/{chunk-NZK2D7GU-BbPAL6yn.js → chunk-NZK2D7GU-DuwDtSGJ.js} +2 -2
  31. package/dist/static/assets/{chunk-NZK2D7GU-BbPAL6yn.js.map → chunk-NZK2D7GU-DuwDtSGJ.js.map} +1 -1
  32. package/dist/static/assets/{chunk-O5CBEL6O-CM0slmy1.js → chunk-O5CBEL6O-KRO56hHQ.js} +2 -2
  33. package/dist/static/assets/{chunk-O5CBEL6O-CM0slmy1.js.map → chunk-O5CBEL6O-KRO56hHQ.js.map} +1 -1
  34. package/dist/static/assets/classDiagram-4FO5ZUOK-oexPF7ww.js +2 -0
  35. package/dist/static/assets/{classDiagram-4FO5ZUOK-SuK_oLpa.js.map → classDiagram-4FO5ZUOK-oexPF7ww.js.map} +1 -1
  36. package/dist/static/assets/classDiagram-v2-Q7XG4LA2-Dc4jeSLj.js +2 -0
  37. package/dist/static/assets/{classDiagram-v2-Q7XG4LA2-DMlc0uaN.js.map → classDiagram-v2-Q7XG4LA2-Dc4jeSLj.js.map} +1 -1
  38. package/dist/static/assets/{dagre-BM42HDAG-4I-9kC-8.js → dagre-BM42HDAG-au4dCVgC.js} +2 -2
  39. package/dist/static/assets/{dagre-BM42HDAG-4I-9kC-8.js.map → dagre-BM42HDAG-au4dCVgC.js.map} +1 -1
  40. package/dist/static/assets/{diagram-2AECGRRQ-pAKf5nK6.js → diagram-2AECGRRQ-rJMnDhBW.js} +2 -2
  41. package/dist/static/assets/{diagram-2AECGRRQ-pAKf5nK6.js.map → diagram-2AECGRRQ-rJMnDhBW.js.map} +1 -1
  42. package/dist/static/assets/{diagram-5GNKFQAL-CzKwZhm6.js → diagram-5GNKFQAL-diIxjA-v.js} +2 -2
  43. package/dist/static/assets/{diagram-5GNKFQAL-CzKwZhm6.js.map → diagram-5GNKFQAL-diIxjA-v.js.map} +1 -1
  44. package/dist/static/assets/{diagram-KO2AKTUF-BZNjYRzg.js → diagram-KO2AKTUF-D9IYocVR.js} +2 -2
  45. package/dist/static/assets/{diagram-KO2AKTUF-BZNjYRzg.js.map → diagram-KO2AKTUF-D9IYocVR.js.map} +1 -1
  46. package/dist/static/assets/{diagram-LMA3HP47-vnkpPjMC.js → diagram-LMA3HP47-BtdvpqaH.js} +2 -2
  47. package/dist/static/assets/{diagram-LMA3HP47-vnkpPjMC.js.map → diagram-LMA3HP47-BtdvpqaH.js.map} +1 -1
  48. package/dist/static/assets/{diagram-OG6HWLK6-CkBTEmTA.js → diagram-OG6HWLK6-CaRkxDoj.js} +2 -2
  49. package/dist/static/assets/{diagram-OG6HWLK6-CkBTEmTA.js.map → diagram-OG6HWLK6-CaRkxDoj.js.map} +1 -1
  50. package/dist/static/assets/{erDiagram-TEJ5UH35-DGrhtXAQ.js → erDiagram-TEJ5UH35-CgifrqeZ.js} +2 -2
  51. package/dist/static/assets/{erDiagram-TEJ5UH35-DGrhtXAQ.js.map → erDiagram-TEJ5UH35-CgifrqeZ.js.map} +1 -1
  52. package/dist/static/assets/{flowDiagram-I6XJVG4X-Cp2YiaJS.js → flowDiagram-I6XJVG4X-DaguIeM_.js} +2 -2
  53. package/dist/static/assets/{flowDiagram-I6XJVG4X-Cp2YiaJS.js.map → flowDiagram-I6XJVG4X-DaguIeM_.js.map} +1 -1
  54. package/dist/static/assets/{ganttDiagram-6RSMTGT7-C-jGZVXC.js → ganttDiagram-6RSMTGT7-DIFubQTa.js} +2 -2
  55. package/dist/static/assets/{ganttDiagram-6RSMTGT7-C-jGZVXC.js.map → ganttDiagram-6RSMTGT7-DIFubQTa.js.map} +1 -1
  56. package/dist/static/assets/{gitGraphDiagram-PVQCEYII-DDwOyc6i.js → gitGraphDiagram-PVQCEYII-Ht-SDjxh.js} +2 -2
  57. package/dist/static/assets/{gitGraphDiagram-PVQCEYII-DDwOyc6i.js.map → gitGraphDiagram-PVQCEYII-Ht-SDjxh.js.map} +1 -1
  58. package/dist/static/assets/index-D5tmHkO_.js +228 -0
  59. package/dist/static/assets/index-D5tmHkO_.js.map +1 -0
  60. package/dist/static/assets/index-luXiT-gK.css +1 -0
  61. package/dist/static/assets/{infoDiagram-5YYISTIA-B_rDp_NJ.js → infoDiagram-5YYISTIA-CwLGA7Zu.js} +2 -2
  62. package/dist/static/assets/{infoDiagram-5YYISTIA-B_rDp_NJ.js.map → infoDiagram-5YYISTIA-CwLGA7Zu.js.map} +1 -1
  63. package/dist/static/assets/{ishikawaDiagram-YF4QCWOH-ggQN-_CZ.js → ishikawaDiagram-YF4QCWOH-CaZCrUUR.js} +2 -2
  64. package/dist/static/assets/{ishikawaDiagram-YF4QCWOH-ggQN-_CZ.js.map → ishikawaDiagram-YF4QCWOH-CaZCrUUR.js.map} +1 -1
  65. package/dist/static/assets/{journeyDiagram-JHISSGLW-BjEC1jFt.js → journeyDiagram-JHISSGLW-C-j_GoJi.js} +2 -2
  66. package/dist/static/assets/{journeyDiagram-JHISSGLW-BjEC1jFt.js.map → journeyDiagram-JHISSGLW-C-j_GoJi.js.map} +1 -1
  67. package/dist/static/assets/{kanban-definition-UN3LZRKU-BVkPEFcm.js → kanban-definition-UN3LZRKU-DlYha85J.js} +2 -2
  68. package/dist/static/assets/{kanban-definition-UN3LZRKU-BVkPEFcm.js.map → kanban-definition-UN3LZRKU-DlYha85J.js.map} +1 -1
  69. package/dist/static/assets/{line-L2DeHwdZ.js → line-GCwXS1Fi.js} +2 -2
  70. package/dist/static/assets/{line-L2DeHwdZ.js.map → line-GCwXS1Fi.js.map} +1 -1
  71. package/dist/static/assets/mermaid-parser.core-BO_-QleW.js +5 -0
  72. package/dist/static/assets/{mermaid-parser.core-CZyyUBUW.js.map → mermaid-parser.core-BO_-QleW.js.map} +1 -1
  73. package/dist/static/assets/{mindmap-definition-RKZ34NQL-uf3ACEiM.js → mindmap-definition-RKZ34NQL-CPJIWJdQ.js} +2 -2
  74. package/dist/static/assets/{mindmap-definition-RKZ34NQL-uf3ACEiM.js.map → mindmap-definition-RKZ34NQL-CPJIWJdQ.js.map} +1 -1
  75. package/dist/static/assets/{pieDiagram-4H26LBE5-Dm2S6Ggt.js → pieDiagram-4H26LBE5-DTVmF_CH.js} +2 -2
  76. package/dist/static/assets/{pieDiagram-4H26LBE5-Dm2S6Ggt.js.map → pieDiagram-4H26LBE5-DTVmF_CH.js.map} +1 -1
  77. package/dist/static/assets/{quadrantDiagram-W4KKPZXB-CgiO6Q9Y.js → quadrantDiagram-W4KKPZXB-Bho6zy_y.js} +2 -2
  78. package/dist/static/assets/{quadrantDiagram-W4KKPZXB-CgiO6Q9Y.js.map → quadrantDiagram-W4KKPZXB-Bho6zy_y.js.map} +1 -1
  79. package/dist/static/assets/{requirementDiagram-4Y6WPE33-BFL5yKh2.js → requirementDiagram-4Y6WPE33-CLyoVwlh.js} +2 -2
  80. package/dist/static/assets/{requirementDiagram-4Y6WPE33-BFL5yKh2.js.map → requirementDiagram-4Y6WPE33-CLyoVwlh.js.map} +1 -1
  81. package/dist/static/assets/{sankeyDiagram-5OEKKPKP-DNSdTx8o.js → sankeyDiagram-5OEKKPKP-V2yvk-0Z.js} +2 -2
  82. package/dist/static/assets/{sankeyDiagram-5OEKKPKP-DNSdTx8o.js.map → sankeyDiagram-5OEKKPKP-V2yvk-0Z.js.map} +1 -1
  83. package/dist/static/assets/{sequenceDiagram-3UESZ5HK-BMNloRY9.js → sequenceDiagram-3UESZ5HK-Dp03aXVk.js} +2 -2
  84. package/dist/static/assets/{sequenceDiagram-3UESZ5HK-BMNloRY9.js.map → sequenceDiagram-3UESZ5HK-Dp03aXVk.js.map} +1 -1
  85. package/dist/static/assets/{stateDiagram-AJRCARHV-B1fkBSkt.js → stateDiagram-AJRCARHV-BEJW-_HK.js} +2 -2
  86. package/dist/static/assets/{stateDiagram-AJRCARHV-B1fkBSkt.js.map → stateDiagram-AJRCARHV-BEJW-_HK.js.map} +1 -1
  87. package/dist/static/assets/stateDiagram-v2-BHNVJYJU-Bo19-vKE.js +2 -0
  88. package/dist/static/assets/{stateDiagram-v2-BHNVJYJU-Fm1RY0qD.js.map → stateDiagram-v2-BHNVJYJU-Bo19-vKE.js.map} +1 -1
  89. package/dist/static/assets/{timeline-definition-PNZ67QCA-CdNdPzQU.js → timeline-definition-PNZ67QCA-C4KTq0mQ.js} +2 -2
  90. package/dist/static/assets/{timeline-definition-PNZ67QCA-CdNdPzQU.js.map → timeline-definition-PNZ67QCA-C4KTq0mQ.js.map} +1 -1
  91. package/dist/static/assets/{vennDiagram-CIIHVFJN-Cfr9Kji9.js → vennDiagram-CIIHVFJN-1jmBZPSZ.js} +2 -2
  92. package/dist/static/assets/{vennDiagram-CIIHVFJN-Cfr9Kji9.js.map → vennDiagram-CIIHVFJN-1jmBZPSZ.js.map} +1 -1
  93. package/dist/static/assets/{wardleyDiagram-YWT4CUSO-BU30t5hg.js → wardleyDiagram-YWT4CUSO-A8XYzYTW.js} +2 -2
  94. package/dist/static/assets/{wardleyDiagram-YWT4CUSO-BU30t5hg.js.map → wardleyDiagram-YWT4CUSO-A8XYzYTW.js.map} +1 -1
  95. package/dist/static/assets/{xychartDiagram-2RQKCTM6-CbAQZMXv.js → xychartDiagram-2RQKCTM6-CuyUQvFt.js} +2 -2
  96. package/dist/static/assets/{xychartDiagram-2RQKCTM6-CbAQZMXv.js.map → xychartDiagram-2RQKCTM6-CuyUQvFt.js.map} +1 -1
  97. package/dist/static/index.html +16 -16
  98. package/package.json +14 -14
  99. package/dist/static/assets/channel-DusP3IMn.js +0 -2
  100. package/dist/static/assets/classDiagram-4FO5ZUOK-SuK_oLpa.js +0 -2
  101. package/dist/static/assets/classDiagram-v2-Q7XG4LA2-DMlc0uaN.js +0 -2
  102. package/dist/static/assets/index-BfPuPCFp.js +0 -228
  103. package/dist/static/assets/index-BfPuPCFp.js.map +0 -1
  104. package/dist/static/assets/index-CyEgx13R.css +0 -1
  105. package/dist/static/assets/mermaid-parser.core-CZyyUBUW.js +0 -5
  106. package/dist/static/assets/stateDiagram-v2-BHNVJYJU-Fm1RY0qD.js +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"diagram-KO2AKTUF-BZNjYRzg.js","names":["select"],"sources":["../../../../../node_modules/.pnpm/mermaid@11.15.0/node_modules/mermaid/dist/chunks/mermaid.core/diagram-KO2AKTUF.mjs"],"sourcesContent":["import {\n populateCommonDb\n} from \"./chunk-4BX2VUAB.mjs\";\nimport {\n calculateTextDimensions,\n cleanAndMerge,\n wrapLabel\n} from \"./chunk-5ZQYHXKU.mjs\";\nimport {\n clear,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig,\n getConfig2,\n getDiagramTitle,\n sanitizeText,\n setAccDescription,\n setAccTitle,\n setDiagramTitle,\n setupGraphViewbox2 as setupGraphViewbox\n} from \"./chunk-CSCIHK7Q.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/eventmodeling/parser.ts\nimport { parse } from \"@mermaid-js/parser\";\n\n// src/diagrams/eventmodeling/db.ts\nimport { isEmResetFrame } from \"@mermaid-js/parser\";\n\n// src/diagrams/eventmodeling/types.ts\nvar PositionFrameKind = \"position frame\";\nvar FramePositionedKind = \"frame positioned\";\nvar PositionRelationKind = \"position relation\";\nvar RelationPositionedKind = \"relation positioned\";\n\n// src/diagrams/eventmodeling/db.ts\nvar setOptions = /* @__PURE__ */ __name(function(_rawOptString) {\n log.debug(\"options str\", _rawOptString);\n}, \"setOptions\");\nvar getOptions = /* @__PURE__ */ __name(function() {\n return {};\n}, \"getOptions\");\nvar clear2 = /* @__PURE__ */ __name(function() {\n reset();\n clear();\n}, \"clear\");\nfunction reset() {\n store = {};\n}\n__name(reset, \"reset\");\nvar DEFAULT_EVENTMODELING_CONFIG = defaultConfig_default.eventmodeling;\nvar getConfig3 = /* @__PURE__ */ __name(() => {\n const config = cleanAndMerge({\n ...DEFAULT_EVENTMODELING_CONFIG,\n ...getConfig().eventmodeling\n });\n return config;\n}, \"getConfig\");\nvar store = {};\nfunction getState() {\n let state = initial;\n const { ast } = store;\n const diagramProps2 = getDiagramProps();\n if (!ast) {\n throw new Error(\"No data for EventModel\");\n }\n ast.frames.forEach((frame, index) => {\n const textProps = calculateTextProps(frame, ast.dataEntities, diagramProps2);\n state = dispatch(state, {\n $kind: PositionFrameKind,\n index,\n frame,\n textProps\n });\n let sourceFrames = void 0;\n if (hasSourceFrame(frame)) {\n log.debug(`source frame`, frame.sourceFrames);\n sourceFrames = ast.frames.filter((currentFrame) => {\n return frame.sourceFrames.some((sf) => sf.$refText === currentFrame.name);\n });\n sourceFrames.forEach((sourceFrame) => {\n state = dispatch(state, {\n $kind: PositionRelationKind,\n index,\n frame,\n sourceFrame\n });\n });\n } else {\n state = dispatch(state, {\n $kind: PositionRelationKind,\n index,\n frame\n });\n }\n });\n state = {\n ...state,\n sortedSwimlanesArray: sortedSwimlanesArray(state.swimlanes)\n };\n return state;\n}\n__name(getState, \"getState\");\nfunction setAst(ast) {\n store.ast = ast;\n}\n__name(setAst, \"setAst\");\nvar diagramProps = {\n swimlaneMinHeight: 70,\n swimlanePadding: 15,\n swimlaneGap: 10,\n boxPadding: 10,\n boxOverlap: 90,\n boxDefaultY: 0,\n boxMinWidth: 80,\n boxMaxWidth: 450,\n boxMinHeight: 80,\n boxMaxHeight: 750,\n contentStartX: 250,\n textMaxWidth: 450 - 2 * 10,\n boxTextFontWeight: \"bold\",\n boxTextPadding: 10,\n swimlaneTextFontWeight: \"bold\",\n labelUiAutomation: \"UI/Automation\",\n labelUiAutomationPrefix: \"UI/A: \",\n labelCommandReadModel: \"Command/Read Model\",\n labelCommandReadModelPrefix: \"C/RM: \",\n labelEvents: \"Events\",\n labelEventsPrefix: \"Stream: \"\n};\nfunction getDiagramProps() {\n return diagramProps;\n}\n__name(getDiagramProps, \"getDiagramProps\");\nvar initial = {\n boxes: [],\n swimlanes: {},\n relations: [],\n maxR: 0,\n sortedSwimlanesArray: []\n};\nfunction extractNamespace(entityIdentifier) {\n const spl = entityIdentifier.split(\".\");\n if (spl.length === 2) {\n return spl[0];\n }\n return void 0;\n}\n__name(extractNamespace, \"extractNamespace\");\nfunction extractName(entityIdentifier) {\n const spl = entityIdentifier.split(\".\");\n if (spl.length === 2) {\n return spl[1];\n }\n return entityIdentifier;\n}\n__name(extractName, \"extractName\");\nfunction findSwimlaneByNamespace(swimlanes, namespace) {\n if (!namespace || namespace.length === 0) {\n return void 0;\n }\n return Object.values(swimlanes).find((swimlane) => swimlane.namespace === namespace);\n}\n__name(findSwimlaneByNamespace, \"findSwimlaneByNamespace\");\nfunction findNextAvailableIndex(swimlanes, boundaryMin, boundaryMax) {\n return Math.max(\n boundaryMin,\n ...Object.keys(swimlanes).filter((key) => {\n const index = Number.parseInt(key);\n return index > boundaryMin && index < boundaryMax;\n }).map((key) => Number.parseInt(key))\n ) + 1;\n}\n__name(findNextAvailableIndex, \"findNextAvailableIndex\");\nfunction calculateSwimlaneProps(frame, swimlanes) {\n const namespace = extractNamespace(frame.entityIdentifier);\n const sw = findSwimlaneByNamespace(swimlanes, namespace);\n switch (frame.modelEntityType) {\n case \"ui\":\n case \"pcr\":\n case \"processor\":\n if (sw) {\n return {\n index: sw.index,\n label: sw.namespace || diagramProps.labelUiAutomation\n };\n } else if (namespace) {\n return {\n index: findNextAvailableIndex(swimlanes, 0, 100),\n label: diagramProps.labelUiAutomationPrefix + namespace\n };\n }\n return { index: 0, label: diagramProps.labelUiAutomation };\n case \"rmo\":\n case \"readmodel\":\n case \"cmd\":\n case \"command\":\n if (sw) {\n return {\n index: sw.index,\n label: sw.namespace || diagramProps.labelCommandReadModel\n };\n } else if (namespace) {\n return {\n index: findNextAvailableIndex(swimlanes, 100, 200),\n label: diagramProps.labelCommandReadModelPrefix + namespace\n };\n }\n return { index: 100, label: diagramProps.labelCommandReadModel };\n case \"evt\":\n case \"event\":\n default:\n if (sw) {\n return {\n index: sw.index,\n label: sw.namespace || diagramProps.labelEvents\n };\n } else if (namespace) {\n return {\n index: findNextAvailableIndex(swimlanes, 200, 300),\n label: diagramProps.labelEventsPrefix + namespace\n };\n }\n return { index: 200, label: diagramProps.labelEvents };\n }\n}\n__name(calculateSwimlaneProps, \"calculateSwimlaneProps\");\nfunction calculateEntityVisualProps(frame) {\n const { themeVariables } = getConfig();\n switch (frame.modelEntityType) {\n case \"ui\":\n return {\n fill: themeVariables.emUiFill ?? \"white\",\n stroke: themeVariables.emUiStroke ?? \"#dbdada\"\n };\n case \"pcr\":\n case \"processor\":\n return {\n fill: themeVariables.emProcessorFill ?? \"#edb3f6\",\n stroke: themeVariables.emProcessorStroke ?? \"#b88cbf\"\n };\n case \"rmo\":\n case \"readmodel\":\n return {\n fill: themeVariables.emReadModelFill ?? \"#d3f1a2\",\n stroke: themeVariables.emReadModelStroke ?? \"#a3b732\"\n };\n case \"cmd\":\n case \"command\":\n return {\n fill: themeVariables.emCommandFill ?? \"#bcd6fe\",\n stroke: themeVariables.emCommandStroke ?? \"#679ac3\"\n };\n case \"evt\":\n case \"event\":\n return {\n fill: themeVariables.emEventFill ?? \"#ffb778\",\n stroke: themeVariables.emEventStroke ?? \"#c19a0f\"\n };\n default:\n return {\n fill: \"red\",\n stroke: \"black\"\n };\n }\n}\n__name(calculateEntityVisualProps, \"calculateEntityVisualProps\");\nfunction calculateTextProps(frame, dataEntities, diagramProps2) {\n const config = getConfig();\n const name = sanitizeText(extractName(frame.entityIdentifier) ?? \"\", config);\n let toHtml;\n const wrapLabelConfig = {\n fontSize: 16,\n fontWeight: 700,\n fontFamily: '\"trebuchet ms\", verdana, arial, sans-serif',\n joinWith: \"<br/>\"\n };\n const wrappedName = wrapLabel(name, diagramProps2.textMaxWidth, wrapLabelConfig);\n let content = `<b>${wrappedName}</b>`;\n if (frame.dataInlineValue) {\n toHtml = frame.dataInlineValue;\n toHtml = toHtml.substring(toHtml.indexOf(\"{\") + 1);\n toHtml = toHtml.substring(0, toHtml.lastIndexOf(\"}\") - 1);\n toHtml = sanitizeText(toHtml, config);\n toHtml = wrapLabel(toHtml, diagramProps2.textMaxWidth, wrapLabelConfig);\n toHtml = toHtml.replaceAll(\" \", \"&nbsp;\");\n }\n if (frame.dataReference) {\n const dataEntity = dataEntities.find(\n (dataEntity2) => dataEntity2.name === frame.dataReference?.$refText\n );\n if (dataEntity) {\n toHtml = dataEntity.dataBlockValue;\n toHtml = toHtml.substring(toHtml.indexOf(\"{\\n\") + 2);\n toHtml = toHtml.substring(0, toHtml.lastIndexOf(\"}\") - 1);\n toHtml = sanitizeText(toHtml, config);\n toHtml = wrapLabel(toHtml, diagramProps2.textMaxWidth, wrapLabelConfig);\n toHtml = toHtml.replaceAll(\" \", \"&nbsp;\");\n toHtml += `<br/>`;\n }\n }\n const hasRenderedData = toHtml !== void 0;\n if (hasRenderedData) {\n content += `<br/><br/><code style=\"text-align: left; display: block;max-width:${diagramProps2.textMaxWidth}px\">${toHtml}</code>`;\n }\n const textDimensionConfig = {\n fontSize: wrapLabelConfig.fontSize,\n fontWeight: wrapLabelConfig.fontWeight,\n fontFamily: wrapLabelConfig.fontFamily\n };\n const dimensions = calculateTextDimensions(content, textDimensionConfig);\n const calculatedWidthFix = hasRenderedData ? dimensions.width / 3 : dimensions.width;\n const props = {\n content,\n width: calculatedWidthFix,\n height: dimensions.height\n };\n log.debug(`[${frame.name}] ${frame.entityIdentifier} text`, props);\n return props;\n}\n__name(calculateTextProps, \"calculateTextProps\");\nfunction decidePositionFrame(state, _command) {\n const command = _command;\n const visual = calculateEntityVisualProps(command.frame);\n const dimension = {\n width: command.textProps.width + 2 * diagramProps.boxTextPadding,\n height: command.textProps.height + 2 * diagramProps.boxTextPadding\n };\n const event = {\n $kind: FramePositionedKind,\n frame: command.frame,\n index: command.index,\n visual,\n dimension,\n textProps: command.textProps\n };\n return [event];\n}\n__name(decidePositionFrame, \"decidePositionFrame\");\nfunction calculateX(swimlane, previousSwimlane, lastBox) {\n if (previousSwimlane === void 0) {\n return diagramProps.contentStartX;\n }\n if (previousSwimlane.index === swimlane.index && swimlane.r) {\n return swimlane.r + diagramProps.boxPadding;\n }\n if (lastBox === void 0) {\n return diagramProps.contentStartX;\n }\n return lastBox.r - diagramProps.boxOverlap + diagramProps.boxPadding;\n}\n__name(calculateX, \"calculateX\");\nfunction calculateMaxRight(swimlanes, swimlaneR) {\n const rs = [...swimlanes.map((s) => s.r), swimlaneR];\n return Math.max(...rs);\n}\n__name(calculateMaxRight, \"calculateMaxRight\");\nfunction sortedSwimlanesArray(swimlanes) {\n return Object.values(swimlanes).sort((a, b) => a.index - b.index);\n}\n__name(sortedSwimlanesArray, \"sortedSwimlanesArray\");\nfunction evolveFramePositioned(state, _event) {\n const event = _event;\n const swimlaneProps = calculateSwimlaneProps(event.frame, state.swimlanes);\n let swimlane;\n if (swimlaneProps.index in state.swimlanes) {\n swimlane = state.swimlanes[swimlaneProps.index];\n } else {\n swimlane = {\n index: swimlaneProps.index,\n label: swimlaneProps.label,\n r: 0,\n y: swimlaneProps.index * diagramProps.swimlaneMinHeight + diagramProps.swimlaneGap,\n height: diagramProps.swimlaneMinHeight,\n maxHeight: diagramProps.swimlaneMinHeight\n };\n }\n const lastBox = state.boxes.length > 0 ? state.boxes[state.boxes.length - 1] : void 0;\n const previousSwimlane = state.previousSwimlaneNumber !== void 0 ? state.swimlanes[state.previousSwimlaneNumber] : void 0;\n const dimension = {\n width: Math.max(\n diagramProps.boxMinWidth,\n Math.min(diagramProps.boxMaxWidth, event.dimension.width)\n ) + 2 * diagramProps.boxPadding,\n height: Math.max(\n diagramProps.boxMinHeight,\n Math.min(diagramProps.boxMaxHeight, event.dimension.height)\n ) + 2 * diagramProps.boxPadding\n };\n const x = calculateX(swimlane, previousSwimlane, lastBox);\n const r = x + dimension.width + diagramProps.boxPadding;\n const maxR = calculateMaxRight(Object.values(state.swimlanes), r);\n swimlane.r = x + dimension.width;\n swimlane.maxHeight = Math.max(swimlane.maxHeight, dimension.height);\n swimlane.height = Math.max(diagramProps.swimlaneMinHeight, swimlane.maxHeight) + 2 * diagramProps.swimlanePadding;\n const box = {\n x,\n y: diagramProps.swimlanePadding + swimlane.y,\n // y: diagramProps.swimlanePadding + (swimlane.y || diagramProps.boxDefaultY),\n r,\n dimension,\n leftSibling: false,\n swimlane,\n visual: event.visual,\n text: event.textProps.content,\n frame: event.frame,\n index: event.index\n };\n const newState = {\n ...state,\n boxes: [...state.boxes, box],\n swimlanes: {\n ...state.swimlanes,\n [`${swimlane.index}`]: swimlane\n },\n previousSwimlaneNumber: swimlaneProps.index,\n previousFrame: event.frame,\n maxR\n };\n const swimlanes = sortedSwimlanesArray(newState.swimlanes);\n if (swimlanes.length > 0) {\n swimlanes[0].y = 0;\n }\n for (let i = 1; i < swimlanes.length; i++) {\n const sw = swimlanes[i];\n const prevSw = swimlanes[i - 1];\n sw.y = prevSw.y + prevSw.height + diagramProps.swimlaneGap;\n }\n return newState;\n}\n__name(evolveFramePositioned, \"evolveFramePositioned\");\nfunction isFirstFrame(index, frame) {\n if (index === 0 && frame.sourceFrames.length === 0) {\n return true;\n }\n return false;\n}\n__name(isFirstFrame, \"isFirstFrame\");\nfunction hasSourceFrame(frame) {\n return frame.sourceFrames !== void 0 && frame.sourceFrames !== null && frame.sourceFrames.length > 0;\n}\n__name(hasSourceFrame, \"hasSourceFrame\");\nfunction findBoxByFrame(boxes, frame) {\n if (frame === void 0 || frame === null) {\n return void 0;\n }\n return boxes.find((box) => box.frame.name === frame.name);\n}\n__name(findBoxByFrame, \"findBoxByFrame\");\nfunction findBoxByLineIndex(boxes, targetSwimlane, lineIndex) {\n if (lineIndex < 0) {\n return void 0;\n }\n for (let i = lineIndex; i >= 0; i--) {\n const box = boxes[i];\n if (box.swimlane.index !== targetSwimlane) {\n return box;\n }\n }\n return void 0;\n}\n__name(findBoxByLineIndex, \"findBoxByLineIndex\");\nfunction decidePositionRelation(state, _command) {\n const command = _command;\n if (isEmResetFrame(command.frame) || isFirstFrame(command.index, command.frame)) {\n return [];\n }\n const targetBox = findBoxByFrame(state.boxes, command.frame);\n if (targetBox === void 0) {\n throw new Error(`Target box not found for frame ${command.frame.name}`);\n }\n let sourceBox;\n if (command.sourceFrame) {\n sourceBox = findBoxByFrame(state.boxes, command.sourceFrame);\n } else {\n sourceBox = findBoxByLineIndex(state.boxes, targetBox.swimlane.index, command.index - 1);\n }\n if (sourceBox === void 0) {\n return [];\n }\n const event = {\n $kind: RelationPositionedKind,\n frame: command.frame,\n index: command.index,\n sourceBox,\n targetBox\n };\n return [event];\n}\n__name(decidePositionRelation, \"decidePositionRelation\");\nfunction evolveRelationPositioned(state, _event) {\n const event = _event;\n const relation = {\n visual: {\n fill: \"none\",\n stroke: \"#000\"\n },\n source: {\n x: event.sourceBox.x,\n y: event.sourceBox.y\n },\n target: {\n x: event.targetBox.x,\n y: event.targetBox.y\n },\n sourceBox: event.sourceBox,\n targetBox: event.targetBox\n };\n const newState = {\n ...state,\n relations: [...state.relations, relation]\n };\n return newState;\n}\n__name(evolveRelationPositioned, \"evolveRelationPositioned\");\nvar deciders = {\n [PositionFrameKind]: decidePositionFrame,\n [PositionRelationKind]: decidePositionRelation\n};\nvar evolvers = {\n [FramePositionedKind]: evolveFramePositioned,\n [RelationPositionedKind]: evolveRelationPositioned\n};\nfunction decide(state, command) {\n const fn = deciders[command.$kind];\n if (fn === void 0 || fn === null) {\n return [];\n }\n const events = fn(state, command);\n log.debug(`decided events`, events);\n return events;\n}\n__name(decide, \"decide\");\nfunction evolve(state, events) {\n const newState = events.reduce((previousState, event) => {\n const fn = evolvers[event.$kind];\n if (fn === void 0 || fn === null) {\n return previousState;\n }\n return fn(previousState, event);\n }, state);\n log.debug(`evolve events`, { state, newState, events });\n return newState;\n}\n__name(evolve, \"evolve\");\nfunction dispatch(state, command) {\n const events = decide(state, command);\n const newState = evolve(state, events);\n return newState;\n}\n__name(dispatch, \"dispatch\");\nvar db = {\n getConfig: getConfig3,\n setOptions,\n getOptions,\n clear: clear2,\n setAccTitle,\n getAccTitle,\n getAccDescription,\n setAccDescription,\n setDiagramTitle,\n getDiagramTitle,\n setAst,\n getDiagramProps,\n getState\n};\n\n// src/diagrams/eventmodeling/parser.ts\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"eventmodeling\", input);\n log.debug(ast);\n db.setAst(ast);\n populateCommonDb(ast, db);\n }, \"parse\")\n};\nif (void 0) {\n const { it, expect, describe } = void 0;\n describe(\"EventModeling Parser\", () => {\n it(\"should parse simple model\", () => {\n const result = parser.parse(`eventmodeling\n tf 01 evt Start\n\n `);\n expect(result !== void 0);\n });\n });\n}\n\n// src/diagrams/eventmodeling/renderer.ts\nimport { select } from \"d3\";\nvar DEFAULT_CONFIG = getConfig2();\nvar DEFAULT_EVENTMODELING_CONFIG2 = DEFAULT_CONFIG?.eventmodeling;\nfunction renderD3Box(diagram2, diagramProps2) {\n return (box) => {\n const y = box.swimlane.y + diagramProps2.swimlanePadding;\n const g = diagram2.append(\"g\").attr(\"class\", \"em-box\");\n g.append(\"rect\").attr(\"x\", box.x).attr(\"y\", y).attr(\"rx\", \"3\").attr(\"width\", box.dimension.width).attr(\"height\", box.dimension.height).attr(\"stroke\", box.visual.stroke).attr(\"fill\", box.visual.fill);\n const f = g.append(\"foreignObject\").attr(\"x\", box.x + diagramProps2.boxPadding).attr(\"y\", y + 10).attr(\"width\", box.dimension.width - 2 * diagramProps2.boxPadding).attr(\"height\", box.dimension.height - 2 * diagramProps2.boxPadding);\n const text = f.append(\"xhtml:div\").style(\"display\", \"table\").style(\"height\", \"100%\").style(\"width\", \"100%\");\n text.append(\"span\").style(\"display\", \"table-cell\").style(\"text-align\", \"center\").style(\"vertical-align\", \"middle\").html(box.text);\n };\n}\n__name(renderD3Box, \"renderD3Box\");\nfunction dirUpwards(sourceY, targetY) {\n return sourceY > targetY;\n}\n__name(dirUpwards, \"dirUpwards\");\nfunction renderD3Relation(diagram2, diagramProps2, arrowheadId, themeVariables) {\n return (relation) => {\n const sourceBoxY = relation.sourceBox.swimlane.y + diagramProps2.swimlanePadding;\n const targetBoxY = relation.targetBox.swimlane.y + diagramProps2.swimlanePadding;\n const upwards = dirUpwards(sourceBoxY, targetBoxY);\n const sourceX = relation.sourceBox.x + relation.sourceBox.dimension.width * 2 / 3;\n const targetX = relation.targetBox.x + relation.targetBox.dimension.width / 3;\n let sourceY;\n let targetY;\n log.debug(`rendering relation up=${upwards} for `, {\n sourceBox: relation.sourceBox,\n targetBox: relation.targetBox\n });\n if (upwards) {\n sourceY = sourceBoxY;\n targetY = targetBoxY + relation.targetBox.dimension.height;\n } else {\n sourceY = sourceBoxY + relation.sourceBox.dimension.height;\n targetY = targetBoxY;\n }\n const relationStroke = themeVariables.emRelationStroke ?? relation.visual.stroke;\n diagram2.append(\"path\").attr(\"class\", \"em-relation\").attr(\"fill\", relation.visual.fill).attr(\"stroke\", relationStroke).attr(\"stroke-width\", \"1\").attr(\"marker-end\", `url(#${arrowheadId})`).attr(\"d\", `M${sourceX} ${sourceY} L${targetX} ${targetY}`);\n };\n}\n__name(renderD3Relation, \"renderD3Relation\");\nfunction renderD3Swimlane(diagram2, maxR, diagramProps2, themeVariables) {\n return (swimlane) => {\n const g = diagram2.append(\"g\").attr(\"class\", \"em-swimlane\");\n const oddBackground = themeVariables.emSwimlaneBackgroundOdd ?? \"rgb(250,250,250)\";\n const backgroundStroke = themeVariables.emSwimlaneBackgroundStroke ?? \"rgb(240,240,240)\";\n g.append(\"rect\").attr(\"x\", 0).attr(\"y\", swimlane.y).attr(\"rx\", \"3\").attr(\"width\", maxR + diagramProps2.swimlanePadding).attr(\"height\", swimlane.height).attr(\"fill\", oddBackground).attr(\"stroke\", backgroundStroke);\n g.append(\"text\").attr(\"font-weight\", diagramProps2.swimlaneTextFontWeight).attr(\"x\", 30).attr(\"y\", swimlane.y + 30).text(swimlane.label);\n };\n}\n__name(renderD3Swimlane, \"renderD3Swimlane\");\nvar draw = /* @__PURE__ */ __name(function(txt, id, ver, diagObj) {\n log.debug(\"in eventmodeling renderer\", txt + \"\\n\", \"id:\", id, ver);\n if (!DEFAULT_EVENTMODELING_CONFIG2) {\n throw new Error(\"EventModeling config not found\");\n }\n const db2 = diagObj.db;\n const { themeVariables, eventmodeling: config } = getConfig2();\n const diagram2 = select(`[id=\"${id}\"]`);\n const diagramProps2 = db2.getDiagramProps();\n const state = db2.getState();\n const arrowheadId = `em-arrowhead-${id}`;\n const arrowheadColor = themeVariables.emArrowhead ?? \"#000000\";\n state.sortedSwimlanesArray.forEach(\n renderD3Swimlane(diagram2, state.maxR, diagramProps2, themeVariables)\n );\n state.boxes.forEach(renderD3Box(diagram2, diagramProps2));\n state.relations.forEach(renderD3Relation(diagram2, diagramProps2, arrowheadId, themeVariables));\n const marker = diagram2.append(\"defs\").append(\"marker\").attr(\"id\", arrowheadId).attr(\"markerWidth\", \"10\").attr(\"markerHeight\", \"7\").attr(\"refX\", \"10\").attr(\"refY\", \"3.5\").attr(\"orient\", \"auto\");\n marker.append(\"polygon\").attr(\"points\", \"0 0, 10 3.5, 0 7\").attr(\"fill\", arrowheadColor);\n setupGraphViewbox(void 0, diagram2, config?.padding ?? 30, config?.useMaxWidth);\n}, \"draw\");\nvar renderer_default = {\n draw\n};\n\n// src/diagrams/eventmodeling/styles.js\nvar getStyles = /* @__PURE__ */ __name((_options) => ``, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/eventmodeling/diagram.ts\nvar diagram = {\n parser,\n db,\n renderer: renderer_default,\n styles: styles_default\n};\nexport {\n diagram\n};\n"],"x_google_ignoreList":[0],"mappings":"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"}
1
+ {"version":3,"file":"diagram-KO2AKTUF-D9IYocVR.js","names":["select"],"sources":["../../../../../node_modules/.pnpm/mermaid@11.15.0/node_modules/mermaid/dist/chunks/mermaid.core/diagram-KO2AKTUF.mjs"],"sourcesContent":["import {\n populateCommonDb\n} from \"./chunk-4BX2VUAB.mjs\";\nimport {\n calculateTextDimensions,\n cleanAndMerge,\n wrapLabel\n} from \"./chunk-5ZQYHXKU.mjs\";\nimport {\n clear,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig,\n getConfig2,\n getDiagramTitle,\n sanitizeText,\n setAccDescription,\n setAccTitle,\n setDiagramTitle,\n setupGraphViewbox2 as setupGraphViewbox\n} from \"./chunk-CSCIHK7Q.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/eventmodeling/parser.ts\nimport { parse } from \"@mermaid-js/parser\";\n\n// src/diagrams/eventmodeling/db.ts\nimport { isEmResetFrame } from \"@mermaid-js/parser\";\n\n// src/diagrams/eventmodeling/types.ts\nvar PositionFrameKind = \"position frame\";\nvar FramePositionedKind = \"frame positioned\";\nvar PositionRelationKind = \"position relation\";\nvar RelationPositionedKind = \"relation positioned\";\n\n// src/diagrams/eventmodeling/db.ts\nvar setOptions = /* @__PURE__ */ __name(function(_rawOptString) {\n log.debug(\"options str\", _rawOptString);\n}, \"setOptions\");\nvar getOptions = /* @__PURE__ */ __name(function() {\n return {};\n}, \"getOptions\");\nvar clear2 = /* @__PURE__ */ __name(function() {\n reset();\n clear();\n}, \"clear\");\nfunction reset() {\n store = {};\n}\n__name(reset, \"reset\");\nvar DEFAULT_EVENTMODELING_CONFIG = defaultConfig_default.eventmodeling;\nvar getConfig3 = /* @__PURE__ */ __name(() => {\n const config = cleanAndMerge({\n ...DEFAULT_EVENTMODELING_CONFIG,\n ...getConfig().eventmodeling\n });\n return config;\n}, \"getConfig\");\nvar store = {};\nfunction getState() {\n let state = initial;\n const { ast } = store;\n const diagramProps2 = getDiagramProps();\n if (!ast) {\n throw new Error(\"No data for EventModel\");\n }\n ast.frames.forEach((frame, index) => {\n const textProps = calculateTextProps(frame, ast.dataEntities, diagramProps2);\n state = dispatch(state, {\n $kind: PositionFrameKind,\n index,\n frame,\n textProps\n });\n let sourceFrames = void 0;\n if (hasSourceFrame(frame)) {\n log.debug(`source frame`, frame.sourceFrames);\n sourceFrames = ast.frames.filter((currentFrame) => {\n return frame.sourceFrames.some((sf) => sf.$refText === currentFrame.name);\n });\n sourceFrames.forEach((sourceFrame) => {\n state = dispatch(state, {\n $kind: PositionRelationKind,\n index,\n frame,\n sourceFrame\n });\n });\n } else {\n state = dispatch(state, {\n $kind: PositionRelationKind,\n index,\n frame\n });\n }\n });\n state = {\n ...state,\n sortedSwimlanesArray: sortedSwimlanesArray(state.swimlanes)\n };\n return state;\n}\n__name(getState, \"getState\");\nfunction setAst(ast) {\n store.ast = ast;\n}\n__name(setAst, \"setAst\");\nvar diagramProps = {\n swimlaneMinHeight: 70,\n swimlanePadding: 15,\n swimlaneGap: 10,\n boxPadding: 10,\n boxOverlap: 90,\n boxDefaultY: 0,\n boxMinWidth: 80,\n boxMaxWidth: 450,\n boxMinHeight: 80,\n boxMaxHeight: 750,\n contentStartX: 250,\n textMaxWidth: 450 - 2 * 10,\n boxTextFontWeight: \"bold\",\n boxTextPadding: 10,\n swimlaneTextFontWeight: \"bold\",\n labelUiAutomation: \"UI/Automation\",\n labelUiAutomationPrefix: \"UI/A: \",\n labelCommandReadModel: \"Command/Read Model\",\n labelCommandReadModelPrefix: \"C/RM: \",\n labelEvents: \"Events\",\n labelEventsPrefix: \"Stream: \"\n};\nfunction getDiagramProps() {\n return diagramProps;\n}\n__name(getDiagramProps, \"getDiagramProps\");\nvar initial = {\n boxes: [],\n swimlanes: {},\n relations: [],\n maxR: 0,\n sortedSwimlanesArray: []\n};\nfunction extractNamespace(entityIdentifier) {\n const spl = entityIdentifier.split(\".\");\n if (spl.length === 2) {\n return spl[0];\n }\n return void 0;\n}\n__name(extractNamespace, \"extractNamespace\");\nfunction extractName(entityIdentifier) {\n const spl = entityIdentifier.split(\".\");\n if (spl.length === 2) {\n return spl[1];\n }\n return entityIdentifier;\n}\n__name(extractName, \"extractName\");\nfunction findSwimlaneByNamespace(swimlanes, namespace) {\n if (!namespace || namespace.length === 0) {\n return void 0;\n }\n return Object.values(swimlanes).find((swimlane) => swimlane.namespace === namespace);\n}\n__name(findSwimlaneByNamespace, \"findSwimlaneByNamespace\");\nfunction findNextAvailableIndex(swimlanes, boundaryMin, boundaryMax) {\n return Math.max(\n boundaryMin,\n ...Object.keys(swimlanes).filter((key) => {\n const index = Number.parseInt(key);\n return index > boundaryMin && index < boundaryMax;\n }).map((key) => Number.parseInt(key))\n ) + 1;\n}\n__name(findNextAvailableIndex, \"findNextAvailableIndex\");\nfunction calculateSwimlaneProps(frame, swimlanes) {\n const namespace = extractNamespace(frame.entityIdentifier);\n const sw = findSwimlaneByNamespace(swimlanes, namespace);\n switch (frame.modelEntityType) {\n case \"ui\":\n case \"pcr\":\n case \"processor\":\n if (sw) {\n return {\n index: sw.index,\n label: sw.namespace || diagramProps.labelUiAutomation\n };\n } else if (namespace) {\n return {\n index: findNextAvailableIndex(swimlanes, 0, 100),\n label: diagramProps.labelUiAutomationPrefix + namespace\n };\n }\n return { index: 0, label: diagramProps.labelUiAutomation };\n case \"rmo\":\n case \"readmodel\":\n case \"cmd\":\n case \"command\":\n if (sw) {\n return {\n index: sw.index,\n label: sw.namespace || diagramProps.labelCommandReadModel\n };\n } else if (namespace) {\n return {\n index: findNextAvailableIndex(swimlanes, 100, 200),\n label: diagramProps.labelCommandReadModelPrefix + namespace\n };\n }\n return { index: 100, label: diagramProps.labelCommandReadModel };\n case \"evt\":\n case \"event\":\n default:\n if (sw) {\n return {\n index: sw.index,\n label: sw.namespace || diagramProps.labelEvents\n };\n } else if (namespace) {\n return {\n index: findNextAvailableIndex(swimlanes, 200, 300),\n label: diagramProps.labelEventsPrefix + namespace\n };\n }\n return { index: 200, label: diagramProps.labelEvents };\n }\n}\n__name(calculateSwimlaneProps, \"calculateSwimlaneProps\");\nfunction calculateEntityVisualProps(frame) {\n const { themeVariables } = getConfig();\n switch (frame.modelEntityType) {\n case \"ui\":\n return {\n fill: themeVariables.emUiFill ?? \"white\",\n stroke: themeVariables.emUiStroke ?? \"#dbdada\"\n };\n case \"pcr\":\n case \"processor\":\n return {\n fill: themeVariables.emProcessorFill ?? \"#edb3f6\",\n stroke: themeVariables.emProcessorStroke ?? \"#b88cbf\"\n };\n case \"rmo\":\n case \"readmodel\":\n return {\n fill: themeVariables.emReadModelFill ?? \"#d3f1a2\",\n stroke: themeVariables.emReadModelStroke ?? \"#a3b732\"\n };\n case \"cmd\":\n case \"command\":\n return {\n fill: themeVariables.emCommandFill ?? \"#bcd6fe\",\n stroke: themeVariables.emCommandStroke ?? \"#679ac3\"\n };\n case \"evt\":\n case \"event\":\n return {\n fill: themeVariables.emEventFill ?? \"#ffb778\",\n stroke: themeVariables.emEventStroke ?? \"#c19a0f\"\n };\n default:\n return {\n fill: \"red\",\n stroke: \"black\"\n };\n }\n}\n__name(calculateEntityVisualProps, \"calculateEntityVisualProps\");\nfunction calculateTextProps(frame, dataEntities, diagramProps2) {\n const config = getConfig();\n const name = sanitizeText(extractName(frame.entityIdentifier) ?? \"\", config);\n let toHtml;\n const wrapLabelConfig = {\n fontSize: 16,\n fontWeight: 700,\n fontFamily: '\"trebuchet ms\", verdana, arial, sans-serif',\n joinWith: \"<br/>\"\n };\n const wrappedName = wrapLabel(name, diagramProps2.textMaxWidth, wrapLabelConfig);\n let content = `<b>${wrappedName}</b>`;\n if (frame.dataInlineValue) {\n toHtml = frame.dataInlineValue;\n toHtml = toHtml.substring(toHtml.indexOf(\"{\") + 1);\n toHtml = toHtml.substring(0, toHtml.lastIndexOf(\"}\") - 1);\n toHtml = sanitizeText(toHtml, config);\n toHtml = wrapLabel(toHtml, diagramProps2.textMaxWidth, wrapLabelConfig);\n toHtml = toHtml.replaceAll(\" \", \"&nbsp;\");\n }\n if (frame.dataReference) {\n const dataEntity = dataEntities.find(\n (dataEntity2) => dataEntity2.name === frame.dataReference?.$refText\n );\n if (dataEntity) {\n toHtml = dataEntity.dataBlockValue;\n toHtml = toHtml.substring(toHtml.indexOf(\"{\\n\") + 2);\n toHtml = toHtml.substring(0, toHtml.lastIndexOf(\"}\") - 1);\n toHtml = sanitizeText(toHtml, config);\n toHtml = wrapLabel(toHtml, diagramProps2.textMaxWidth, wrapLabelConfig);\n toHtml = toHtml.replaceAll(\" \", \"&nbsp;\");\n toHtml += `<br/>`;\n }\n }\n const hasRenderedData = toHtml !== void 0;\n if (hasRenderedData) {\n content += `<br/><br/><code style=\"text-align: left; display: block;max-width:${diagramProps2.textMaxWidth}px\">${toHtml}</code>`;\n }\n const textDimensionConfig = {\n fontSize: wrapLabelConfig.fontSize,\n fontWeight: wrapLabelConfig.fontWeight,\n fontFamily: wrapLabelConfig.fontFamily\n };\n const dimensions = calculateTextDimensions(content, textDimensionConfig);\n const calculatedWidthFix = hasRenderedData ? dimensions.width / 3 : dimensions.width;\n const props = {\n content,\n width: calculatedWidthFix,\n height: dimensions.height\n };\n log.debug(`[${frame.name}] ${frame.entityIdentifier} text`, props);\n return props;\n}\n__name(calculateTextProps, \"calculateTextProps\");\nfunction decidePositionFrame(state, _command) {\n const command = _command;\n const visual = calculateEntityVisualProps(command.frame);\n const dimension = {\n width: command.textProps.width + 2 * diagramProps.boxTextPadding,\n height: command.textProps.height + 2 * diagramProps.boxTextPadding\n };\n const event = {\n $kind: FramePositionedKind,\n frame: command.frame,\n index: command.index,\n visual,\n dimension,\n textProps: command.textProps\n };\n return [event];\n}\n__name(decidePositionFrame, \"decidePositionFrame\");\nfunction calculateX(swimlane, previousSwimlane, lastBox) {\n if (previousSwimlane === void 0) {\n return diagramProps.contentStartX;\n }\n if (previousSwimlane.index === swimlane.index && swimlane.r) {\n return swimlane.r + diagramProps.boxPadding;\n }\n if (lastBox === void 0) {\n return diagramProps.contentStartX;\n }\n return lastBox.r - diagramProps.boxOverlap + diagramProps.boxPadding;\n}\n__name(calculateX, \"calculateX\");\nfunction calculateMaxRight(swimlanes, swimlaneR) {\n const rs = [...swimlanes.map((s) => s.r), swimlaneR];\n return Math.max(...rs);\n}\n__name(calculateMaxRight, \"calculateMaxRight\");\nfunction sortedSwimlanesArray(swimlanes) {\n return Object.values(swimlanes).sort((a, b) => a.index - b.index);\n}\n__name(sortedSwimlanesArray, \"sortedSwimlanesArray\");\nfunction evolveFramePositioned(state, _event) {\n const event = _event;\n const swimlaneProps = calculateSwimlaneProps(event.frame, state.swimlanes);\n let swimlane;\n if (swimlaneProps.index in state.swimlanes) {\n swimlane = state.swimlanes[swimlaneProps.index];\n } else {\n swimlane = {\n index: swimlaneProps.index,\n label: swimlaneProps.label,\n r: 0,\n y: swimlaneProps.index * diagramProps.swimlaneMinHeight + diagramProps.swimlaneGap,\n height: diagramProps.swimlaneMinHeight,\n maxHeight: diagramProps.swimlaneMinHeight\n };\n }\n const lastBox = state.boxes.length > 0 ? state.boxes[state.boxes.length - 1] : void 0;\n const previousSwimlane = state.previousSwimlaneNumber !== void 0 ? state.swimlanes[state.previousSwimlaneNumber] : void 0;\n const dimension = {\n width: Math.max(\n diagramProps.boxMinWidth,\n Math.min(diagramProps.boxMaxWidth, event.dimension.width)\n ) + 2 * diagramProps.boxPadding,\n height: Math.max(\n diagramProps.boxMinHeight,\n Math.min(diagramProps.boxMaxHeight, event.dimension.height)\n ) + 2 * diagramProps.boxPadding\n };\n const x = calculateX(swimlane, previousSwimlane, lastBox);\n const r = x + dimension.width + diagramProps.boxPadding;\n const maxR = calculateMaxRight(Object.values(state.swimlanes), r);\n swimlane.r = x + dimension.width;\n swimlane.maxHeight = Math.max(swimlane.maxHeight, dimension.height);\n swimlane.height = Math.max(diagramProps.swimlaneMinHeight, swimlane.maxHeight) + 2 * diagramProps.swimlanePadding;\n const box = {\n x,\n y: diagramProps.swimlanePadding + swimlane.y,\n // y: diagramProps.swimlanePadding + (swimlane.y || diagramProps.boxDefaultY),\n r,\n dimension,\n leftSibling: false,\n swimlane,\n visual: event.visual,\n text: event.textProps.content,\n frame: event.frame,\n index: event.index\n };\n const newState = {\n ...state,\n boxes: [...state.boxes, box],\n swimlanes: {\n ...state.swimlanes,\n [`${swimlane.index}`]: swimlane\n },\n previousSwimlaneNumber: swimlaneProps.index,\n previousFrame: event.frame,\n maxR\n };\n const swimlanes = sortedSwimlanesArray(newState.swimlanes);\n if (swimlanes.length > 0) {\n swimlanes[0].y = 0;\n }\n for (let i = 1; i < swimlanes.length; i++) {\n const sw = swimlanes[i];\n const prevSw = swimlanes[i - 1];\n sw.y = prevSw.y + prevSw.height + diagramProps.swimlaneGap;\n }\n return newState;\n}\n__name(evolveFramePositioned, \"evolveFramePositioned\");\nfunction isFirstFrame(index, frame) {\n if (index === 0 && frame.sourceFrames.length === 0) {\n return true;\n }\n return false;\n}\n__name(isFirstFrame, \"isFirstFrame\");\nfunction hasSourceFrame(frame) {\n return frame.sourceFrames !== void 0 && frame.sourceFrames !== null && frame.sourceFrames.length > 0;\n}\n__name(hasSourceFrame, \"hasSourceFrame\");\nfunction findBoxByFrame(boxes, frame) {\n if (frame === void 0 || frame === null) {\n return void 0;\n }\n return boxes.find((box) => box.frame.name === frame.name);\n}\n__name(findBoxByFrame, \"findBoxByFrame\");\nfunction findBoxByLineIndex(boxes, targetSwimlane, lineIndex) {\n if (lineIndex < 0) {\n return void 0;\n }\n for (let i = lineIndex; i >= 0; i--) {\n const box = boxes[i];\n if (box.swimlane.index !== targetSwimlane) {\n return box;\n }\n }\n return void 0;\n}\n__name(findBoxByLineIndex, \"findBoxByLineIndex\");\nfunction decidePositionRelation(state, _command) {\n const command = _command;\n if (isEmResetFrame(command.frame) || isFirstFrame(command.index, command.frame)) {\n return [];\n }\n const targetBox = findBoxByFrame(state.boxes, command.frame);\n if (targetBox === void 0) {\n throw new Error(`Target box not found for frame ${command.frame.name}`);\n }\n let sourceBox;\n if (command.sourceFrame) {\n sourceBox = findBoxByFrame(state.boxes, command.sourceFrame);\n } else {\n sourceBox = findBoxByLineIndex(state.boxes, targetBox.swimlane.index, command.index - 1);\n }\n if (sourceBox === void 0) {\n return [];\n }\n const event = {\n $kind: RelationPositionedKind,\n frame: command.frame,\n index: command.index,\n sourceBox,\n targetBox\n };\n return [event];\n}\n__name(decidePositionRelation, \"decidePositionRelation\");\nfunction evolveRelationPositioned(state, _event) {\n const event = _event;\n const relation = {\n visual: {\n fill: \"none\",\n stroke: \"#000\"\n },\n source: {\n x: event.sourceBox.x,\n y: event.sourceBox.y\n },\n target: {\n x: event.targetBox.x,\n y: event.targetBox.y\n },\n sourceBox: event.sourceBox,\n targetBox: event.targetBox\n };\n const newState = {\n ...state,\n relations: [...state.relations, relation]\n };\n return newState;\n}\n__name(evolveRelationPositioned, \"evolveRelationPositioned\");\nvar deciders = {\n [PositionFrameKind]: decidePositionFrame,\n [PositionRelationKind]: decidePositionRelation\n};\nvar evolvers = {\n [FramePositionedKind]: evolveFramePositioned,\n [RelationPositionedKind]: evolveRelationPositioned\n};\nfunction decide(state, command) {\n const fn = deciders[command.$kind];\n if (fn === void 0 || fn === null) {\n return [];\n }\n const events = fn(state, command);\n log.debug(`decided events`, events);\n return events;\n}\n__name(decide, \"decide\");\nfunction evolve(state, events) {\n const newState = events.reduce((previousState, event) => {\n const fn = evolvers[event.$kind];\n if (fn === void 0 || fn === null) {\n return previousState;\n }\n return fn(previousState, event);\n }, state);\n log.debug(`evolve events`, { state, newState, events });\n return newState;\n}\n__name(evolve, \"evolve\");\nfunction dispatch(state, command) {\n const events = decide(state, command);\n const newState = evolve(state, events);\n return newState;\n}\n__name(dispatch, \"dispatch\");\nvar db = {\n getConfig: getConfig3,\n setOptions,\n getOptions,\n clear: clear2,\n setAccTitle,\n getAccTitle,\n getAccDescription,\n setAccDescription,\n setDiagramTitle,\n getDiagramTitle,\n setAst,\n getDiagramProps,\n getState\n};\n\n// src/diagrams/eventmodeling/parser.ts\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"eventmodeling\", input);\n log.debug(ast);\n db.setAst(ast);\n populateCommonDb(ast, db);\n }, \"parse\")\n};\nif (void 0) {\n const { it, expect, describe } = void 0;\n describe(\"EventModeling Parser\", () => {\n it(\"should parse simple model\", () => {\n const result = parser.parse(`eventmodeling\n tf 01 evt Start\n\n `);\n expect(result !== void 0);\n });\n });\n}\n\n// src/diagrams/eventmodeling/renderer.ts\nimport { select } from \"d3\";\nvar DEFAULT_CONFIG = getConfig2();\nvar DEFAULT_EVENTMODELING_CONFIG2 = DEFAULT_CONFIG?.eventmodeling;\nfunction renderD3Box(diagram2, diagramProps2) {\n return (box) => {\n const y = box.swimlane.y + diagramProps2.swimlanePadding;\n const g = diagram2.append(\"g\").attr(\"class\", \"em-box\");\n g.append(\"rect\").attr(\"x\", box.x).attr(\"y\", y).attr(\"rx\", \"3\").attr(\"width\", box.dimension.width).attr(\"height\", box.dimension.height).attr(\"stroke\", box.visual.stroke).attr(\"fill\", box.visual.fill);\n const f = g.append(\"foreignObject\").attr(\"x\", box.x + diagramProps2.boxPadding).attr(\"y\", y + 10).attr(\"width\", box.dimension.width - 2 * diagramProps2.boxPadding).attr(\"height\", box.dimension.height - 2 * diagramProps2.boxPadding);\n const text = f.append(\"xhtml:div\").style(\"display\", \"table\").style(\"height\", \"100%\").style(\"width\", \"100%\");\n text.append(\"span\").style(\"display\", \"table-cell\").style(\"text-align\", \"center\").style(\"vertical-align\", \"middle\").html(box.text);\n };\n}\n__name(renderD3Box, \"renderD3Box\");\nfunction dirUpwards(sourceY, targetY) {\n return sourceY > targetY;\n}\n__name(dirUpwards, \"dirUpwards\");\nfunction renderD3Relation(diagram2, diagramProps2, arrowheadId, themeVariables) {\n return (relation) => {\n const sourceBoxY = relation.sourceBox.swimlane.y + diagramProps2.swimlanePadding;\n const targetBoxY = relation.targetBox.swimlane.y + diagramProps2.swimlanePadding;\n const upwards = dirUpwards(sourceBoxY, targetBoxY);\n const sourceX = relation.sourceBox.x + relation.sourceBox.dimension.width * 2 / 3;\n const targetX = relation.targetBox.x + relation.targetBox.dimension.width / 3;\n let sourceY;\n let targetY;\n log.debug(`rendering relation up=${upwards} for `, {\n sourceBox: relation.sourceBox,\n targetBox: relation.targetBox\n });\n if (upwards) {\n sourceY = sourceBoxY;\n targetY = targetBoxY + relation.targetBox.dimension.height;\n } else {\n sourceY = sourceBoxY + relation.sourceBox.dimension.height;\n targetY = targetBoxY;\n }\n const relationStroke = themeVariables.emRelationStroke ?? relation.visual.stroke;\n diagram2.append(\"path\").attr(\"class\", \"em-relation\").attr(\"fill\", relation.visual.fill).attr(\"stroke\", relationStroke).attr(\"stroke-width\", \"1\").attr(\"marker-end\", `url(#${arrowheadId})`).attr(\"d\", `M${sourceX} ${sourceY} L${targetX} ${targetY}`);\n };\n}\n__name(renderD3Relation, \"renderD3Relation\");\nfunction renderD3Swimlane(diagram2, maxR, diagramProps2, themeVariables) {\n return (swimlane) => {\n const g = diagram2.append(\"g\").attr(\"class\", \"em-swimlane\");\n const oddBackground = themeVariables.emSwimlaneBackgroundOdd ?? \"rgb(250,250,250)\";\n const backgroundStroke = themeVariables.emSwimlaneBackgroundStroke ?? \"rgb(240,240,240)\";\n g.append(\"rect\").attr(\"x\", 0).attr(\"y\", swimlane.y).attr(\"rx\", \"3\").attr(\"width\", maxR + diagramProps2.swimlanePadding).attr(\"height\", swimlane.height).attr(\"fill\", oddBackground).attr(\"stroke\", backgroundStroke);\n g.append(\"text\").attr(\"font-weight\", diagramProps2.swimlaneTextFontWeight).attr(\"x\", 30).attr(\"y\", swimlane.y + 30).text(swimlane.label);\n };\n}\n__name(renderD3Swimlane, \"renderD3Swimlane\");\nvar draw = /* @__PURE__ */ __name(function(txt, id, ver, diagObj) {\n log.debug(\"in eventmodeling renderer\", txt + \"\\n\", \"id:\", id, ver);\n if (!DEFAULT_EVENTMODELING_CONFIG2) {\n throw new Error(\"EventModeling config not found\");\n }\n const db2 = diagObj.db;\n const { themeVariables, eventmodeling: config } = getConfig2();\n const diagram2 = select(`[id=\"${id}\"]`);\n const diagramProps2 = db2.getDiagramProps();\n const state = db2.getState();\n const arrowheadId = `em-arrowhead-${id}`;\n const arrowheadColor = themeVariables.emArrowhead ?? \"#000000\";\n state.sortedSwimlanesArray.forEach(\n renderD3Swimlane(diagram2, state.maxR, diagramProps2, themeVariables)\n );\n state.boxes.forEach(renderD3Box(diagram2, diagramProps2));\n state.relations.forEach(renderD3Relation(diagram2, diagramProps2, arrowheadId, themeVariables));\n const marker = diagram2.append(\"defs\").append(\"marker\").attr(\"id\", arrowheadId).attr(\"markerWidth\", \"10\").attr(\"markerHeight\", \"7\").attr(\"refX\", \"10\").attr(\"refY\", \"3.5\").attr(\"orient\", \"auto\");\n marker.append(\"polygon\").attr(\"points\", \"0 0, 10 3.5, 0 7\").attr(\"fill\", arrowheadColor);\n setupGraphViewbox(void 0, diagram2, config?.padding ?? 30, config?.useMaxWidth);\n}, \"draw\");\nvar renderer_default = {\n draw\n};\n\n// src/diagrams/eventmodeling/styles.js\nvar getStyles = /* @__PURE__ */ __name((_options) => ``, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/eventmodeling/diagram.ts\nvar diagram = {\n parser,\n db,\n renderer: renderer_default,\n styles: styles_default\n};\nexport {\n diagram\n};\n"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import{g as e,h as t}from"./src-DoMhBUqV.js";import{H as n,K as r,U as i,a,b as o,c as s,f as c,v as l,w as u,y as d}from"./chunk-CSCIHK7Q-Bo3glXo1.js";import{i as f}from"./chunk-5ZQYHXKU-CxDIhrF-.js";import{a as p}from"./index-BfPuPCFp.js";import{t as m}from"./chunk-4BX2VUAB-BqYEJTr3.js";import{t as h}from"./mermaid-parser.core-CZyyUBUW.js";var g=c.packet,_=class{constructor(){this.packet=[],this.setAccTitle=i,this.getAccTitle=d,this.setDiagramTitle=r,this.getDiagramTitle=u,this.getAccDescription=l,this.setAccDescription=n}static{t(this,`PacketDB`)}getConfig(){let e=f({...g,...o().packet});return e.showBits&&(e.paddingY+=10),e}getPacket(){return this.packet}pushWord(e){e.length>0&&this.packet.push(e)}clear(){a(),this.packet=[]}},v=1e4,y=t((t,n)=>{m(t,n);let r=-1,i=[],a=1,{bitsPerRow:o}=n.getConfig();for(let{start:s,end:c,bits:l,label:u}of t.blocks){if(s!==void 0&&c!==void 0&&c<s)throw Error(`Packet block ${s} - ${c} is invalid. End must be greater than start.`);if(s??=r+1,s!==r+1)throw Error(`Packet block ${s} - ${c??s} is not contiguous. It should start from ${r+1}.`);if(l===0)throw Error(`Packet block ${s} is invalid. Cannot have a zero bit field.`);for(c??=s+(l??1)-1,l??=c-s+1,r=c,e.debug(`Packet block ${s} - ${r} with label ${u}`);i.length<=o+1&&n.getPacket().length<v;){let[e,t]=b({start:s,end:c,bits:l,label:u},a,o);if(i.push(e),e.end+1===a*o&&(n.pushWord(i),i=[],a++),!t)break;({start:s,end:c,bits:l,label:u}=t)}}n.pushWord(i)},`populate`),b=t((e,t,n)=>{if(e.start===void 0)throw Error(`start should have been set during first phase`);if(e.end===void 0)throw Error(`end should have been set during first phase`);if(e.start>e.end)throw Error(`Block start ${e.start} is greater than block end ${e.end}.`);if(e.end+1<=t*n)return[e,void 0];let r=t*n-1,i=t*n;return[{start:e.start,end:r,label:e.label,bits:r-e.start},{start:i,end:e.end,label:e.label,bits:e.end-i}]},`getNextFittingBlock`),x={parser:{yy:void 0},parse:t(async t=>{let n=await h(`packet`,t),r=x.parser?.yy;if(!(r instanceof _))throw Error(`parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.`);e.debug(n),y(n,r)},`parse`)},S=t((e,t,n,r)=>{let i=r.db,a=i.getConfig(),{rowHeight:o,paddingY:c,bitWidth:l,bitsPerRow:u}=a,d=i.getPacket(),f=i.getDiagramTitle(),m=o+c,h=m*(d.length+1)-(f?0:o),g=l*u+2,_=p(t);_.attr(`viewBox`,`0 0 ${g} ${h}`),s(_,h,g,a.useMaxWidth);for(let[e,t]of d.entries())C(_,t,e,a);_.append(`text`).text(f).attr(`x`,g/2).attr(`y`,h-m/2).attr(`dominant-baseline`,`middle`).attr(`text-anchor`,`middle`).attr(`class`,`packetTitle`)},`draw`),C=t((e,t,n,{rowHeight:r,paddingX:i,paddingY:a,bitWidth:o,bitsPerRow:s,showBits:c})=>{let l=e.append(`g`),u=n*(r+a)+a;for(let e of t){let t=e.start%s*o+1,n=(e.end-e.start+1)*o-i;if(l.append(`rect`).attr(`x`,t).attr(`y`,u).attr(`width`,n).attr(`height`,r).attr(`class`,`packetBlock`),l.append(`text`).attr(`x`,t+n/2).attr(`y`,u+r/2).attr(`class`,`packetLabel`).attr(`dominant-baseline`,`middle`).attr(`text-anchor`,`middle`).text(e.label),!c)continue;let a=e.end===e.start,d=u-2;l.append(`text`).attr(`x`,t+(a?n/2:0)).attr(`y`,d).attr(`class`,`packetByte start`).attr(`dominant-baseline`,`auto`).attr(`text-anchor`,a?`middle`:`start`).text(e.start),a||l.append(`text`).attr(`x`,t+n).attr(`y`,d).attr(`class`,`packetByte end`).attr(`dominant-baseline`,`auto`).attr(`text-anchor`,`end`).text(e.end)}},`drawWord`),w={draw:S},T={byteFontSize:`10px`,startByteColor:`black`,endByteColor:`black`,labelColor:`black`,labelFontSize:`12px`,titleColor:`black`,titleFontSize:`14px`,blockStrokeColor:`black`,blockStrokeWidth:`1`,blockFillColor:`#efefef`},E={parser:x,get db(){return new _},renderer:w,styles:t(({packet:e}={})=>{let t=f(T,e);return`
1
+ import{g as e,h as t}from"./src-DoMhBUqV.js";import{H as n,K as r,U as i,a,b as o,c as s,f as c,v as l,w as u,y as d}from"./chunk-CSCIHK7Q-BBzr5U3o.js";import{i as f}from"./chunk-5ZQYHXKU-B_3UEJ_q.js";import{a as p}from"./index-D5tmHkO_.js";import{t as m}from"./chunk-4BX2VUAB-BqYEJTr3.js";import{t as h}from"./mermaid-parser.core-BO_-QleW.js";var g=c.packet,_=class{constructor(){this.packet=[],this.setAccTitle=i,this.getAccTitle=d,this.setDiagramTitle=r,this.getDiagramTitle=u,this.getAccDescription=l,this.setAccDescription=n}static{t(this,`PacketDB`)}getConfig(){let e=f({...g,...o().packet});return e.showBits&&(e.paddingY+=10),e}getPacket(){return this.packet}pushWord(e){e.length>0&&this.packet.push(e)}clear(){a(),this.packet=[]}},v=1e4,y=t((t,n)=>{m(t,n);let r=-1,i=[],a=1,{bitsPerRow:o}=n.getConfig();for(let{start:s,end:c,bits:l,label:u}of t.blocks){if(s!==void 0&&c!==void 0&&c<s)throw Error(`Packet block ${s} - ${c} is invalid. End must be greater than start.`);if(s??=r+1,s!==r+1)throw Error(`Packet block ${s} - ${c??s} is not contiguous. It should start from ${r+1}.`);if(l===0)throw Error(`Packet block ${s} is invalid. Cannot have a zero bit field.`);for(c??=s+(l??1)-1,l??=c-s+1,r=c,e.debug(`Packet block ${s} - ${r} with label ${u}`);i.length<=o+1&&n.getPacket().length<v;){let[e,t]=b({start:s,end:c,bits:l,label:u},a,o);if(i.push(e),e.end+1===a*o&&(n.pushWord(i),i=[],a++),!t)break;({start:s,end:c,bits:l,label:u}=t)}}n.pushWord(i)},`populate`),b=t((e,t,n)=>{if(e.start===void 0)throw Error(`start should have been set during first phase`);if(e.end===void 0)throw Error(`end should have been set during first phase`);if(e.start>e.end)throw Error(`Block start ${e.start} is greater than block end ${e.end}.`);if(e.end+1<=t*n)return[e,void 0];let r=t*n-1,i=t*n;return[{start:e.start,end:r,label:e.label,bits:r-e.start},{start:i,end:e.end,label:e.label,bits:e.end-i}]},`getNextFittingBlock`),x={parser:{yy:void 0},parse:t(async t=>{let n=await h(`packet`,t),r=x.parser?.yy;if(!(r instanceof _))throw Error(`parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.`);e.debug(n),y(n,r)},`parse`)},S=t((e,t,n,r)=>{let i=r.db,a=i.getConfig(),{rowHeight:o,paddingY:c,bitWidth:l,bitsPerRow:u}=a,d=i.getPacket(),f=i.getDiagramTitle(),m=o+c,h=m*(d.length+1)-(f?0:o),g=l*u+2,_=p(t);_.attr(`viewBox`,`0 0 ${g} ${h}`),s(_,h,g,a.useMaxWidth);for(let[e,t]of d.entries())C(_,t,e,a);_.append(`text`).text(f).attr(`x`,g/2).attr(`y`,h-m/2).attr(`dominant-baseline`,`middle`).attr(`text-anchor`,`middle`).attr(`class`,`packetTitle`)},`draw`),C=t((e,t,n,{rowHeight:r,paddingX:i,paddingY:a,bitWidth:o,bitsPerRow:s,showBits:c})=>{let l=e.append(`g`),u=n*(r+a)+a;for(let e of t){let t=e.start%s*o+1,n=(e.end-e.start+1)*o-i;if(l.append(`rect`).attr(`x`,t).attr(`y`,u).attr(`width`,n).attr(`height`,r).attr(`class`,`packetBlock`),l.append(`text`).attr(`x`,t+n/2).attr(`y`,u+r/2).attr(`class`,`packetLabel`).attr(`dominant-baseline`,`middle`).attr(`text-anchor`,`middle`).text(e.label),!c)continue;let a=e.end===e.start,d=u-2;l.append(`text`).attr(`x`,t+(a?n/2:0)).attr(`y`,d).attr(`class`,`packetByte start`).attr(`dominant-baseline`,`auto`).attr(`text-anchor`,a?`middle`:`start`).text(e.start),a||l.append(`text`).attr(`x`,t+n).attr(`y`,d).attr(`class`,`packetByte end`).attr(`dominant-baseline`,`auto`).attr(`text-anchor`,`end`).text(e.end)}},`drawWord`),w={draw:S},T={byteFontSize:`10px`,startByteColor:`black`,endByteColor:`black`,labelColor:`black`,labelFontSize:`12px`,titleColor:`black`,titleFontSize:`14px`,blockStrokeColor:`black`,blockStrokeWidth:`1`,blockFillColor:`#efefef`},E={parser:x,get db(){return new _},renderer:w,styles:t(({packet:e}={})=>{let t=f(T,e);return`
2
2
  .packetByte {
3
3
  font-size: ${t.byteFontSize};
4
4
  }
@@ -22,4 +22,4 @@ import{g as e,h as t}from"./src-DoMhBUqV.js";import{H as n,K as r,U as i,a,b as
22
22
  fill: ${t.blockFillColor};
23
23
  }
24
24
  `},`styles`)};export{E as diagram};
25
- //# sourceMappingURL=diagram-LMA3HP47-vnkpPjMC.js.map
25
+ //# sourceMappingURL=diagram-LMA3HP47-BtdvpqaH.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"diagram-LMA3HP47-vnkpPjMC.js","names":[],"sources":["../../../../../node_modules/.pnpm/mermaid@11.15.0/node_modules/mermaid/dist/chunks/mermaid.core/diagram-LMA3HP47.mjs"],"sourcesContent":["import {\n selectSvgElement\n} from \"./chunk-WU5MYG2G.mjs\";\nimport {\n populateCommonDb\n} from \"./chunk-4BX2VUAB.mjs\";\nimport {\n cleanAndMerge\n} from \"./chunk-5ZQYHXKU.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-CSCIHK7Q.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/packet/db.ts\nvar DEFAULT_PACKET_CONFIG = defaultConfig_default.packet;\nvar PacketDB = class {\n constructor() {\n this.packet = [];\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, \"PacketDB\");\n }\n getConfig() {\n const config = cleanAndMerge({\n ...DEFAULT_PACKET_CONFIG,\n ...getConfig().packet\n });\n if (config.showBits) {\n config.paddingY += 10;\n }\n return config;\n }\n getPacket() {\n return this.packet;\n }\n pushWord(word) {\n if (word.length > 0) {\n this.packet.push(word);\n }\n }\n clear() {\n clear();\n this.packet = [];\n }\n};\n\n// src/diagrams/packet/parser.ts\nimport { parse } from \"@mermaid-js/parser\";\nvar maxPacketSize = 1e4;\nvar populate = /* @__PURE__ */ __name((ast, db) => {\n populateCommonDb(ast, db);\n let lastBit = -1;\n let word = [];\n let row = 1;\n const { bitsPerRow } = db.getConfig();\n for (let { start, end, bits, label } of ast.blocks) {\n if (start !== void 0 && end !== void 0 && end < start) {\n throw new Error(`Packet block ${start} - ${end} is invalid. End must be greater than start.`);\n }\n start ??= lastBit + 1;\n if (start !== lastBit + 1) {\n throw new Error(\n `Packet block ${start} - ${end ?? start} is not contiguous. It should start from ${lastBit + 1}.`\n );\n }\n if (bits === 0) {\n throw new Error(`Packet block ${start} is invalid. Cannot have a zero bit field.`);\n }\n end ??= start + (bits ?? 1) - 1;\n bits ??= end - start + 1;\n lastBit = end;\n log.debug(`Packet block ${start} - ${lastBit} with label ${label}`);\n while (word.length <= bitsPerRow + 1 && db.getPacket().length < maxPacketSize) {\n const [block, nextBlock] = getNextFittingBlock({ start, end, bits, label }, row, bitsPerRow);\n word.push(block);\n if (block.end + 1 === row * bitsPerRow) {\n db.pushWord(word);\n word = [];\n row++;\n }\n if (!nextBlock) {\n break;\n }\n ({ start, end, bits, label } = nextBlock);\n }\n }\n db.pushWord(word);\n}, \"populate\");\nvar getNextFittingBlock = /* @__PURE__ */ __name((block, row, bitsPerRow) => {\n if (block.start === void 0) {\n throw new Error(\"start should have been set during first phase\");\n }\n if (block.end === void 0) {\n throw new Error(\"end should have been set during first phase\");\n }\n if (block.start > block.end) {\n throw new Error(`Block start ${block.start} is greater than block end ${block.end}.`);\n }\n if (block.end + 1 <= row * bitsPerRow) {\n return [block, void 0];\n }\n const rowEnd = row * bitsPerRow - 1;\n const rowStart = row * bitsPerRow;\n return [\n {\n start: block.start,\n end: rowEnd,\n label: block.label,\n bits: rowEnd - block.start\n },\n {\n start: rowStart,\n end: block.end,\n label: block.label,\n bits: block.end - rowStart\n }\n ];\n}, \"getNextFittingBlock\");\nvar parser = {\n // @ts-expect-error - PacketDB is not assignable to DiagramDB\n parser: { yy: void 0 },\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"packet\", input);\n const db = parser.parser?.yy;\n if (!(db instanceof PacketDB)) {\n throw new Error(\n \"parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.\"\n );\n }\n log.debug(ast);\n populate(ast, db);\n }, \"parse\")\n};\n\n// src/diagrams/packet/renderer.ts\nvar draw = /* @__PURE__ */ __name((_text, id, _version, diagram2) => {\n const db = diagram2.db;\n const config = db.getConfig();\n const { rowHeight, paddingY, bitWidth, bitsPerRow } = config;\n const words = db.getPacket();\n const title = db.getDiagramTitle();\n const totalRowHeight = rowHeight + paddingY;\n const svgHeight = totalRowHeight * (words.length + 1) - (title ? 0 : rowHeight);\n const svgWidth = bitWidth * bitsPerRow + 2;\n const svg = selectSvgElement(id);\n svg.attr(\"viewBox\", `0 0 ${svgWidth} ${svgHeight}`);\n configureSvgSize(svg, svgHeight, svgWidth, config.useMaxWidth);\n for (const [word, packet] of words.entries()) {\n drawWord(svg, packet, word, config);\n }\n svg.append(\"text\").text(title).attr(\"x\", svgWidth / 2).attr(\"y\", svgHeight - totalRowHeight / 2).attr(\"dominant-baseline\", \"middle\").attr(\"text-anchor\", \"middle\").attr(\"class\", \"packetTitle\");\n}, \"draw\");\nvar drawWord = /* @__PURE__ */ __name((svg, word, rowNumber, { rowHeight, paddingX, paddingY, bitWidth, bitsPerRow, showBits }) => {\n const group = svg.append(\"g\");\n const wordY = rowNumber * (rowHeight + paddingY) + paddingY;\n for (const block of word) {\n const blockX = block.start % bitsPerRow * bitWidth + 1;\n const width = (block.end - block.start + 1) * bitWidth - paddingX;\n group.append(\"rect\").attr(\"x\", blockX).attr(\"y\", wordY).attr(\"width\", width).attr(\"height\", rowHeight).attr(\"class\", \"packetBlock\");\n group.append(\"text\").attr(\"x\", blockX + width / 2).attr(\"y\", wordY + rowHeight / 2).attr(\"class\", \"packetLabel\").attr(\"dominant-baseline\", \"middle\").attr(\"text-anchor\", \"middle\").text(block.label);\n if (!showBits) {\n continue;\n }\n const isSingleBlock = block.end === block.start;\n const bitNumberY = wordY - 2;\n group.append(\"text\").attr(\"x\", blockX + (isSingleBlock ? width / 2 : 0)).attr(\"y\", bitNumberY).attr(\"class\", \"packetByte start\").attr(\"dominant-baseline\", \"auto\").attr(\"text-anchor\", isSingleBlock ? \"middle\" : \"start\").text(block.start);\n if (!isSingleBlock) {\n group.append(\"text\").attr(\"x\", blockX + width).attr(\"y\", bitNumberY).attr(\"class\", \"packetByte end\").attr(\"dominant-baseline\", \"auto\").attr(\"text-anchor\", \"end\").text(block.end);\n }\n }\n}, \"drawWord\");\nvar renderer = { draw };\n\n// src/diagrams/packet/styles.ts\nvar defaultPacketStyleOptions = {\n byteFontSize: \"10px\",\n startByteColor: \"black\",\n endByteColor: \"black\",\n labelColor: \"black\",\n labelFontSize: \"12px\",\n titleColor: \"black\",\n titleFontSize: \"14px\",\n blockStrokeColor: \"black\",\n blockStrokeWidth: \"1\",\n blockFillColor: \"#efefef\"\n};\nvar styles = /* @__PURE__ */ __name(({ packet } = {}) => {\n const options = cleanAndMerge(defaultPacketStyleOptions, packet);\n return `\n\t.packetByte {\n\t\tfont-size: ${options.byteFontSize};\n\t}\n\t.packetByte.start {\n\t\tfill: ${options.startByteColor};\n\t}\n\t.packetByte.end {\n\t\tfill: ${options.endByteColor};\n\t}\n\t.packetLabel {\n\t\tfill: ${options.labelColor};\n\t\tfont-size: ${options.labelFontSize};\n\t}\n\t.packetTitle {\n\t\tfill: ${options.titleColor};\n\t\tfont-size: ${options.titleFontSize};\n\t}\n\t.packetBlock {\n\t\tstroke: ${options.blockStrokeColor};\n\t\tstroke-width: ${options.blockStrokeWidth};\n\t\tfill: ${options.blockFillColor};\n\t}\n\t`;\n}, \"styles\");\n\n// src/diagrams/packet/diagram.ts\nvar diagram = {\n parser,\n get db() {\n return new PacketDB();\n },\n renderer,\n styles\n};\nexport {\n diagram\n};\n"],"x_google_ignoreList":[0],"mappings":"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"}
1
+ {"version":3,"file":"diagram-LMA3HP47-BtdvpqaH.js","names":[],"sources":["../../../../../node_modules/.pnpm/mermaid@11.15.0/node_modules/mermaid/dist/chunks/mermaid.core/diagram-LMA3HP47.mjs"],"sourcesContent":["import {\n selectSvgElement\n} from \"./chunk-WU5MYG2G.mjs\";\nimport {\n populateCommonDb\n} from \"./chunk-4BX2VUAB.mjs\";\nimport {\n cleanAndMerge\n} from \"./chunk-5ZQYHXKU.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-CSCIHK7Q.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/packet/db.ts\nvar DEFAULT_PACKET_CONFIG = defaultConfig_default.packet;\nvar PacketDB = class {\n constructor() {\n this.packet = [];\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, \"PacketDB\");\n }\n getConfig() {\n const config = cleanAndMerge({\n ...DEFAULT_PACKET_CONFIG,\n ...getConfig().packet\n });\n if (config.showBits) {\n config.paddingY += 10;\n }\n return config;\n }\n getPacket() {\n return this.packet;\n }\n pushWord(word) {\n if (word.length > 0) {\n this.packet.push(word);\n }\n }\n clear() {\n clear();\n this.packet = [];\n }\n};\n\n// src/diagrams/packet/parser.ts\nimport { parse } from \"@mermaid-js/parser\";\nvar maxPacketSize = 1e4;\nvar populate = /* @__PURE__ */ __name((ast, db) => {\n populateCommonDb(ast, db);\n let lastBit = -1;\n let word = [];\n let row = 1;\n const { bitsPerRow } = db.getConfig();\n for (let { start, end, bits, label } of ast.blocks) {\n if (start !== void 0 && end !== void 0 && end < start) {\n throw new Error(`Packet block ${start} - ${end} is invalid. End must be greater than start.`);\n }\n start ??= lastBit + 1;\n if (start !== lastBit + 1) {\n throw new Error(\n `Packet block ${start} - ${end ?? start} is not contiguous. It should start from ${lastBit + 1}.`\n );\n }\n if (bits === 0) {\n throw new Error(`Packet block ${start} is invalid. Cannot have a zero bit field.`);\n }\n end ??= start + (bits ?? 1) - 1;\n bits ??= end - start + 1;\n lastBit = end;\n log.debug(`Packet block ${start} - ${lastBit} with label ${label}`);\n while (word.length <= bitsPerRow + 1 && db.getPacket().length < maxPacketSize) {\n const [block, nextBlock] = getNextFittingBlock({ start, end, bits, label }, row, bitsPerRow);\n word.push(block);\n if (block.end + 1 === row * bitsPerRow) {\n db.pushWord(word);\n word = [];\n row++;\n }\n if (!nextBlock) {\n break;\n }\n ({ start, end, bits, label } = nextBlock);\n }\n }\n db.pushWord(word);\n}, \"populate\");\nvar getNextFittingBlock = /* @__PURE__ */ __name((block, row, bitsPerRow) => {\n if (block.start === void 0) {\n throw new Error(\"start should have been set during first phase\");\n }\n if (block.end === void 0) {\n throw new Error(\"end should have been set during first phase\");\n }\n if (block.start > block.end) {\n throw new Error(`Block start ${block.start} is greater than block end ${block.end}.`);\n }\n if (block.end + 1 <= row * bitsPerRow) {\n return [block, void 0];\n }\n const rowEnd = row * bitsPerRow - 1;\n const rowStart = row * bitsPerRow;\n return [\n {\n start: block.start,\n end: rowEnd,\n label: block.label,\n bits: rowEnd - block.start\n },\n {\n start: rowStart,\n end: block.end,\n label: block.label,\n bits: block.end - rowStart\n }\n ];\n}, \"getNextFittingBlock\");\nvar parser = {\n // @ts-expect-error - PacketDB is not assignable to DiagramDB\n parser: { yy: void 0 },\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"packet\", input);\n const db = parser.parser?.yy;\n if (!(db instanceof PacketDB)) {\n throw new Error(\n \"parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.\"\n );\n }\n log.debug(ast);\n populate(ast, db);\n }, \"parse\")\n};\n\n// src/diagrams/packet/renderer.ts\nvar draw = /* @__PURE__ */ __name((_text, id, _version, diagram2) => {\n const db = diagram2.db;\n const config = db.getConfig();\n const { rowHeight, paddingY, bitWidth, bitsPerRow } = config;\n const words = db.getPacket();\n const title = db.getDiagramTitle();\n const totalRowHeight = rowHeight + paddingY;\n const svgHeight = totalRowHeight * (words.length + 1) - (title ? 0 : rowHeight);\n const svgWidth = bitWidth * bitsPerRow + 2;\n const svg = selectSvgElement(id);\n svg.attr(\"viewBox\", `0 0 ${svgWidth} ${svgHeight}`);\n configureSvgSize(svg, svgHeight, svgWidth, config.useMaxWidth);\n for (const [word, packet] of words.entries()) {\n drawWord(svg, packet, word, config);\n }\n svg.append(\"text\").text(title).attr(\"x\", svgWidth / 2).attr(\"y\", svgHeight - totalRowHeight / 2).attr(\"dominant-baseline\", \"middle\").attr(\"text-anchor\", \"middle\").attr(\"class\", \"packetTitle\");\n}, \"draw\");\nvar drawWord = /* @__PURE__ */ __name((svg, word, rowNumber, { rowHeight, paddingX, paddingY, bitWidth, bitsPerRow, showBits }) => {\n const group = svg.append(\"g\");\n const wordY = rowNumber * (rowHeight + paddingY) + paddingY;\n for (const block of word) {\n const blockX = block.start % bitsPerRow * bitWidth + 1;\n const width = (block.end - block.start + 1) * bitWidth - paddingX;\n group.append(\"rect\").attr(\"x\", blockX).attr(\"y\", wordY).attr(\"width\", width).attr(\"height\", rowHeight).attr(\"class\", \"packetBlock\");\n group.append(\"text\").attr(\"x\", blockX + width / 2).attr(\"y\", wordY + rowHeight / 2).attr(\"class\", \"packetLabel\").attr(\"dominant-baseline\", \"middle\").attr(\"text-anchor\", \"middle\").text(block.label);\n if (!showBits) {\n continue;\n }\n const isSingleBlock = block.end === block.start;\n const bitNumberY = wordY - 2;\n group.append(\"text\").attr(\"x\", blockX + (isSingleBlock ? width / 2 : 0)).attr(\"y\", bitNumberY).attr(\"class\", \"packetByte start\").attr(\"dominant-baseline\", \"auto\").attr(\"text-anchor\", isSingleBlock ? \"middle\" : \"start\").text(block.start);\n if (!isSingleBlock) {\n group.append(\"text\").attr(\"x\", blockX + width).attr(\"y\", bitNumberY).attr(\"class\", \"packetByte end\").attr(\"dominant-baseline\", \"auto\").attr(\"text-anchor\", \"end\").text(block.end);\n }\n }\n}, \"drawWord\");\nvar renderer = { draw };\n\n// src/diagrams/packet/styles.ts\nvar defaultPacketStyleOptions = {\n byteFontSize: \"10px\",\n startByteColor: \"black\",\n endByteColor: \"black\",\n labelColor: \"black\",\n labelFontSize: \"12px\",\n titleColor: \"black\",\n titleFontSize: \"14px\",\n blockStrokeColor: \"black\",\n blockStrokeWidth: \"1\",\n blockFillColor: \"#efefef\"\n};\nvar styles = /* @__PURE__ */ __name(({ packet } = {}) => {\n const options = cleanAndMerge(defaultPacketStyleOptions, packet);\n return `\n\t.packetByte {\n\t\tfont-size: ${options.byteFontSize};\n\t}\n\t.packetByte.start {\n\t\tfill: ${options.startByteColor};\n\t}\n\t.packetByte.end {\n\t\tfill: ${options.endByteColor};\n\t}\n\t.packetLabel {\n\t\tfill: ${options.labelColor};\n\t\tfont-size: ${options.labelFontSize};\n\t}\n\t.packetTitle {\n\t\tfill: ${options.titleColor};\n\t\tfont-size: ${options.titleFontSize};\n\t}\n\t.packetBlock {\n\t\tstroke: ${options.blockStrokeColor};\n\t\tstroke-width: ${options.blockStrokeWidth};\n\t\tfill: ${options.blockFillColor};\n\t}\n\t`;\n}, \"styles\");\n\n// src/diagrams/packet/diagram.ts\nvar diagram = {\n parser,\n get db() {\n return new PacketDB();\n },\n renderer,\n styles\n};\nexport {\n diagram\n};\n"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import{g as e,h as t,p as n}from"./src-DoMhBUqV.js";import{D as r,H as i,K as a,U as o,a as s,b as c,c as l,f as u,v as d,w as f,y as p}from"./chunk-CSCIHK7Q-Bo3glXo1.js";import{t as m}from"./ordinal-DjeI0KOh.js";import{t as h}from"./defaultLocale-BGJ623y0.js";import{i as g}from"./chunk-5ZQYHXKU-CxDIhrF-.js";import{i as _,n as v}from"./chunk-NZK2D7GU-BbPAL6yn.js";import{a as y}from"./index-BfPuPCFp.js";import{t as b}from"./chunk-4BX2VUAB-BqYEJTr3.js";import{t as x}from"./mermaid-parser.core-CZyyUBUW.js";import{t as S}from"./chunk-2J33WTMH-Lf1eCW8w.js";function C(e){var t=0,n=e.children,r=n&&n.length;if(!r)t=1;else for(;--r>=0;)t+=n[r].value;e.value=t}function w(){return this.eachAfter(C)}function T(e,t){let n=-1;for(let r of this)e.call(t,r,++n,this);return this}function E(e,t){for(var n=this,r=[n],i,a,o=-1;n=r.pop();)if(e.call(t,n,++o,this),i=n.children)for(a=i.length-1;a>=0;--a)r.push(i[a]);return this}function D(e,t){for(var n=this,r=[n],i=[],a,o,s,c=-1;n=r.pop();)if(i.push(n),a=n.children)for(o=0,s=a.length;o<s;++o)r.push(a[o]);for(;n=i.pop();)e.call(t,n,++c,this);return this}function O(e,t){let n=-1;for(let r of this)if(e.call(t,r,++n,this))return r}function k(e){return this.eachAfter(function(t){for(var n=+e(t.data)||0,r=t.children,i=r&&r.length;--i>=0;)n+=r[i].value;t.value=n})}function A(e){return this.eachBefore(function(t){t.children&&t.children.sort(e)})}function j(e){for(var t=this,n=M(t,e),r=[t];t!==n;)t=t.parent,r.push(t);for(var i=r.length;e!==n;)r.splice(i,0,e),e=e.parent;return r}function M(e,t){if(e===t)return e;var n=e.ancestors(),r=t.ancestors(),i=null;for(e=n.pop(),t=r.pop();e===t;)i=e,e=n.pop(),t=r.pop();return i}function N(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t}function P(){return Array.from(this)}function F(){var e=[];return this.eachBefore(function(t){t.children||e.push(t)}),e}function I(){var e=this,t=[];return e.each(function(n){n!==e&&t.push({source:n.parent,target:n})}),t}function*L(){var e=this,t,n=[e],r,i,a;do for(t=n.reverse(),n=[];e=t.pop();)if(yield e,r=e.children)for(i=0,a=r.length;i<a;++i)n.push(r[i]);while(n.length)}function R(e,t){e instanceof Map?(e=[void 0,e],t===void 0&&(t=V)):t===void 0&&(t=B);for(var n=new W(e),r,i=[n],a,o,s,c;r=i.pop();)if((o=t(r.data))&&(c=(o=Array.from(o)).length))for(r.children=o,s=c-1;s>=0;--s)i.push(a=o[s]=new W(o[s])),a.parent=r,a.depth=r.depth+1;return n.eachBefore(U)}function z(){return R(this).eachBefore(H)}function B(e){return e.children}function V(e){return Array.isArray(e)?e[1]:null}function H(e){e.data.value!==void 0&&(e.value=e.data.value),e.data=e.data.data}function U(e){var t=0;do e.height=t;while((e=e.parent)&&e.height<++t)}function W(e){this.data=e,this.depth=this.height=0,this.parent=null}W.prototype=R.prototype={constructor:W,count:w,each:T,eachAfter:D,eachBefore:E,find:O,sum:k,sort:A,path:j,ancestors:N,descendants:P,leaves:F,links:I,copy:z,[Symbol.iterator]:L};function G(e){if(typeof e!=`function`)throw Error();return e}function K(){return 0}function q(e){return function(){return e}}function J(e){e.x0=Math.round(e.x0),e.y0=Math.round(e.y0),e.x1=Math.round(e.x1),e.y1=Math.round(e.y1)}function ee(e,t,n,r,i){for(var a=e.children,o,s=-1,c=a.length,l=e.value&&(r-t)/e.value;++s<c;)o=a[s],o.y0=n,o.y1=i,o.x0=t,o.x1=t+=o.value*l}function te(e,t,n,r,i){for(var a=e.children,o,s=-1,c=a.length,l=e.value&&(i-n)/e.value;++s<c;)o=a[s],o.x0=t,o.x1=r,o.y0=n,o.y1=n+=o.value*l}var ne=(1+Math.sqrt(5))/2;function re(e,t,n,r,i,a){for(var o=[],s=t.children,c,l,u=0,d=0,f=s.length,p,m,h=t.value,g,_,v,y,b,x,S;u<f;){p=i-n,m=a-r;do g=s[d++].value;while(!g&&d<f);for(_=v=g,x=Math.max(m/p,p/m)/(h*e),S=g*g*x,b=Math.max(v/S,S/_);d<f;++d){if(g+=l=s[d].value,l<_&&(_=l),l>v&&(v=l),S=g*g*x,y=Math.max(v/S,S/_),y>b){g-=l;break}b=y}o.push(c={value:g,dice:p<m,children:s.slice(u,d)}),c.dice?ee(c,n,r,i,h?r+=m*g/h:a):te(c,n,r,h?n+=p*g/h:i,a),h-=g,u=d}return o}var ie=(function e(t){function n(e,n,r,i,a){re(t,e,n,r,i,a)}return n.ratio=function(t){return e((t=+t)>1?t:1)},n})(ne);function ae(){var e=ie,t=!1,n=1,r=1,i=[0],a=K,o=K,s=K,c=K,l=K;function u(e){return e.x0=e.y0=0,e.x1=n,e.y1=r,e.eachBefore(d),i=[0],t&&e.eachBefore(J),e}function d(t){var n=i[t.depth],r=t.x0+n,u=t.y0+n,d=t.x1-n,f=t.y1-n;d<r&&(r=d=(r+d)/2),f<u&&(u=f=(u+f)/2),t.x0=r,t.y0=u,t.x1=d,t.y1=f,t.children&&(n=i[t.depth+1]=a(t)/2,r+=l(t)-n,u+=o(t)-n,d-=s(t)-n,f-=c(t)-n,d<r&&(r=d=(r+d)/2),f<u&&(u=f=(u+f)/2),e(t,r,u,d,f))}return u.round=function(e){return arguments.length?(t=!!e,u):t},u.size=function(e){return arguments.length?(n=+e[0],r=+e[1],u):[n,r]},u.tile=function(t){return arguments.length?(e=G(t),u):e},u.padding=function(e){return arguments.length?u.paddingInner(e).paddingOuter(e):u.paddingInner()},u.paddingInner=function(e){return arguments.length?(a=typeof e==`function`?e:q(+e),u):a},u.paddingOuter=function(e){return arguments.length?u.paddingTop(e).paddingRight(e).paddingBottom(e).paddingLeft(e):u.paddingTop()},u.paddingTop=function(e){return arguments.length?(o=typeof e==`function`?e:q(+e),u):o},u.paddingRight=function(e){return arguments.length?(s=typeof e==`function`?e:q(+e),u):s},u.paddingBottom=function(e){return arguments.length?(c=typeof e==`function`?e:q(+e),u):c},u.paddingLeft=function(e){return arguments.length?(l=typeof e==`function`?e:q(+e),u):l},u}var Y=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=o,this.getAccTitle=p,this.setDiagramTitle=a,this.getDiagramTitle=f,this.getAccDescription=d,this.setAccDescription=i}static{t(this,`TreeMapDB`)}getNodes(){return this.nodes}getConfig(){let e=u,t=c();return g({...e.treemap,...t.treemap??{}})}addNode(e,t){this.nodes.push(e),this.levels.set(e,t),t===0&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:``,children:this.outerNodes}}addClass(e,t){let n=this.classes.get(e)??{id:e,styles:[],textStyles:[]},r=t.replace(/\\,/g,`§§§`).replace(/,/g,`;`).replace(/§§§/g,`,`).split(`;`);r&&r.forEach(e=>{v(e)&&(n?.textStyles?n.textStyles.push(e):n.textStyles=[e]),n?.styles?n.styles.push(e):n.styles=[e]}),this.classes.set(e,n)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){s(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}};function X(e){if(!e.length)return[];let t=[],n=[];return e.forEach(e=>{let r={name:e.name,children:e.type===`Leaf`?void 0:[]};for(r.classSelector=e?.classSelector,e?.cssCompiledStyles&&(r.cssCompiledStyles=e.cssCompiledStyles),e.type===`Leaf`&&e.value!==void 0&&(r.value=e.value);n.length>0&&n[n.length-1].level>=e.level;)n.pop();if(n.length===0)t.push(r);else{let e=n[n.length-1].node;e.children?e.children.push(r):e.children=[r]}e.type!==`Leaf`&&n.push({node:r,level:e.level})}),t}t(X,`buildHierarchy`);var oe=t((e,n)=>{b(e,n);let r=[];for(let t of e.TreemapRows??[])t.$type===`ClassDefStatement`&&n.addClass(t.className??``,t.styleText??``);for(let t of e.TreemapRows??[]){let e=t.item;if(!e)continue;let i=t.indent?parseInt(t.indent):0,a=se(e),o=e.classSelector?n.getStylesForClass(e.classSelector):[],s=o.length>0?o:void 0,c={level:i,name:a,type:e.$type,value:e.value,classSelector:e.classSelector,cssCompiledStyles:s};r.push(c)}let i=X(r),a=t((e,t)=>{for(let r of e)n.addNode(r,t),r.children&&r.children.length>0&&a(r.children,t+1)},`addNodesRecursively`);a(i,0)},`populate`),se=t(e=>e.name?String(e.name):``,`getItemName`),Z={parser:{yy:void 0},parse:t(async t=>{try{let n=await x(`treemap`,t);e.debug(`Treemap AST:`,n);let r=Z.parser?.yy;if(!(r instanceof Y))throw Error(`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.`);oe(n,r)}catch(t){throw e.error(`Error parsing treemap:`,t),t}},`parse`)},ce=10,Q=10,$=25,le={draw:t((r,i,a,o)=>{let s=o.db,u=s.getConfig(),d=u.padding??ce,f=s.getDiagramTitle(),p=s.getRoot(),{themeVariables:g}=c();if(!p)return;let v=f?30:0,b=y(i),x=u.nodeWidth?u.nodeWidth*Q:960,C=u.nodeHeight?u.nodeHeight*Q:500,w=x,T=C+v;b.attr(`viewBox`,`0 0 ${w} ${T}`),l(b,T,w,u.useMaxWidth);let E;try{let e=u.valueFormat||`,`;if(e===`$0,0`)E=t(e=>`$`+h(`,`)(e),`valueFormat`);else if(e.startsWith(`$`)&&e.includes(`,`)){let n=/\.\d+/.exec(e),r=n?n[0]:``;E=t(e=>`$`+h(`,`+r)(e),`valueFormat`)}else if(e.startsWith(`$`)){let n=e.substring(1);E=t(e=>`$`+h(n||``)(e),`valueFormat`)}else E=h(e)}catch(t){e.error(`Error creating format function:`,t),E=h(`,`)}let D=m().range([`transparent`,g.cScale0,g.cScale1,g.cScale2,g.cScale3,g.cScale4,g.cScale5,g.cScale6,g.cScale7,g.cScale8,g.cScale9,g.cScale10,g.cScale11]),O=m().range([`transparent`,g.cScalePeer0,g.cScalePeer1,g.cScalePeer2,g.cScalePeer3,g.cScalePeer4,g.cScalePeer5,g.cScalePeer6,g.cScalePeer7,g.cScalePeer8,g.cScalePeer9,g.cScalePeer10,g.cScalePeer11]),k=m().range([g.cScaleLabel0,g.cScaleLabel1,g.cScaleLabel2,g.cScaleLabel3,g.cScaleLabel4,g.cScaleLabel5,g.cScaleLabel6,g.cScaleLabel7,g.cScaleLabel8,g.cScaleLabel9,g.cScaleLabel10,g.cScaleLabel11]);f&&b.append(`text`).attr(`x`,w/2).attr(`y`,v/2).attr(`class`,`treemapTitle`).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(f);let A=b.append(`g`).attr(`transform`,`translate(0, ${v})`).attr(`class`,`treemapContainer`),j=R(p).sum(e=>e.value??0).sort((e,t)=>(t.value??0)-(e.value??0)),M=ae().size([x,C]).paddingTop(e=>e.children&&e.children.length>0?$+Q:0).paddingInner(d).paddingLeft(e=>e.children&&e.children.length>0?Q:0).paddingRight(e=>e.children&&e.children.length>0?Q:0).paddingBottom(e=>e.children&&e.children.length>0?Q:0).round(!0)(j),N=M.descendants().filter(e=>e.children&&e.children.length>0),P=A.selectAll(`.treemapSection`).data(N).enter().append(`g`).attr(`class`,`treemapSection`).attr(`transform`,e=>`translate(${e.x0},${e.y0})`);P.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,$).attr(`class`,`treemapSectionHeader`).attr(`fill`,`none`).attr(`fill-opacity`,.6).attr(`stroke-width`,.6).attr(`style`,e=>e.depth===0?`display: none;`:``),P.append(`clipPath`).attr(`id`,(e,t)=>`clip-section-${i}-${t}`).append(`rect`).attr(`width`,e=>Math.max(0,e.x1-e.x0-12)).attr(`height`,$),P.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,e=>e.y1-e.y0).attr(`class`,(e,t)=>`treemapSection section${t}`).attr(`fill`,e=>D(e.data.name)).attr(`fill-opacity`,.6).attr(`stroke`,e=>O(e.data.name)).attr(`stroke-width`,2).attr(`stroke-opacity`,.4).attr(`style`,e=>{if(e.depth===0)return`display: none;`;let t=_({cssCompiledStyles:e.data.cssCompiledStyles});return t.nodeStyles+`;`+t.borderStyles.join(`;`)}),P.append(`text`).attr(`class`,`treemapSectionLabel`).attr(`x`,6).attr(`y`,$/2).attr(`dominant-baseline`,`middle`).text(e=>e.depth===0?``:e.data.name).attr(`font-weight`,`bold`).attr(`style`,e=>e.depth===0?`display: none;`:`dominant-baseline: middle; font-size: 12px; fill:`+k(e.data.name)+`; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;`+_({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).each(function(e){if(e.depth===0)return;let t=n(this),r=e.data.name;t.text(r);let i=e.x1-e.x0,a;a=u.showValues!==!1&&e.value?i-10-30-10-6:i-6-6;let o=Math.max(15,a),s=t.node();if(s.getComputedTextLength()>o){let e=r;for(;e.length>0;){if(e=r.substring(0,e.length-1),e.length===0){t.text(`...`),s.getComputedTextLength()>o&&t.text(``);break}if(t.text(e+`...`),s.getComputedTextLength()<=o)break}}}),u.showValues!==!1&&P.append(`text`).attr(`class`,`treemapSectionValue`).attr(`x`,e=>e.x1-e.x0-10).attr(`y`,$/2).attr(`text-anchor`,`end`).attr(`dominant-baseline`,`middle`).text(e=>e.value?E(e.value):``).attr(`font-style`,`italic`).attr(`style`,e=>e.depth===0?`display: none;`:`text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:`+k(e.data.name)+`; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;`+_({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`));let F=M.leaves(),I=A.selectAll(`.treemapLeafGroup`).data(F).enter().append(`g`).attr(`class`,(e,t)=>`treemapNode treemapLeafGroup leaf${t}${e.data.classSelector?` ${e.data.classSelector}`:``}x`).attr(`transform`,e=>`translate(${e.x0},${e.y0})`);I.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,e=>e.y1-e.y0).attr(`class`,`treemapLeaf`).attr(`fill`,e=>e.parent?D(e.parent.data.name):D(e.data.name)).attr(`style`,e=>_({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr(`fill-opacity`,.3).attr(`stroke`,e=>e.parent?D(e.parent.data.name):D(e.data.name)).attr(`stroke-width`,3),I.append(`clipPath`).attr(`id`,(e,t)=>`clip-${i}-${t}`).append(`rect`).attr(`width`,e=>Math.max(0,e.x1-e.x0-4)).attr(`height`,e=>Math.max(0,e.y1-e.y0-4)),I.append(`text`).attr(`class`,`treemapLabel`).attr(`x`,e=>(e.x1-e.x0)/2).attr(`y`,e=>(e.y1-e.y0)/2).attr(`style`,e=>`text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:`+k(e.data.name)+`;`+_({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).attr(`clip-path`,(e,t)=>`url(#clip-${i}-${t})`).text(e=>e.data.name).each(function(e){let t=n(this),r=e.x1-e.x0,i=e.y1-e.y0,a=t.node(),o=r-8,s=i-8;if(o<10||s<10){t.style(`display`,`none`);return}let c=parseInt(t.style(`font-size`),10),l=.6;for(;a.getComputedTextLength()>o&&c>8;)c--,t.style(`font-size`,`${c}px`);let u=Math.max(6,Math.min(28,Math.round(c*l))),d=c+2+u;for(;d>s&&c>8&&(c--,u=Math.max(6,Math.min(28,Math.round(c*l))),!(u<6&&c===8));)t.style(`font-size`,`${c}px`),d=c+2+u;t.style(`font-size`,`${c}px`),(a.getComputedTextLength()>o||c<8||s<c)&&t.style(`display`,`none`)}),u.showValues!==!1&&I.append(`text`).attr(`class`,`treemapValue`).attr(`x`,e=>(e.x1-e.x0)/2).attr(`y`,function(e){return(e.y1-e.y0)/2}).attr(`style`,e=>`text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:`+k(e.data.name)+`;`+_({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).attr(`clip-path`,(e,t)=>`url(#clip-${i}-${t})`).text(e=>e.value?E(e.value):``).each(function(e){let t=n(this),r=this.parentNode;if(!r){t.style(`display`,`none`);return}let i=n(r).select(`.treemapLabel`);if(i.empty()||i.style(`display`)===`none`){t.style(`display`,`none`);return}let a=parseFloat(i.style(`font-size`)),o=Math.max(6,Math.min(28,Math.round(a*.6)));t.style(`font-size`,`${o}px`);let s=(e.y1-e.y0)/2+a/2+2;t.attr(`y`,s);let c=e.x1-e.x0,l=e.y1-e.y0-4,u=c-8;t.node().getComputedTextLength()>u||s+o>l||o<6?t.style(`display`,`none`):t.style(`display`,null)}),S(b,u.diagramPadding??8,`flowchart`,u?.useMaxWidth||!1)},`draw`),getClasses:t(function(e,t){return t.db.getClasses()},`getClasses`)},ue={sectionStrokeColor:`black`,sectionStrokeWidth:`1`,sectionFillColor:`#efefef`,leafStrokeColor:`black`,leafStrokeWidth:`1`,leafFillColor:`#efefef`,labelFontSize:`12px`,valueFontSize:`10px`,titleFontSize:`14px`},de={parser:Z,get db(){return new Y},renderer:le,styles:t(({treemap:e}={})=>{let t=g(r(),c().themeVariables),n=g(ue,e),i=n.titleColor??t.titleColor,a=n.labelColor??t.textColor,o=n.valueColor??t.textColor;return`
1
+ import{g as e,h as t,p as n}from"./src-DoMhBUqV.js";import{D as r,H as i,K as a,U as o,a as s,b as c,c as l,f as u,v as d,w as f,y as p}from"./chunk-CSCIHK7Q-BBzr5U3o.js";import{t as m}from"./ordinal-DjeI0KOh.js";import{t as h}from"./defaultLocale-BGJ623y0.js";import{i as g}from"./chunk-5ZQYHXKU-B_3UEJ_q.js";import{i as _,n as v}from"./chunk-NZK2D7GU-DuwDtSGJ.js";import{a as y}from"./index-D5tmHkO_.js";import{t as b}from"./chunk-4BX2VUAB-BqYEJTr3.js";import{t as x}from"./mermaid-parser.core-BO_-QleW.js";import{t as S}from"./chunk-2J33WTMH-DaEvWRZX.js";function C(e){var t=0,n=e.children,r=n&&n.length;if(!r)t=1;else for(;--r>=0;)t+=n[r].value;e.value=t}function w(){return this.eachAfter(C)}function T(e,t){let n=-1;for(let r of this)e.call(t,r,++n,this);return this}function E(e,t){for(var n=this,r=[n],i,a,o=-1;n=r.pop();)if(e.call(t,n,++o,this),i=n.children)for(a=i.length-1;a>=0;--a)r.push(i[a]);return this}function D(e,t){for(var n=this,r=[n],i=[],a,o,s,c=-1;n=r.pop();)if(i.push(n),a=n.children)for(o=0,s=a.length;o<s;++o)r.push(a[o]);for(;n=i.pop();)e.call(t,n,++c,this);return this}function O(e,t){let n=-1;for(let r of this)if(e.call(t,r,++n,this))return r}function k(e){return this.eachAfter(function(t){for(var n=+e(t.data)||0,r=t.children,i=r&&r.length;--i>=0;)n+=r[i].value;t.value=n})}function A(e){return this.eachBefore(function(t){t.children&&t.children.sort(e)})}function j(e){for(var t=this,n=M(t,e),r=[t];t!==n;)t=t.parent,r.push(t);for(var i=r.length;e!==n;)r.splice(i,0,e),e=e.parent;return r}function M(e,t){if(e===t)return e;var n=e.ancestors(),r=t.ancestors(),i=null;for(e=n.pop(),t=r.pop();e===t;)i=e,e=n.pop(),t=r.pop();return i}function N(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t}function P(){return Array.from(this)}function F(){var e=[];return this.eachBefore(function(t){t.children||e.push(t)}),e}function I(){var e=this,t=[];return e.each(function(n){n!==e&&t.push({source:n.parent,target:n})}),t}function*L(){var e=this,t,n=[e],r,i,a;do for(t=n.reverse(),n=[];e=t.pop();)if(yield e,r=e.children)for(i=0,a=r.length;i<a;++i)n.push(r[i]);while(n.length)}function R(e,t){e instanceof Map?(e=[void 0,e],t===void 0&&(t=V)):t===void 0&&(t=B);for(var n=new W(e),r,i=[n],a,o,s,c;r=i.pop();)if((o=t(r.data))&&(c=(o=Array.from(o)).length))for(r.children=o,s=c-1;s>=0;--s)i.push(a=o[s]=new W(o[s])),a.parent=r,a.depth=r.depth+1;return n.eachBefore(U)}function z(){return R(this).eachBefore(H)}function B(e){return e.children}function V(e){return Array.isArray(e)?e[1]:null}function H(e){e.data.value!==void 0&&(e.value=e.data.value),e.data=e.data.data}function U(e){var t=0;do e.height=t;while((e=e.parent)&&e.height<++t)}function W(e){this.data=e,this.depth=this.height=0,this.parent=null}W.prototype=R.prototype={constructor:W,count:w,each:T,eachAfter:D,eachBefore:E,find:O,sum:k,sort:A,path:j,ancestors:N,descendants:P,leaves:F,links:I,copy:z,[Symbol.iterator]:L};function G(e){if(typeof e!=`function`)throw Error();return e}function K(){return 0}function q(e){return function(){return e}}function J(e){e.x0=Math.round(e.x0),e.y0=Math.round(e.y0),e.x1=Math.round(e.x1),e.y1=Math.round(e.y1)}function ee(e,t,n,r,i){for(var a=e.children,o,s=-1,c=a.length,l=e.value&&(r-t)/e.value;++s<c;)o=a[s],o.y0=n,o.y1=i,o.x0=t,o.x1=t+=o.value*l}function te(e,t,n,r,i){for(var a=e.children,o,s=-1,c=a.length,l=e.value&&(i-n)/e.value;++s<c;)o=a[s],o.x0=t,o.x1=r,o.y0=n,o.y1=n+=o.value*l}var ne=(1+Math.sqrt(5))/2;function re(e,t,n,r,i,a){for(var o=[],s=t.children,c,l,u=0,d=0,f=s.length,p,m,h=t.value,g,_,v,y,b,x,S;u<f;){p=i-n,m=a-r;do g=s[d++].value;while(!g&&d<f);for(_=v=g,x=Math.max(m/p,p/m)/(h*e),S=g*g*x,b=Math.max(v/S,S/_);d<f;++d){if(g+=l=s[d].value,l<_&&(_=l),l>v&&(v=l),S=g*g*x,y=Math.max(v/S,S/_),y>b){g-=l;break}b=y}o.push(c={value:g,dice:p<m,children:s.slice(u,d)}),c.dice?ee(c,n,r,i,h?r+=m*g/h:a):te(c,n,r,h?n+=p*g/h:i,a),h-=g,u=d}return o}var ie=(function e(t){function n(e,n,r,i,a){re(t,e,n,r,i,a)}return n.ratio=function(t){return e((t=+t)>1?t:1)},n})(ne);function ae(){var e=ie,t=!1,n=1,r=1,i=[0],a=K,o=K,s=K,c=K,l=K;function u(e){return e.x0=e.y0=0,e.x1=n,e.y1=r,e.eachBefore(d),i=[0],t&&e.eachBefore(J),e}function d(t){var n=i[t.depth],r=t.x0+n,u=t.y0+n,d=t.x1-n,f=t.y1-n;d<r&&(r=d=(r+d)/2),f<u&&(u=f=(u+f)/2),t.x0=r,t.y0=u,t.x1=d,t.y1=f,t.children&&(n=i[t.depth+1]=a(t)/2,r+=l(t)-n,u+=o(t)-n,d-=s(t)-n,f-=c(t)-n,d<r&&(r=d=(r+d)/2),f<u&&(u=f=(u+f)/2),e(t,r,u,d,f))}return u.round=function(e){return arguments.length?(t=!!e,u):t},u.size=function(e){return arguments.length?(n=+e[0],r=+e[1],u):[n,r]},u.tile=function(t){return arguments.length?(e=G(t),u):e},u.padding=function(e){return arguments.length?u.paddingInner(e).paddingOuter(e):u.paddingInner()},u.paddingInner=function(e){return arguments.length?(a=typeof e==`function`?e:q(+e),u):a},u.paddingOuter=function(e){return arguments.length?u.paddingTop(e).paddingRight(e).paddingBottom(e).paddingLeft(e):u.paddingTop()},u.paddingTop=function(e){return arguments.length?(o=typeof e==`function`?e:q(+e),u):o},u.paddingRight=function(e){return arguments.length?(s=typeof e==`function`?e:q(+e),u):s},u.paddingBottom=function(e){return arguments.length?(c=typeof e==`function`?e:q(+e),u):c},u.paddingLeft=function(e){return arguments.length?(l=typeof e==`function`?e:q(+e),u):l},u}var Y=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=o,this.getAccTitle=p,this.setDiagramTitle=a,this.getDiagramTitle=f,this.getAccDescription=d,this.setAccDescription=i}static{t(this,`TreeMapDB`)}getNodes(){return this.nodes}getConfig(){let e=u,t=c();return g({...e.treemap,...t.treemap??{}})}addNode(e,t){this.nodes.push(e),this.levels.set(e,t),t===0&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:``,children:this.outerNodes}}addClass(e,t){let n=this.classes.get(e)??{id:e,styles:[],textStyles:[]},r=t.replace(/\\,/g,`§§§`).replace(/,/g,`;`).replace(/§§§/g,`,`).split(`;`);r&&r.forEach(e=>{v(e)&&(n?.textStyles?n.textStyles.push(e):n.textStyles=[e]),n?.styles?n.styles.push(e):n.styles=[e]}),this.classes.set(e,n)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){s(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}};function X(e){if(!e.length)return[];let t=[],n=[];return e.forEach(e=>{let r={name:e.name,children:e.type===`Leaf`?void 0:[]};for(r.classSelector=e?.classSelector,e?.cssCompiledStyles&&(r.cssCompiledStyles=e.cssCompiledStyles),e.type===`Leaf`&&e.value!==void 0&&(r.value=e.value);n.length>0&&n[n.length-1].level>=e.level;)n.pop();if(n.length===0)t.push(r);else{let e=n[n.length-1].node;e.children?e.children.push(r):e.children=[r]}e.type!==`Leaf`&&n.push({node:r,level:e.level})}),t}t(X,`buildHierarchy`);var oe=t((e,n)=>{b(e,n);let r=[];for(let t of e.TreemapRows??[])t.$type===`ClassDefStatement`&&n.addClass(t.className??``,t.styleText??``);for(let t of e.TreemapRows??[]){let e=t.item;if(!e)continue;let i=t.indent?parseInt(t.indent):0,a=se(e),o=e.classSelector?n.getStylesForClass(e.classSelector):[],s=o.length>0?o:void 0,c={level:i,name:a,type:e.$type,value:e.value,classSelector:e.classSelector,cssCompiledStyles:s};r.push(c)}let i=X(r),a=t((e,t)=>{for(let r of e)n.addNode(r,t),r.children&&r.children.length>0&&a(r.children,t+1)},`addNodesRecursively`);a(i,0)},`populate`),se=t(e=>e.name?String(e.name):``,`getItemName`),Z={parser:{yy:void 0},parse:t(async t=>{try{let n=await x(`treemap`,t);e.debug(`Treemap AST:`,n);let r=Z.parser?.yy;if(!(r instanceof Y))throw Error(`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.`);oe(n,r)}catch(t){throw e.error(`Error parsing treemap:`,t),t}},`parse`)},ce=10,Q=10,$=25,le={draw:t((r,i,a,o)=>{let s=o.db,u=s.getConfig(),d=u.padding??ce,f=s.getDiagramTitle(),p=s.getRoot(),{themeVariables:g}=c();if(!p)return;let v=f?30:0,b=y(i),x=u.nodeWidth?u.nodeWidth*Q:960,C=u.nodeHeight?u.nodeHeight*Q:500,w=x,T=C+v;b.attr(`viewBox`,`0 0 ${w} ${T}`),l(b,T,w,u.useMaxWidth);let E;try{let e=u.valueFormat||`,`;if(e===`$0,0`)E=t(e=>`$`+h(`,`)(e),`valueFormat`);else if(e.startsWith(`$`)&&e.includes(`,`)){let n=/\.\d+/.exec(e),r=n?n[0]:``;E=t(e=>`$`+h(`,`+r)(e),`valueFormat`)}else if(e.startsWith(`$`)){let n=e.substring(1);E=t(e=>`$`+h(n||``)(e),`valueFormat`)}else E=h(e)}catch(t){e.error(`Error creating format function:`,t),E=h(`,`)}let D=m().range([`transparent`,g.cScale0,g.cScale1,g.cScale2,g.cScale3,g.cScale4,g.cScale5,g.cScale6,g.cScale7,g.cScale8,g.cScale9,g.cScale10,g.cScale11]),O=m().range([`transparent`,g.cScalePeer0,g.cScalePeer1,g.cScalePeer2,g.cScalePeer3,g.cScalePeer4,g.cScalePeer5,g.cScalePeer6,g.cScalePeer7,g.cScalePeer8,g.cScalePeer9,g.cScalePeer10,g.cScalePeer11]),k=m().range([g.cScaleLabel0,g.cScaleLabel1,g.cScaleLabel2,g.cScaleLabel3,g.cScaleLabel4,g.cScaleLabel5,g.cScaleLabel6,g.cScaleLabel7,g.cScaleLabel8,g.cScaleLabel9,g.cScaleLabel10,g.cScaleLabel11]);f&&b.append(`text`).attr(`x`,w/2).attr(`y`,v/2).attr(`class`,`treemapTitle`).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(f);let A=b.append(`g`).attr(`transform`,`translate(0, ${v})`).attr(`class`,`treemapContainer`),j=R(p).sum(e=>e.value??0).sort((e,t)=>(t.value??0)-(e.value??0)),M=ae().size([x,C]).paddingTop(e=>e.children&&e.children.length>0?$+Q:0).paddingInner(d).paddingLeft(e=>e.children&&e.children.length>0?Q:0).paddingRight(e=>e.children&&e.children.length>0?Q:0).paddingBottom(e=>e.children&&e.children.length>0?Q:0).round(!0)(j),N=M.descendants().filter(e=>e.children&&e.children.length>0),P=A.selectAll(`.treemapSection`).data(N).enter().append(`g`).attr(`class`,`treemapSection`).attr(`transform`,e=>`translate(${e.x0},${e.y0})`);P.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,$).attr(`class`,`treemapSectionHeader`).attr(`fill`,`none`).attr(`fill-opacity`,.6).attr(`stroke-width`,.6).attr(`style`,e=>e.depth===0?`display: none;`:``),P.append(`clipPath`).attr(`id`,(e,t)=>`clip-section-${i}-${t}`).append(`rect`).attr(`width`,e=>Math.max(0,e.x1-e.x0-12)).attr(`height`,$),P.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,e=>e.y1-e.y0).attr(`class`,(e,t)=>`treemapSection section${t}`).attr(`fill`,e=>D(e.data.name)).attr(`fill-opacity`,.6).attr(`stroke`,e=>O(e.data.name)).attr(`stroke-width`,2).attr(`stroke-opacity`,.4).attr(`style`,e=>{if(e.depth===0)return`display: none;`;let t=_({cssCompiledStyles:e.data.cssCompiledStyles});return t.nodeStyles+`;`+t.borderStyles.join(`;`)}),P.append(`text`).attr(`class`,`treemapSectionLabel`).attr(`x`,6).attr(`y`,$/2).attr(`dominant-baseline`,`middle`).text(e=>e.depth===0?``:e.data.name).attr(`font-weight`,`bold`).attr(`style`,e=>e.depth===0?`display: none;`:`dominant-baseline: middle; font-size: 12px; fill:`+k(e.data.name)+`; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;`+_({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).each(function(e){if(e.depth===0)return;let t=n(this),r=e.data.name;t.text(r);let i=e.x1-e.x0,a;a=u.showValues!==!1&&e.value?i-10-30-10-6:i-6-6;let o=Math.max(15,a),s=t.node();if(s.getComputedTextLength()>o){let e=r;for(;e.length>0;){if(e=r.substring(0,e.length-1),e.length===0){t.text(`...`),s.getComputedTextLength()>o&&t.text(``);break}if(t.text(e+`...`),s.getComputedTextLength()<=o)break}}}),u.showValues!==!1&&P.append(`text`).attr(`class`,`treemapSectionValue`).attr(`x`,e=>e.x1-e.x0-10).attr(`y`,$/2).attr(`text-anchor`,`end`).attr(`dominant-baseline`,`middle`).text(e=>e.value?E(e.value):``).attr(`font-style`,`italic`).attr(`style`,e=>e.depth===0?`display: none;`:`text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:`+k(e.data.name)+`; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;`+_({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`));let F=M.leaves(),I=A.selectAll(`.treemapLeafGroup`).data(F).enter().append(`g`).attr(`class`,(e,t)=>`treemapNode treemapLeafGroup leaf${t}${e.data.classSelector?` ${e.data.classSelector}`:``}x`).attr(`transform`,e=>`translate(${e.x0},${e.y0})`);I.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,e=>e.y1-e.y0).attr(`class`,`treemapLeaf`).attr(`fill`,e=>e.parent?D(e.parent.data.name):D(e.data.name)).attr(`style`,e=>_({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr(`fill-opacity`,.3).attr(`stroke`,e=>e.parent?D(e.parent.data.name):D(e.data.name)).attr(`stroke-width`,3),I.append(`clipPath`).attr(`id`,(e,t)=>`clip-${i}-${t}`).append(`rect`).attr(`width`,e=>Math.max(0,e.x1-e.x0-4)).attr(`height`,e=>Math.max(0,e.y1-e.y0-4)),I.append(`text`).attr(`class`,`treemapLabel`).attr(`x`,e=>(e.x1-e.x0)/2).attr(`y`,e=>(e.y1-e.y0)/2).attr(`style`,e=>`text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:`+k(e.data.name)+`;`+_({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).attr(`clip-path`,(e,t)=>`url(#clip-${i}-${t})`).text(e=>e.data.name).each(function(e){let t=n(this),r=e.x1-e.x0,i=e.y1-e.y0,a=t.node(),o=r-8,s=i-8;if(o<10||s<10){t.style(`display`,`none`);return}let c=parseInt(t.style(`font-size`),10),l=.6;for(;a.getComputedTextLength()>o&&c>8;)c--,t.style(`font-size`,`${c}px`);let u=Math.max(6,Math.min(28,Math.round(c*l))),d=c+2+u;for(;d>s&&c>8&&(c--,u=Math.max(6,Math.min(28,Math.round(c*l))),!(u<6&&c===8));)t.style(`font-size`,`${c}px`),d=c+2+u;t.style(`font-size`,`${c}px`),(a.getComputedTextLength()>o||c<8||s<c)&&t.style(`display`,`none`)}),u.showValues!==!1&&I.append(`text`).attr(`class`,`treemapValue`).attr(`x`,e=>(e.x1-e.x0)/2).attr(`y`,function(e){return(e.y1-e.y0)/2}).attr(`style`,e=>`text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:`+k(e.data.name)+`;`+_({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).attr(`clip-path`,(e,t)=>`url(#clip-${i}-${t})`).text(e=>e.value?E(e.value):``).each(function(e){let t=n(this),r=this.parentNode;if(!r){t.style(`display`,`none`);return}let i=n(r).select(`.treemapLabel`);if(i.empty()||i.style(`display`)===`none`){t.style(`display`,`none`);return}let a=parseFloat(i.style(`font-size`)),o=Math.max(6,Math.min(28,Math.round(a*.6)));t.style(`font-size`,`${o}px`);let s=(e.y1-e.y0)/2+a/2+2;t.attr(`y`,s);let c=e.x1-e.x0,l=e.y1-e.y0-4,u=c-8;t.node().getComputedTextLength()>u||s+o>l||o<6?t.style(`display`,`none`):t.style(`display`,null)}),S(b,u.diagramPadding??8,`flowchart`,u?.useMaxWidth||!1)},`draw`),getClasses:t(function(e,t){return t.db.getClasses()},`getClasses`)},ue={sectionStrokeColor:`black`,sectionStrokeWidth:`1`,sectionFillColor:`#efefef`,leafStrokeColor:`black`,leafStrokeWidth:`1`,leafFillColor:`#efefef`,labelFontSize:`12px`,valueFontSize:`10px`,titleFontSize:`14px`},de={parser:Z,get db(){return new Y},renderer:le,styles:t(({treemap:e}={})=>{let t=g(r(),c().themeVariables),n=g(ue,e),i=n.titleColor??t.titleColor,a=n.labelColor??t.textColor,o=n.valueColor??t.textColor;return`
2
2
  .treemapNode.section {
3
3
  stroke: ${n.sectionStrokeColor};
4
4
  stroke-width: ${n.sectionStrokeWidth};
@@ -22,4 +22,4 @@ import{g as e,h as t,p as n}from"./src-DoMhBUqV.js";import{D as r,H as i,K as a,
22
22
  font-size: ${n.titleFontSize};
23
23
  }
24
24
  `},`getStyles`)};export{de as diagram};
25
- //# sourceMappingURL=diagram-OG6HWLK6-CkBTEmTA.js.map
25
+ //# sourceMappingURL=diagram-OG6HWLK6-CaRkxDoj.js.map