@cagent/chat-embedding-core 0.0.13 → 0.0.14

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 (320) hide show
  1. package/.env +6 -0
  2. package/README.md +213 -213
  3. package/bun.lock +1548 -1548
  4. package/dist/abnfDiagram-VRR7QNED-3cfb3856.js +1 -0
  5. package/dist/abnfDiagram-VRR7QNED-686410b0.js +1 -0
  6. package/dist/abnfDiagram-VRR7QNED-fb22812d.js +1 -0
  7. package/dist/api/chatRoom.d.ts.map +1 -0
  8. package/dist/arc-24dd4755.js +1 -0
  9. package/dist/arc-5d6257cf.js +1 -0
  10. package/dist/arc-90e71e7e.js +1 -0
  11. package/dist/architecture-TIHT7OUA-a997f441.js +1 -0
  12. package/dist/architecture-TIHT7OUA-faa1f9b3.js +1 -0
  13. package/dist/architectureDiagram-ZJ3FMSHR-87443299.js +1 -0
  14. package/dist/architectureDiagram-ZJ3FMSHR-93988e41.js +1 -0
  15. package/dist/architectureDiagram-ZJ3FMSHR-bde2dd21.js +1 -0
  16. package/dist/blockDiagram-677ZJIJ3-25a94a47.js +1 -0
  17. package/dist/blockDiagram-677ZJIJ3-88bd543c.js +1 -0
  18. package/dist/blockDiagram-677ZJIJ3-c769a3c8.js +1 -0
  19. package/dist/c4Diagram-LMCZKHZV-763880d7.js +1 -0
  20. package/dist/c4Diagram-LMCZKHZV-d7fc839e.js +1 -0
  21. package/dist/c4Diagram-LMCZKHZV-da04a76e.js +1 -0
  22. package/dist/channel-11d3f4bc.js +1 -0
  23. package/dist/channel-534c2e17.js +1 -0
  24. package/dist/channel-c3cf6060.js +1 -0
  25. package/dist/chunk-2Q5K7J3B-2892df89.js +1 -0
  26. package/dist/chunk-2Q5K7J3B-7960ff8e.js +1 -0
  27. package/dist/chunk-2Q5K7J3B-9497bf31.js +1 -0
  28. package/dist/chunk-32BRIVSS-10123eba.js +1 -0
  29. package/dist/chunk-32BRIVSS-10ac68f7.js +1 -0
  30. package/dist/chunk-32BRIVSS-8a8507a2.js +1 -0
  31. package/dist/chunk-5VM5RSS4-36b32f6e.js +1 -0
  32. package/dist/chunk-5VM5RSS4-4b2efd20.js +1 -0
  33. package/dist/chunk-5VM5RSS4-5fc85a49.js +1 -0
  34. package/dist/chunk-EX3LRPZG-36494b87.js +1 -0
  35. package/dist/chunk-EX3LRPZG-6cd1f2fa.js +1 -0
  36. package/dist/chunk-EX3LRPZG-7ac6d0d7.js +1 -0
  37. package/dist/chunk-JWPE2WC7-15a55950.js +1 -0
  38. package/dist/chunk-JWPE2WC7-84faee3d.js +1 -0
  39. package/dist/chunk-JWPE2WC7-e2521b1e.js +1 -0
  40. package/dist/chunk-MOJQB5TN-47f0392f.js +1 -0
  41. package/dist/chunk-MOJQB5TN-5cc2e61b.js +1 -0
  42. package/dist/chunk-MOJQB5TN-ea88675c.js +1 -0
  43. package/dist/chunk-PUDLZKDR-057ec46a.js +1 -0
  44. package/dist/chunk-PUDLZKDR-53309be9.js +1 -0
  45. package/dist/chunk-PUDLZKDR-6de50ada.js +1 -0
  46. package/dist/chunk-RYQCIY6F-06b096c5.js +1 -0
  47. package/dist/chunk-RYQCIY6F-453400cd.js +1 -0
  48. package/dist/chunk-RYQCIY6F-8de649c8.js +1 -0
  49. package/dist/chunk-V7JOEXUC-4083766f.js +1 -0
  50. package/dist/chunk-V7JOEXUC-4e8d7729.js +1 -0
  51. package/dist/chunk-V7JOEXUC-bb2df9b0.js +1 -0
  52. package/dist/chunk-VR4S4FIN-5feb7571.js +1 -0
  53. package/dist/chunk-VR4S4FIN-9df47127.js +1 -0
  54. package/dist/chunk-VR4S4FIN-c4f2681d.js +1 -0
  55. package/dist/chunk-XXDRQBXY-3c9d8bf9.js +1 -0
  56. package/dist/chunk-XXDRQBXY-de00e988.js +1 -0
  57. package/dist/chunk-XXDRQBXY-f923ffed.js +1 -0
  58. package/dist/classDiagram-OUVF2IWQ-5cdf5fe6.js +1 -0
  59. package/dist/classDiagram-OUVF2IWQ-d51bd736.js +1 -0
  60. package/dist/classDiagram-OUVF2IWQ-fc2b54d6.js +1 -0
  61. package/dist/classDiagram-v2-EOCWNBFH-5cdf5fe6.js +1 -0
  62. package/dist/classDiagram-v2-EOCWNBFH-d51bd736.js +1 -0
  63. package/dist/classDiagram-v2-EOCWNBFH-fc2b54d6.js +1 -0
  64. package/dist/components/Badge.d.ts.map +1 -0
  65. package/dist/components/Bot.d.ts.map +1 -0
  66. package/dist/components/FeedbackContentDialog.d.ts.map +1 -0
  67. package/dist/components/RoomReconnectAlert.d.ts.map +1 -0
  68. package/dist/components/Toast.d.ts.map +1 -0
  69. package/dist/components/TypingBubble.d.ts.map +1 -0
  70. package/dist/components/avatars/Avatar.d.ts.map +1 -0
  71. package/dist/components/avatars/DefaultAvatar.d.ts.map +1 -0
  72. package/dist/components/bubbles/AgentReasoningBubble.d.ts.map +1 -0
  73. package/dist/components/bubbles/BotBubble.d.ts.map +1 -0
  74. package/dist/components/bubbles/ChartBubble.d.ts.map +1 -0
  75. package/dist/components/bubbles/ChartLoadingPlaceholder.d.ts.map +1 -0
  76. package/dist/components/bubbles/ChartPlaceholder.d.ts.map +1 -0
  77. package/dist/components/bubbles/ChartPopupModal.d.ts.map +1 -0
  78. package/dist/components/bubbles/FollowUpPromptBubble.d.ts.map +1 -0
  79. package/dist/components/bubbles/GuestBubble.d.ts.map +1 -0
  80. package/dist/components/bubbles/LeadCaptureBubble.d.ts.map +1 -0
  81. package/dist/components/bubbles/LoadingBubble.d.ts.map +1 -0
  82. package/dist/components/bubbles/SourceBubble.d.ts.map +1 -0
  83. package/dist/components/bubbles/StableChartWrapper.d.ts.map +1 -0
  84. package/dist/components/bubbles/StarterPromptBubble.d.ts.map +1 -0
  85. package/dist/components/buttons/AttachmentUploadButton.d.ts.map +1 -0
  86. package/dist/components/buttons/CancelButton.d.ts.map +1 -0
  87. package/dist/components/buttons/CopyMessageButton.d.ts.map +1 -0
  88. package/dist/components/buttons/EditMessageButton.d.ts.map +1 -0
  89. package/dist/components/buttons/FeedbackButtons.d.ts.map +1 -0
  90. package/dist/components/buttons/ImageUploadButton.d.ts.map +1 -0
  91. package/dist/components/buttons/LeadCaptureButtons.d.ts.map +1 -0
  92. package/dist/components/buttons/PopupToast.d.ts.map +1 -0
  93. package/dist/components/buttons/RecordAudioButton.d.ts.map +1 -0
  94. package/dist/components/buttons/SendButton.d.ts.map +1 -0
  95. package/dist/components/dialogs/EditMessageDialog.d.ts.map +1 -0
  96. package/dist/components/icons/AddImageIcon.d.ts.map +1 -0
  97. package/dist/components/icons/AttachmentIcon.d.ts.map +1 -0
  98. package/dist/components/icons/CheckIcon.d.ts.map +1 -0
  99. package/dist/components/icons/CircleDotIcon.d.ts.map +1 -0
  100. package/dist/components/icons/ClipboardIcon.d.ts.map +1 -0
  101. package/dist/components/icons/CopyIcon.d.ts.map +1 -0
  102. package/dist/components/icons/DeleteIcon.d.ts.map +1 -0
  103. package/dist/components/icons/EditIcon.d.ts.map +1 -0
  104. package/dist/components/icons/FullScreenIcon.d.ts.map +1 -0
  105. package/dist/components/icons/RecordIcon.d.ts.map +1 -0
  106. package/dist/components/icons/ResetZoomIcon.d.ts.map +1 -0
  107. package/dist/components/icons/SendIcon.d.ts.map +1 -0
  108. package/dist/components/icons/SparklesIcon.d.ts.map +1 -0
  109. package/dist/components/icons/StopIcon.d.ts.map +1 -0
  110. package/dist/components/icons/ThumbsDownIcon.d.ts.map +1 -0
  111. package/dist/components/icons/ThumbsUpIcon.d.ts.map +1 -0
  112. package/dist/components/icons/TickIcon.d.ts.map +1 -0
  113. package/dist/components/icons/TrashIcon.d.ts.map +1 -0
  114. package/dist/components/icons/XIcon.d.ts.map +1 -0
  115. package/dist/components/icons/ZoomInIcon.d.ts.map +1 -0
  116. package/dist/components/icons/ZoomOutIcon.d.ts.map +1 -0
  117. package/dist/components/icons/index.d.ts.map +1 -0
  118. package/dist/components/image/PreviewImage.d.ts.map +1 -0
  119. package/dist/components/index.d.ts.map +1 -0
  120. package/dist/components/inputs/textInput/components/FilePreview.d.ts.map +1 -0
  121. package/dist/components/inputs/textInput/components/ShortTextInput.d.ts.map +1 -0
  122. package/dist/components/inputs/textInput/components/TextInput.d.ts.map +1 -0
  123. package/dist/components/inputs/textInput/index.d.ts.map +1 -0
  124. package/dist/constants.d.ts.map +1 -0
  125. package/dist/cose-bilkent-JH36ORCC-ac4d2e28.js +1 -0
  126. package/dist/cose-bilkent-JH36ORCC-c3560feb.js +1 -0
  127. package/dist/cose-bilkent-JH36ORCC-f0ddc3e7.js +1 -0
  128. package/dist/cynefin-VYW2F7L2-2458ad91.js +1 -0
  129. package/dist/cynefin-VYW2F7L2-a8648cf6.js +1 -0
  130. package/dist/cynefinDiagram-TSTJHNR4-62a29383.js +1 -0
  131. package/dist/cynefinDiagram-TSTJHNR4-910b3dfd.js +1 -0
  132. package/dist/cynefinDiagram-TSTJHNR4-deb0bb2c.js +1 -0
  133. package/dist/cytoscape.esm-56d2239f.js +1 -0
  134. package/dist/cytoscape.esm-c9352dc8.js +1 -0
  135. package/dist/dagre-VKFMJZFB-1467d0af.js +1 -0
  136. package/dist/dagre-VKFMJZFB-35daad97.js +1 -0
  137. package/dist/dagre-VKFMJZFB-c5b9a4a0.js +1 -0
  138. package/dist/defaultLocale-b4977250.js +1 -0
  139. package/dist/defaultLocale-e35a4def.js +1 -0
  140. package/dist/diagram-FQU43EPY-41eed431.js +1 -0
  141. package/dist/diagram-FQU43EPY-613e9e4e.js +1 -0
  142. package/dist/diagram-FQU43EPY-d256050e.js +1 -0
  143. package/dist/diagram-G47NLZAW-813bbb70.js +1 -0
  144. package/dist/diagram-G47NLZAW-8ef917d1.js +1 -0
  145. package/dist/diagram-G47NLZAW-aa02607c.js +1 -0
  146. package/dist/diagram-NH7WQ7WH-0af7a921.js +1 -0
  147. package/dist/diagram-NH7WQ7WH-0e4f7f17.js +1 -0
  148. package/dist/diagram-NH7WQ7WH-6f91f6aa.js +1 -0
  149. package/dist/diagram-OA4YK3LP-0fba2475.js +1 -0
  150. package/dist/diagram-OA4YK3LP-587273f4.js +1 -0
  151. package/dist/diagram-OA4YK3LP-6cbfc7a5.js +1 -0
  152. package/dist/diagram-WEI45ONY-0241463f.js +1 -0
  153. package/dist/diagram-WEI45ONY-dd634033.js +1 -0
  154. package/dist/diagram-WEI45ONY-e002e844.js +1 -0
  155. package/dist/ebnfDiagram-CCIWWBDH-20ac4ba3.js +1 -0
  156. package/dist/ebnfDiagram-CCIWWBDH-e9974165.js +1 -0
  157. package/dist/ebnfDiagram-CCIWWBDH-ead44055.js +1 -0
  158. package/dist/erDiagram-Q63AITRT-1febb8fc.js +1 -0
  159. package/dist/erDiagram-Q63AITRT-4ea4b93d.js +1 -0
  160. package/dist/erDiagram-Q63AITRT-bcb00855.js +1 -0
  161. package/dist/eventmodeling-45OFAUF4-a82f1f18.js +1 -0
  162. package/dist/eventmodeling-45OFAUF4-dcf667fc.js +1 -0
  163. package/dist/features/bubble/components/Bubble.d.ts.map +1 -0
  164. package/dist/features/bubble/components/BubbleButton.d.ts.map +1 -0
  165. package/dist/features/bubble/components/Tooltip.d.ts.map +1 -0
  166. package/dist/features/bubble/components/index.d.ts.map +1 -0
  167. package/dist/features/bubble/index.d.ts.map +1 -0
  168. package/dist/features/bubble/types.d.ts.map +1 -0
  169. package/dist/features/full/components/Full.d.ts.map +1 -0
  170. package/dist/features/full/components/index.d.ts.map +1 -0
  171. package/dist/features/full/index.d.ts.map +1 -0
  172. package/dist/features/popup/components/DisclaimerPopup.d.ts.map +1 -0
  173. package/dist/features/popup/components/Popup.d.ts.map +1 -0
  174. package/dist/features/popup/components/index.d.ts.map +1 -0
  175. package/dist/features/popup/index.d.ts.map +1 -0
  176. package/dist/features/popup/types.d.ts.map +1 -0
  177. package/dist/flowDiagram-23GEKE2U-14ee2b3c.js +1 -0
  178. package/dist/flowDiagram-23GEKE2U-7ab9c2e4.js +1 -0
  179. package/dist/flowDiagram-23GEKE2U-f7309569.js +1 -0
  180. package/dist/ganttDiagram-NO4QXBWP-249a167d.js +1 -0
  181. package/dist/ganttDiagram-NO4QXBWP-bd530d12.js +1 -0
  182. package/dist/ganttDiagram-NO4QXBWP-e5e495d6.js +1 -0
  183. package/dist/gitGraph-TEB2WS4Q-72ba3362.js +1 -0
  184. package/dist/gitGraph-TEB2WS4Q-d07b15b3.js +1 -0
  185. package/dist/gitGraphDiagram-IHSO6WYX-2964ff91.js +1 -0
  186. package/dist/gitGraphDiagram-IHSO6WYX-4d9324ad.js +1 -0
  187. package/dist/gitGraphDiagram-IHSO6WYX-97bf868b.js +1 -0
  188. package/dist/graph-0df36b9d.js +1 -0
  189. package/dist/graph-c6801890.js +1 -0
  190. package/dist/index.d.ts.map +1 -0
  191. package/dist/info-DKCQHKI2-d8e8a901.js +1 -0
  192. package/dist/info-DKCQHKI2-dd69502c.js +1 -0
  193. package/dist/infoDiagram-FWYZ7A6U-1267309e.js +1 -0
  194. package/dist/infoDiagram-FWYZ7A6U-5b9d28af.js +1 -0
  195. package/dist/infoDiagram-FWYZ7A6U-cc33afe4.js +1 -0
  196. package/dist/init-b029a625.js +1 -0
  197. package/dist/init-cf76ae07.js +1 -0
  198. package/dist/ishikawaDiagram-FXEZZL3T-3f0977e8.js +1 -0
  199. package/dist/ishikawaDiagram-FXEZZL3T-89c1b2f4.js +1 -0
  200. package/dist/ishikawaDiagram-FXEZZL3T-9fef4653.js +1 -0
  201. package/dist/journeyDiagram-5HDEW3XC-563a68ff.js +1 -0
  202. package/dist/journeyDiagram-5HDEW3XC-c8c8d701.js +1 -0
  203. package/dist/journeyDiagram-5HDEW3XC-e6c5e84b.js +1 -0
  204. package/dist/kanban-definition-HUTT4EX6-3719e367.js +1 -0
  205. package/dist/kanban-definition-HUTT4EX6-7bc0cd1e.js +1 -0
  206. package/dist/kanban-definition-HUTT4EX6-d8b002e3.js +1 -0
  207. package/dist/katex-67456a45.js +1 -0
  208. package/dist/katex-b134d23c.js +1 -0
  209. package/dist/layout-e44354bf.js +1 -0
  210. package/dist/layout-ff5d33a1.js +1 -0
  211. package/dist/linear-7b1a23f3.js +1 -0
  212. package/dist/linear-d7ad6d25.js +1 -0
  213. package/dist/linear-e5c99c88.js +1 -0
  214. package/dist/map-05f0ff95.js +1 -0
  215. package/dist/map-d3292a5b.js +1 -0
  216. package/dist/mermaid-parser.core-6df0beec.js +1 -0
  217. package/dist/mermaid-parser.core-d8d1c2b9.js +1 -0
  218. package/dist/mermaid.core-2d237a1e.js +1 -0
  219. package/dist/mermaid.core-70d5aead.js +1 -0
  220. package/dist/mermaid.core-8797d6a9.js +1 -0
  221. package/dist/mindmap-definition-LN4V7U3C-04a12a88.js +1 -0
  222. package/dist/mindmap-definition-LN4V7U3C-86a890ce.js +1 -0
  223. package/dist/mindmap-definition-LN4V7U3C-f495948c.js +1 -0
  224. package/dist/ordinal-221e41d7.js +1 -0
  225. package/dist/ordinal-4a51e46c.js +1 -0
  226. package/dist/packet-7NZHBO7P-b4586e10.js +1 -0
  227. package/dist/packet-7NZHBO7P-f62750ff.js +1 -0
  228. package/dist/pegDiagram-2B236MQR-234fe6d1.js +1 -0
  229. package/dist/pegDiagram-2B236MQR-2826e278.js +1 -0
  230. package/dist/pegDiagram-2B236MQR-64eeb662.js +1 -0
  231. package/dist/pie-RZYD4A2V-106ba3d7.js +1 -0
  232. package/dist/pie-RZYD4A2V-752eda00.js +1 -0
  233. package/dist/pieDiagram-ENE6RG2P-0c3b09b8.js +1 -0
  234. package/dist/pieDiagram-ENE6RG2P-3fb5f734.js +1 -0
  235. package/dist/pieDiagram-ENE6RG2P-af928526.js +1 -0
  236. package/dist/quadrantDiagram-ABIIQ3AL-1a55c0f5.js +1 -0
  237. package/dist/quadrantDiagram-ABIIQ3AL-3d15c26d.js +1 -0
  238. package/dist/quadrantDiagram-ABIIQ3AL-9110fa9c.js +1 -0
  239. package/dist/queries/sendMessageQuery.d.ts.map +1 -0
  240. package/dist/radar-I7S5WNFK-53bde9ff.js +1 -0
  241. package/dist/radar-I7S5WNFK-87e8c5ba.js +1 -0
  242. package/dist/railroad-3IZDKUUU-99427b9f.js +1 -0
  243. package/dist/railroad-3IZDKUUU-9e29587d.js +1 -0
  244. package/dist/railroad-abnf-AHOZXSZD-1d11cb5b.js +1 -0
  245. package/dist/railroad-abnf-AHOZXSZD-c27db0bc.js +1 -0
  246. package/dist/railroad-ebnf-EBAXGLYW-38dff87c.js +1 -0
  247. package/dist/railroad-ebnf-EBAXGLYW-6bb5de0c.js +1 -0
  248. package/dist/railroad-peg-LSFZ7HO6-c9f0aa71.js +1 -0
  249. package/dist/railroad-peg-LSFZ7HO6-efcb0a43.js +1 -0
  250. package/dist/railroadDiagram-RFXS5EU6-14373a87.js +1 -0
  251. package/dist/railroadDiagram-RFXS5EU6-ec9e696e.js +1 -0
  252. package/dist/railroadDiagram-RFXS5EU6-effa5611.js +1 -0
  253. package/dist/register.d.ts.map +1 -0
  254. package/dist/requirementDiagram-TGXJPOKE-3d199581.js +1 -0
  255. package/dist/requirementDiagram-TGXJPOKE-5a337f1a.js +1 -0
  256. package/dist/requirementDiagram-TGXJPOKE-a7960859.js +1 -0
  257. package/dist/sankeyDiagram-HTMAVEWB-209eac30.js +1 -0
  258. package/dist/sankeyDiagram-HTMAVEWB-3c852fda.js +1 -0
  259. package/dist/sankeyDiagram-HTMAVEWB-46aa1eb1.js +1 -0
  260. package/dist/sequenceDiagram-DBY2YBRQ-4121f7c2.js +1 -0
  261. package/dist/sequenceDiagram-DBY2YBRQ-7bad18e4.js +1 -0
  262. package/dist/sequenceDiagram-DBY2YBRQ-af96f48e.js +1 -0
  263. package/dist/sizeCapture-X5ZJPWSS-13826306.js +1 -0
  264. package/dist/sizeCapture-X5ZJPWSS-32e2eec7.js +1 -0
  265. package/dist/sizeCapture-X5ZJPWSS-a078176f.js +1 -0
  266. package/dist/stateDiagram-2N3HPSRC-527374a2.js +1 -0
  267. package/dist/stateDiagram-2N3HPSRC-8047e124.js +1 -0
  268. package/dist/stateDiagram-2N3HPSRC-ba344b5d.js +1 -0
  269. package/dist/stateDiagram-v2-6OUMAXLB-7580bf69.js +1 -0
  270. package/dist/stateDiagram-v2-6OUMAXLB-d4c58fd3.js +1 -0
  271. package/dist/stateDiagram-v2-6OUMAXLB-e5921044.js +1 -0
  272. package/dist/store/constant.d.ts.map +1 -0
  273. package/dist/swimlanes-5IMT3BWC-5834b232.js +1 -0
  274. package/dist/swimlanes-5IMT3BWC-791a3547.js +1 -0
  275. package/dist/swimlanes-5IMT3BWC-db2c593a.js +1 -0
  276. package/dist/swimlanesDiagram-G3AALYLV-36c30eec.js +1 -0
  277. package/dist/swimlanesDiagram-G3AALYLV-89220ddd.js +1 -0
  278. package/dist/swimlanesDiagram-G3AALYLV-b621330d.js +1 -0
  279. package/dist/timeline-definition-FHXFAJF6-0482a67a.js +1 -0
  280. package/dist/timeline-definition-FHXFAJF6-1d165a67.js +1 -0
  281. package/dist/timeline-definition-FHXFAJF6-f9600b97.js +1 -0
  282. package/dist/treeView-QDETBFTQ-0ecf20cd.js +1 -0
  283. package/dist/treeView-QDETBFTQ-96ed8e2f.js +1 -0
  284. package/dist/treemap-6X3UGDF4-0a7f19ca.js +1 -0
  285. package/dist/treemap-6X3UGDF4-9f498e0c.js +1 -0
  286. package/dist/types/chart.d.ts.map +1 -0
  287. package/dist/types.d.ts +1 -0
  288. package/dist/types.d.ts.map +1 -0
  289. package/dist/utils/audioRecording.d.ts.map +1 -0
  290. package/dist/utils/chartInstanceManager.d.ts.map +1 -0
  291. package/dist/utils/chartTagParser.d.ts.map +1 -0
  292. package/dist/utils/chatInputHistory.d.ts.map +1 -0
  293. package/dist/utils/chatStreamHelper.d.ts.map +1 -0
  294. package/dist/utils/index.d.ts.map +1 -0
  295. package/dist/utils/isMobileSignal.d.ts.map +1 -0
  296. package/dist/utils/transcriptApi.d.ts.map +1 -0
  297. package/dist/utils/ultimateJsonParser.d.ts.map +1 -0
  298. package/dist/vennDiagram-L72KCM5P-05176193.js +1 -0
  299. package/dist/vennDiagram-L72KCM5P-25a48393.js +1 -0
  300. package/dist/vennDiagram-L72KCM5P-28cffef7.js +1 -0
  301. package/dist/wardley-OPB4EBWU-08c5f013.js +1 -0
  302. package/dist/wardley-OPB4EBWU-9803a1d9.js +1 -0
  303. package/dist/wardleyDiagram-EHGQE667-052e6de9.js +1 -0
  304. package/dist/wardleyDiagram-EHGQE667-6a614fd9.js +1 -0
  305. package/dist/wardleyDiagram-EHGQE667-d11fe904.js +1 -0
  306. package/dist/web-25bb78b9.js +1 -0
  307. package/dist/web-753300e1.js +1 -0
  308. package/dist/web-c3ed22c4.js +1 -0
  309. package/dist/web.d.ts.map +1 -0
  310. package/dist/web.js +1 -1
  311. package/dist/window.d.ts.map +1 -0
  312. package/dist/xychartDiagram-FW5EYKEG-43118b83.js +1 -0
  313. package/dist/xychartDiagram-FW5EYKEG-d77187fe.js +1 -0
  314. package/dist/xychartDiagram-FW5EYKEG-f2fac492.js +1 -0
  315. package/package.json +86 -86
  316. package/server.js +477 -477
  317. package/.idea/flowise-chatbox.iml +0 -10
  318. package/.idea/modules.xml +0 -8
  319. package/.idea/workspace.xml +0 -4
  320. package/docs/embedding-style-guide.md +0 -417
@@ -0,0 +1 @@
1
+ var e,t;(e=self.document)&&!e.getElementById("livereloadscript")&&((t=e.createElement("script")).async=1,t.src="//"+(self.location.host||"localhost").split(":")[0]+":35729/livereload.js?snipver=1",t.id="livereloadscript",e.getElementsByTagName("head")[0].appendChild(t));import{c as a,w as r,a as i,f as d,b as n,s as o}from"./chunk-RYQCIY6F-453400cd.js";import{_ as s,ap as l,aq as g,ar as h,as as p,l as f,d as c,at as u,au as y,ah as m,av as w,ai as x,ag as b,aw as v,ax as X,ay as L}from"./mermaid.core-70d5aead.js";import{G as E}from"./graph-0df36b9d.js";import{l as S}from"./layout-ff5d33a1.js";import"./map-d3292a5b.js";import"./web-25bb78b9.js";var N=s((e,t,a)=>Math.max(t,Math.min(a,e)),"clamp"),I=s((e="TB")=>{switch(e){case"BT":return"bottom";case"LR":return"right";case"RL":return"left";default:return"top"}},"getDefaultSelfLoopSide"),C=s(e=>"flowchart"===e||"flowchart-v2"===e||"stateDiagram"===e,"shouldMergeSelfLoopSegments"),M=s((e,t,a,r,i)=>{let d=[],n=new Set;var o;return a.forEach(({start:e,end:t})=>{e!==r&&n.add(e),t!==r&&n.add(t)}),n.forEach(t=>{t=e.node(t),"number"==typeof t?.x&&"number"==typeof t?.y&&d.push(t)}),0===d.length&&a.forEach(({edge:e})=>{(e.points??[]).forEach(e=>{"number"==typeof e?.x&&"number"==typeof e?.y&&d.push(e)})}),0===d.length?I(i):(o=(a=d.reduce((e,t)=>({x:e.x+t.x/d.length,y:e.y+t.y/d.length}),{x:0,y:0})).x-t.x,a=a.y-t.y,Math.abs(o)>Math.abs(a)?0<o?"right":"left":0<Math.abs(a)?0<a?"bottom":"top":I(i))},"getSelfLoopSide"),R=s((e,t="top",a=0,r=0)=>{var i=e.x,d=e.y-a,n=e.width/2,o=e.height/2,s=(a=Math.max(36,Math.min(100,.8*e.width)),N(Math.max(r,.35*e.width),36,a)),l=N(.45*Math.min(e.width,e.height),24,48);switch(t){case"bottom":var g=d+o;return[{x:i-s/2,y:g},{x:i-s/2,y:g+l},{x:i+s/2,y:g+l},{x:i+s/2,y:g}];case"right":return[{x:g=i+n,y:d-s/2},{x:g+l,y:d-s/2},{x:g+l,y:d+s/2},{x:g,y:d+s/2}];case"left":return[{x:g=i-n,y:d-s/2},{x:g-l,y:d-s/2},{x:g-l,y:d+s/2},{x:g,y:d+s/2}];default:return[{x:i-s/2,y:g=d-o},{x:i-s/2,y:g-l},{x:i+s/2,y:g-l},{x:i+s/2,y:g}]}},"getSelfLoopPoints"),P=s((e,t,a="top",r=0,i={})=>{var d=e.x,n=e.y-r,o=i.width??0,s=i.height??0;switch(a){case"bottom":return{x:d,y:Math.max(...t.map(e=>e.y))+s/2+4};case"right":return{x:Math.max(...t.map(e=>e.x))+o/2+4,y:n};case"left":return{x:Math.min(...t.map(e=>e.x))-o/2-4,y:n};default:return{x:d,y:Math.min(...t.map(e=>e.y))-s/2-4}}},"getSelfLoopLabelPosition"),B=s((e,t=0,{mergeSelfLoops:a=!0}={})=>{let r=new Map,i=[],d=e.graph()?.rankdir;return e.edges().forEach(t=>{var d,n=e.edge(t);(a&&n.selfLoop?(d=n.selfLoop.id,r.has(d)||r.set(d,[]),r.get(d)):i).push({edge:n,start:t.v,end:t.w})}),r.forEach(a=>{var r,n,o,s,l,g,h,p;3!==a.length?a.forEach(e=>i.push(e)):(a.sort((e,t)=>e.edge.selfLoop.order-t.edge.selfLoop.order),[r,n,o]=a,s=r.edge.originalEdge??n.edge.originalEdge??o.edge.originalEdge??n.edge,(h=e.node(s.start))?(l={width:n.edge.width,height:n.edge.height},p=M(e,h,a,s.start,d),g=R(h,p,t,l.width??0),h=P(h,g,p,t,l),delete(p={...n.edge,...s,id:s.id,points:g,start:s.start,end:s.end,x:h.x,y:h.y,width:l.width,height:l.height,labelStyle:n.edge.labelStyle,fromCluster:r.edge.fromCluster??n.edge.fromCluster??o.edge.fromCluster,toCluster:r.edge.toCluster??n.edge.toCluster??o.edge.toCluster}).selfLoop,delete p.originalEdge,i.push({edge:p,start:p.start,end:p.end})):a.forEach(e=>i.push(e)))}),i},"getEdgesToRender"),G=s(async(e,t,a,i,l,g)=>{f.warn("Graph in recursive render:XAX",r(t),l);let h=t.graph().rankdir;f.trace("Dir in recursive render - dir:",h),e=e.insert("g").attr("class","root"),t.nodes()?f.info("Recursive render XXX",t.nodes()):f.info("No nodes found for",t),0<t.edges().length&&f.info("Recursive edges",t.edge(t.edges()[0]));let p=e.insert("g").attr("class","clusters"),c=e.insert("g").attr("class","edgePaths"),E=e.insert("g").attr("class","edgeLabels"),N=e.insert("g").attr("class","nodes"),I=C(a),M=(await Promise.all(t.nodes().map(async function(e){var r,o,s=t.node(e);void 0!==l&&(r=JSON.parse(JSON.stringify(l.clusterData)),f.trace("Setting data for parent cluster XXX\n Node.id = ",e,"\n data=",r.height,"\nParent cluster",l.height),t.setNode(l.id,r),t.parent(e)||(f.trace("Setting parent",e,l.id),t.setParent(e,l.id,r))),f.info("(Insert) Node XXX"+e+": "+JSON.stringify(t.node(e))),s?.clusterNode?(f.info("Cluster identified XBX",e,s.width,t.node(e)),({ranksep:r,nodesep:o}=t.graph()),s.graph.setGraph({...s.graph.graph(),ranksep:r+25,nodesep:o}),o=(r=await G(N,s.graph,a,i,t.node(e),g)).elem,u(s,o),s.diff=r.diff||0,f.info("New compound node after recursive render XAX",e,"width",s.width,"height",s.height),y(o,s)):0<t.children(e).length?(f.trace("Cluster - the non recursive path XBX",e,s.id,s,s.width,"Graph:",t),f.trace(d(s.id,t)),n.set(s.id,{id:d(s.id,t),node:s})):(f.trace("Node - the non recursive path XAX",e,N,t.node(e),h),await m(N,t.node(e),{config:g,dir:h}))})),await s(async()=>{var e=t.edges().map(async function(e){var a=t.edge(e.v,e.w,e.name);if(f.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),f.info("Edge "+e.v+" -> "+e.w+": ",e," ",JSON.stringify(t.edge(e))),f.info("Fix",n,"ids:",e.v,e.w,"Translating: ",n.get(e.v),n.get(e.w)),I&&a.selfLoop)return 1!==a.selfLoop.order?void 0:(e=a.id,a.id=a.selfLoop.id,await L(E,a),void(a.id=e));await L(E,a)});await Promise.all(e)},"processEdges")(),f.info("Graph before layout:",JSON.stringify(r(t))),f.info("############################################# XXX"),f.info("### Layout ### XXX"),f.info("############################################# XXX"),S(t),f.info("Graph after layout:",JSON.stringify(r(t))),0),R=w(g).subGraphTitleTotalMargin,P=(await Promise.all(o(t).map(async function(e){var a,r=t.node(e);f.info("Position XBX => "+e+": ("+r.x,","+r.y,") width: ",r.width," height: ",r.height),r?.clusterNode?(r.y+=R,f.info("A tainted cluster node XBX1",e,r.id,r.width,r.height,r.x,r.y,t.parent(e)),n.get(r.id).node=r,x(r)):0<t.children(e).length?(f.info("A pure cluster node XBX1",e,r.id,r.x,r.y,r.width,r.height,t.parent(e)),r.height+=R,t.node(r.parentId),e=r?.padding/2||0,a=r?.labelBBox?.height||0,f.debug("OffsetY",a-e||0,"labelHeight",a,"halfPadding",e),await b(p,r),n.get(r.id).node=r):(a=t.node(r.parentId),r.y+=R/2,f.info("A regular node XBX1 - using the padding",r.id,"parent",r.parentId,r.width,r.height,r.x,r.y,"offsetY",r.offsetY,"parent",a,a?.offsetY,r),x(r))})),R/2);return B(t,P,{mergeSelfLoops:I}).forEach(function({edge:e,start:r,end:d}){f.info("Edge "+r+" -> "+d+": "+JSON.stringify(e),e),e.points.forEach(e=>e.y+=P),r=t.node(r),d=t.node(d),r=v(c,e,n,a,r,d,i),X(e,r)}),t.nodes().forEach(function(e){var a=t.node(e);f.info(e,a.type,a.diff),a.isGroup&&(M=a.diff)}),f.warn("Returning from recursive render XAX",e,M),{elem:e,diff:M}},"recursiveRender"),T=s(async(e,t)=>{let d=new E({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:e.config?.nodeSpacing||e.config?.flowchart?.nodeSpacing||e.nodeSpacing,ranksep:e.config?.rankSpacing||e.config?.flowchart?.rankSpacing||e.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});t=t.select("g");var n=(l(t,e.markers,e.type,e.diagramId),g(),h(),p(),a(),e.nodes.forEach(e=>{d.setNode(e.id,{...e}),e.parentId&&d.setParent(e.id,e.parentId)}),f.debug("Edges:",e.edges),e.edges.forEach(e=>{var t,a,r,i,n,o,s,l;e.start===e.end?(a=(t=e.start)+"---"+t+"---1",r=t+"---"+t+"---2",i=d.node(t),d.setNode(a,{domId:a,id:a,parentId:i.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),d.setParent(a,i.parentId),d.setNode(r,{domId:r,id:r,parentId:i.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),d.setParent(r,i.parentId),n=structuredClone(e),o=structuredClone(e),s=structuredClone(e),l=structuredClone(e),o.originalEdge=n,o.selfLoop={id:n.id,order:0},s.originalEdge=n,s.selfLoop={id:n.id,order:1},l.originalEdge=n,l.selfLoop={id:n.id,order:2},o.label="",o.arrowTypeEnd="none",o.endLabelLeft="",o.endLabelRight="",o.startLabelLeft="",o.id=t+"-cyclic-special-1",s.startLabelRight="",s.startLabelLeft="",s.endLabelLeft="",s.endLabelRight="",s.arrowTypeStart="none",s.arrowTypeEnd="none",s.id=t+"-cyclic-special-mid",l.label="",l.startLabelRight="",l.startLabelLeft="",l.arrowTypeStart="none",i.isGroup&&(o.fromCluster=t,l.toCluster=t),l.id=t+"-cyclic-special-2",l.arrowTypeStart="none",d.setEdge(t,a,o,t+"-cyclic-special-0"),d.setEdge(a,r,s,t+"-cyclic-special-1"),d.setEdge(r,t,l,t+"-cyclic-special-2")):d.setEdge(e.start,e.end,{...e},e.id)}),f.warn("Graph at first:",JSON.stringify(r(d))),i(d),f.warn("Graph after XAX:",JSON.stringify(r(d))),c());await G(t,d,e.type,e.diagramId,void 0,n)},"render");export{B as getEdgesToRender,T as render};
@@ -0,0 +1 @@
1
+ var e,t;(e=self.document)&&!e.getElementById("livereloadscript")&&((t=e.createElement("script")).async=1,t.src="//"+(self.location.host||"localhost").split(":")[0]+":35729/livereload.js?snipver=1",t.id="livereloadscript",e.getElementsByTagName("head")[0].appendChild(t));import{c as a,w as r,a as i,f as d,b as n,s as o}from"./chunk-RYQCIY6F-06b096c5.js";import{_ as s,ap as l,aq as g,ar as h,as as p,l as f,d as c,at as u,au as y,ah as m,av as w,ai as x,ag as b,aw as v,ax as X,ay as L}from"./mermaid.core-2d237a1e.js";import{G as E}from"./graph-0df36b9d.js";import{l as S}from"./layout-ff5d33a1.js";import"./map-d3292a5b.js";import"./web-753300e1.js";var N=s((e,t,a)=>Math.max(t,Math.min(a,e)),"clamp"),I=s((e="TB")=>{switch(e){case"BT":return"bottom";case"LR":return"right";case"RL":return"left";default:return"top"}},"getDefaultSelfLoopSide"),C=s(e=>"flowchart"===e||"flowchart-v2"===e||"stateDiagram"===e,"shouldMergeSelfLoopSegments"),M=s((e,t,a,r,i)=>{let d=[],n=new Set;var o;return a.forEach(({start:e,end:t})=>{e!==r&&n.add(e),t!==r&&n.add(t)}),n.forEach(t=>{t=e.node(t),"number"==typeof t?.x&&"number"==typeof t?.y&&d.push(t)}),0===d.length&&a.forEach(({edge:e})=>{(e.points??[]).forEach(e=>{"number"==typeof e?.x&&"number"==typeof e?.y&&d.push(e)})}),0===d.length?I(i):(o=(a=d.reduce((e,t)=>({x:e.x+t.x/d.length,y:e.y+t.y/d.length}),{x:0,y:0})).x-t.x,a=a.y-t.y,Math.abs(o)>Math.abs(a)?0<o?"right":"left":0<Math.abs(a)?0<a?"bottom":"top":I(i))},"getSelfLoopSide"),R=s((e,t="top",a=0,r=0)=>{var i=e.x,d=e.y-a,n=e.width/2,o=e.height/2,s=(a=Math.max(36,Math.min(100,.8*e.width)),N(Math.max(r,.35*e.width),36,a)),l=N(.45*Math.min(e.width,e.height),24,48);switch(t){case"bottom":var g=d+o;return[{x:i-s/2,y:g},{x:i-s/2,y:g+l},{x:i+s/2,y:g+l},{x:i+s/2,y:g}];case"right":return[{x:g=i+n,y:d-s/2},{x:g+l,y:d-s/2},{x:g+l,y:d+s/2},{x:g,y:d+s/2}];case"left":return[{x:g=i-n,y:d-s/2},{x:g-l,y:d-s/2},{x:g-l,y:d+s/2},{x:g,y:d+s/2}];default:return[{x:i-s/2,y:g=d-o},{x:i-s/2,y:g-l},{x:i+s/2,y:g-l},{x:i+s/2,y:g}]}},"getSelfLoopPoints"),P=s((e,t,a="top",r=0,i={})=>{var d=e.x,n=e.y-r,o=i.width??0,s=i.height??0;switch(a){case"bottom":return{x:d,y:Math.max(...t.map(e=>e.y))+s/2+4};case"right":return{x:Math.max(...t.map(e=>e.x))+o/2+4,y:n};case"left":return{x:Math.min(...t.map(e=>e.x))-o/2-4,y:n};default:return{x:d,y:Math.min(...t.map(e=>e.y))-s/2-4}}},"getSelfLoopLabelPosition"),B=s((e,t=0,{mergeSelfLoops:a=!0}={})=>{let r=new Map,i=[],d=e.graph()?.rankdir;return e.edges().forEach(t=>{var d,n=e.edge(t);(a&&n.selfLoop?(d=n.selfLoop.id,r.has(d)||r.set(d,[]),r.get(d)):i).push({edge:n,start:t.v,end:t.w})}),r.forEach(a=>{var r,n,o,s,l,g,h,p;3!==a.length?a.forEach(e=>i.push(e)):(a.sort((e,t)=>e.edge.selfLoop.order-t.edge.selfLoop.order),[r,n,o]=a,s=r.edge.originalEdge??n.edge.originalEdge??o.edge.originalEdge??n.edge,(h=e.node(s.start))?(l={width:n.edge.width,height:n.edge.height},p=M(e,h,a,s.start,d),g=R(h,p,t,l.width??0),h=P(h,g,p,t,l),delete(p={...n.edge,...s,id:s.id,points:g,start:s.start,end:s.end,x:h.x,y:h.y,width:l.width,height:l.height,labelStyle:n.edge.labelStyle,fromCluster:r.edge.fromCluster??n.edge.fromCluster??o.edge.fromCluster,toCluster:r.edge.toCluster??n.edge.toCluster??o.edge.toCluster}).selfLoop,delete p.originalEdge,i.push({edge:p,start:p.start,end:p.end})):a.forEach(e=>i.push(e)))}),i},"getEdgesToRender"),G=s(async(e,t,a,i,l,g)=>{f.warn("Graph in recursive render:XAX",r(t),l);let h=t.graph().rankdir;f.trace("Dir in recursive render - dir:",h),e=e.insert("g").attr("class","root"),t.nodes()?f.info("Recursive render XXX",t.nodes()):f.info("No nodes found for",t),0<t.edges().length&&f.info("Recursive edges",t.edge(t.edges()[0]));let p=e.insert("g").attr("class","clusters"),c=e.insert("g").attr("class","edgePaths"),E=e.insert("g").attr("class","edgeLabels"),N=e.insert("g").attr("class","nodes"),I=C(a),M=(await Promise.all(t.nodes().map(async function(e){var r,o,s=t.node(e);void 0!==l&&(r=JSON.parse(JSON.stringify(l.clusterData)),f.trace("Setting data for parent cluster XXX\n Node.id = ",e,"\n data=",r.height,"\nParent cluster",l.height),t.setNode(l.id,r),t.parent(e)||(f.trace("Setting parent",e,l.id),t.setParent(e,l.id,r))),f.info("(Insert) Node XXX"+e+": "+JSON.stringify(t.node(e))),s?.clusterNode?(f.info("Cluster identified XBX",e,s.width,t.node(e)),({ranksep:r,nodesep:o}=t.graph()),s.graph.setGraph({...s.graph.graph(),ranksep:r+25,nodesep:o}),o=(r=await G(N,s.graph,a,i,t.node(e),g)).elem,u(s,o),s.diff=r.diff||0,f.info("New compound node after recursive render XAX",e,"width",s.width,"height",s.height),y(o,s)):0<t.children(e).length?(f.trace("Cluster - the non recursive path XBX",e,s.id,s,s.width,"Graph:",t),f.trace(d(s.id,t)),n.set(s.id,{id:d(s.id,t),node:s})):(f.trace("Node - the non recursive path XAX",e,N,t.node(e),h),await m(N,t.node(e),{config:g,dir:h}))})),await s(async()=>{var e=t.edges().map(async function(e){var a=t.edge(e.v,e.w,e.name);if(f.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),f.info("Edge "+e.v+" -> "+e.w+": ",e," ",JSON.stringify(t.edge(e))),f.info("Fix",n,"ids:",e.v,e.w,"Translating: ",n.get(e.v),n.get(e.w)),I&&a.selfLoop)return 1!==a.selfLoop.order?void 0:(e=a.id,a.id=a.selfLoop.id,await L(E,a),void(a.id=e));await L(E,a)});await Promise.all(e)},"processEdges")(),f.info("Graph before layout:",JSON.stringify(r(t))),f.info("############################################# XXX"),f.info("### Layout ### XXX"),f.info("############################################# XXX"),S(t),f.info("Graph after layout:",JSON.stringify(r(t))),0),R=w(g).subGraphTitleTotalMargin,P=(await Promise.all(o(t).map(async function(e){var a,r=t.node(e);f.info("Position XBX => "+e+": ("+r.x,","+r.y,") width: ",r.width," height: ",r.height),r?.clusterNode?(r.y+=R,f.info("A tainted cluster node XBX1",e,r.id,r.width,r.height,r.x,r.y,t.parent(e)),n.get(r.id).node=r,x(r)):0<t.children(e).length?(f.info("A pure cluster node XBX1",e,r.id,r.x,r.y,r.width,r.height,t.parent(e)),r.height+=R,t.node(r.parentId),e=r?.padding/2||0,a=r?.labelBBox?.height||0,f.debug("OffsetY",a-e||0,"labelHeight",a,"halfPadding",e),await b(p,r),n.get(r.id).node=r):(a=t.node(r.parentId),r.y+=R/2,f.info("A regular node XBX1 - using the padding",r.id,"parent",r.parentId,r.width,r.height,r.x,r.y,"offsetY",r.offsetY,"parent",a,a?.offsetY,r),x(r))})),R/2);return B(t,P,{mergeSelfLoops:I}).forEach(function({edge:e,start:r,end:d}){f.info("Edge "+r+" -> "+d+": "+JSON.stringify(e),e),e.points.forEach(e=>e.y+=P),r=t.node(r),d=t.node(d),r=v(c,e,n,a,r,d,i),X(e,r)}),t.nodes().forEach(function(e){var a=t.node(e);f.info(e,a.type,a.diff),a.isGroup&&(M=a.diff)}),f.warn("Returning from recursive render XAX",e,M),{elem:e,diff:M}},"recursiveRender"),T=s(async(e,t)=>{let d=new E({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:e.config?.nodeSpacing||e.config?.flowchart?.nodeSpacing||e.nodeSpacing,ranksep:e.config?.rankSpacing||e.config?.flowchart?.rankSpacing||e.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});t=t.select("g");var n=(l(t,e.markers,e.type,e.diagramId),g(),h(),p(),a(),e.nodes.forEach(e=>{d.setNode(e.id,{...e}),e.parentId&&d.setParent(e.id,e.parentId)}),f.debug("Edges:",e.edges),e.edges.forEach(e=>{var t,a,r,i,n,o,s,l;e.start===e.end?(a=(t=e.start)+"---"+t+"---1",r=t+"---"+t+"---2",i=d.node(t),d.setNode(a,{domId:a,id:a,parentId:i.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),d.setParent(a,i.parentId),d.setNode(r,{domId:r,id:r,parentId:i.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),d.setParent(r,i.parentId),n=structuredClone(e),o=structuredClone(e),s=structuredClone(e),l=structuredClone(e),o.originalEdge=n,o.selfLoop={id:n.id,order:0},s.originalEdge=n,s.selfLoop={id:n.id,order:1},l.originalEdge=n,l.selfLoop={id:n.id,order:2},o.label="",o.arrowTypeEnd="none",o.endLabelLeft="",o.endLabelRight="",o.startLabelLeft="",o.id=t+"-cyclic-special-1",s.startLabelRight="",s.startLabelLeft="",s.endLabelLeft="",s.endLabelRight="",s.arrowTypeStart="none",s.arrowTypeEnd="none",s.id=t+"-cyclic-special-mid",l.label="",l.startLabelRight="",l.startLabelLeft="",l.arrowTypeStart="none",i.isGroup&&(o.fromCluster=t,l.toCluster=t),l.id=t+"-cyclic-special-2",l.arrowTypeStart="none",d.setEdge(t,a,o,t+"-cyclic-special-0"),d.setEdge(a,r,s,t+"-cyclic-special-1"),d.setEdge(r,t,l,t+"-cyclic-special-2")):d.setEdge(e.start,e.end,{...e},e.id)}),f.warn("Graph at first:",JSON.stringify(r(d))),i(d),f.warn("Graph after XAX:",JSON.stringify(r(d))),c());await G(t,d,e.type,e.diagramId,void 0,n)},"render");export{B as getEdgesToRender,T as render};
@@ -0,0 +1 @@
1
+ import{c as e,w as t,a,f as r,b as i,s as n}from"./chunk-RYQCIY6F-8de649c8.js";import{_ as d,ap as o,aq as s,ar as g,as as l,l as h,d as f,at as p,au as c,ah as u,av as y,ai as m,ag as w,aw as x,ax as b,ay as X}from"./mermaid.core-8797d6a9.js";import{G as L}from"./graph-c6801890.js";import{l as S}from"./layout-e44354bf.js";import"./map-05f0ff95.js";import"./web-c3ed22c4.js";var v=d(((e,t,a)=>Math.max(t,Math.min(a,e))),"clamp"),E=d(((e="TB")=>{switch(e){case"BT":return"bottom";case"LR":return"right";case"RL":return"left";default:return"top"}}),"getDefaultSelfLoopSide"),N=d((e=>"flowchart"===e||"flowchart-v2"===e||"stateDiagram"===e),"shouldMergeSelfLoopSegments"),I=d(((e,t,a,r,i)=>{const n=[],d=new Set;var o;return a.forEach((({start:e,end:t})=>{e!==r&&d.add(e),t!==r&&d.add(t)})),d.forEach((t=>{t=e.node(t),"number"==typeof t?.x&&"number"==typeof t?.y&&n.push(t)})),0===n.length&&a.forEach((({edge:e})=>{(e.points??[]).forEach((e=>{"number"==typeof e?.x&&"number"==typeof e?.y&&n.push(e)}))})),0===n.length?E(i):(o=(a=n.reduce(((e,t)=>({x:e.x+t.x/n.length,y:e.y+t.y/n.length})),{x:0,y:0})).x-t.x,a=a.y-t.y,Math.abs(o)>Math.abs(a)?0<o?"right":"left":0<Math.abs(a)?0<a?"bottom":"top":E(i))}),"getSelfLoopSide"),C=d(((e,t="top",a=0,r=0)=>{var i=e.x,n=e.y-a,d=e.width/2,o=e.height/2,s=(a=Math.max(36,Math.min(100,.8*e.width)),v(Math.max(r,.35*e.width),36,a)),g=v(.45*Math.min(e.width,e.height),24,48);switch(t){case"bottom":var l=n+o;return[{x:i-s/2,y:l},{x:i-s/2,y:l+g},{x:i+s/2,y:l+g},{x:i+s/2,y:l}];case"right":return[{x:l=i+d,y:n-s/2},{x:l+g,y:n-s/2},{x:l+g,y:n+s/2},{x:l,y:n+s/2}];case"left":return[{x:l=i-d,y:n-s/2},{x:l-g,y:n-s/2},{x:l-g,y:n+s/2},{x:l,y:n+s/2}];default:return[{x:i-s/2,y:l=n-o},{x:i-s/2,y:l-g},{x:i+s/2,y:l-g},{x:i+s/2,y:l}]}}),"getSelfLoopPoints"),M=d(((e,t,a="top",r=0,i={})=>{var n=e.x,d=e.y-r,o=i.width??0,s=i.height??0;switch(a){case"bottom":return{x:n,y:Math.max(...t.map((e=>e.y)))+s/2+4};case"right":return{x:Math.max(...t.map((e=>e.x)))+o/2+4,y:d};case"left":return{x:Math.min(...t.map((e=>e.x)))-o/2-4,y:d};default:return{x:n,y:Math.min(...t.map((e=>e.y)))-s/2-4}}}),"getSelfLoopLabelPosition"),R=d(((e,t=0,{mergeSelfLoops:a=!0}={})=>{const r=new Map,i=[],n=e.graph()?.rankdir;return e.edges().forEach((t=>{var n,d=e.edge(t);(a&&d.selfLoop?(n=d.selfLoop.id,r.has(n)||r.set(n,[]),r.get(n)):i).push({edge:d,start:t.v,end:t.w})})),r.forEach((a=>{var r,d,o,s,g,l,h,f;3!==a.length?a.forEach((e=>i.push(e))):(a.sort(((e,t)=>e.edge.selfLoop.order-t.edge.selfLoop.order)),[r,d,o]=a,s=r.edge.originalEdge??d.edge.originalEdge??o.edge.originalEdge??d.edge,(h=e.node(s.start))?(g={width:d.edge.width,height:d.edge.height},f=I(e,h,a,s.start,n),l=C(h,f,t,g.width??0),h=M(h,l,f,t,g),delete(f={...d.edge,...s,id:s.id,points:l,start:s.start,end:s.end,x:h.x,y:h.y,width:g.width,height:g.height,labelStyle:d.edge.labelStyle,fromCluster:r.edge.fromCluster??d.edge.fromCluster??o.edge.fromCluster,toCluster:r.edge.toCluster??d.edge.toCluster??o.edge.toCluster}).selfLoop,delete f.originalEdge,i.push({edge:f,start:f.start,end:f.end})):a.forEach((e=>i.push(e))))})),i}),"getEdgesToRender"),P=d((async(e,a,o,s,g,l)=>{h.warn("Graph in recursive render:XAX",t(a),g);const f=a.graph().rankdir;h.trace("Dir in recursive render - dir:",f),e=e.insert("g").attr("class","root"),a.nodes()?h.info("Recursive render XXX",a.nodes()):h.info("No nodes found for",a),0<a.edges().length&&h.info("Recursive edges",a.edge(a.edges()[0]));const L=e.insert("g").attr("class","clusters"),v=e.insert("g").attr("class","edgePaths"),E=e.insert("g").attr("class","edgeLabels"),I=e.insert("g").attr("class","nodes"),C=N(o);await Promise.all(a.nodes().map((async function(e){var t,n,d=a.node(e);void 0!==g&&(t=JSON.parse(JSON.stringify(g.clusterData)),h.trace("Setting data for parent cluster XXX\n Node.id = ",e,"\n data=",t.height,"\nParent cluster",g.height),a.setNode(g.id,t),a.parent(e)||(h.trace("Setting parent",e,g.id),a.setParent(e,g.id,t))),h.info("(Insert) Node XXX"+e+": "+JSON.stringify(a.node(e))),d?.clusterNode?(h.info("Cluster identified XBX",e,d.width,a.node(e)),({ranksep:t,nodesep:n}=a.graph()),d.graph.setGraph({...d.graph.graph(),ranksep:t+25,nodesep:n}),n=(t=await P(I,d.graph,o,s,a.node(e),l)).elem,p(d,n),d.diff=t.diff||0,h.info("New compound node after recursive render XAX",e,"width",d.width,"height",d.height),c(n,d)):0<a.children(e).length?(h.trace("Cluster - the non recursive path XBX",e,d.id,d,d.width,"Graph:",a),h.trace(r(d.id,a)),i.set(d.id,{id:r(d.id,a),node:d})):(h.trace("Node - the non recursive path XAX",e,I,a.node(e),f),await u(I,a.node(e),{config:l,dir:f}))}))),await d((async()=>{var e=a.edges().map((async function(e){var t=a.edge(e.v,e.w,e.name);if(h.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),h.info("Edge "+e.v+" -> "+e.w+": ",e," ",JSON.stringify(a.edge(e))),h.info("Fix",i,"ids:",e.v,e.w,"Translating: ",i.get(e.v),i.get(e.w)),C&&t.selfLoop)return 1!==t.selfLoop.order?void 0:(e=t.id,t.id=t.selfLoop.id,await X(E,t),void(t.id=e));await X(E,t)}));await Promise.all(e)}),"processEdges")(),h.info("Graph before layout:",JSON.stringify(t(a))),h.info("############################################# XXX"),h.info("### Layout ### XXX"),h.info("############################################# XXX"),S(a),h.info("Graph after layout:",JSON.stringify(t(a)));let M=0,G=y(l).subGraphTitleTotalMargin;await Promise.all(n(a).map((async function(e){var t,r=a.node(e);h.info("Position XBX => "+e+": ("+r.x,","+r.y,") width: ",r.width," height: ",r.height),r?.clusterNode?(r.y+=G,h.info("A tainted cluster node XBX1",e,r.id,r.width,r.height,r.x,r.y,a.parent(e)),i.get(r.id).node=r,m(r)):0<a.children(e).length?(h.info("A pure cluster node XBX1",e,r.id,r.x,r.y,r.width,r.height,a.parent(e)),r.height+=G,a.node(r.parentId),e=r?.padding/2||0,t=r?.labelBBox?.height||0,h.debug("OffsetY",t-e||0,"labelHeight",t,"halfPadding",e),await w(L,r),i.get(r.id).node=r):(t=a.node(r.parentId),r.y+=G/2,h.info("A regular node XBX1 - using the padding",r.id,"parent",r.parentId,r.width,r.height,r.x,r.y,"offsetY",r.offsetY,"parent",t,t?.offsetY,r),m(r))})));const k=G/2;return R(a,k,{mergeSelfLoops:C}).forEach((function({edge:e,start:t,end:r}){h.info("Edge "+t+" -> "+r+": "+JSON.stringify(e),e),e.points.forEach((e=>e.y+=k)),t=a.node(t),r=a.node(r),t=x(v,e,i,o,t,r,s),b(e,t)})),a.nodes().forEach((function(e){var t=a.node(e);h.info(e,t.type,t.diff),t.isGroup&&(M=t.diff)})),h.warn("Returning from recursive render XAX",e,M),{elem:e,diff:M}}),"recursiveRender"),G=d((async(r,i)=>{const n=new L({multigraph:!0,compound:!0}).setGraph({rankdir:r.direction,nodesep:r.config?.nodeSpacing||r.config?.flowchart?.nodeSpacing||r.nodeSpacing,ranksep:r.config?.rankSpacing||r.config?.flowchart?.rankSpacing||r.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}}));i=i.select("g");var d=(o(i,r.markers,r.type,r.diagramId),s(),g(),l(),e(),r.nodes.forEach((e=>{n.setNode(e.id,{...e}),e.parentId&&n.setParent(e.id,e.parentId)})),h.debug("Edges:",r.edges),r.edges.forEach((e=>{var t,a,r,i,d,o,s,g;e.start===e.end?(a=(t=e.start)+"---"+t+"---1",r=t+"---"+t+"---2",i=n.node(t),n.setNode(a,{domId:a,id:a,parentId:i.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),n.setParent(a,i.parentId),n.setNode(r,{domId:r,id:r,parentId:i.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),n.setParent(r,i.parentId),d=structuredClone(e),o=structuredClone(e),s=structuredClone(e),g=structuredClone(e),o.originalEdge=d,o.selfLoop={id:d.id,order:0},s.originalEdge=d,s.selfLoop={id:d.id,order:1},g.originalEdge=d,g.selfLoop={id:d.id,order:2},o.label="",o.arrowTypeEnd="none",o.endLabelLeft="",o.endLabelRight="",o.startLabelLeft="",o.id=t+"-cyclic-special-1",s.startLabelRight="",s.startLabelLeft="",s.endLabelLeft="",s.endLabelRight="",s.arrowTypeStart="none",s.arrowTypeEnd="none",s.id=t+"-cyclic-special-mid",g.label="",g.startLabelRight="",g.startLabelLeft="",g.arrowTypeStart="none",i.isGroup&&(o.fromCluster=t,g.toCluster=t),g.id=t+"-cyclic-special-2",g.arrowTypeStart="none",n.setEdge(t,a,o,t+"-cyclic-special-0"),n.setEdge(a,r,s,t+"-cyclic-special-1"),n.setEdge(r,t,g,t+"-cyclic-special-2")):n.setEdge(e.start,e.end,{...e},e.id)})),h.warn("Graph at first:",JSON.stringify(t(n))),a(n),h.warn("Graph after XAX:",JSON.stringify(t(n))),f());await P(i,n,r.type,r.diagramId,void 0,d)}),"render");export{R as getEdgesToRender,G as render};
@@ -0,0 +1 @@
1
+ function i(i,t){var n;return isFinite(i)&&0!==i?(t=(i=t?i.toExponential(t-1):i.toExponential()).indexOf("e"),[1<(n=i.slice(0,t)).length?n[0]+n.slice(2):n,+i.slice(t+1)]):null}function t(t){return(t=i(Math.abs(t)))?t[1]:NaN}var n,e;(n=self.document)&&!n.getElementById("livereloadscript")&&((e=n.createElement("script")).async=1,e.src="//"+(self.location.host||"localhost").split(":")[0]+":35729/livereload.js?snipver=1",e.id="livereloadscript",n.getElementsByTagName("head")[0].appendChild(e));var r,o=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function a(i){var t;if(t=o.exec(i))return new s({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]});throw new Error("invalid format: "+i)}function s(i){this.fill=void 0===i.fill?" ":i.fill+"",this.align=void 0===i.align?">":i.align+"",this.sign=void 0===i.sign?"-":i.sign+"",this.symbol=void 0===i.symbol?"":i.symbol+"",this.zero=!!i.zero,this.width=void 0===i.width?void 0:+i.width,this.comma=!!i.comma,this.precision=void 0===i.precision?void 0:+i.precision,this.trim=!!i.trim,this.type=void 0===i.type?"":i.type+""}function l(t,n){var e;return(n=i(t,n))?(e=n[0],(n=n[1])<0?"0."+new Array(-n).join("0")+e:e.length>n+1?e.slice(0,n+1)+"."+e.slice(n+1):e+new Array(n-e.length+2).join("0")):t+""}a.prototype=s.prototype,s.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var c={"%":(i,t)=>(100*i).toFixed(t),b:i=>Math.round(i).toString(2),c:i=>i+"",d:function(i){return 1e21<=Math.abs(i=Math.round(i))?i.toLocaleString("en").replace(/,/g,""):i.toString(10)},e:(i,t)=>i.toExponential(t),f:(i,t)=>i.toFixed(t),g:(i,t)=>i.toPrecision(t),o:i=>Math.round(i).toString(8),p:(i,t)=>l(100*i,t),r:l,s:function(t,n){var e,o,a=i(t,n);return a?(e=a[0],(a=(a=a[1])-(r=3*Math.max(-8,Math.min(8,Math.floor(a/3))))+1)===(o=e.length)?e:o<a?e+new Array(a-o+1).join("0"):0<a?e.slice(0,a)+"."+e.slice(a):"0."+new Array(1-a).join("0")+i(t,Math.max(0,n+a-1))[0]):(r=void 0,t.toPrecision(n))},X:i=>Math.round(i).toString(16).toUpperCase(),x:i=>Math.round(i).toString(16)};function h(i){return i}var u,d,f,g=Array.prototype.map,m=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function p(i){var n=void 0===i.grouping||void 0===i.thousands?h:function(i,t){return function(n,e){for(var r=n.length,o=[],a=0,s=i[0],l=0;0<r&&0<s&&(e<l+s+1&&(s=Math.max(1,e-l)),o.push(n.substring(r-=s,r+s)),!((l+=s+1)>e));)s=i[a=(a+1)%i.length];return o.reverse().join(t)}}(g.call(i.grouping,Number),i.thousands+""),e=void 0===i.currency?"":i.currency[0]+"",o=void 0===i.currency?"":i.currency[1]+"",s=void 0===i.decimal?".":i.decimal+"",l=void 0===i.numerals?h:function(i){return function(t){return t.replace(/[0-9]/g,function(t){return i[+t]})}}(g.call(i.numerals,String)),u=void 0===i.percent?"%":i.percent+"",d=void 0===i.minus?"−":i.minus+"",f=void 0===i.nan?"NaN":i.nan+"";function p(i,t){var h=(i=a(i)).fill,g=i.align,p=i.sign,v=i.symbol,y=i.zero,x=i.width,M=i.comma,b=i.precision,w=i.trim,N=i.type,S=("n"===N?(M=!0,N="g"):c[N]||(void 0===b&&(b=12),w=!0,N="g"),(y||"0"===h&&"="===g)&&(y=!0,h="0",g="="),(t&&void 0!==t.prefix?t.prefix:"")+("$"===v?e:"#"===v&&/[boxX]/.test(N)?"0"+N.toLowerCase():"")),k=("$"===v?o:/[%p]/.test(N)?u:"")+(t&&void 0!==t.suffix?t.suffix:""),E=c[N],j=/[defgprs%]/.test(N);function z(i){var t,e,o,a=S,c=k;if("c"===N)c=E(i)+c,i="";else{var u=(i=+i)<0||1/i<0;if(i=isNaN(i)?f:E(Math.abs(i),b),w&&(i=function(i){i:for(var t,n=i.length,e=1,r=-1;e<n;++e)switch(i[e]){case".":r=t=e;break;case"0":0===r&&(r=e),t=e;break;default:if(!+i[e])break i;0<r&&(r=0)}return 0<r?i.slice(0,r)+i.slice(t+1):i}(i)),a=((u=(!u||0!=+i||"+"===p)&&u)?"("===p?p:d:"-"===p||"("===p?"":p)+a,c=("s"!==N||isNaN(i)||void 0===r?"":m[8+r/3])+c+(u&&"("===p?")":""),j)for(t=-1,e=i.length;++t<e;)if((o=i.charCodeAt(t))<48||57<o){c=(46===o?s+i.slice(t+1):i.slice(t))+c,i=i.slice(0,t);break}}M&&!y&&(i=n(i,1/0));var v=a.length+i.length+c.length,z=v<x?new Array(x-v+1).join(h):"";switch(M&&y&&(i=n(z+i,z.length?x-c.length:1/0),z=""),g){case"<":i=a+i+c+z;break;case"=":i=a+z+i+c;break;case"^":i=z.slice(0,v=z.length>>1)+a+i+c+z.slice(v);break;default:i=z+a+i+c}return l(i)}return b=void 0===b?6:/[gprs]/.test(N)?Math.max(1,Math.min(21,b)):Math.max(0,Math.min(20,b)),z.toString=function(){return i+""},z}return{format:p,formatPrefix:function(i,n){n=3*Math.max(-8,Math.min(8,Math.floor(t(n)/3)));var e=Math.pow(10,-n),r=p(((i=a(i)).type="f",i),{suffix:m[8+n/3]});return function(i){return r(e*i)}}}}!function(i){u=p(i),d=u.format,f=u.formatPrefix}({thousands:",",grouping:[3],currency:["$",""]});export{f as a,d as b,t as e,a as f};
@@ -0,0 +1 @@
1
+ function i(i,t){var n;return isFinite(i)&&0!==i?(t=(i=t?i.toExponential(t-1):i.toExponential()).indexOf("e"),[1<(n=i.slice(0,t)).length?n[0]+n.slice(2):n,+i.slice(t+1)]):null}function t(t){return(t=i(Math.abs(t)))?t[1]:NaN}var n,r=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function e(i){var t;if(t=r.exec(i))return new o({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]});throw new Error("invalid format: "+i)}function o(i){this.fill=void 0===i.fill?" ":i.fill+"",this.align=void 0===i.align?">":i.align+"",this.sign=void 0===i.sign?"-":i.sign+"",this.symbol=void 0===i.symbol?"":i.symbol+"",this.zero=!!i.zero,this.width=void 0===i.width?void 0:+i.width,this.comma=!!i.comma,this.precision=void 0===i.precision?void 0:+i.precision,this.trim=!!i.trim,this.type=void 0===i.type?"":i.type+""}function a(t,n){var r;return(n=i(t,n))?(r=n[0],(n=n[1])<0?"0."+new Array(-n).join("0")+r:r.length>n+1?r.slice(0,n+1)+"."+r.slice(n+1):r+new Array(n-r.length+2).join("0")):t+""}e.prototype=o.prototype,o.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var s={"%":(i,t)=>(100*i).toFixed(t),b:i=>Math.round(i).toString(2),c:i=>i+"",d:function(i){return 1e21<=Math.abs(i=Math.round(i))?i.toLocaleString("en").replace(/,/g,""):i.toString(10)},e:(i,t)=>i.toExponential(t),f:(i,t)=>i.toFixed(t),g:(i,t)=>i.toPrecision(t),o:i=>Math.round(i).toString(8),p:(i,t)=>a(100*i,t),r:a,s:function(t,r){var e,o,a=i(t,r);return a?(e=a[0],(a=(a=a[1])-(n=3*Math.max(-8,Math.min(8,Math.floor(a/3))))+1)===(o=e.length)?e:o<a?e+new Array(a-o+1).join("0"):0<a?e.slice(0,a)+"."+e.slice(a):"0."+new Array(1-a).join("0")+i(t,Math.max(0,r+a-1))[0]):(n=void 0,t.toPrecision(r))},X:i=>Math.round(i).toString(16).toUpperCase(),x:i=>Math.round(i).toString(16)};function c(i){return i}var l,h,u,f=Array.prototype.map,d=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function g(i){var r,o=void 0===i.grouping||void 0===i.thousands?c:function(i,t){return function(n,r){for(var e=n.length,o=[],a=0,s=i[0],c=0;0<e&&0<s&&(r<c+s+1&&(s=Math.max(1,r-c)),o.push(n.substring(e-=s,e+s)),!((c+=s+1)>r));)s=i[a=(a+1)%i.length];return o.reverse().join(t)}}(f.call(i.grouping,Number),i.thousands+""),a=void 0===i.currency?"":i.currency[0]+"",l=void 0===i.currency?"":i.currency[1]+"",h=void 0===i.decimal?".":i.decimal+"",u=void 0===i.numerals?c:(r=f.call(i.numerals,String),function(i){return i.replace(/[0-9]/g,(function(i){return r[+i]}))}),g=void 0===i.percent?"%":i.percent+"",m=void 0===i.minus?"−":i.minus+"",p=void 0===i.nan?"NaN":i.nan+"";function v(i,t){var r=(i=e(i)).fill,c=i.align,f=i.sign,v=i.symbol,y=i.zero,x=i.width,M=i.comma,b=i.precision,w=i.trim,N=i.type,S=("n"===N?(M=!0,N="g"):s[N]||(void 0===b&&(b=12),w=!0,N="g"),(y||"0"===r&&"="===c)&&(y=!0,r="0",c="="),(t&&void 0!==t.prefix?t.prefix:"")+("$"===v?a:"#"===v&&/[boxX]/.test(N)?"0"+N.toLowerCase():"")),k=("$"===v?l:/[%p]/.test(N)?g:"")+(t&&void 0!==t.suffix?t.suffix:""),z=s[N],A=/[defgprs%]/.test(N);function j(i){var t,e,a,s=S,l=k;if("c"===N)l=z(i)+l,i="";else{var g=(i=+i)<0||1/i<0;if(i=isNaN(i)?p:z(Math.abs(i),b),w&&(i=function(i){i:for(var t,n=i.length,r=1,e=-1;r<n;++r)switch(i[r]){case".":e=t=r;break;case"0":0===e&&(e=r),t=r;break;default:if(!+i[r])break i;0<e&&(e=0)}return 0<e?i.slice(0,e)+i.slice(t+1):i}(i)),s=((g=(!g||0!=+i||"+"===f)&&g)?"("===f?f:m:"-"===f||"("===f?"":f)+s,l=("s"!==N||isNaN(i)||void 0===n?"":d[8+n/3])+l+(g&&"("===f?")":""),A)for(t=-1,e=i.length;++t<e;)if((a=i.charCodeAt(t))<48||57<a){l=(46===a?h+i.slice(t+1):i.slice(t))+l,i=i.slice(0,t);break}}M&&!y&&(i=o(i,1/0));var v=s.length+i.length+l.length,j=v<x?new Array(x-v+1).join(r):"";switch(M&&y&&(i=o(j+i,j.length?x-l.length:1/0),j=""),c){case"<":i=s+i+l+j;break;case"=":i=s+j+i+l;break;case"^":i=j.slice(0,v=j.length>>1)+s+i+l+j.slice(v);break;default:i=j+s+i+l}return u(i)}return b=void 0===b?6:/[gprs]/.test(N)?Math.max(1,Math.min(21,b)):Math.max(0,Math.min(20,b)),j.toString=function(){return i+""},j}return{format:v,formatPrefix:function(i,n){n=3*Math.max(-8,Math.min(8,Math.floor(t(n)/3)));var r=Math.pow(10,-n),o=v(((i=e(i)).type="f",i),{suffix:d[8+n/3]});return function(i){return o(r*i)}}}}l=g({thousands:",",grouping:[3],currency:["$",""]}),h=l.format,u=l.formatPrefix;export{u as a,h as b,t as e,e as f};
@@ -0,0 +1 @@
1
+ var e,t;(e=self.document)&&!e.getElementById("livereloadscript")&&((t=e.createElement("script")).async=1,t.src="//"+(self.location.host||"localhost").split(":")[0]+":35729/livereload.js?snipver=1",t.id="livereloadscript",e.getElementsByTagName("head")[0].appendChild(t));import{p as a}from"./chunk-JWPE2WC7-84faee3d.js";import{_ as i,E as n,d as r,l as o,G as s,i as l,w as d,an as m,s as x,g as c,b as u,c as f,n as g,o as h,v as b,F as p,j as v,I as w}from"./mermaid.core-2d237a1e.js";import{w as y,v as P}from"./mermaid-parser.core-6df0beec.js";import"./web-753300e1.js";var M="position frame",k="frame positioned",B="position relation",S="relation positioned",E=i(function(e){o.debug("options str",e)},"setOptions"),F=i(function(){return{}},"getOptions"),A=i(function(){W(),b()},"clear");function W(){T={}}i(W,"reset");var $=n.eventmodeling,R=i(()=>p({...$,...s().eventmodeling}),"getConfig"),T={};function O(){let e=j,t=T.ast,a=C();if(t)return t.frames.forEach((i,n)=>{var r=z(i,t.dataEntities,a);e=se(e,{$kind:M,index:n,frame:i,textProps:r}),Q(i)?(o.debug("source frame",i.sourceFrames),t.frames.filter(e=>i.sourceFrames.some(t=>t.$refText===e.name)).forEach(t=>{e=se(e,{$kind:B,index:n,frame:i,sourceFrame:t})})):e=se(e,{$kind:B,index:n,frame:i})}),e={...e,sortedSwimlanesArray:_(e.swimlanes)};throw new Error("No data for EventModel")}function I(e){T.ast=e}i(O,"getState"),i(I,"setAst");var H={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:430,boxTextFontWeight:"bold",boxTextPadding:10,swimlaneTextFontWeight:"bold",labelUiAutomation:"UI/Automation",labelUiAutomationPrefix:"UI/A: ",labelCommandReadModel:"Command/Read Model",labelCommandReadModelPrefix:"C/RM: ",labelEvents:"Events",labelEventsPrefix:"Stream: "};function C(){return H}i(C,"getDiagramProps");var j={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function D(e){if(2===(e=e.split(".")).length)return e[0]}function N(e){var t=e.split(".");return 2===t.length?t[1]:e}function U(e,t){if(t&&0!==t.length)return Object.values(e).find(e=>e.namespace===t)}function V(e,t,a){return Math.max(t,...Object.keys(e).filter(e=>(e=Number.parseInt(e),t<e&&e<a)).map(e=>Number.parseInt(e)))+1}function X(e,t){var a=D(e.entityIdentifier),i=U(t,a);switch(e.modelEntityType){case"ui":case"pcr":case"processor":return i?{index:i.index,label:i.namespace||H.labelUiAutomation}:a?{index:V(t,0,100),label:H.labelUiAutomationPrefix+a}:{index:0,label:H.labelUiAutomation};case"rmo":case"readmodel":case"cmd":case"command":return i?{index:i.index,label:i.namespace||H.labelCommandReadModel}:a?{index:V(t,100,200),label:H.labelCommandReadModelPrefix+a}:{index:100,label:H.labelCommandReadModel};default:return i?{index:i.index,label:i.namespace||H.labelEvents}:a?{index:V(t,200,300),label:H.labelEventsPrefix+a}:{index:200,label:H.labelEvents}}}function G(e){var t=s().themeVariables;switch(e.modelEntityType){case"ui":return{fill:t.emUiFill??"white",stroke:t.emUiStroke??"#dbdada"};case"pcr":case"processor":return{fill:t.emProcessorFill??"#edb3f6",stroke:t.emProcessorStroke??"#b88cbf"};case"rmo":case"readmodel":return{fill:t.emReadModelFill??"#d3f1a2",stroke:t.emReadModelStroke??"#a3b732"};case"cmd":case"command":return{fill:t.emCommandFill??"#bcd6fe",stroke:t.emCommandStroke??"#679ac3"};case"evt":case"event":return{fill:t.emEventFill??"#ffb778",stroke:t.emEventStroke??"#c19a0f"};default:return{fill:"red",stroke:"black"}}}function z(e,t,a){var i=s(),n=l(N(e.entityIdentifier)??"",i);let r;var x={fontSize:16,fontWeight:700,fontFamily:'"trebuchet ms", verdana, arial, sans-serif',joinWith:"<br/>"};let c=`<b>${d(n,a.textMaxWidth,x)}</b>`;return e.dataInlineValue&&(r=(r=(r=e.dataInlineValue).substring(r.indexOf("{")+1)).substring(0,r.lastIndexOf("}")-1),r=l(r,i),r=(r=d(r,a.textMaxWidth,x)).replaceAll(" ","&nbsp;")),e.dataReference&&(n=t.find(t=>t.name===e.dataReference?.$refText))&&(r=(r=(r=n.dataBlockValue).substring(r.indexOf("{\n")+2)).substring(0,r.lastIndexOf("}")-1),r=l(r,i),r=(r=d(r,a.textMaxWidth,x)).replaceAll(" ","&nbsp;"),r+="<br/>"),(t=void 0!==r)&&(c+=`<br/><br/><code style="text-align: left; display: block;max-width:${a.textMaxWidth}px">${r}</code>`),n={fontSize:x.fontSize,fontWeight:x.fontWeight,fontFamily:x.fontFamily},i=m(c,n),x={content:c,width:a=t?i.width/3:i.width,height:i.height},o.debug(`[${e.name}] ${e.entityIdentifier} text`,x),x}function L(e,t){var a=G(t.frame),i={width:t.textProps.width+2*H.boxTextPadding,height:t.textProps.height+2*H.boxTextPadding};return[{$kind:k,frame:t.frame,index:t.index,visual:a,dimension:i,textProps:t.textProps}]}function Y(e,t,a){return void 0===t?H.contentStartX:t.index===e.index&&e.r?e.r+H.boxPadding:void 0===a?H.contentStartX:a.r-H.boxOverlap+H.boxPadding}function J(e,t){return e=[...e.map(e=>e.r),t],Math.max(...e)}function _(e){return Object.values(e).sort((e,t)=>e.index-t.index)}function q(e,t){var a=X(t.frame,e.swimlanes);let i;i=a.index in e.swimlanes?e.swimlanes[a.index]:{index:a.index,label:a.label,r:0,y:a.index*H.swimlaneMinHeight+H.swimlaneGap,height:H.swimlaneMinHeight,maxHeight:H.swimlaneMinHeight};var n=0<e.boxes.length?e.boxes[e.boxes.length-1]:void 0,r=void 0!==e.previousSwimlaneNumber?e.swimlanes[e.previousSwimlaneNumber]:void 0,o={width:Math.max(H.boxMinWidth,Math.min(H.boxMaxWidth,t.dimension.width))+2*H.boxPadding,height:Math.max(H.boxMinHeight,Math.min(H.boxMaxHeight,t.dimension.height))+2*H.boxPadding},s=(n=(r=Y(i,r,n))+o.width+H.boxPadding,J(Object.values(e.swimlanes),n)),l=(r=(i.r=r+o.width,i.maxHeight=Math.max(i.maxHeight,o.height),i.height=Math.max(H.swimlaneMinHeight,i.maxHeight)+2*H.swimlanePadding,{x:r,y:H.swimlanePadding+i.y,r:n,dimension:o,leftSibling:!1,swimlane:i,visual:t.visual,text:t.textProps.content,frame:t.frame,index:t.index}),_((n={...e,boxes:[...e.boxes,r],swimlanes:{...e.swimlanes,[""+i.index]:i},previousSwimlaneNumber:a.index,previousFrame:t.frame,maxR:s}).swimlanes));0<l.length&&(l[0].y=0);for(let e=1;e<l.length;e++){var d=l[e],m=l[e-1];d.y=m.y+m.height+H.swimlaneGap}return n}function K(e,t){return 0===e&&0===t.sourceFrames.length}function Q(e){return null!=e.sourceFrames&&0<e.sourceFrames.length}function Z(e,t){if(null!=t)return e.find(e=>e.frame.name===t.name)}function ee(e,t,a){if(!(a<0))for(let n=a;0<=n;n--){var i=e[n];if(i.swimlane.index!==t)return i}}function te(e,t){if(y(t.frame)||K(t.index,t.frame))return[];var a=Z(e.boxes,t.frame);if(void 0===a)throw new Error("Target box not found for frame "+t.frame.name);let i;return void 0===(i=t.sourceFrame?Z(e.boxes,t.sourceFrame):ee(e.boxes,a.swimlane.index,t.index-1))?[]:[{$kind:S,frame:t.frame,index:t.index,sourceBox:i,targetBox:a}]}function ae(e,t){return t={visual:{fill:"none",stroke:"#000"},source:{x:t.sourceBox.x,y:t.sourceBox.y},target:{x:t.targetBox.x,y:t.targetBox.y},sourceBox:t.sourceBox,targetBox:t.targetBox},{...e,relations:[...e.relations,t]}}i(D,"extractNamespace"),i(N,"extractName"),i(U,"findSwimlaneByNamespace"),i(V,"findNextAvailableIndex"),i(X,"calculateSwimlaneProps"),i(G,"calculateEntityVisualProps"),i(z,"calculateTextProps"),i(L,"decidePositionFrame"),i(Y,"calculateX"),i(J,"calculateMaxRight"),i(_,"sortedSwimlanesArray"),i(q,"evolveFramePositioned"),i(K,"isFirstFrame"),i(Q,"hasSourceFrame"),i(Z,"findBoxByFrame"),i(ee,"findBoxByLineIndex"),i(te,"decidePositionRelation"),i(ae,"evolveRelationPositioned");var ie={[M]:L,[B]:te},ne={[k]:q,[S]:ae};function re(e,t){var a=ie[t.$kind];return null==a?[]:(a=a(e,t),o.debug("decided events",a),a)}function oe(e,t){var a=t.reduce((e,t)=>{var a=ne[t.$kind];return null==a?e:a(e,t)},e);return o.debug("evolve events",{state:e,newState:a,events:t}),a}function se(e,t){return oe(e,re(e,t))}i(re,"decide"),i(oe,"evolve"),i(se,"dispatch");var le={getConfig:R,setOptions:E,getOptions:F,clear:A,setAccTitle:x,getAccTitle:c,getAccDescription:u,setAccDescription:f,setDiagramTitle:g,getDiagramTitle:h,setAst:I,getDiagramProps:C,getState:O},de={parse:i(async e=>{e=await P("eventmodeling",e),o.debug(e),le.setAst(e),a(e,le)},"parse")},me=r(),xe=me?.eventmodeling;function ce(e,t){return a=>{var i=a.swimlane.y+t.swimlanePadding,n=e.append("g").attr("class","em-box");n.append("rect").attr("x",a.x).attr("y",i).attr("rx","3").attr("width",a.dimension.width).attr("height",a.dimension.height).attr("stroke",a.visual.stroke).attr("fill",a.visual.fill),n.append("foreignObject").attr("x",a.x+t.boxPadding).attr("y",i+10).attr("width",a.dimension.width-2*t.boxPadding).attr("height",a.dimension.height-2*t.boxPadding).append("xhtml:div").style("display","table").style("height","100%").style("width","100%").append("span").style("display","table-cell").style("text-align","center").style("vertical-align","middle").html(a.text)}}function ue(e,t){return t<e}function fe(e,t,a,i){return n=>{var r=n.sourceBox.swimlane.y+t.swimlanePadding,s=n.targetBox.swimlane.y+t.swimlanePadding,l=ue(r,s),d=n.sourceBox.x+2*n.sourceBox.dimension.width/3,m=n.targetBox.x+n.targetBox.dimension.width/3;let x,c;o.debug(`rendering relation up=${l} for `,{sourceBox:n.sourceBox,targetBox:n.targetBox}),c=l?(x=r,s+n.targetBox.dimension.height):(x=r+n.sourceBox.dimension.height,s),l=i.emRelationStroke??n.visual.stroke,e.append("path").attr("class","em-relation").attr("fill",n.visual.fill).attr("stroke",l).attr("stroke-width","1").attr("marker-end",`url(#${a})`).attr("d",`M${d} ${x} L${m} `+c)}}function ge(e,t,a,i){return n=>{var r=e.append("g").attr("class","em-swimlane"),o=i.emSwimlaneBackgroundOdd??"rgb(250,250,250)",s=i.emSwimlaneBackgroundStroke??"rgb(240,240,240)";r.append("rect").attr("x",0).attr("y",n.y).attr("rx","3").attr("width",t+a.swimlanePadding).attr("height",n.height).attr("fill",o).attr("stroke",s),r.append("text").attr("font-weight",a.swimlaneTextFontWeight).attr("x",30).attr("y",n.y+30).text(n.label)}}i(ce,"renderD3Box"),i(ue,"dirUpwards"),i(fe,"renderD3Relation"),i(ge,"renderD3Swimlane");var he=i(function(e,t,a,i){if(o.debug("in eventmodeling renderer",e+"\n","id:",t,a),!xe)throw new Error("EventModeling config not found");e=i.db;var{themeVariables:a,eventmodeling:i}=r(),n=v(`[id="${t}"]`),s=e.getDiagramProps(),l=(e=e.getState(),t="em-arrowhead-"+t,a.emArrowhead??"#000000");e.sortedSwimlanesArray.forEach(ge(n,e.maxR,s,a)),e.boxes.forEach(ce(n,s)),e.relations.forEach(fe(n,s,t,a)),n.append("defs").append("marker").attr("id",t).attr("markerWidth","10").attr("markerHeight","7").attr("refX","10").attr("refY","3.5").attr("orient","auto").append("polygon").attr("points","0 0, 10 3.5, 0 7").attr("fill",l),w(void 0,n,i?.padding??30,i?.useMaxWidth)},"draw"),be={draw:he},pe=i(e=>"","getStyles"),ve={parser:de,db:le,renderer:be,styles:pe};export{ve as diagram};
@@ -0,0 +1 @@
1
+ var e,t;(e=self.document)&&!e.getElementById("livereloadscript")&&((t=e.createElement("script")).async=1,t.src="//"+(self.location.host||"localhost").split(":")[0]+":35729/livereload.js?snipver=1",t.id="livereloadscript",e.getElementsByTagName("head")[0].appendChild(t));import{p as a}from"./chunk-JWPE2WC7-15a55950.js";import{_ as i,E as n,d as r,l as o,G as s,i as l,w as d,an as m,s as x,g as c,b as u,c as f,n as g,o as h,v as b,F as p,j as v,I as w}from"./mermaid.core-70d5aead.js";import{w as y,v as P}from"./mermaid-parser.core-6df0beec.js";import"./web-25bb78b9.js";var M="position frame",k="frame positioned",B="position relation",S="relation positioned",E=i(function(e){o.debug("options str",e)},"setOptions"),F=i(function(){return{}},"getOptions"),A=i(function(){W(),b()},"clear");function W(){T={}}i(W,"reset");var $=n.eventmodeling,R=i(()=>p({...$,...s().eventmodeling}),"getConfig"),T={};function O(){let e=j,t=T.ast,a=C();if(t)return t.frames.forEach((i,n)=>{var r=z(i,t.dataEntities,a);e=se(e,{$kind:M,index:n,frame:i,textProps:r}),Q(i)?(o.debug("source frame",i.sourceFrames),t.frames.filter(e=>i.sourceFrames.some(t=>t.$refText===e.name)).forEach(t=>{e=se(e,{$kind:B,index:n,frame:i,sourceFrame:t})})):e=se(e,{$kind:B,index:n,frame:i})}),e={...e,sortedSwimlanesArray:_(e.swimlanes)};throw new Error("No data for EventModel")}function I(e){T.ast=e}i(O,"getState"),i(I,"setAst");var H={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:430,boxTextFontWeight:"bold",boxTextPadding:10,swimlaneTextFontWeight:"bold",labelUiAutomation:"UI/Automation",labelUiAutomationPrefix:"UI/A: ",labelCommandReadModel:"Command/Read Model",labelCommandReadModelPrefix:"C/RM: ",labelEvents:"Events",labelEventsPrefix:"Stream: "};function C(){return H}i(C,"getDiagramProps");var j={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function D(e){if(2===(e=e.split(".")).length)return e[0]}function N(e){var t=e.split(".");return 2===t.length?t[1]:e}function U(e,t){if(t&&0!==t.length)return Object.values(e).find(e=>e.namespace===t)}function V(e,t,a){return Math.max(t,...Object.keys(e).filter(e=>(e=Number.parseInt(e),t<e&&e<a)).map(e=>Number.parseInt(e)))+1}function X(e,t){var a=D(e.entityIdentifier),i=U(t,a);switch(e.modelEntityType){case"ui":case"pcr":case"processor":return i?{index:i.index,label:i.namespace||H.labelUiAutomation}:a?{index:V(t,0,100),label:H.labelUiAutomationPrefix+a}:{index:0,label:H.labelUiAutomation};case"rmo":case"readmodel":case"cmd":case"command":return i?{index:i.index,label:i.namespace||H.labelCommandReadModel}:a?{index:V(t,100,200),label:H.labelCommandReadModelPrefix+a}:{index:100,label:H.labelCommandReadModel};default:return i?{index:i.index,label:i.namespace||H.labelEvents}:a?{index:V(t,200,300),label:H.labelEventsPrefix+a}:{index:200,label:H.labelEvents}}}function G(e){var t=s().themeVariables;switch(e.modelEntityType){case"ui":return{fill:t.emUiFill??"white",stroke:t.emUiStroke??"#dbdada"};case"pcr":case"processor":return{fill:t.emProcessorFill??"#edb3f6",stroke:t.emProcessorStroke??"#b88cbf"};case"rmo":case"readmodel":return{fill:t.emReadModelFill??"#d3f1a2",stroke:t.emReadModelStroke??"#a3b732"};case"cmd":case"command":return{fill:t.emCommandFill??"#bcd6fe",stroke:t.emCommandStroke??"#679ac3"};case"evt":case"event":return{fill:t.emEventFill??"#ffb778",stroke:t.emEventStroke??"#c19a0f"};default:return{fill:"red",stroke:"black"}}}function z(e,t,a){var i=s(),n=l(N(e.entityIdentifier)??"",i);let r;var x={fontSize:16,fontWeight:700,fontFamily:'"trebuchet ms", verdana, arial, sans-serif',joinWith:"<br/>"};let c=`<b>${d(n,a.textMaxWidth,x)}</b>`;return e.dataInlineValue&&(r=(r=(r=e.dataInlineValue).substring(r.indexOf("{")+1)).substring(0,r.lastIndexOf("}")-1),r=l(r,i),r=(r=d(r,a.textMaxWidth,x)).replaceAll(" ","&nbsp;")),e.dataReference&&(n=t.find(t=>t.name===e.dataReference?.$refText))&&(r=(r=(r=n.dataBlockValue).substring(r.indexOf("{\n")+2)).substring(0,r.lastIndexOf("}")-1),r=l(r,i),r=(r=d(r,a.textMaxWidth,x)).replaceAll(" ","&nbsp;"),r+="<br/>"),(t=void 0!==r)&&(c+=`<br/><br/><code style="text-align: left; display: block;max-width:${a.textMaxWidth}px">${r}</code>`),n={fontSize:x.fontSize,fontWeight:x.fontWeight,fontFamily:x.fontFamily},i=m(c,n),x={content:c,width:a=t?i.width/3:i.width,height:i.height},o.debug(`[${e.name}] ${e.entityIdentifier} text`,x),x}function L(e,t){var a=G(t.frame),i={width:t.textProps.width+2*H.boxTextPadding,height:t.textProps.height+2*H.boxTextPadding};return[{$kind:k,frame:t.frame,index:t.index,visual:a,dimension:i,textProps:t.textProps}]}function Y(e,t,a){return void 0===t?H.contentStartX:t.index===e.index&&e.r?e.r+H.boxPadding:void 0===a?H.contentStartX:a.r-H.boxOverlap+H.boxPadding}function J(e,t){return e=[...e.map(e=>e.r),t],Math.max(...e)}function _(e){return Object.values(e).sort((e,t)=>e.index-t.index)}function q(e,t){var a=X(t.frame,e.swimlanes);let i;i=a.index in e.swimlanes?e.swimlanes[a.index]:{index:a.index,label:a.label,r:0,y:a.index*H.swimlaneMinHeight+H.swimlaneGap,height:H.swimlaneMinHeight,maxHeight:H.swimlaneMinHeight};var n=0<e.boxes.length?e.boxes[e.boxes.length-1]:void 0,r=void 0!==e.previousSwimlaneNumber?e.swimlanes[e.previousSwimlaneNumber]:void 0,o={width:Math.max(H.boxMinWidth,Math.min(H.boxMaxWidth,t.dimension.width))+2*H.boxPadding,height:Math.max(H.boxMinHeight,Math.min(H.boxMaxHeight,t.dimension.height))+2*H.boxPadding},s=(n=(r=Y(i,r,n))+o.width+H.boxPadding,J(Object.values(e.swimlanes),n)),l=(r=(i.r=r+o.width,i.maxHeight=Math.max(i.maxHeight,o.height),i.height=Math.max(H.swimlaneMinHeight,i.maxHeight)+2*H.swimlanePadding,{x:r,y:H.swimlanePadding+i.y,r:n,dimension:o,leftSibling:!1,swimlane:i,visual:t.visual,text:t.textProps.content,frame:t.frame,index:t.index}),_((n={...e,boxes:[...e.boxes,r],swimlanes:{...e.swimlanes,[""+i.index]:i},previousSwimlaneNumber:a.index,previousFrame:t.frame,maxR:s}).swimlanes));0<l.length&&(l[0].y=0);for(let e=1;e<l.length;e++){var d=l[e],m=l[e-1];d.y=m.y+m.height+H.swimlaneGap}return n}function K(e,t){return 0===e&&0===t.sourceFrames.length}function Q(e){return null!=e.sourceFrames&&0<e.sourceFrames.length}function Z(e,t){if(null!=t)return e.find(e=>e.frame.name===t.name)}function ee(e,t,a){if(!(a<0))for(let n=a;0<=n;n--){var i=e[n];if(i.swimlane.index!==t)return i}}function te(e,t){if(y(t.frame)||K(t.index,t.frame))return[];var a=Z(e.boxes,t.frame);if(void 0===a)throw new Error("Target box not found for frame "+t.frame.name);let i;return void 0===(i=t.sourceFrame?Z(e.boxes,t.sourceFrame):ee(e.boxes,a.swimlane.index,t.index-1))?[]:[{$kind:S,frame:t.frame,index:t.index,sourceBox:i,targetBox:a}]}function ae(e,t){return t={visual:{fill:"none",stroke:"#000"},source:{x:t.sourceBox.x,y:t.sourceBox.y},target:{x:t.targetBox.x,y:t.targetBox.y},sourceBox:t.sourceBox,targetBox:t.targetBox},{...e,relations:[...e.relations,t]}}i(D,"extractNamespace"),i(N,"extractName"),i(U,"findSwimlaneByNamespace"),i(V,"findNextAvailableIndex"),i(X,"calculateSwimlaneProps"),i(G,"calculateEntityVisualProps"),i(z,"calculateTextProps"),i(L,"decidePositionFrame"),i(Y,"calculateX"),i(J,"calculateMaxRight"),i(_,"sortedSwimlanesArray"),i(q,"evolveFramePositioned"),i(K,"isFirstFrame"),i(Q,"hasSourceFrame"),i(Z,"findBoxByFrame"),i(ee,"findBoxByLineIndex"),i(te,"decidePositionRelation"),i(ae,"evolveRelationPositioned");var ie={[M]:L,[B]:te},ne={[k]:q,[S]:ae};function re(e,t){var a=ie[t.$kind];return null==a?[]:(a=a(e,t),o.debug("decided events",a),a)}function oe(e,t){var a=t.reduce((e,t)=>{var a=ne[t.$kind];return null==a?e:a(e,t)},e);return o.debug("evolve events",{state:e,newState:a,events:t}),a}function se(e,t){return oe(e,re(e,t))}i(re,"decide"),i(oe,"evolve"),i(se,"dispatch");var le={getConfig:R,setOptions:E,getOptions:F,clear:A,setAccTitle:x,getAccTitle:c,getAccDescription:u,setAccDescription:f,setDiagramTitle:g,getDiagramTitle:h,setAst:I,getDiagramProps:C,getState:O},de={parse:i(async e=>{e=await P("eventmodeling",e),o.debug(e),le.setAst(e),a(e,le)},"parse")},me=r(),xe=me?.eventmodeling;function ce(e,t){return a=>{var i=a.swimlane.y+t.swimlanePadding,n=e.append("g").attr("class","em-box");n.append("rect").attr("x",a.x).attr("y",i).attr("rx","3").attr("width",a.dimension.width).attr("height",a.dimension.height).attr("stroke",a.visual.stroke).attr("fill",a.visual.fill),n.append("foreignObject").attr("x",a.x+t.boxPadding).attr("y",i+10).attr("width",a.dimension.width-2*t.boxPadding).attr("height",a.dimension.height-2*t.boxPadding).append("xhtml:div").style("display","table").style("height","100%").style("width","100%").append("span").style("display","table-cell").style("text-align","center").style("vertical-align","middle").html(a.text)}}function ue(e,t){return t<e}function fe(e,t,a,i){return n=>{var r=n.sourceBox.swimlane.y+t.swimlanePadding,s=n.targetBox.swimlane.y+t.swimlanePadding,l=ue(r,s),d=n.sourceBox.x+2*n.sourceBox.dimension.width/3,m=n.targetBox.x+n.targetBox.dimension.width/3;let x,c;o.debug(`rendering relation up=${l} for `,{sourceBox:n.sourceBox,targetBox:n.targetBox}),c=l?(x=r,s+n.targetBox.dimension.height):(x=r+n.sourceBox.dimension.height,s),l=i.emRelationStroke??n.visual.stroke,e.append("path").attr("class","em-relation").attr("fill",n.visual.fill).attr("stroke",l).attr("stroke-width","1").attr("marker-end",`url(#${a})`).attr("d",`M${d} ${x} L${m} `+c)}}function ge(e,t,a,i){return n=>{var r=e.append("g").attr("class","em-swimlane"),o=i.emSwimlaneBackgroundOdd??"rgb(250,250,250)",s=i.emSwimlaneBackgroundStroke??"rgb(240,240,240)";r.append("rect").attr("x",0).attr("y",n.y).attr("rx","3").attr("width",t+a.swimlanePadding).attr("height",n.height).attr("fill",o).attr("stroke",s),r.append("text").attr("font-weight",a.swimlaneTextFontWeight).attr("x",30).attr("y",n.y+30).text(n.label)}}i(ce,"renderD3Box"),i(ue,"dirUpwards"),i(fe,"renderD3Relation"),i(ge,"renderD3Swimlane");var he=i(function(e,t,a,i){if(o.debug("in eventmodeling renderer",e+"\n","id:",t,a),!xe)throw new Error("EventModeling config not found");e=i.db;var{themeVariables:a,eventmodeling:i}=r(),n=v(`[id="${t}"]`),s=e.getDiagramProps(),l=(e=e.getState(),t="em-arrowhead-"+t,a.emArrowhead??"#000000");e.sortedSwimlanesArray.forEach(ge(n,e.maxR,s,a)),e.boxes.forEach(ce(n,s)),e.relations.forEach(fe(n,s,t,a)),n.append("defs").append("marker").attr("id",t).attr("markerWidth","10").attr("markerHeight","7").attr("refX","10").attr("refY","3.5").attr("orient","auto").append("polygon").attr("points","0 0, 10 3.5, 0 7").attr("fill",l),w(void 0,n,i?.padding??30,i?.useMaxWidth)},"draw"),be={draw:he},pe=i(e=>"","getStyles"),ve={parser:de,db:le,renderer:be,styles:pe};export{ve as diagram};
@@ -0,0 +1 @@
1
+ import{p as e}from"./chunk-JWPE2WC7-e2521b1e.js";import{_ as t,E as a,d as i,l as n,G as r,i as o,w as s,an as l,s as d,g as m,b as x,c,n as u,o as f,v as g,F as h,j as b,I as p}from"./mermaid.core-8797d6a9.js";import{w as v,v as w}from"./mermaid-parser.core-d8d1c2b9.js";import"./web-c3ed22c4.js";var y="position frame",P="frame positioned",M="position relation",k="relation positioned",S=t((function(e){n.debug("options str",e)}),"setOptions"),B=t((function(){return{}}),"getOptions"),F=t((function(){E(),g()}),"clear");function E(){$={}}t(E,"reset");var A=a.eventmodeling,W=t((()=>h({...A,...r().eventmodeling})),"getConfig"),$={};function R(){let e=I;const t=$.ast,a=H();if(t)return t.frames.forEach(((i,r)=>{var o=X(i,t.dataEntities,a);e=re(e,{$kind:y,index:r,frame:i,textProps:o}),q(i)?(n.debug("source frame",i.sourceFrames),t.frames.filter((e=>i.sourceFrames.some((t=>t.$refText===e.name)))).forEach((t=>{e=re(e,{$kind:M,index:r,frame:i,sourceFrame:t})}))):e=re(e,{$kind:M,index:r,frame:i})})),e={...e,sortedSwimlanesArray:Y(e.swimlanes)};throw new Error("No data for EventModel")}function O(e){$.ast=e}t(R,"getState"),t(O,"setAst");var T={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:430,boxTextFontWeight:"bold",boxTextPadding:10,swimlaneTextFontWeight:"bold",labelUiAutomation:"UI/Automation",labelUiAutomationPrefix:"UI/A: ",labelCommandReadModel:"Command/Read Model",labelCommandReadModelPrefix:"C/RM: ",labelEvents:"Events",labelEventsPrefix:"Stream: "};function H(){return T}t(H,"getDiagramProps");var I={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function C(e){if(2===(e=e.split(".")).length)return e[0]}function j(e){var t=e.split(".");return 2===t.length?t[1]:e}function D(e,t){if(t&&0!==t.length)return Object.values(e).find((e=>e.namespace===t))}function N(e,t,a){return Math.max(t,...Object.keys(e).filter((e=>(e=Number.parseInt(e),t<e&&e<a))).map((e=>Number.parseInt(e))))+1}function U(e,t){var a=C(e.entityIdentifier),i=D(t,a);switch(e.modelEntityType){case"ui":case"pcr":case"processor":return i?{index:i.index,label:i.namespace||T.labelUiAutomation}:a?{index:N(t,0,100),label:T.labelUiAutomationPrefix+a}:{index:0,label:T.labelUiAutomation};case"rmo":case"readmodel":case"cmd":case"command":return i?{index:i.index,label:i.namespace||T.labelCommandReadModel}:a?{index:N(t,100,200),label:T.labelCommandReadModelPrefix+a}:{index:100,label:T.labelCommandReadModel};default:return i?{index:i.index,label:i.namespace||T.labelEvents}:a?{index:N(t,200,300),label:T.labelEventsPrefix+a}:{index:200,label:T.labelEvents}}}function V(e){var t=r().themeVariables;switch(e.modelEntityType){case"ui":return{fill:t.emUiFill??"white",stroke:t.emUiStroke??"#dbdada"};case"pcr":case"processor":return{fill:t.emProcessorFill??"#edb3f6",stroke:t.emProcessorStroke??"#b88cbf"};case"rmo":case"readmodel":return{fill:t.emReadModelFill??"#d3f1a2",stroke:t.emReadModelStroke??"#a3b732"};case"cmd":case"command":return{fill:t.emCommandFill??"#bcd6fe",stroke:t.emCommandStroke??"#679ac3"};case"evt":case"event":return{fill:t.emEventFill??"#ffb778",stroke:t.emEventStroke??"#c19a0f"};default:return{fill:"red",stroke:"black"}}}function X(e,t,a){var i=r(),d=o(j(e.entityIdentifier)??"",i);let m;var x={fontSize:16,fontWeight:700,fontFamily:'"trebuchet ms", verdana, arial, sans-serif',joinWith:"<br/>"};let c=`<b>${s(d,a.textMaxWidth,x)}</b>`;return e.dataInlineValue&&(m=(m=(m=e.dataInlineValue).substring(m.indexOf("{")+1)).substring(0,m.lastIndexOf("}")-1),m=o(m,i),m=(m=s(m,a.textMaxWidth,x)).replaceAll(" ","&nbsp;")),e.dataReference&&(d=t.find((t=>t.name===e.dataReference?.$refText)))&&(m=(m=(m=d.dataBlockValue).substring(m.indexOf("{\n")+2)).substring(0,m.lastIndexOf("}")-1),m=o(m,i),m=(m=s(m,a.textMaxWidth,x)).replaceAll(" ","&nbsp;"),m+="<br/>"),(t=void 0!==m)&&(c+=`<br/><br/><code style="text-align: left; display: block;max-width:${a.textMaxWidth}px">${m}</code>`),d={fontSize:x.fontSize,fontWeight:x.fontWeight,fontFamily:x.fontFamily},i=l(c,d),x={content:c,width:a=t?i.width/3:i.width,height:i.height},n.debug(`[${e.name}] ${e.entityIdentifier} text`,x),x}function G(e,t){var a=V(t.frame),i={width:t.textProps.width+2*T.boxTextPadding,height:t.textProps.height+2*T.boxTextPadding};return[{$kind:P,frame:t.frame,index:t.index,visual:a,dimension:i,textProps:t.textProps}]}function z(e,t,a){return void 0===t?T.contentStartX:t.index===e.index&&e.r?e.r+T.boxPadding:void 0===a?T.contentStartX:a.r-T.boxOverlap+T.boxPadding}function L(e,t){return e=[...e.map((e=>e.r)),t],Math.max(...e)}function Y(e){return Object.values(e).sort(((e,t)=>e.index-t.index))}function J(e,t){var a=U(t.frame,e.swimlanes);let i;i=a.index in e.swimlanes?e.swimlanes[a.index]:{index:a.index,label:a.label,r:0,y:a.index*T.swimlaneMinHeight+T.swimlaneGap,height:T.swimlaneMinHeight,maxHeight:T.swimlaneMinHeight};var n=0<e.boxes.length?e.boxes[e.boxes.length-1]:void 0,r=void 0!==e.previousSwimlaneNumber?e.swimlanes[e.previousSwimlaneNumber]:void 0,o={width:Math.max(T.boxMinWidth,Math.min(T.boxMaxWidth,t.dimension.width))+2*T.boxPadding,height:Math.max(T.boxMinHeight,Math.min(T.boxMaxHeight,t.dimension.height))+2*T.boxPadding},s=(n=(r=z(i,r,n))+o.width+T.boxPadding,L(Object.values(e.swimlanes),n)),l=(r=(i.r=r+o.width,i.maxHeight=Math.max(i.maxHeight,o.height),i.height=Math.max(T.swimlaneMinHeight,i.maxHeight)+2*T.swimlanePadding,{x:r,y:T.swimlanePadding+i.y,r:n,dimension:o,leftSibling:!1,swimlane:i,visual:t.visual,text:t.textProps.content,frame:t.frame,index:t.index}),Y((n={...e,boxes:[...e.boxes,r],swimlanes:{...e.swimlanes,[""+i.index]:i},previousSwimlaneNumber:a.index,previousFrame:t.frame,maxR:s}).swimlanes));0<l.length&&(l[0].y=0);for(let e=1;e<l.length;e++){var d=l[e],m=l[e-1];d.y=m.y+m.height+T.swimlaneGap}return n}function _(e,t){return 0===e&&0===t.sourceFrames.length}function q(e){return void 0!==e.sourceFrames&&null!==e.sourceFrames&&0<e.sourceFrames.length}function K(e,t){if(null!=t)return e.find((e=>e.frame.name===t.name))}function Q(e,t,a){if(!(a<0))for(let n=a;0<=n;n--){var i=e[n];if(i.swimlane.index!==t)return i}}function Z(e,t){if(v(t.frame)||_(t.index,t.frame))return[];var a=K(e.boxes,t.frame);if(void 0===a)throw new Error("Target box not found for frame "+t.frame.name);let i;return void 0===(i=t.sourceFrame?K(e.boxes,t.sourceFrame):Q(e.boxes,a.swimlane.index,t.index-1))?[]:[{$kind:k,frame:t.frame,index:t.index,sourceBox:i,targetBox:a}]}function ee(e,t){return t={visual:{fill:"none",stroke:"#000"},source:{x:t.sourceBox.x,y:t.sourceBox.y},target:{x:t.targetBox.x,y:t.targetBox.y},sourceBox:t.sourceBox,targetBox:t.targetBox},{...e,relations:[...e.relations,t]}}t(C,"extractNamespace"),t(j,"extractName"),t(D,"findSwimlaneByNamespace"),t(N,"findNextAvailableIndex"),t(U,"calculateSwimlaneProps"),t(V,"calculateEntityVisualProps"),t(X,"calculateTextProps"),t(G,"decidePositionFrame"),t(z,"calculateX"),t(L,"calculateMaxRight"),t(Y,"sortedSwimlanesArray"),t(J,"evolveFramePositioned"),t(_,"isFirstFrame"),t(q,"hasSourceFrame"),t(K,"findBoxByFrame"),t(Q,"findBoxByLineIndex"),t(Z,"decidePositionRelation"),t(ee,"evolveRelationPositioned");var te={[y]:G,[M]:Z},ae={[P]:J,[k]:ee};function ie(e,t){var a=te[t.$kind];return null==a?[]:(a=a(e,t),n.debug("decided events",a),a)}function ne(e,t){var a=t.reduce(((e,t)=>{var a=ae[t.$kind];return null==a?e:a(e,t)}),e);return n.debug("evolve events",{state:e,newState:a,events:t}),a}function re(e,t){return ne(e,ie(e,t))}t(ie,"decide"),t(ne,"evolve"),t(re,"dispatch");var oe={getConfig:W,setOptions:S,getOptions:B,clear:F,setAccTitle:d,getAccTitle:m,getAccDescription:x,setAccDescription:c,setDiagramTitle:u,getDiagramTitle:f,setAst:O,getDiagramProps:H,getState:R},se={parse:t((async t=>{t=await w("eventmodeling",t),n.debug(t),oe.setAst(t),e(t,oe)}),"parse")},le=i(),de=le?.eventmodeling;function me(e,t){return a=>{var i=a.swimlane.y+t.swimlanePadding,n=e.append("g").attr("class","em-box");n.append("rect").attr("x",a.x).attr("y",i).attr("rx","3").attr("width",a.dimension.width).attr("height",a.dimension.height).attr("stroke",a.visual.stroke).attr("fill",a.visual.fill),n.append("foreignObject").attr("x",a.x+t.boxPadding).attr("y",i+10).attr("width",a.dimension.width-2*t.boxPadding).attr("height",a.dimension.height-2*t.boxPadding).append("xhtml:div").style("display","table").style("height","100%").style("width","100%").append("span").style("display","table-cell").style("text-align","center").style("vertical-align","middle").html(a.text)}}function xe(e,t){return t<e}function ce(e,t,a,i){return r=>{var o=r.sourceBox.swimlane.y+t.swimlanePadding,s=r.targetBox.swimlane.y+t.swimlanePadding,l=xe(o,s),d=r.sourceBox.x+2*r.sourceBox.dimension.width/3,m=r.targetBox.x+r.targetBox.dimension.width/3;let x,c;n.debug(`rendering relation up=${l} for `,{sourceBox:r.sourceBox,targetBox:r.targetBox}),c=l?(x=o,s+r.targetBox.dimension.height):(x=o+r.sourceBox.dimension.height,s),l=i.emRelationStroke??r.visual.stroke,e.append("path").attr("class","em-relation").attr("fill",r.visual.fill).attr("stroke",l).attr("stroke-width","1").attr("marker-end",`url(#${a})`).attr("d",`M${d} ${x} L${m} `+c)}}function ue(e,t,a,i){return n=>{var r=e.append("g").attr("class","em-swimlane"),o=i.emSwimlaneBackgroundOdd??"rgb(250,250,250)",s=i.emSwimlaneBackgroundStroke??"rgb(240,240,240)";r.append("rect").attr("x",0).attr("y",n.y).attr("rx","3").attr("width",t+a.swimlanePadding).attr("height",n.height).attr("fill",o).attr("stroke",s),r.append("text").attr("font-weight",a.swimlaneTextFontWeight).attr("x",30).attr("y",n.y+30).text(n.label)}}t(me,"renderD3Box"),t(xe,"dirUpwards"),t(ce,"renderD3Relation"),t(ue,"renderD3Swimlane");var fe={draw:t((function(e,t,a,r){if(n.debug("in eventmodeling renderer",e+"\n","id:",t,a),!de)throw new Error("EventModeling config not found");e=r.db;var{themeVariables:a,eventmodeling:r}=i(),o=b(`[id="${t}"]`),s=e.getDiagramProps(),l=(e=e.getState(),t="em-arrowhead-"+t,a.emArrowhead??"#000000");e.sortedSwimlanesArray.forEach(ue(o,e.maxR,s,a)),e.boxes.forEach(me(o,s)),e.relations.forEach(ce(o,s,t,a)),o.append("defs").append("marker").attr("id",t).attr("markerWidth","10").attr("markerHeight","7").attr("refX","10").attr("refY","3.5").attr("orient","auto").append("polygon").attr("points","0 0, 10 3.5, 0 7").attr("fill",l),p(void 0,o,r?.padding??30,r?.useMaxWidth)}),"draw")},ge=t((e=>""),"getStyles"),he={parser:se,db:oe,renderer:fe,styles:ge};export{he as diagram};
@@ -0,0 +1 @@
1
+ import{p as e}from"./chunk-JWPE2WC7-e2521b1e.js";import{s as t,g as a,n as r,o as n,b as l,c as s,_ as i,G as o,F as c,bf as d,v as p,E as h,l as u,K as f,k as m,bg as y,j as g,L as x}from"./mermaid.core-8797d6a9.js";import{s as v}from"./chunk-VR4S4FIN-c4f2681d.js";import{v as S}from"./mermaid-parser.core-d8d1c2b9.js";import{b}from"./defaultLocale-e35a4def.js";import{o as C}from"./ordinal-221e41d7.js";import"./web-c3ed22c4.js";import"./init-cf76ae07.js";function w(e){var t=0,a=e.children,r=a&&a.length;if(r)for(;0<=--r;)t+=a[r].value;else t=1;e.value=t}function $(e,t){e instanceof Map?(e=[void 0,e],void 0===t&&(t=M)):void 0===t&&(t=L);for(var a,r,n,l,s,i=[e=new z(e)];a=i.pop();)if((n=t(a.data))&&(s=(n=Array.from(n)).length))for(a.children=n,l=s-1;0<=l;--l)i.push(r=n[l]=new z(n[l])),r.parent=a,r.depth=a.depth+1;return e.eachBefore(T)}function L(e){return e.children}function M(e){return Array.isArray(e)?e[1]:null}function k(e){void 0!==e.data.value&&(e.value=e.data.value),e.data=e.data.data}function T(e){for(var t=0;e.height=t,(e=e.parent)&&e.height<++t;);}function z(e){this.data=e,this.depth=this.height=0,this.parent=null}function F(){return 0}function P(e){return function(){return e}}function A(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 N(e,t,a,r,n){for(var l,s=e.children,i=-1,o=s.length,c=e.value&&(r-t)/e.value;++i<o;)(l=s[i]).y0=a,l.y1=n,l.x0=t,l.x1=t+=l.value*c}function B(e,t,a,r,n){for(var l,s=e.children,i=-1,o=s.length,c=e.value&&(n-a)/e.value;++i<o;)(l=s[i]).x0=t,l.x1=r,l.y0=a,l.y1=a+=l.value*c}z.prototype=$.prototype={constructor:z,count:function(){return this.eachAfter(w)},each:function(e,t){let a=-1;for(const r of this)e.call(t,r,++a,this);return this},eachAfter:function(e,t){for(var a,r,n,l=this,s=[l],i=[],o=-1;l=s.pop();)if(i.push(l),a=l.children)for(r=0,n=a.length;r<n;++r)s.push(a[r]);for(;l=i.pop();)e.call(t,l,++o,this);return this},eachBefore:function(e,t){for(var a,r,n,l=[this],s=-1;a=l.pop();)if(e.call(t,a,++s,this),r=a.children)for(n=r.length-1;0<=n;--n)l.push(r[n]);return this},find:function(e,t){let a=-1;for(const r of this)if(e.call(t,r,++a,this))return r},sum:function(e){return this.eachAfter((function(t){for(var a=+e(t.data)||0,r=t.children,n=r&&r.length;0<=--n;)a+=r[n].value;t.value=a}))},sort:function(e){return this.eachBefore((function(t){t.children&&t.children.sort(e)}))},path:function(e){for(var t=this,a=function(e,t){if(e===t)return e;var a=e.ancestors(),r=t.ancestors(),n=null;for(e=a.pop(),t=r.pop();e===t;)n=e,e=a.pop(),t=r.pop();return n}(t,e),r=[t];t!==a;)t=t.parent,r.push(t);for(var n=r.length;e!==a;)r.splice(n,0,e),e=e.parent;return r},ancestors:function(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t},descendants:function(){return Array.from(this)},leaves:function(){var e=[];return this.eachBefore((function(t){t.children||e.push(t)})),e},links:function(){var e=this,t=[];return e.each((function(a){a!==e&&t.push({source:a.parent,target:a})})),t},copy:function(){return $(this).eachBefore(k)},[Symbol.iterator]:function*(){var e,t,a,r,n,l=[this];do{for(t=l.reverse(),l=[];e=t.pop();)if(yield e,a=e.children)for(r=0,n=a.length;r<n;++r)l.push(a[r])}while(l.length)}};var W=function e(t){function a(e,a,r,n,l){!function(e,t,a,r,n,l){for(var s,i,o,c,d,p,h,u,f,m,y,g=[],x=t.children,v=0,S=0,b=x.length,C=t.value;v<b;){for(o=n-a,c=l-r;!(d=x[S++].value)&&S<b;);for(y=(p=h=d)*d*(m=Math.max(c/o,o/c)/(C*e)),f=Math.max(h/y,y/p);S<b;++S){if(d+=i=x[S].value,i<p&&(p=i),h<i&&(h=i),y=d*d*m,f<(u=Math.max(h/y,y/p))){d-=i;break}f=u}g.push(s={value:d,dice:o<c,children:x.slice(v,S)}),s.dice?N(s,a,r,n,C?r+=c*d/C:l):B(s,a,r,C?a+=o*d/C:n,l),C-=d,v=S}}(t,e,a,r,n,l)}return a.ratio=function(t){return e(1<(t=+t)?t:1)},a}((1+Math.sqrt(5))/2);function j(){var e=W,t=!1,a=1,r=1,n=[0],l=F,s=F,i=F,o=F,c=F;function d(e){return e.x0=e.y0=0,e.x1=a,e.y1=r,e.eachBefore(p),n=[0],t&&e.eachBefore(A),e}function p(t){var a=n[t.depth],r=t.x0+a,d=t.y0+a,p=t.x1-a,h=t.y1-a;p<r&&(r=p=(r+p)/2),h<d&&(d=h=(d+h)/2),t.x0=r,t.y0=d,t.x1=p,t.y1=h,t.children&&(a=n[t.depth+1]=l(t)/2,r+=c(t)-a,d+=s(t)-a,(p-=i(t)-a)<r&&(r=p=(r+p)/2),(h-=o(t)-a)<d&&(d=h=(d+h)/2),e(t,r,d,p,h))}return d.round=function(e){return arguments.length?(t=!!e,d):t},d.size=function(e){return arguments.length?(a=+e[0],r=+e[1],d):[a,r]},d.tile=function(t){return arguments.length?(e=function(e){if("function"!=typeof e)throw new Error;return e}(t),d):e},d.padding=function(e){return arguments.length?d.paddingInner(e).paddingOuter(e):d.paddingInner()},d.paddingInner=function(e){return arguments.length?(l="function"==typeof e?e:P(+e),d):l},d.paddingOuter=function(e){return arguments.length?d.paddingTop(e).paddingRight(e).paddingBottom(e).paddingLeft(e):d.paddingTop()},d.paddingTop=function(e){return arguments.length?(s="function"==typeof e?e:P(+e),d):s},d.paddingRight=function(e){return arguments.length?(i="function"==typeof e?e:P(+e),d):i},d.paddingBottom=function(e){return arguments.length?(o="function"==typeof e?e:P(+e),d):o},d.paddingLeft=function(e){return arguments.length?(c="function"==typeof e?e:P(+e),d):c},d}var R=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=t,this.getAccTitle=a,this.setDiagramTitle=r,this.getDiagramTitle=n,this.getAccDescription=l,this.setAccDescription=s}static{i(this,"TreeMapDB")}getNodes(){return this.nodes}getConfig(){var e=h,t=o();return c({...e.treemap,...t.treemap??{}})}addNode(e,t){this.nodes.push(e),this.levels.set(e,t),0===t&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:"",children:this.outerNodes}}addClass(e,t){const a=this.classes.get(e)??{id:e,styles:[],textStyles:[]};(t=t.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";"))&&t.forEach((e=>{d(e)&&(a?.textStyles?a.textStyles.push(e):a.textStyles=[e]),a?.styles?a.styles.push(e):a.styles=[e]})),this.classes.set(e,a)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){p(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}};function V(e){if(!e.length)return[];const t=[],a=[];return e.forEach((e=>{var r,n={name:e.name,children:"Leaf"===e.type?void 0:[]};for(n.classSelector=e?.classSelector,e?.cssCompiledStyles&&(n.cssCompiledStyles=e.cssCompiledStyles),"Leaf"===e.type&&void 0!==e.value&&(n.value=e.value);0<a.length&&a[a.length-1].level>=e.level;)a.pop();0===a.length?t.push(n):(r=a[a.length-1].node).children?r.children.push(n):r.children=[n],"Leaf"!==e.type&&a.push({node:n,level:e.level})})),t}i(V,"buildHierarchy");var D=i(((t,a)=>{e(t,a);var r=[];for(const e of t.TreemapRows??[])"ClassDefStatement"===e.$type&&a.addClass(e.className??"",e.styleText??"");for(const e of t.TreemapRows??[]){var n,l,s,o=e.item;o&&(s=e.indent?parseInt(e.indent):0,n=E(o),l=0<(l=o.classSelector?a.getStylesForClass(o.classSelector):[]).length?l:void 0,s={level:s,name:n,type:o.$type,value:o.value,classSelector:o.classSelector,cssCompiledStyles:l},r.push(s))}t=V(r);const c=i(((e,t)=>{for(const r of e)a.addNode(r,t),r.children&&0<r.children.length&&c(r.children,t+1)}),"addNodesRecursively");c(t,0)}),"populate"),E=i((e=>e.name?String(e.name):""),"getItemName"),I={parser:{yy:void 0},parse:i((async e=>{try{var t=await S("treemap",e),a=(u.debug("Treemap AST:",t),I.parser?.yy);if(!(a instanceof R))throw new 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.");D(t,a)}catch(e){throw u.error("Error parsing treemap:",e),e}}),"parse")},H=10,G={draw:i(((e,t,a,r)=>{const n=(r=r.db).getConfig();var l=n.padding??10,s=r.getDiagramTitle(),c=(r=r.getRoot(),o().themeVariables);if(r){var d=s?30:0,p=f(t),h=n.nodeWidth?n.nodeWidth*H:960,x=n.nodeHeight?n.nodeHeight*H:500,S=h,w=x+d;let a;p.attr("viewBox",`0 0 ${S} `+w),m(p,w,S,n.useMaxWidth);try{var L=n.valueFormat||",";if("$0,0"===L)a=i((e=>"$"+b(",")(e)),"valueFormat");else if(L.startsWith("$")&&L.includes(",")){var M=/\.\d+/.exec(L);const e=M?M[0]:"";a=i((t=>"$"+b(","+e)(t)),"valueFormat")}else if(L.startsWith("$")){const e=L.substring(1);a=i((t=>"$"+b(e||"")(t)),"valueFormat")}else a=b(L)}catch(e){u.error("Error creating format function:",e),a=b(",")}const o=C().range(["transparent",c.cScale0,c.cScale1,c.cScale2,c.cScale3,c.cScale4,c.cScale5,c.cScale6,c.cScale7,c.cScale8,c.cScale9,c.cScale10,c.cScale11]),k=C().range(["transparent",c.cScalePeer0,c.cScalePeer1,c.cScalePeer2,c.cScalePeer3,c.cScalePeer4,c.cScalePeer5,c.cScalePeer6,c.cScalePeer7,c.cScalePeer8,c.cScalePeer9,c.cScalePeer10,c.cScalePeer11]),T=C().range([c.cScaleLabel0,c.cScaleLabel1,c.cScaleLabel2,c.cScaleLabel3,c.cScaleLabel4,c.cScaleLabel5,c.cScaleLabel6,c.cScaleLabel7,c.cScaleLabel8,c.cScaleLabel9,c.cScaleLabel10,c.cScaleLabel11]);s&&p.append("text").attr("x",S/2).attr("y",d/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(s),w=p.append("g").attr("transform",`translate(0, ${d})`).attr("class","treemapContainer"),M=$(r).sum((e=>e.value??0)).sort(((e,t)=>(t.value??0)-(e.value??0))),L=j().size([h,x]).paddingTop((e=>e.children&&0<e.children.length?35:0)).paddingInner(l).paddingLeft((e=>e.children&&0<e.children.length?H:0)).paddingRight((e=>e.children&&0<e.children.length?H:0)).paddingBottom((e=>e.children&&0<e.children.length?H:0)).round(!0)(M),c=L.descendants().filter((e=>e.children&&0<e.children.length)),S=w.selectAll(".treemapSection").data(c).enter().append("g").attr("class","treemapSection").attr("transform",(e=>`translate(${e.x0},${e.y0})`)),S.append("rect").attr("width",(e=>e.x1-e.x0)).attr("height",25).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",(e=>0===e.depth?"display: none;":"")),S.append("clipPath").attr("id",((e,a)=>`clip-section-${t}-`+a)).append("rect").attr("width",(e=>Math.max(0,e.x1-e.x0-12))).attr("height",25),S.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=>o(e.data.name))).attr("fill-opacity",.6).attr("stroke",(e=>k(e.data.name))).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",(e=>0===e.depth?"display: none;":(e=y({cssCompiledStyles:e.data.cssCompiledStyles})).nodeStyles+";"+e.borderStyles.join(";"))),S.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",12.5).attr("dominant-baseline","middle").text((e=>0===e.depth?"":e.data.name)).attr("font-weight","bold").attr("clip-path",((e,a)=>`url(#clip-section-${t}-${a})`)).attr("style",(e=>0===e.depth?"display: none;":"dominant-baseline: middle; font-size: 12px; fill:"+T(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"+y({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:"))).each((function(e){if(0!==e.depth){var t=g(this),a=e.data.name,r=(t.text(a),e.x1-e.x0);let i;i=!1!==n.showValues&&e.value?r-10-30-10-6:r-6-6;var l=Math.max(15,i),s=t.node();if(l<s.getComputedTextLength()){let e=a;for(;0<e.length;){if(0===(e=a.substring(0,e.length-1)).length){t.text("..."),s.getComputedTextLength()>l&&t.text("");break}if(t.text(e+"..."),s.getComputedTextLength()<=l)break}}}})),!1!==n.showValues&&S.append("text").attr("class","treemapSectionValue").attr("x",(e=>e.x1-e.x0-10)).attr("y",12.5).attr("text-anchor","end").attr("dominant-baseline","middle").text((e=>e.value?a(e.value):"")).attr("font-style","italic").attr("style",(e=>0===e.depth?"display: none;":"text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+T(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"+y({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")));const z=20<(s=L.leaves()).length,F=z?16:38,P=z?14:28,A=z?4:8,N=z?4:6,B=z?2:4,W=z?8:10,R=z?1:2;d=w.selectAll(".treemapLeafGroup").data(s).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})`)),d.append("rect").attr("width",(e=>e.x1-e.x0)).attr("height",(e=>e.y1-e.y0)).attr("class","treemapLeaf").attr("fill",(e=>e.parent?o(e.parent.data.name):o(e.data.name))).attr("style",(e=>y({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles)).attr("fill-opacity",.3).attr("stroke",(e=>e.parent?o(e.parent.data.name):o(e.data.name))).attr("stroke-width",3),d.append("clipPath").attr("id",((e,a)=>`clip-${t}-`+a)).append("rect").attr("width",(e=>Math.max(0,e.x1-e.x0-4))).attr("height",(e=>Math.max(0,e.y1-e.y0-4))),d.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: ${F}px;fill:`+T(e.data.name)+";"+y({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:"))).attr("clip-path",((e,a)=>`url(#clip-${t}-${a})`)).text((e=>e.data.name)).each((function(e){var t=g(this),a=e.x1-e.x0,r=(e=e.y1-e.y0,t.node()),n=a-2*B,l=e-2*B;if(n<W||l<W)t.style("display","none");else{let e=parseInt(t.style("font-size"),10);for(;r.getComputedTextLength()>n&&e>A;)e--,t.style("font-size",e+"px");var s=Math.max(N,Math.min(P,Math.round(.6*e)));let a=e+R+s;for(;a>l&&e>A&&(e--,!((s=Math.max(N,Math.min(P,Math.round(.6*e))))<N&&e===A));)t.style("font-size",e+"px"),a=e+R+s;t.style("font-size",e+"px"),z?(e<A||l<A)&&t.style("display","none"):(r.getComputedTextLength()>n||e<A||l<e)&&t.style("display","none")}})),!1!==n.showValues&&d.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: ${P}px;fill:`+T(e.data.name)+";"+y({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:"))).attr("clip-path",((e,a)=>`url(#clip-${t}-${a})`)).text((e=>e.value?a(e.value):"")).each((function(e){var t,a,r=g(this),n=this.parentNode;!n||(n=g(n).select(".treemapLabel")).empty()||"none"===n.style("display")||(n=parseFloat(n.style("font-size")),t=Math.max(N,Math.min(P,Math.round(.6*n))),r.style("font-size",t+"px"),n=(e.y1-e.y0)/2+n/2+R,r.attr("y",n),a=e.x1-e.x0,e=e.y1-e.y0-4,a-=2*B,r.node().getComputedTextLength()>a)||e<n+t||t<N?r.style("display","none"):r.style("display",null)})),r=n.diagramPadding??8,v(p,r,"flowchart",n?.useMaxWidth||!1)}}),"draw"),getClasses:i((function(e,t){return t.db.getClasses()}),"getClasses")},O={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelFontSize:"12px",valueFontSize:"10px",titleFontSize:"14px"},q=i((({treemap:e}={})=>{var t=x(),a=o(),r=(t=c(t,a.themeVariables),e=(a=c(O,e)).titleColor??t.titleColor,a.labelColor??t.textColor);t=a.valueColor??t.textColor;return`\n .treemapNode.section {\n stroke: ${a.sectionStrokeColor};\n stroke-width: ${a.sectionStrokeWidth};\n fill: ${a.sectionFillColor};\n }\n .treemapNode.leaf {\n stroke: ${a.leafStrokeColor};\n stroke-width: ${a.leafStrokeWidth};\n fill: ${a.leafFillColor};\n }\n .treemapLabel {\n fill: ${r};\n font-size: ${a.labelFontSize};\n }\n .treemapValue {\n fill: ${t};\n font-size: ${a.valueFontSize};\n }\n .treemapTitle {\n fill: ${e};\n font-size: ${a.titleFontSize};\n }\n `}),"getStyles"),J={parser:I,get db(){return new R},renderer:G,styles:q};export{J as diagram};
@@ -0,0 +1 @@
1
+ var e,t;(e=self.document)&&!e.getElementById("livereloadscript")&&((t=e.createElement("script")).async=1,t.src="//"+(self.location.host||"localhost").split(":")[0]+":35729/livereload.js?snipver=1",t.id="livereloadscript",e.getElementsByTagName("head")[0].appendChild(t));import{p as a}from"./chunk-JWPE2WC7-15a55950.js";import{s as r,g as n,n as l,o as i,b as s,c as o,_ as c,G as d,F as p,bf as h,v as u,E as f,l as m,K as y,k as g,bg as v,j as x,L as S}from"./mermaid.core-70d5aead.js";import{s as b}from"./chunk-VR4S4FIN-9df47127.js";import{v as C}from"./mermaid-parser.core-6df0beec.js";import{b as w}from"./defaultLocale-b4977250.js";import{o as $}from"./ordinal-4a51e46c.js";import"./web-25bb78b9.js";import"./init-b029a625.js";function L(e){var t=0,a=e.children,r=a&&a.length;if(r)for(;0<=--r;)t+=a[r].value;else t=1;e.value=t}function M(e,t){e instanceof Map?(e=[void 0,e],void 0===t&&(t=T)):void 0===t&&(t=k);for(var a,r,n,l,i,s=[e=new N(e)];a=s.pop();)if((n=t(a.data))&&(i=(n=Array.from(n)).length))for(a.children=n,l=i-1;0<=l;--l)s.push(r=n[l]=new N(n[l])),r.parent=a,r.depth=a.depth+1;return e.eachBefore(F)}function k(e){return e.children}function T(e){return Array.isArray(e)?e[1]:null}function z(e){void 0!==e.data.value&&(e.value=e.data.value),e.data=e.data.data}function F(e){for(var t=0;e.height=t,(e=e.parent)&&e.height<++t;);}function N(e){this.data=e,this.depth=this.height=0,this.parent=null}function P(){return 0}function A(e){return function(){return e}}function B(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 j(e,t,a,r,n){for(var l,i=e.children,s=-1,o=i.length,c=e.value&&(r-t)/e.value;++s<o;)(l=i[s]).y0=a,l.y1=n,l.x0=t,l.x1=t+=l.value*c}function W(e,t,a,r,n){for(var l,i=e.children,s=-1,o=i.length,c=e.value&&(n-a)/e.value;++s<o;)(l=i[s]).x0=t,l.x1=r,l.y0=a,l.y1=a+=l.value*c}N.prototype=M.prototype={constructor:N,count:function(){return this.eachAfter(L)},each:function(e,t){let a=-1;for(var r of this)e.call(t,r,++a,this);return this},eachAfter:function(e,t){for(var a,r,n,l=this,i=[l],s=[],o=-1;l=i.pop();)if(s.push(l),a=l.children)for(r=0,n=a.length;r<n;++r)i.push(a[r]);for(;l=s.pop();)e.call(t,l,++o,this);return this},eachBefore:function(e,t){for(var a,r,n,l=[this],i=-1;a=l.pop();)if(e.call(t,a,++i,this),r=a.children)for(n=r.length-1;0<=n;--n)l.push(r[n]);return this},find:function(e,t){let a=-1;for(var r of this)if(e.call(t,r,++a,this))return r},sum:function(e){return this.eachAfter(function(t){for(var a=+e(t.data)||0,r=t.children,n=r&&r.length;0<=--n;)a+=r[n].value;t.value=a})},sort:function(e){return this.eachBefore(function(t){t.children&&t.children.sort(e)})},path:function(e){for(var t=this,a=function(e,t){if(e===t)return e;var a=e.ancestors(),r=t.ancestors(),n=null;for(e=a.pop(),t=r.pop();e===t;)n=e,e=a.pop(),t=r.pop();return n}(t,e),r=[t];t!==a;)t=t.parent,r.push(t);for(var n=r.length;e!==a;)r.splice(n,0,e),e=e.parent;return r},ancestors:function(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t},descendants:function(){return Array.from(this)},leaves:function(){var e=[];return this.eachBefore(function(t){t.children||e.push(t)}),e},links:function(){var e=this,t=[];return e.each(function(a){a!==e&&t.push({source:a.parent,target:a})}),t},copy:function(){return M(this).eachBefore(z)},[Symbol.iterator]:function*(){var e,t,a,r,n,l=[this];do{for(t=l.reverse(),l=[];e=t.pop();)if(yield e,a=e.children)for(r=0,n=a.length;r<n;++r)l.push(a[r])}while(l.length)}};var E=function e(t){function a(e,a,r,n,l){!function(e,t,a,r,n,l){for(var i,s,o,c,d,p,h,u,f,m,y,g=[],v=t.children,x=0,S=0,b=v.length,C=t.value;x<b;){for(o=n-a,c=l-r;!(d=v[S++].value)&&S<b;);for(y=(p=h=d)*d*(m=Math.max(c/o,o/c)/(C*e)),f=Math.max(h/y,y/p);S<b;++S){if(d+=s=v[S].value,s<p&&(p=s),h<s&&(h=s),y=d*d*m,f<(u=Math.max(h/y,y/p))){d-=s;break}f=u}g.push(i={value:d,dice:o<c,children:v.slice(x,S)}),i.dice?j(i,a,r,n,C?r+=c*d/C:l):W(i,a,r,C?a+=o*d/C:n,l),C-=d,x=S}}(t,e,a,r,n,l)}return a.ratio=function(t){return e(1<(t=+t)?t:1)},a}((1+Math.sqrt(5))/2);function I(){var e=E,t=!1,a=1,r=1,n=[0],l=P,i=P,s=P,o=P,c=P;function d(e){return e.x0=e.y0=0,e.x1=a,e.y1=r,e.eachBefore(p),n=[0],t&&e.eachBefore(B),e}function p(t){var a=n[t.depth],r=t.x0+a,d=t.y0+a,p=t.x1-a,h=t.y1-a;p<r&&(r=p=(r+p)/2),h<d&&(d=h=(d+h)/2),t.x0=r,t.y0=d,t.x1=p,t.y1=h,t.children&&(a=n[t.depth+1]=l(t)/2,r+=c(t)-a,d+=i(t)-a,(p-=s(t)-a)<r&&(r=p=(r+p)/2),(h-=o(t)-a)<d&&(d=h=(d+h)/2),e(t,r,d,p,h))}return d.round=function(e){return arguments.length?(t=!!e,d):t},d.size=function(e){return arguments.length?(a=+e[0],r=+e[1],d):[a,r]},d.tile=function(t){return arguments.length?(e=function(e){if("function"!=typeof e)throw new Error;return e}(t),d):e},d.padding=function(e){return arguments.length?d.paddingInner(e).paddingOuter(e):d.paddingInner()},d.paddingInner=function(e){return arguments.length?(l="function"==typeof e?e:A(+e),d):l},d.paddingOuter=function(e){return arguments.length?d.paddingTop(e).paddingRight(e).paddingBottom(e).paddingLeft(e):d.paddingTop()},d.paddingTop=function(e){return arguments.length?(i="function"==typeof e?e:A(+e),d):i},d.paddingRight=function(e){return arguments.length?(s="function"==typeof e?e:A(+e),d):s},d.paddingBottom=function(e){return arguments.length?(o="function"==typeof e?e:A(+e),d):o},d.paddingLeft=function(e){return arguments.length?(c="function"==typeof e?e:A(+e),d):c},d}var R=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=r,this.getAccTitle=n,this.setDiagramTitle=l,this.getDiagramTitle=i,this.getAccDescription=s,this.setAccDescription=o}static{c(this,"TreeMapDB")}getNodes(){return this.nodes}getConfig(){var e=f,t=d();return p({...e.treemap,...t.treemap??{}})}addNode(e,t){this.nodes.push(e),this.levels.set(e,t),0===t&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:"",children:this.outerNodes}}addClass(e,t){let a=this.classes.get(e)??{id:e,styles:[],textStyles:[]};(t=t.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";"))&&t.forEach(e=>{h(e)&&(a?.textStyles?a.textStyles.push(e):a.textStyles=[e]),a?.styles?a.styles.push(e):a.styles=[e]}),this.classes.set(e,a)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){u(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}};function V(e){if(!e.length)return[];let t=[],a=[];return e.forEach(e=>{var r,n={name:e.name,children:"Leaf"===e.type?void 0:[]};for(n.classSelector=e?.classSelector,e?.cssCompiledStyles&&(n.cssCompiledStyles=e.cssCompiledStyles),"Leaf"===e.type&&void 0!==e.value&&(n.value=e.value);0<a.length&&a[a.length-1].level>=e.level;)a.pop();0===a.length?t.push(n):(r=a[a.length-1].node).children?r.children.push(n):r.children=[n],"Leaf"!==e.type&&a.push({node:n,level:e.level})}),t}c(V,"buildHierarchy");var D=c((e,t)=>{a(e,t);var r,n,l=[];for(r of e.TreemapRows??[])"ClassDefStatement"===r.$type&&t.addClass(r.className??"",r.styleText??"");for(n of e.TreemapRows??[]){var i,s,o,d=n.item;d&&(o=n.indent?parseInt(n.indent):0,i=H(d),s=0<(s=d.classSelector?t.getStylesForClass(d.classSelector):[]).length?s:void 0,o={level:o,name:i,type:d.$type,value:d.value,classSelector:d.classSelector,cssCompiledStyles:s},l.push(o))}e=V(l);let p=c((e,a)=>{for(var r of e)t.addNode(r,a),r.children&&0<r.children.length&&p(r.children,a+1)},"addNodesRecursively");p(e,0)},"populate"),H=c(e=>e.name?String(e.name):"","getItemName"),G={parser:{yy:void 0},parse:c(async e=>{try{var t=await C("treemap",e),a=(m.debug("Treemap AST:",t),G.parser?.yy);if(!(a instanceof R))throw new 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.");D(t,a)}catch(e){throw m.error("Error parsing treemap:",e),e}},"parse")},O=10,q=c((e,t,a,r)=>{let n=(r=r.db).getConfig();var l=n.padding??10,i=r.getDiagramTitle(),s=(r=r.getRoot(),d().themeVariables);if(r){var o=i?30:0,p=y(t),h=n.nodeWidth?n.nodeWidth*O:960,u=n.nodeHeight?n.nodeHeight*O:500,f=h,S=u+o;let a;p.attr("viewBox",`0 0 ${f} `+S),g(p,S,f,n.useMaxWidth);try{var C=n.valueFormat||",";if("$0,0"===C)a=c(e=>"$"+w(",")(e),"valueFormat");else if(C.startsWith("$")&&C.includes(",")){var L=/\.\d+/.exec(C);let e=L?L[0]:"";a=c(t=>"$"+w(","+e)(t),"valueFormat")}else if(C.startsWith("$")){let e=C.substring(1);a=c(t=>"$"+w(e||"")(t),"valueFormat")}else a=w(C)}catch(e){m.error("Error creating format function:",e),a=w(",")}let d=$().range(["transparent",s.cScale0,s.cScale1,s.cScale2,s.cScale3,s.cScale4,s.cScale5,s.cScale6,s.cScale7,s.cScale8,s.cScale9,s.cScale10,s.cScale11]),k=$().range(["transparent",s.cScalePeer0,s.cScalePeer1,s.cScalePeer2,s.cScalePeer3,s.cScalePeer4,s.cScalePeer5,s.cScalePeer6,s.cScalePeer7,s.cScalePeer8,s.cScalePeer9,s.cScalePeer10,s.cScalePeer11]),T=$().range([s.cScaleLabel0,s.cScaleLabel1,s.cScaleLabel2,s.cScaleLabel3,s.cScaleLabel4,s.cScaleLabel5,s.cScaleLabel6,s.cScaleLabel7,s.cScaleLabel8,s.cScaleLabel9,s.cScaleLabel10,s.cScaleLabel11]);i&&p.append("text").attr("x",f/2).attr("y",o/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(i),S=p.append("g").attr("transform",`translate(0, ${o})`).attr("class","treemapContainer"),L=M(r).sum(e=>e.value??0).sort((e,t)=>(t.value??0)-(e.value??0)),C=I().size([h,u]).paddingTop(e=>e.children&&0<e.children.length?35:0).paddingInner(l).paddingLeft(e=>e.children&&0<e.children.length?O:0).paddingRight(e=>e.children&&0<e.children.length?O:0).paddingBottom(e=>e.children&&0<e.children.length?O:0).round(!0)(L),s=C.descendants().filter(e=>e.children&&0<e.children.length),f=S.selectAll(".treemapSection").data(s).enter().append("g").attr("class","treemapSection").attr("transform",e=>`translate(${e.x0},${e.y0})`),f.append("rect").attr("width",e=>e.x1-e.x0).attr("height",25).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",e=>0===e.depth?"display: none;":""),f.append("clipPath").attr("id",(e,a)=>`clip-section-${t}-`+a).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-12)).attr("height",25),f.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=>k(e.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",e=>0===e.depth?"display: none;":(e=v({cssCompiledStyles:e.data.cssCompiledStyles})).nodeStyles+";"+e.borderStyles.join(";")),f.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",12.5).attr("dominant-baseline","middle").text(e=>0===e.depth?"":e.data.name).attr("font-weight","bold").attr("clip-path",(e,a)=>`url(#clip-section-${t}-${a})`).attr("style",e=>0===e.depth?"display: none;":"dominant-baseline: middle; font-size: 12px; fill:"+T(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"+v({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).each(function(e){if(0!==e.depth){var t=x(this),a=e.data.name,r=(t.text(a),e.x1-e.x0);let s;s=!1!==n.showValues&&e.value?r-10-30-10-6:r-6-6;var l=Math.max(15,s),i=t.node();if(l<i.getComputedTextLength()){let e=a;for(;0<e.length;){if(0===(e=a.substring(0,e.length-1)).length){t.text("..."),i.getComputedTextLength()>l&&t.text("");break}if(t.text(e+"..."),i.getComputedTextLength()<=l)break}}}}),!1!==n.showValues&&f.append("text").attr("class","treemapSectionValue").attr("x",e=>e.x1-e.x0-10).attr("y",12.5).attr("text-anchor","end").attr("dominant-baseline","middle").text(e=>e.value?a(e.value):"").attr("font-style","italic").attr("style",e=>0===e.depth?"display: none;":"text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+T(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"+v({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:"));let z=20<(i=C.leaves()).length,F=z?16:38,N=z?14:28,P=z?4:8,A=z?4:6,B=z?2:4,j=z?8:10,W=z?1:2;o=S.selectAll(".treemapLeafGroup").data(i).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})`),o.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=>v({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),o.append("clipPath").attr("id",(e,a)=>`clip-${t}-`+a).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-4)).attr("height",e=>Math.max(0,e.y1-e.y0-4)),o.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: ${F}px;fill:`+T(e.data.name)+";"+v({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).attr("clip-path",(e,a)=>`url(#clip-${t}-${a})`).text(e=>e.data.name).each(function(e){var t=x(this),a=e.x1-e.x0,r=(e=e.y1-e.y0,t.node()),n=a-2*B,l=e-2*B;if(n<j||l<j)t.style("display","none");else{let e=parseInt(t.style("font-size"),10);for(;r.getComputedTextLength()>n&&e>P;)e--,t.style("font-size",e+"px");var i=Math.max(A,Math.min(N,Math.round(.6*e)));let a=e+W+i;for(;a>l&&e>P&&(e--,!((i=Math.max(A,Math.min(N,Math.round(.6*e))))<A&&e===P));)t.style("font-size",e+"px"),a=e+W+i;t.style("font-size",e+"px"),z?(e<P||l<P)&&t.style("display","none"):(r.getComputedTextLength()>n||e<P||l<e)&&t.style("display","none")}}),!1!==n.showValues&&o.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: ${N}px;fill:`+T(e.data.name)+";"+v({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).attr("clip-path",(e,a)=>`url(#clip-${t}-${a})`).text(e=>e.value?a(e.value):"").each(function(e){var t,a,r=x(this),n=this.parentNode;!n||(n=x(n).select(".treemapLabel")).empty()||"none"===n.style("display")||(n=parseFloat(n.style("font-size")),t=Math.max(A,Math.min(N,Math.round(.6*n))),r.style("font-size",t+"px"),n=(e.y1-e.y0)/2+n/2+W,r.attr("y",n),a=e.x1-e.x0,e=e.y1-e.y0-4,a-=2*B,r.node().getComputedTextLength()>a)||e<n+t||t<A?r.style("display","none"):r.style("display",null)}),r=n.diagramPadding??8,b(p,r,"flowchart",n?.useMaxWidth||!1)}},"draw"),J=c(function(e,t){return t.db.getClasses()},"getClasses"),K={draw:q,getClasses:J},_={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelFontSize:"12px",valueFontSize:"10px",titleFontSize:"14px"},Q=c(({treemap:e}={})=>{var t=S(),a=d(),r=(t=p(t,a.themeVariables),e=(a=p(_,e)).titleColor??t.titleColor,a.labelColor??t.textColor);t=a.valueColor??t.textColor;return`\n .treemapNode.section {\n stroke: ${a.sectionStrokeColor};\n stroke-width: ${a.sectionStrokeWidth};\n fill: ${a.sectionFillColor};\n }\n .treemapNode.leaf {\n stroke: ${a.leafStrokeColor};\n stroke-width: ${a.leafStrokeWidth};\n fill: ${a.leafFillColor};\n }\n .treemapLabel {\n fill: ${r};\n font-size: ${a.labelFontSize};\n }\n .treemapValue {\n fill: ${t};\n font-size: ${a.valueFontSize};\n }\n .treemapTitle {\n fill: ${e};\n font-size: ${a.titleFontSize};\n }\n `},"getStyles"),U=Q,X={parser:G,get db(){return new R},renderer:K,styles:U};export{X as diagram};
@@ -0,0 +1 @@
1
+ var e,t;(e=self.document)&&!e.getElementById("livereloadscript")&&((t=e.createElement("script")).async=1,t.src="//"+(self.location.host||"localhost").split(":")[0]+":35729/livereload.js?snipver=1",t.id="livereloadscript",e.getElementsByTagName("head")[0].appendChild(t));import{p as a}from"./chunk-JWPE2WC7-84faee3d.js";import{s as r,g as n,n as l,o as i,b as s,c as o,_ as c,G as d,F as p,bf as h,v as u,E as f,l as m,K as y,k as g,bg as v,j as x,L as S}from"./mermaid.core-2d237a1e.js";import{s as b}from"./chunk-VR4S4FIN-5feb7571.js";import{v as C}from"./mermaid-parser.core-6df0beec.js";import{b as w}from"./defaultLocale-b4977250.js";import{o as $}from"./ordinal-4a51e46c.js";import"./web-753300e1.js";import"./init-b029a625.js";function L(e){var t=0,a=e.children,r=a&&a.length;if(r)for(;0<=--r;)t+=a[r].value;else t=1;e.value=t}function M(e,t){e instanceof Map?(e=[void 0,e],void 0===t&&(t=T)):void 0===t&&(t=k);for(var a,r,n,l,i,s=[e=new N(e)];a=s.pop();)if((n=t(a.data))&&(i=(n=Array.from(n)).length))for(a.children=n,l=i-1;0<=l;--l)s.push(r=n[l]=new N(n[l])),r.parent=a,r.depth=a.depth+1;return e.eachBefore(F)}function k(e){return e.children}function T(e){return Array.isArray(e)?e[1]:null}function z(e){void 0!==e.data.value&&(e.value=e.data.value),e.data=e.data.data}function F(e){for(var t=0;e.height=t,(e=e.parent)&&e.height<++t;);}function N(e){this.data=e,this.depth=this.height=0,this.parent=null}function P(){return 0}function A(e){return function(){return e}}function B(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 j(e,t,a,r,n){for(var l,i=e.children,s=-1,o=i.length,c=e.value&&(r-t)/e.value;++s<o;)(l=i[s]).y0=a,l.y1=n,l.x0=t,l.x1=t+=l.value*c}function W(e,t,a,r,n){for(var l,i=e.children,s=-1,o=i.length,c=e.value&&(n-a)/e.value;++s<o;)(l=i[s]).x0=t,l.x1=r,l.y0=a,l.y1=a+=l.value*c}N.prototype=M.prototype={constructor:N,count:function(){return this.eachAfter(L)},each:function(e,t){let a=-1;for(var r of this)e.call(t,r,++a,this);return this},eachAfter:function(e,t){for(var a,r,n,l=this,i=[l],s=[],o=-1;l=i.pop();)if(s.push(l),a=l.children)for(r=0,n=a.length;r<n;++r)i.push(a[r]);for(;l=s.pop();)e.call(t,l,++o,this);return this},eachBefore:function(e,t){for(var a,r,n,l=[this],i=-1;a=l.pop();)if(e.call(t,a,++i,this),r=a.children)for(n=r.length-1;0<=n;--n)l.push(r[n]);return this},find:function(e,t){let a=-1;for(var r of this)if(e.call(t,r,++a,this))return r},sum:function(e){return this.eachAfter(function(t){for(var a=+e(t.data)||0,r=t.children,n=r&&r.length;0<=--n;)a+=r[n].value;t.value=a})},sort:function(e){return this.eachBefore(function(t){t.children&&t.children.sort(e)})},path:function(e){for(var t=this,a=function(e,t){if(e===t)return e;var a=e.ancestors(),r=t.ancestors(),n=null;for(e=a.pop(),t=r.pop();e===t;)n=e,e=a.pop(),t=r.pop();return n}(t,e),r=[t];t!==a;)t=t.parent,r.push(t);for(var n=r.length;e!==a;)r.splice(n,0,e),e=e.parent;return r},ancestors:function(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t},descendants:function(){return Array.from(this)},leaves:function(){var e=[];return this.eachBefore(function(t){t.children||e.push(t)}),e},links:function(){var e=this,t=[];return e.each(function(a){a!==e&&t.push({source:a.parent,target:a})}),t},copy:function(){return M(this).eachBefore(z)},[Symbol.iterator]:function*(){var e,t,a,r,n,l=[this];do{for(t=l.reverse(),l=[];e=t.pop();)if(yield e,a=e.children)for(r=0,n=a.length;r<n;++r)l.push(a[r])}while(l.length)}};var E=function e(t){function a(e,a,r,n,l){!function(e,t,a,r,n,l){for(var i,s,o,c,d,p,h,u,f,m,y,g=[],v=t.children,x=0,S=0,b=v.length,C=t.value;x<b;){for(o=n-a,c=l-r;!(d=v[S++].value)&&S<b;);for(y=(p=h=d)*d*(m=Math.max(c/o,o/c)/(C*e)),f=Math.max(h/y,y/p);S<b;++S){if(d+=s=v[S].value,s<p&&(p=s),h<s&&(h=s),y=d*d*m,f<(u=Math.max(h/y,y/p))){d-=s;break}f=u}g.push(i={value:d,dice:o<c,children:v.slice(x,S)}),i.dice?j(i,a,r,n,C?r+=c*d/C:l):W(i,a,r,C?a+=o*d/C:n,l),C-=d,x=S}}(t,e,a,r,n,l)}return a.ratio=function(t){return e(1<(t=+t)?t:1)},a}((1+Math.sqrt(5))/2);function I(){var e=E,t=!1,a=1,r=1,n=[0],l=P,i=P,s=P,o=P,c=P;function d(e){return e.x0=e.y0=0,e.x1=a,e.y1=r,e.eachBefore(p),n=[0],t&&e.eachBefore(B),e}function p(t){var a=n[t.depth],r=t.x0+a,d=t.y0+a,p=t.x1-a,h=t.y1-a;p<r&&(r=p=(r+p)/2),h<d&&(d=h=(d+h)/2),t.x0=r,t.y0=d,t.x1=p,t.y1=h,t.children&&(a=n[t.depth+1]=l(t)/2,r+=c(t)-a,d+=i(t)-a,(p-=s(t)-a)<r&&(r=p=(r+p)/2),(h-=o(t)-a)<d&&(d=h=(d+h)/2),e(t,r,d,p,h))}return d.round=function(e){return arguments.length?(t=!!e,d):t},d.size=function(e){return arguments.length?(a=+e[0],r=+e[1],d):[a,r]},d.tile=function(t){return arguments.length?(e=function(e){if("function"!=typeof e)throw new Error;return e}(t),d):e},d.padding=function(e){return arguments.length?d.paddingInner(e).paddingOuter(e):d.paddingInner()},d.paddingInner=function(e){return arguments.length?(l="function"==typeof e?e:A(+e),d):l},d.paddingOuter=function(e){return arguments.length?d.paddingTop(e).paddingRight(e).paddingBottom(e).paddingLeft(e):d.paddingTop()},d.paddingTop=function(e){return arguments.length?(i="function"==typeof e?e:A(+e),d):i},d.paddingRight=function(e){return arguments.length?(s="function"==typeof e?e:A(+e),d):s},d.paddingBottom=function(e){return arguments.length?(o="function"==typeof e?e:A(+e),d):o},d.paddingLeft=function(e){return arguments.length?(c="function"==typeof e?e:A(+e),d):c},d}var R=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=r,this.getAccTitle=n,this.setDiagramTitle=l,this.getDiagramTitle=i,this.getAccDescription=s,this.setAccDescription=o}static{c(this,"TreeMapDB")}getNodes(){return this.nodes}getConfig(){var e=f,t=d();return p({...e.treemap,...t.treemap??{}})}addNode(e,t){this.nodes.push(e),this.levels.set(e,t),0===t&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:"",children:this.outerNodes}}addClass(e,t){let a=this.classes.get(e)??{id:e,styles:[],textStyles:[]};(t=t.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";"))&&t.forEach(e=>{h(e)&&(a?.textStyles?a.textStyles.push(e):a.textStyles=[e]),a?.styles?a.styles.push(e):a.styles=[e]}),this.classes.set(e,a)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){u(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}};function V(e){if(!e.length)return[];let t=[],a=[];return e.forEach(e=>{var r,n={name:e.name,children:"Leaf"===e.type?void 0:[]};for(n.classSelector=e?.classSelector,e?.cssCompiledStyles&&(n.cssCompiledStyles=e.cssCompiledStyles),"Leaf"===e.type&&void 0!==e.value&&(n.value=e.value);0<a.length&&a[a.length-1].level>=e.level;)a.pop();0===a.length?t.push(n):(r=a[a.length-1].node).children?r.children.push(n):r.children=[n],"Leaf"!==e.type&&a.push({node:n,level:e.level})}),t}c(V,"buildHierarchy");var D=c((e,t)=>{a(e,t);var r,n,l=[];for(r of e.TreemapRows??[])"ClassDefStatement"===r.$type&&t.addClass(r.className??"",r.styleText??"");for(n of e.TreemapRows??[]){var i,s,o,d=n.item;d&&(o=n.indent?parseInt(n.indent):0,i=H(d),s=0<(s=d.classSelector?t.getStylesForClass(d.classSelector):[]).length?s:void 0,o={level:o,name:i,type:d.$type,value:d.value,classSelector:d.classSelector,cssCompiledStyles:s},l.push(o))}e=V(l);let p=c((e,a)=>{for(var r of e)t.addNode(r,a),r.children&&0<r.children.length&&p(r.children,a+1)},"addNodesRecursively");p(e,0)},"populate"),H=c(e=>e.name?String(e.name):"","getItemName"),G={parser:{yy:void 0},parse:c(async e=>{try{var t=await C("treemap",e),a=(m.debug("Treemap AST:",t),G.parser?.yy);if(!(a instanceof R))throw new 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.");D(t,a)}catch(e){throw m.error("Error parsing treemap:",e),e}},"parse")},O=10,q=c((e,t,a,r)=>{let n=(r=r.db).getConfig();var l=n.padding??10,i=r.getDiagramTitle(),s=(r=r.getRoot(),d().themeVariables);if(r){var o=i?30:0,p=y(t),h=n.nodeWidth?n.nodeWidth*O:960,u=n.nodeHeight?n.nodeHeight*O:500,f=h,S=u+o;let a;p.attr("viewBox",`0 0 ${f} `+S),g(p,S,f,n.useMaxWidth);try{var C=n.valueFormat||",";if("$0,0"===C)a=c(e=>"$"+w(",")(e),"valueFormat");else if(C.startsWith("$")&&C.includes(",")){var L=/\.\d+/.exec(C);let e=L?L[0]:"";a=c(t=>"$"+w(","+e)(t),"valueFormat")}else if(C.startsWith("$")){let e=C.substring(1);a=c(t=>"$"+w(e||"")(t),"valueFormat")}else a=w(C)}catch(e){m.error("Error creating format function:",e),a=w(",")}let d=$().range(["transparent",s.cScale0,s.cScale1,s.cScale2,s.cScale3,s.cScale4,s.cScale5,s.cScale6,s.cScale7,s.cScale8,s.cScale9,s.cScale10,s.cScale11]),k=$().range(["transparent",s.cScalePeer0,s.cScalePeer1,s.cScalePeer2,s.cScalePeer3,s.cScalePeer4,s.cScalePeer5,s.cScalePeer6,s.cScalePeer7,s.cScalePeer8,s.cScalePeer9,s.cScalePeer10,s.cScalePeer11]),T=$().range([s.cScaleLabel0,s.cScaleLabel1,s.cScaleLabel2,s.cScaleLabel3,s.cScaleLabel4,s.cScaleLabel5,s.cScaleLabel6,s.cScaleLabel7,s.cScaleLabel8,s.cScaleLabel9,s.cScaleLabel10,s.cScaleLabel11]);i&&p.append("text").attr("x",f/2).attr("y",o/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(i),S=p.append("g").attr("transform",`translate(0, ${o})`).attr("class","treemapContainer"),L=M(r).sum(e=>e.value??0).sort((e,t)=>(t.value??0)-(e.value??0)),C=I().size([h,u]).paddingTop(e=>e.children&&0<e.children.length?35:0).paddingInner(l).paddingLeft(e=>e.children&&0<e.children.length?O:0).paddingRight(e=>e.children&&0<e.children.length?O:0).paddingBottom(e=>e.children&&0<e.children.length?O:0).round(!0)(L),s=C.descendants().filter(e=>e.children&&0<e.children.length),f=S.selectAll(".treemapSection").data(s).enter().append("g").attr("class","treemapSection").attr("transform",e=>`translate(${e.x0},${e.y0})`),f.append("rect").attr("width",e=>e.x1-e.x0).attr("height",25).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",e=>0===e.depth?"display: none;":""),f.append("clipPath").attr("id",(e,a)=>`clip-section-${t}-`+a).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-12)).attr("height",25),f.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=>k(e.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",e=>0===e.depth?"display: none;":(e=v({cssCompiledStyles:e.data.cssCompiledStyles})).nodeStyles+";"+e.borderStyles.join(";")),f.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",12.5).attr("dominant-baseline","middle").text(e=>0===e.depth?"":e.data.name).attr("font-weight","bold").attr("clip-path",(e,a)=>`url(#clip-section-${t}-${a})`).attr("style",e=>0===e.depth?"display: none;":"dominant-baseline: middle; font-size: 12px; fill:"+T(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"+v({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).each(function(e){if(0!==e.depth){var t=x(this),a=e.data.name,r=(t.text(a),e.x1-e.x0);let s;s=!1!==n.showValues&&e.value?r-10-30-10-6:r-6-6;var l=Math.max(15,s),i=t.node();if(l<i.getComputedTextLength()){let e=a;for(;0<e.length;){if(0===(e=a.substring(0,e.length-1)).length){t.text("..."),i.getComputedTextLength()>l&&t.text("");break}if(t.text(e+"..."),i.getComputedTextLength()<=l)break}}}}),!1!==n.showValues&&f.append("text").attr("class","treemapSectionValue").attr("x",e=>e.x1-e.x0-10).attr("y",12.5).attr("text-anchor","end").attr("dominant-baseline","middle").text(e=>e.value?a(e.value):"").attr("font-style","italic").attr("style",e=>0===e.depth?"display: none;":"text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+T(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"+v({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:"));let z=20<(i=C.leaves()).length,F=z?16:38,N=z?14:28,P=z?4:8,A=z?4:6,B=z?2:4,j=z?8:10,W=z?1:2;o=S.selectAll(".treemapLeafGroup").data(i).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})`),o.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=>v({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),o.append("clipPath").attr("id",(e,a)=>`clip-${t}-`+a).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-4)).attr("height",e=>Math.max(0,e.y1-e.y0-4)),o.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: ${F}px;fill:`+T(e.data.name)+";"+v({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).attr("clip-path",(e,a)=>`url(#clip-${t}-${a})`).text(e=>e.data.name).each(function(e){var t=x(this),a=e.x1-e.x0,r=(e=e.y1-e.y0,t.node()),n=a-2*B,l=e-2*B;if(n<j||l<j)t.style("display","none");else{let e=parseInt(t.style("font-size"),10);for(;r.getComputedTextLength()>n&&e>P;)e--,t.style("font-size",e+"px");var i=Math.max(A,Math.min(N,Math.round(.6*e)));let a=e+W+i;for(;a>l&&e>P&&(e--,!((i=Math.max(A,Math.min(N,Math.round(.6*e))))<A&&e===P));)t.style("font-size",e+"px"),a=e+W+i;t.style("font-size",e+"px"),z?(e<P||l<P)&&t.style("display","none"):(r.getComputedTextLength()>n||e<P||l<e)&&t.style("display","none")}}),!1!==n.showValues&&o.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: ${N}px;fill:`+T(e.data.name)+";"+v({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).attr("clip-path",(e,a)=>`url(#clip-${t}-${a})`).text(e=>e.value?a(e.value):"").each(function(e){var t,a,r=x(this),n=this.parentNode;!n||(n=x(n).select(".treemapLabel")).empty()||"none"===n.style("display")||(n=parseFloat(n.style("font-size")),t=Math.max(A,Math.min(N,Math.round(.6*n))),r.style("font-size",t+"px"),n=(e.y1-e.y0)/2+n/2+W,r.attr("y",n),a=e.x1-e.x0,e=e.y1-e.y0-4,a-=2*B,r.node().getComputedTextLength()>a)||e<n+t||t<A?r.style("display","none"):r.style("display",null)}),r=n.diagramPadding??8,b(p,r,"flowchart",n?.useMaxWidth||!1)}},"draw"),J=c(function(e,t){return t.db.getClasses()},"getClasses"),K={draw:q,getClasses:J},_={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelFontSize:"12px",valueFontSize:"10px",titleFontSize:"14px"},Q=c(({treemap:e}={})=>{var t=S(),a=d(),r=(t=p(t,a.themeVariables),e=(a=p(_,e)).titleColor??t.titleColor,a.labelColor??t.textColor);t=a.valueColor??t.textColor;return`\n .treemapNode.section {\n stroke: ${a.sectionStrokeColor};\n stroke-width: ${a.sectionStrokeWidth};\n fill: ${a.sectionFillColor};\n }\n .treemapNode.leaf {\n stroke: ${a.leafStrokeColor};\n stroke-width: ${a.leafStrokeWidth};\n fill: ${a.leafFillColor};\n }\n .treemapLabel {\n fill: ${r};\n font-size: ${a.labelFontSize};\n }\n .treemapValue {\n fill: ${t};\n font-size: ${a.valueFontSize};\n }\n .treemapTitle {\n fill: ${e};\n font-size: ${a.titleFontSize};\n }\n `},"getStyles"),U=Q,X={parser:G,get db(){return new R},renderer:K,styles:U};export{X as diagram};
@@ -0,0 +1 @@
1
+ var t,e;(t=self.document)&&!t.getElementById("livereloadscript")&&((e=t.createElement("script")).async=1,e.src="//"+(self.location.host||"localhost").split(":")[0]+":35729/livereload.js?snipver=1",e.id="livereloadscript",t.getElementsByTagName("head")[0].appendChild(e));import{p as a}from"./chunk-JWPE2WC7-15a55950.js";import{E as r,s,g as i,n as o,o as l,b as n,c as d,_ as c,F as p,G as h,v as b,l as k,K as g,k as f}from"./mermaid.core-70d5aead.js";import{v as m}from"./mermaid-parser.core-6df0beec.js";import"./web-25bb78b9.js";var w=r.packet,u=class{constructor(){this.packet=[],this.setAccTitle=s,this.getAccTitle=i,this.setDiagramTitle=o,this.getDiagramTitle=l,this.getAccDescription=n,this.setAccDescription=d}static{c(this,"PacketDB")}getConfig(){var t=p({...w,...h().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){0<t.length&&this.packet.push(t)}clear(){b(),this.packet=[]}},v=c((t,e)=>{a(t,e);let r=-1,s=[],i=1;var o,l,n,d,c=e.getConfig().bitsPerRow;for({start:o,end:l,bits:n,label:d}of t.blocks){if(void 0!==o&&void 0!==l&&l<o)throw new Error(`Packet block ${o} - ${l} is invalid. End must be greater than start.`);if((o??=r+1)!==r+1)throw new Error(`Packet block ${o} - ${l??o} is not contiguous. It should start from ${r+1}.`);if(0===n)throw new Error(`Packet block ${o} is invalid. Cannot have a zero bit field.`);for(l??=o+(n??1)-1,n??=l-o+1,r=l,k.debug(`Packet block ${o} - ${r} with label `+d);s.length<=c+1&&e.getPacket().length<1e4;){var[p,h]=y({start:o,end:l,bits:n,label:d},i,c);if(s.push(p),p.end+1===i*c&&(e.pushWord(s),s=[],i++),!h)break;({start:o,end:l,bits:n,label:d}=h)}}e.pushWord(s)},"populate"),y=c((t,e,a)=>{if(void 0===t.start)throw new Error("start should have been set during first phase");if(void 0===t.end)throw new Error("end should have been set during first phase");if(t.end<t.start)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);var r;return t.end+1<=e*a?[t,void 0]:[{start:t.start,end:r=e*a-1,label:t.label,bits:r-t.start},{start:r=e*a,end:t.end,label:t.label,bits:t.end-r}]},"getNextFittingBlock"),x={parser:{yy:void 0},parse:c(async t=>{t=await m("packet",t);var e=x.parser?.yy;if(!(e instanceof u))throw new 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.");k.debug(t),v(t,e)},"parse")},$=c((t,e,a,r)=>{var s,i,o,l=(r=r.db).getConfig(),{rowHeight:n,paddingY:o,bitWidth:d,bitsPerRow:c}=l,p=r.getPacket(),n=(r=r.getDiagramTitle(),(o=n+o)*(p.length+1)-(r?0:n)),d=d*c+2,h=g(e);for([s,i]of(h.attr("viewBox",`0 0 ${d} `+n),f(h,n,d,l.useMaxWidth),p.entries()))B(h,i,s,l);h.append("text").text(r).attr("x",d/2).attr("y",n-o/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),B=c((t,e,a,{rowHeight:r,paddingX:s,paddingY:i,bitWidth:o,bitsPerRow:l,showBits:n})=>{var d,c=t.append("g"),p=a*(r+i)+i;for(d of e){var h,b,k=d.start%l*o+1,g=(d.end-d.start+1)*o-s;c.append("rect").attr("x",k).attr("y",p).attr("width",g).attr("height",r).attr("class","packetBlock"),c.append("text").attr("x",k+g/2).attr("y",p+r/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(d.label),n&&(h=d.end===d.start,b=p-2,c.append("text").attr("x",k+(h?g/2:0)).attr("y",b).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",h?"middle":"start").text(d.start),h||c.append("text").attr("x",k+g).attr("y",b).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(d.end))}},"drawWord"),C={draw:$},E={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},P=c(({packet:t}={})=>`\n\t.packetByte {\n\t\tfont-size: ${(t=p(E,t)).byteFontSize};\n\t}\n\t.packetByte.start {\n\t\tfill: ${t.startByteColor};\n\t}\n\t.packetByte.end {\n\t\tfill: ${t.endByteColor};\n\t}\n\t.packetLabel {\n\t\tfill: ${t.labelColor};\n\t\tfont-size: ${t.labelFontSize};\n\t}\n\t.packetTitle {\n\t\tfill: ${t.titleColor};\n\t\tfont-size: ${t.titleFontSize};\n\t}\n\t.packetBlock {\n\t\tstroke: ${t.blockStrokeColor};\n\t\tstroke-width: ${t.blockStrokeWidth};\n\t\tfill: ${t.blockFillColor};\n\t}\n\t`,"styles"),W={parser:x,get db(){return new u},renderer:C,styles:P};export{W as diagram};
@@ -0,0 +1 @@
1
+ import{p as t}from"./chunk-JWPE2WC7-e2521b1e.js";import{E as e,s as a,g as r,n as s,o as i,b as o,c as n,_ as l,F as d,G as c,v as p,l as b,K as h,k}from"./mermaid.core-8797d6a9.js";import{v as g}from"./mermaid-parser.core-d8d1c2b9.js";import"./web-c3ed22c4.js";var f=e.packet,w=class{constructor(){this.packet=[],this.setAccTitle=a,this.getAccTitle=r,this.setDiagramTitle=s,this.getDiagramTitle=i,this.getAccDescription=o,this.setAccDescription=n}static{l(this,"PacketDB")}getConfig(){var t=d({...f,...c().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){0<t.length&&this.packet.push(t)}clear(){p(),this.packet=[]}},m=l(((e,a)=>{t(e,a);let r=-1,s=[],i=1;var o,n,l,d,c=a.getConfig().bitsPerRow;for({start:o,end:n,bits:l,label:d}of e.blocks){if(void 0!==o&&void 0!==n&&n<o)throw new Error(`Packet block ${o} - ${n} is invalid. End must be greater than start.`);if((o??=r+1)!==r+1)throw new Error(`Packet block ${o} - ${n??o} is not contiguous. It should start from ${r+1}.`);if(0===l)throw new Error(`Packet block ${o} is invalid. Cannot have a zero bit field.`);for(n??=o+(l??1)-1,l??=n-o+1,r=n,b.debug(`Packet block ${o} - ${r} with label `+d);s.length<=c+1&&a.getPacket().length<1e4;){var[p,h]=u({start:o,end:n,bits:l,label:d},i,c);if(s.push(p),p.end+1===i*c&&(a.pushWord(s),s=[],i++),!h)break;({start:o,end:n,bits:l,label:d}=h)}}a.pushWord(s)}),"populate"),u=l(((t,e,a)=>{if(void 0===t.start)throw new Error("start should have been set during first phase");if(void 0===t.end)throw new Error("end should have been set during first phase");if(t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);var r;return t.end+1<=e*a?[t,void 0]:[{start:t.start,end:r=e*a-1,label:t.label,bits:r-t.start},{start:r=e*a,end:t.end,label:t.label,bits:t.end-r}]}),"getNextFittingBlock"),y={parser:{yy:void 0},parse:l((async t=>{t=await g("packet",t);var e=y.parser?.yy;if(!(e instanceof w))throw new 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.");b.debug(t),m(t,e)}),"parse")},v=l(((t,e,a,r)=>{var s,i,o,n=(r=r.db).getConfig(),{rowHeight:l,paddingY:o,bitWidth:d,bitsPerRow:c}=n,p=r.getPacket(),l=(r=r.getDiagramTitle(),(o=l+o)*(p.length+1)-(r?0:l)),d=d*c+2,b=h(e);for([s,i]of(b.attr("viewBox",`0 0 ${d} `+l),k(b,l,d,n.useMaxWidth),p.entries()))x(b,i,s,n);b.append("text").text(r).attr("x",d/2).attr("y",l-o/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")}),"draw"),x=l(((t,e,a,{rowHeight:r,paddingX:s,paddingY:i,bitWidth:o,bitsPerRow:n,showBits:l})=>{var d=t.append("g"),c=a*(r+i)+i;for(const t of e){var p,b,h=t.start%n*o+1,k=(t.end-t.start+1)*o-s;d.append("rect").attr("x",h).attr("y",c).attr("width",k).attr("height",r).attr("class","packetBlock"),d.append("text").attr("x",h+k/2).attr("y",c+r/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(t.label),l&&(p=t.end===t.start,b=c-2,d.append("text").attr("x",h+(p?k/2:0)).attr("y",b).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",p?"middle":"start").text(t.start),p||d.append("text").attr("x",h+k).attr("y",b).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(t.end))}}),"drawWord"),$={draw:v},B={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},C=l((({packet:t}={})=>`\n\t.packetByte {\n\t\tfont-size: ${(t=d(B,t)).byteFontSize};\n\t}\n\t.packetByte.start {\n\t\tfill: ${t.startByteColor};\n\t}\n\t.packetByte.end {\n\t\tfill: ${t.endByteColor};\n\t}\n\t.packetLabel {\n\t\tfill: ${t.labelColor};\n\t\tfont-size: ${t.labelFontSize};\n\t}\n\t.packetTitle {\n\t\tfill: ${t.titleColor};\n\t\tfont-size: ${t.titleFontSize};\n\t}\n\t.packetBlock {\n\t\tstroke: ${t.blockStrokeColor};\n\t\tstroke-width: ${t.blockStrokeWidth};\n\t\tfill: ${t.blockFillColor};\n\t}\n\t`),"styles"),P={parser:y,get db(){return new w},renderer:$,styles:C};export{P as diagram};
@@ -0,0 +1 @@
1
+ var t,e;(t=self.document)&&!t.getElementById("livereloadscript")&&((e=t.createElement("script")).async=1,e.src="//"+(self.location.host||"localhost").split(":")[0]+":35729/livereload.js?snipver=1",e.id="livereloadscript",t.getElementsByTagName("head")[0].appendChild(e));import{p as a}from"./chunk-JWPE2WC7-84faee3d.js";import{E as r,s,g as i,n as o,o as l,b as n,c as d,_ as c,F as p,G as h,v as b,l as k,K as g,k as f}from"./mermaid.core-2d237a1e.js";import{v as m}from"./mermaid-parser.core-6df0beec.js";import"./web-753300e1.js";var w=r.packet,u=class{constructor(){this.packet=[],this.setAccTitle=s,this.getAccTitle=i,this.setDiagramTitle=o,this.getDiagramTitle=l,this.getAccDescription=n,this.setAccDescription=d}static{c(this,"PacketDB")}getConfig(){var t=p({...w,...h().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){0<t.length&&this.packet.push(t)}clear(){b(),this.packet=[]}},v=c((t,e)=>{a(t,e);let r=-1,s=[],i=1;var o,l,n,d,c=e.getConfig().bitsPerRow;for({start:o,end:l,bits:n,label:d}of t.blocks){if(void 0!==o&&void 0!==l&&l<o)throw new Error(`Packet block ${o} - ${l} is invalid. End must be greater than start.`);if((o??=r+1)!==r+1)throw new Error(`Packet block ${o} - ${l??o} is not contiguous. It should start from ${r+1}.`);if(0===n)throw new Error(`Packet block ${o} is invalid. Cannot have a zero bit field.`);for(l??=o+(n??1)-1,n??=l-o+1,r=l,k.debug(`Packet block ${o} - ${r} with label `+d);s.length<=c+1&&e.getPacket().length<1e4;){var[p,h]=y({start:o,end:l,bits:n,label:d},i,c);if(s.push(p),p.end+1===i*c&&(e.pushWord(s),s=[],i++),!h)break;({start:o,end:l,bits:n,label:d}=h)}}e.pushWord(s)},"populate"),y=c((t,e,a)=>{if(void 0===t.start)throw new Error("start should have been set during first phase");if(void 0===t.end)throw new Error("end should have been set during first phase");if(t.end<t.start)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);var r;return t.end+1<=e*a?[t,void 0]:[{start:t.start,end:r=e*a-1,label:t.label,bits:r-t.start},{start:r=e*a,end:t.end,label:t.label,bits:t.end-r}]},"getNextFittingBlock"),x={parser:{yy:void 0},parse:c(async t=>{t=await m("packet",t);var e=x.parser?.yy;if(!(e instanceof u))throw new 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.");k.debug(t),v(t,e)},"parse")},$=c((t,e,a,r)=>{var s,i,o,l=(r=r.db).getConfig(),{rowHeight:n,paddingY:o,bitWidth:d,bitsPerRow:c}=l,p=r.getPacket(),n=(r=r.getDiagramTitle(),(o=n+o)*(p.length+1)-(r?0:n)),d=d*c+2,h=g(e);for([s,i]of(h.attr("viewBox",`0 0 ${d} `+n),f(h,n,d,l.useMaxWidth),p.entries()))B(h,i,s,l);h.append("text").text(r).attr("x",d/2).attr("y",n-o/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),B=c((t,e,a,{rowHeight:r,paddingX:s,paddingY:i,bitWidth:o,bitsPerRow:l,showBits:n})=>{var d,c=t.append("g"),p=a*(r+i)+i;for(d of e){var h,b,k=d.start%l*o+1,g=(d.end-d.start+1)*o-s;c.append("rect").attr("x",k).attr("y",p).attr("width",g).attr("height",r).attr("class","packetBlock"),c.append("text").attr("x",k+g/2).attr("y",p+r/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(d.label),n&&(h=d.end===d.start,b=p-2,c.append("text").attr("x",k+(h?g/2:0)).attr("y",b).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",h?"middle":"start").text(d.start),h||c.append("text").attr("x",k+g).attr("y",b).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(d.end))}},"drawWord"),C={draw:$},E={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},P=c(({packet:t}={})=>`\n\t.packetByte {\n\t\tfont-size: ${(t=p(E,t)).byteFontSize};\n\t}\n\t.packetByte.start {\n\t\tfill: ${t.startByteColor};\n\t}\n\t.packetByte.end {\n\t\tfill: ${t.endByteColor};\n\t}\n\t.packetLabel {\n\t\tfill: ${t.labelColor};\n\t\tfont-size: ${t.labelFontSize};\n\t}\n\t.packetTitle {\n\t\tfill: ${t.titleColor};\n\t\tfont-size: ${t.titleFontSize};\n\t}\n\t.packetBlock {\n\t\tstroke: ${t.blockStrokeColor};\n\t\tstroke-width: ${t.blockStrokeWidth};\n\t\tfill: ${t.blockFillColor};\n\t}\n\t`,"styles"),W={parser:x,get db(){return new u},renderer:C,styles:P};export{W as diagram};
@@ -0,0 +1 @@
1
+ import{I as e}from"./chunk-2Q5K7J3B-2892df89.js";import{p as t}from"./chunk-JWPE2WC7-e2521b1e.js";import{_ as r,E as i,al as n,l as o,g as a,b as s,o as d,c as l,s as c,n as h,i as p,G as g,F as f,v as w,K as u,k as x,am as m}from"./mermaid.core-8797d6a9.js";import{v}from"./mermaid-parser.core-d8d1c2b9.js";import"./web-c3ed22c4.js";var b=/[─━│┃└┗├┣]/,y=/[└┗├┣]/,k=/[─━]/,B=/^[\s│┃]+$/,C=/^\s*(title[\t ]|accTitle[\t ]*:|accDescr[\t ]*[:{])/,V=/^\s*%%/;function I(e){return e.some((e=>b.test(e)))}function T(e){for(const r of e){var t=y.exec(r);if(t?.index&&0<t.index)return t.index}return 4}function $(e,t){return e.replace(/\bline\s+(\d+)\b/gi,((e,r)=>(r=parseInt(r,10),(r=t.get(r))?"line "+r:e)))}function M(e){var t,r,i=e.split("\n"),n=new Map;let o=-1;for([t,r]of i.entries())if("treeView-beta"===r.trim()){o=t;break}if(-1===o)return{text:e,lineMap:n};var a=[];for(let e=o+1;e<i.length;e++){var s=i[e];""===s.trim()||V.test(s)||C.test(s)||B.test(s)||a.push(s.replace(/\t/g," "))}if(!I(a))return{text:e,lineMap:n};var d=T(a),l=[];let c=0;for(let e=0;e<=o;e++)l.push(i[e]),c++,n.set(c,e+1);for(let e=o+1;e<i.length;e++){var h=i[e],p=e+1;if(""===(f=h.trim()))l.push(h),c++,n.set(c,p);else if(V.test(h))l.push(h),c++,n.set(c,p);else if(C.test(h))l.push(h),c++,n.set(c,p);else if(!B.test(h)){var g=h.replace(/\t/g," "),f=y.exec(g);if(void 0!==f?.index){f=f.index;var w=Math.round(f/d)+1;let e=f+1;for(;e<g.length&&k.test(g[e]);)e++;for(;e<g.length&&" "===g[e];)e++;if(!(f=g.slice(e).trimEnd()))throw new Error(`Line ${p}: Empty node — expected a filename or directory name after the box-drawing prefix`);w=" ".repeat(w),l.push(w+f),c++,n.set(c,p)}else if(!/^[\s─━│┃└┗├┣]+$/.test(g)){if(!b.test(g)&&/^\s+/.test(g))throw new Error(`Line ${p}: Unexpected indentation without box-drawing characters. In box-drawing format, use ├── or └── prefixes for indented nodes.`);l.push(h),c++,n.set(c,p)}}}return{text:l.join("\n"),lineMap:n}}r(I,"isBoxDrawingFormat"),r(T,"inferSegmentWidth"),r($,"remapErrorLines"),r(M,"preprocessBoxDrawing");var E=new e((()=>({cnt:1,stack:[{id:0,level:-1,name:"/",nodeType:"directory",children:[]}]}))),A=r((()=>{E.reset(),w()}),"clear"),D=r((()=>E.records.stack[0]),"getRoot"),j=r((()=>E.records.cnt),"getCount"),z=i.treeView,S=r((()=>f(z,g().treeView)),"getConfig"),W={clear:A,addNode:r(((e,t,r,i,n,o)=>{for(;e<=E.records.stack[E.records.stack.length-1].level;)E.records.stack.pop();t={id:E.records.cnt++,level:e,name:t,nodeType:r,icon:n,cssClass:i,description:o,children:[]},E.records.stack[E.records.stack.length-1].children.push(t),E.records.stack.push(t)}),"addNode"),getRoot:D,getCount:j,getConfig:S,getAccTitle:a,getAccDescription:s,getDiagramTitle:d,setAccDescription:l,setAccTitle:c,setDiagramTitle:h},X=r((e=>{t(e,W);for(const t of e.nodes){var r="number"==typeof t.indent?t.indent:0;let e=t.name;var i=((i=e.endsWith("/"))&&(e=e.slice(0,-1)),i?"directory":"file"),n=t.classAnnotation||void 0,o=void 0!==(o=t.iconAnnotation)?o||"none":void 0,a=(a=t.descAnnotation||void 0)?p(a,g()):void 0;W.addNode(r,e,i,n,o,a)}}),"populate"),L={parse:r((async e=>{var{text:e,lineMap:t}=M(e);try{var r=await v("treeView",e);o.debug(r),X(r)}catch(e){throw 0<t.size&&e instanceof Error&&(e.message=$(e.message,t)),e}}),"parse")},N={prefix:"mermaid-treeview",height:24,width:24,icons:{folder:{body:'<path fill="currentColor" d="M10.59 4.59A2 2 0 0 0 9.17 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.17z"/>'},file:{body:'<path fill="currentColor" fill-rule="evenodd" d="M6 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8.83a2 2 0 0 0-.59-1.42l-4.82-4.82A2 2 0 0 0 13.17 2H6Zm7.5 1.9l4.6 4.6h-3.6a1 1 0 0 1-1-1V3.9Z" clip-rule="evenodd"/>'}}};function R(e,t){var r=t?.filenameIcons?.[e];return r||(0<(r=e.lastIndexOf("."))?(e=e.substring(r).toLowerCase(),(r=t?.extensionIcons)?.[e]??r?.[e.slice(1)]):void 0)}function F(e,t){return e.includes(":")?e:e in N.icons||!t?N.prefix+":"+e:t+":"+e}function G(e,t){if("none"!==e.icon){if(e.icon)return F(e.icon,t.defaultIconPack);if(t.showIcons){if("file"===e.nodeType){var r=R(e.name,t);if("none"===r)return;if(r)return F(r,t.defaultIconPack)}return N.prefix+":"+("directory"===e.nodeType?"folder":"file")}}}r(R,"detectIcon"),r(F,"qualifyIcon"),r(G,"getNodeIcon"),n([{name:N.prefix,icons:N}]);var H=r(((e,t)=>`tv-icon-${e}-`+t.replace(/[^\w-]/g,"-")),"iconSymbolId"),P=r((async(e,t,i,n)=>{const o=new Set,a=r((e=>{var t=G(e,i);t&&o.add(t),e.children.forEach(a)}),"collect");if(a(t),0!==o.size){t=await Promise.all([...o].map((async e=>({icon:e,svg:await m(e,{height:14,width:14})}))));var s,d,l=e.append("defs");for({icon:s,svg:d}of t)l.append("g").attr("id",H(n,s)).html(d)}}),"injectIconDefs"),Y=r(((e,t,r,i,n,o)=>{i=i.append("g");let a="treeView-node-label";"directory"===r.nodeType&&(a+=" treeView-node-dir"),r.cssClass&&(a+=" "+r.cssClass);var s=void 0!==(d=G(r,n)),{height:d,width:l}=(o=(d&&i.append("use").attr("xlink:href","#"+H(o,d)).attr("x",e+n.paddingX).attr("y",t+n.paddingY).attr("class","treeView-node-icon"),i.append("text").text(r.name).attr("dominant-baseline","middle").attr("class",a)),o.node().getBBox()),d=d+2*n.paddingY,c=e+n.paddingX+(s?18:0);o.attr("x",c),o.attr("y",t+d/2),o=c+l,c=l+2*n.paddingX+(s?18:0);return r.BBox={x:e,y:t,width:c,height:d},r.cssClass?.split(/\s+/).includes("highlight")&&i.insert("rect",":first-child").attr("x",e).attr("y",t+1).attr("width",0).attr("height",d-2).attr("rx",3).attr("class","treeView-highlight-bg"),{node:r,nodeGroup:i,labelRightEdge:o,centerY:t+d/2}}),"positionLabel"),J=r(((e,t,r,i,n,o)=>e.append("line").attr("x1",t).attr("y1",r).attr("x2",i).attr("y2",n).attr("stroke-width",o).attr("class","treeView-node-line")),"positionLine"),K=r(((e,t,i,n)=>{let o=0,a=0;const s=[],d=r(((e,t,r,i)=>{i*=r.rowIndent+r.paddingX;var d=Y(i,o,t,e,r,n),{height:d,width:t}=(s.push(d),t.BBox);J(e,i-r.rowIndent,o+d/2,i,o+d/2,r.lineThickness),a=Math.max(a,i+t),o+=d}),"drawNode"),l=r(((t,r=0)=>{d(e,t,i,r),t.children.forEach((e=>{l(e,r+1)}));var n,{x:o,y:a,height:s}=t.BBox;t.children.length&&(({y:t,height:n}=t.children[t.children.length-1].BBox),J(e,o+i.paddingX,a+s,o+i.paddingX,t+n/2+i.lineThickness/2,i.lineThickness))}),"processNode");var c,h;if(l(t),0<(t=s.filter((e=>e.node.description))).length){var p=Math.max(...s.map((e=>e.labelRightEdge)))+16;for(const e of t){var g=e.nodeGroup.append("text").text(e.node.description).attr("dominant-baseline","middle").attr("class","treeView-node-description").attr("x",p).attr("y",e.centerY).node().getBBox();a=Math.max(a,p+g.width+i.paddingX)}}for(const e of s)!e.node.cssClass?.split(/\s+/).includes("highlight")||(c=e.nodeGroup.select(".treeView-highlight-bg")).empty()||(h=a-e.node.BBox.x+8,c.attr("width",h),a=Math.max(a,e.node.BBox.x+h+2));return{totalHeight:o,totalWidth:a}}),"drawTree"),Z={draw:r((async(e,t,r,i)=>{o.debug("Rendering treeView diagram\n"+e);i=(e=i.db).getRoot(),e=e.getConfig();var n=u(t),a=(await P(n,i,e,t),n.append("g")),{totalHeight:a,totalWidth:i}=(a.attr("class","tree-view"),K(a,i,e,t));n.attr("viewBox",`-${e.lineThickness/2} 0 ${i} `+a),x(n,a,i,e.useMaxWidth)}),"draw")},q={labelFontSize:"16px",labelColor:"black",lineColor:"black",iconColor:"#546e7a",descriptionColor:"#6a9955",highlightBg:"rgba(255, 193, 7, 0.15)",highlightStroke:"#ffc107"},O=r((({treeView:e})=>{var{labelFontSize:e,labelColor:t,lineColor:r,iconColor:i,descriptionColor:n,highlightBg:o,highlightStroke:a}=f(q,e);return`\n .treeView-node-label {\n font-size: ${e};\n fill: ${t};\n white-space: pre;\n }\n .treeView-node-dir {\n font-weight: bold;\n }\n .treeView-node-line {\n stroke: ${r};\n }\n .treeView-node-icon {\n color: ${i};\n }\n .treeView-node-description {\n font-size: ${e};\n fill: ${n};\n font-style: italic;\n white-space: pre;\n }\n .treeView-highlight-bg {\n fill: ${o};\n stroke: ${a};\n stroke-width: 1;\n }\n `}),"styles"),Q={db:W,renderer:Z,parser:L,styles:O};export{Q as diagram};
@@ -0,0 +1 @@
1
+ var e,t;(e=self.document)&&!e.getElementById("livereloadscript")&&((t=e.createElement("script")).async=1,t.src="//"+(self.location.host||"localhost").split(":")[0]+":35729/livereload.js?snipver=1",t.id="livereloadscript",e.getElementsByTagName("head")[0].appendChild(t));import{I as r}from"./chunk-2Q5K7J3B-9497bf31.js";import{p as i}from"./chunk-JWPE2WC7-84faee3d.js";import{_ as n,E as a,al as o,l as s,g as d,b as l,o as c,c as h,s as p,n as g,i as f,G as w,F as u,v as m,K as x,k as v,am as b}from"./mermaid.core-2d237a1e.js";import{v as y}from"./mermaid-parser.core-6df0beec.js";import"./web-753300e1.js";var k=/[─━│┃└┗├┣]/,B=/[└┗├┣]/,C=/[─━]/,V=/^[\s│┃]+$/,I=/^\s*(title[\t ]|accTitle[\t ]*:|accDescr[\t ]*[:{])/,T=/^\s*%%/;function E(e){return e.some(e=>k.test(e))}function $(e){for(var t of e)if(t=B.exec(t),t?.index&&0<t.index)return t.index;return 4}function M(e,t){return e.replace(/\bline\s+(\d+)\b/gi,(e,r)=>(r=parseInt(r,10),(r=t.get(r))?"line "+r:e))}function A(e){var t,r,i=e.split("\n"),n=new Map;let a=-1;for([t,r]of i.entries())if("treeView-beta"===r.trim()){a=t;break}if(-1===a)return{text:e,lineMap:n};var o=[];for(let e=a+1;e<i.length;e++){var s=i[e];""===s.trim()||T.test(s)||I.test(s)||V.test(s)||o.push(s.replace(/\t/g," "))}if(!E(o))return{text:e,lineMap:n};var d=$(o),l=[];let c=0;for(let e=0;e<=a;e++)l.push(i[e]),c++,n.set(c,e+1);for(let e=a+1;e<i.length;e++){var h=i[e],p=e+1;if(""===(f=h.trim()))l.push(h),c++,n.set(c,p);else if(T.test(h))l.push(h),c++,n.set(c,p);else if(I.test(h))l.push(h),c++,n.set(c,p);else if(!V.test(h)){var g=h.replace(/\t/g," "),f=B.exec(g);if(void 0!==f?.index){f=f.index;var w=Math.round(f/d)+1;let e=f+1;for(;e<g.length&&C.test(g[e]);)e++;for(;e<g.length&&" "===g[e];)e++;if(!(f=g.slice(e).trimEnd()))throw new Error(`Line ${p}: Empty node — expected a filename or directory name after the box-drawing prefix`);w=" ".repeat(w),l.push(w+f),c++,n.set(c,p)}else if(!/^[\s─━│┃└┗├┣]+$/.test(g)){if(!k.test(g)&&/^\s+/.test(g))throw new Error(`Line ${p}: Unexpected indentation without box-drawing characters. In box-drawing format, use ├── or └── prefixes for indented nodes.`);l.push(h),c++,n.set(c,p)}}}return{text:l.join("\n"),lineMap:n}}n(E,"isBoxDrawingFormat"),n($,"inferSegmentWidth"),n(M,"remapErrorLines"),n(A,"preprocessBoxDrawing");var j=new r(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",nodeType:"directory",children:[]}]})),D=n(()=>{j.reset(),m()},"clear"),z=n(()=>j.records.stack[0],"getRoot"),N=n(()=>j.records.cnt,"getCount"),S=a.treeView,W=n(()=>u(S,w().treeView),"getConfig"),X=n((e,t,r,i,n,a)=>{for(;e<=j.records.stack[j.records.stack.length-1].level;)j.records.stack.pop();t={id:j.records.cnt++,level:e,name:t,nodeType:r,icon:n,cssClass:i,description:a,children:[]},j.records.stack[j.records.stack.length-1].children.push(t),j.records.stack.push(t)},"addNode"),L={clear:D,addNode:X,getRoot:z,getCount:N,getConfig:W,getAccTitle:d,getAccDescription:l,getDiagramTitle:c,setAccDescription:h,setAccTitle:p,setDiagramTitle:g},R=n(e=>{for(var t of(i(e,L),e.nodes)){var r="number"==typeof t.indent?t.indent:0;let e=t.name;var n=((n=e.endsWith("/"))&&(e=e.slice(0,-1)),n?"directory":"file"),a=t.classAnnotation||void 0,o=void 0!==(o=t.iconAnnotation)?o||"none":void 0;t=(t=t.descAnnotation||void 0)?f(t,w()):void 0;L.addNode(r,e,n,a,o,t)}},"populate"),F={parse:n(async e=>{var{text:e,lineMap:t}=A(e);try{var r=await y("treeView",e);s.debug(r),R(r)}catch(e){throw 0<t.size&&e instanceof Error&&(e.message=M(e.message,t)),e}},"parse")},G={prefix:"mermaid-treeview",height:24,width:24,icons:{folder:{body:'<path fill="currentColor" d="M10.59 4.59A2 2 0 0 0 9.17 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.17z"/>'},file:{body:'<path fill="currentColor" fill-rule="evenodd" d="M6 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8.83a2 2 0 0 0-.59-1.42l-4.82-4.82A2 2 0 0 0 13.17 2H6Zm7.5 1.9l4.6 4.6h-3.6a1 1 0 0 1-1-1V3.9Z" clip-rule="evenodd"/>'}}};function H(e,t){var r=t?.filenameIcons?.[e];return r||(0<(r=e.lastIndexOf("."))?(e=e.substring(r).toLowerCase(),(r=t?.extensionIcons)?.[e]??r?.[e.slice(1)]):void 0)}function P(e,t){return e.includes(":")?e:e in G.icons||!t?G.prefix+":"+e:t+":"+e}function Y(e,t){if("none"!==e.icon){if(e.icon)return P(e.icon,t.defaultIconPack);if(t.showIcons){if("file"===e.nodeType){var r=H(e.name,t);if("none"===r)return;if(r)return P(r,t.defaultIconPack)}return G.prefix+":"+("directory"===e.nodeType?"folder":"file")}}}n(H,"detectIcon"),n(P,"qualifyIcon"),n(Y,"getNodeIcon"),o([{name:G.prefix,icons:G}]);var J=n((e,t)=>`tv-icon-${e}-`+t.replace(/[^\w-]/g,"-"),"iconSymbolId"),K=n(async(e,t,r,i)=>{let a=new Set,o=n(e=>{var t=Y(e,r);t&&a.add(t),e.children.forEach(o)},"collect");if(o(t),0!==a.size){t=await Promise.all([...a].map(async e=>({icon:e,svg:await b(e,{height:14,width:14})})));var s,d,l=e.append("defs");for({icon:s,svg:d}of t)l.append("g").attr("id",J(i,s)).html(d)}},"injectIconDefs"),Z=n((e,t,r,i,n,a)=>{i=i.append("g");let o="treeView-node-label";"directory"===r.nodeType&&(o+=" treeView-node-dir"),r.cssClass&&(o+=" "+r.cssClass);var s=void 0!==(d=Y(r,n)),{height:d,width:l}=(a=(d&&i.append("use").attr("xlink:href","#"+J(a,d)).attr("x",e+n.paddingX).attr("y",t+n.paddingY).attr("class","treeView-node-icon"),i.append("text").text(r.name).attr("dominant-baseline","middle").attr("class",o)),a.node().getBBox()),d=d+2*n.paddingY,c=e+n.paddingX+(s?18:0);a.attr("x",c),a.attr("y",t+d/2),a=c+l,c=l+2*n.paddingX+(s?18:0);return r.BBox={x:e,y:t,width:c,height:d},r.cssClass?.split(/\s+/).includes("highlight")&&i.insert("rect",":first-child").attr("x",e).attr("y",t+1).attr("width",0).attr("height",d-2).attr("rx",3).attr("class","treeView-highlight-bg"),{node:r,nodeGroup:i,labelRightEdge:a,centerY:t+d/2}},"positionLabel"),q=n((e,t,r,i,n,a)=>e.append("line").attr("x1",t).attr("y1",r).attr("x2",i).attr("y2",n).attr("stroke-width",a).attr("class","treeView-node-line"),"positionLine"),O=n((e,t,r,i)=>{let a=0,o=0,s=[],d=n((e,t,r,n)=>{n*=r.rowIndent+r.paddingX;var d=Z(n,a,t,e,r,i),{height:d,width:t}=(s.push(d),t.BBox);q(e,n-r.rowIndent,a+d/2,n,a+d/2,r.lineThickness),o=Math.max(o,n+t),a+=d},"drawNode"),l=n((t,i=0)=>{d(e,t,r,i),t.children.forEach(e=>{l(e,i+1)});var n,{x:a,y:o,height:s}=t.BBox;t.children.length&&(({y:t,height:n}=t.children[t.children.length-1].BBox),q(e,a+r.paddingX,o+s,a+r.paddingX,t+n/2+r.lineThickness/2,r.lineThickness))},"processNode");var c,h,p;if(l(t),0<(t=s.filter(e=>e.node.description)).length){var g,f=Math.max(...s.map(e=>e.labelRightEdge))+16;for(g of t){var w=g.nodeGroup.append("text").text(g.node.description).attr("dominant-baseline","middle").attr("class","treeView-node-description").attr("x",f).attr("y",g.centerY).node().getBBox();o=Math.max(o,f+w.width+r.paddingX)}}for(c of s)!c.node.cssClass?.split(/\s+/).includes("highlight")||(h=c.nodeGroup.select(".treeView-highlight-bg")).empty()||(p=o-c.node.BBox.x+8,h.attr("width",p),o=Math.max(o,c.node.BBox.x+p+2));return{totalHeight:a,totalWidth:o}},"drawTree"),Q=n(async(e,t,r,i)=>{s.debug("Rendering treeView diagram\n"+e);i=(e=i.db).getRoot(),e=e.getConfig();var n=x(t),a=(await K(n,i,e,t),n.append("g")),{totalHeight:a,totalWidth:i}=(a.attr("class","tree-view"),O(a,i,e,t));n.attr("viewBox",`-${e.lineThickness/2} 0 ${i} `+a),v(n,a,i,e.useMaxWidth)},"draw"),U={draw:Q},_={labelFontSize:"16px",labelColor:"black",lineColor:"black",iconColor:"#546e7a",descriptionColor:"#6a9955",highlightBg:"rgba(255, 193, 7, 0.15)",highlightStroke:"#ffc107"},ee=n(({treeView:e})=>{var{labelFontSize:e,labelColor:t,lineColor:r,iconColor:i,descriptionColor:n,highlightBg:a,highlightStroke:o}=u(_,e);return`\n .treeView-node-label {\n font-size: ${e};\n fill: ${t};\n white-space: pre;\n }\n .treeView-node-dir {\n font-weight: bold;\n }\n .treeView-node-line {\n stroke: ${r};\n }\n .treeView-node-icon {\n color: ${i};\n }\n .treeView-node-description {\n font-size: ${e};\n fill: ${n};\n font-style: italic;\n white-space: pre;\n }\n .treeView-highlight-bg {\n fill: ${a};\n stroke: ${o};\n stroke-width: 1;\n }\n `},"styles"),te={db:L,renderer:U,parser:F,styles:ee};export{te as diagram};
@@ -0,0 +1 @@
1
+ var e,t;(e=self.document)&&!e.getElementById("livereloadscript")&&((t=e.createElement("script")).async=1,t.src="//"+(self.location.host||"localhost").split(":")[0]+":35729/livereload.js?snipver=1",t.id="livereloadscript",e.getElementsByTagName("head")[0].appendChild(t));import{I as r}from"./chunk-2Q5K7J3B-7960ff8e.js";import{p as i}from"./chunk-JWPE2WC7-15a55950.js";import{_ as n,E as a,al as o,l as s,g as d,b as l,o as c,c as h,s as p,n as g,i as f,G as w,F as u,v as m,K as x,k as v,am as b}from"./mermaid.core-70d5aead.js";import{v as y}from"./mermaid-parser.core-6df0beec.js";import"./web-25bb78b9.js";var k=/[─━│┃└┗├┣]/,B=/[└┗├┣]/,C=/[─━]/,V=/^[\s│┃]+$/,I=/^\s*(title[\t ]|accTitle[\t ]*:|accDescr[\t ]*[:{])/,T=/^\s*%%/;function E(e){return e.some(e=>k.test(e))}function $(e){for(var t of e)if(t=B.exec(t),t?.index&&0<t.index)return t.index;return 4}function M(e,t){return e.replace(/\bline\s+(\d+)\b/gi,(e,r)=>(r=parseInt(r,10),(r=t.get(r))?"line "+r:e))}function A(e){var t,r,i=e.split("\n"),n=new Map;let a=-1;for([t,r]of i.entries())if("treeView-beta"===r.trim()){a=t;break}if(-1===a)return{text:e,lineMap:n};var o=[];for(let e=a+1;e<i.length;e++){var s=i[e];""===s.trim()||T.test(s)||I.test(s)||V.test(s)||o.push(s.replace(/\t/g," "))}if(!E(o))return{text:e,lineMap:n};var d=$(o),l=[];let c=0;for(let e=0;e<=a;e++)l.push(i[e]),c++,n.set(c,e+1);for(let e=a+1;e<i.length;e++){var h=i[e],p=e+1;if(""===(f=h.trim()))l.push(h),c++,n.set(c,p);else if(T.test(h))l.push(h),c++,n.set(c,p);else if(I.test(h))l.push(h),c++,n.set(c,p);else if(!V.test(h)){var g=h.replace(/\t/g," "),f=B.exec(g);if(void 0!==f?.index){f=f.index;var w=Math.round(f/d)+1;let e=f+1;for(;e<g.length&&C.test(g[e]);)e++;for(;e<g.length&&" "===g[e];)e++;if(!(f=g.slice(e).trimEnd()))throw new Error(`Line ${p}: Empty node — expected a filename or directory name after the box-drawing prefix`);w=" ".repeat(w),l.push(w+f),c++,n.set(c,p)}else if(!/^[\s─━│┃└┗├┣]+$/.test(g)){if(!k.test(g)&&/^\s+/.test(g))throw new Error(`Line ${p}: Unexpected indentation without box-drawing characters. In box-drawing format, use ├── or └── prefixes for indented nodes.`);l.push(h),c++,n.set(c,p)}}}return{text:l.join("\n"),lineMap:n}}n(E,"isBoxDrawingFormat"),n($,"inferSegmentWidth"),n(M,"remapErrorLines"),n(A,"preprocessBoxDrawing");var j=new r(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",nodeType:"directory",children:[]}]})),D=n(()=>{j.reset(),m()},"clear"),z=n(()=>j.records.stack[0],"getRoot"),N=n(()=>j.records.cnt,"getCount"),S=a.treeView,W=n(()=>u(S,w().treeView),"getConfig"),X=n((e,t,r,i,n,a)=>{for(;e<=j.records.stack[j.records.stack.length-1].level;)j.records.stack.pop();t={id:j.records.cnt++,level:e,name:t,nodeType:r,icon:n,cssClass:i,description:a,children:[]},j.records.stack[j.records.stack.length-1].children.push(t),j.records.stack.push(t)},"addNode"),L={clear:D,addNode:X,getRoot:z,getCount:N,getConfig:W,getAccTitle:d,getAccDescription:l,getDiagramTitle:c,setAccDescription:h,setAccTitle:p,setDiagramTitle:g},R=n(e=>{for(var t of(i(e,L),e.nodes)){var r="number"==typeof t.indent?t.indent:0;let e=t.name;var n=((n=e.endsWith("/"))&&(e=e.slice(0,-1)),n?"directory":"file"),a=t.classAnnotation||void 0,o=void 0!==(o=t.iconAnnotation)?o||"none":void 0;t=(t=t.descAnnotation||void 0)?f(t,w()):void 0;L.addNode(r,e,n,a,o,t)}},"populate"),F={parse:n(async e=>{var{text:e,lineMap:t}=A(e);try{var r=await y("treeView",e);s.debug(r),R(r)}catch(e){throw 0<t.size&&e instanceof Error&&(e.message=M(e.message,t)),e}},"parse")},G={prefix:"mermaid-treeview",height:24,width:24,icons:{folder:{body:'<path fill="currentColor" d="M10.59 4.59A2 2 0 0 0 9.17 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.17z"/>'},file:{body:'<path fill="currentColor" fill-rule="evenodd" d="M6 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8.83a2 2 0 0 0-.59-1.42l-4.82-4.82A2 2 0 0 0 13.17 2H6Zm7.5 1.9l4.6 4.6h-3.6a1 1 0 0 1-1-1V3.9Z" clip-rule="evenodd"/>'}}};function H(e,t){var r=t?.filenameIcons?.[e];return r||(0<(r=e.lastIndexOf("."))?(e=e.substring(r).toLowerCase(),(r=t?.extensionIcons)?.[e]??r?.[e.slice(1)]):void 0)}function P(e,t){return e.includes(":")?e:e in G.icons||!t?G.prefix+":"+e:t+":"+e}function Y(e,t){if("none"!==e.icon){if(e.icon)return P(e.icon,t.defaultIconPack);if(t.showIcons){if("file"===e.nodeType){var r=H(e.name,t);if("none"===r)return;if(r)return P(r,t.defaultIconPack)}return G.prefix+":"+("directory"===e.nodeType?"folder":"file")}}}n(H,"detectIcon"),n(P,"qualifyIcon"),n(Y,"getNodeIcon"),o([{name:G.prefix,icons:G}]);var J=n((e,t)=>`tv-icon-${e}-`+t.replace(/[^\w-]/g,"-"),"iconSymbolId"),K=n(async(e,t,r,i)=>{let a=new Set,o=n(e=>{var t=Y(e,r);t&&a.add(t),e.children.forEach(o)},"collect");if(o(t),0!==a.size){t=await Promise.all([...a].map(async e=>({icon:e,svg:await b(e,{height:14,width:14})})));var s,d,l=e.append("defs");for({icon:s,svg:d}of t)l.append("g").attr("id",J(i,s)).html(d)}},"injectIconDefs"),Z=n((e,t,r,i,n,a)=>{i=i.append("g");let o="treeView-node-label";"directory"===r.nodeType&&(o+=" treeView-node-dir"),r.cssClass&&(o+=" "+r.cssClass);var s=void 0!==(d=Y(r,n)),{height:d,width:l}=(a=(d&&i.append("use").attr("xlink:href","#"+J(a,d)).attr("x",e+n.paddingX).attr("y",t+n.paddingY).attr("class","treeView-node-icon"),i.append("text").text(r.name).attr("dominant-baseline","middle").attr("class",o)),a.node().getBBox()),d=d+2*n.paddingY,c=e+n.paddingX+(s?18:0);a.attr("x",c),a.attr("y",t+d/2),a=c+l,c=l+2*n.paddingX+(s?18:0);return r.BBox={x:e,y:t,width:c,height:d},r.cssClass?.split(/\s+/).includes("highlight")&&i.insert("rect",":first-child").attr("x",e).attr("y",t+1).attr("width",0).attr("height",d-2).attr("rx",3).attr("class","treeView-highlight-bg"),{node:r,nodeGroup:i,labelRightEdge:a,centerY:t+d/2}},"positionLabel"),q=n((e,t,r,i,n,a)=>e.append("line").attr("x1",t).attr("y1",r).attr("x2",i).attr("y2",n).attr("stroke-width",a).attr("class","treeView-node-line"),"positionLine"),O=n((e,t,r,i)=>{let a=0,o=0,s=[],d=n((e,t,r,n)=>{n*=r.rowIndent+r.paddingX;var d=Z(n,a,t,e,r,i),{height:d,width:t}=(s.push(d),t.BBox);q(e,n-r.rowIndent,a+d/2,n,a+d/2,r.lineThickness),o=Math.max(o,n+t),a+=d},"drawNode"),l=n((t,i=0)=>{d(e,t,r,i),t.children.forEach(e=>{l(e,i+1)});var n,{x:a,y:o,height:s}=t.BBox;t.children.length&&(({y:t,height:n}=t.children[t.children.length-1].BBox),q(e,a+r.paddingX,o+s,a+r.paddingX,t+n/2+r.lineThickness/2,r.lineThickness))},"processNode");var c,h,p;if(l(t),0<(t=s.filter(e=>e.node.description)).length){var g,f=Math.max(...s.map(e=>e.labelRightEdge))+16;for(g of t){var w=g.nodeGroup.append("text").text(g.node.description).attr("dominant-baseline","middle").attr("class","treeView-node-description").attr("x",f).attr("y",g.centerY).node().getBBox();o=Math.max(o,f+w.width+r.paddingX)}}for(c of s)!c.node.cssClass?.split(/\s+/).includes("highlight")||(h=c.nodeGroup.select(".treeView-highlight-bg")).empty()||(p=o-c.node.BBox.x+8,h.attr("width",p),o=Math.max(o,c.node.BBox.x+p+2));return{totalHeight:a,totalWidth:o}},"drawTree"),Q=n(async(e,t,r,i)=>{s.debug("Rendering treeView diagram\n"+e);i=(e=i.db).getRoot(),e=e.getConfig();var n=x(t),a=(await K(n,i,e,t),n.append("g")),{totalHeight:a,totalWidth:i}=(a.attr("class","tree-view"),O(a,i,e,t));n.attr("viewBox",`-${e.lineThickness/2} 0 ${i} `+a),v(n,a,i,e.useMaxWidth)},"draw"),U={draw:Q},_={labelFontSize:"16px",labelColor:"black",lineColor:"black",iconColor:"#546e7a",descriptionColor:"#6a9955",highlightBg:"rgba(255, 193, 7, 0.15)",highlightStroke:"#ffc107"},ee=n(({treeView:e})=>{var{labelFontSize:e,labelColor:t,lineColor:r,iconColor:i,descriptionColor:n,highlightBg:a,highlightStroke:o}=u(_,e);return`\n .treeView-node-label {\n font-size: ${e};\n fill: ${t};\n white-space: pre;\n }\n .treeView-node-dir {\n font-weight: bold;\n }\n .treeView-node-line {\n stroke: ${r};\n }\n .treeView-node-icon {\n color: ${i};\n }\n .treeView-node-description {\n font-size: ${e};\n fill: ${n};\n font-style: italic;\n white-space: pre;\n }\n .treeView-highlight-bg {\n fill: ${a};\n stroke: ${o};\n stroke-width: 1;\n }\n `},"styles"),te={db:L,renderer:U,parser:F,styles:ee};export{te as diagram};
@@ -0,0 +1 @@
1
+ import{p as t}from"./chunk-JWPE2WC7-e2521b1e.js";import{E as a,_ as e,s as r,g as n,n as i,o as s,b as o,c as l,l as c,F as d,G as g,v as p,K as x,k as h,L as u}from"./mermaid.core-8797d6a9.js";import{v as m}from"./mermaid-parser.core-d8d1c2b9.js";import"./web-c3ed22c4.js";var v={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},f={axes:[],curves:[],options:v},y=structuredClone(f),$=a.radar,w=e((()=>d({...$,...g().radar})),"getConfig"),b=e((()=>y.axes),"getAxes"),C=e((()=>y.curves),"getCurves"),M=e((()=>y.options),"getOptions"),L=e((t=>{y.axes=t.map((t=>({name:t.name,label:t.label??t.name})))}),"setAxes"),k=e((t=>{y.curves=t.map((t=>({name:t.name,label:t.label??t.name,entries:T(t.entries)})))}),"setCurves"),T=e((t=>{if(null==t[0].axis)return t.map((t=>t.value));var a=b();if(0===a.length)throw new Error("Axes must be populated before curves for reference entries");return a.map((a=>{var e=t.find((t=>t.axis?.$refText===a.name));if(void 0===e)throw new Error("Missing entry for axis "+a.label);return e.value}))}),"computeCurveEntries"),A=e((t=>{t=t.reduce(((t,a)=>(t[a.name]=a,t)),{}),y.options={showLegend:t.showLegend?.value??v.showLegend,ticks:t.ticks?.value??v.ticks,max:t.max?.value??v.max,min:t.min?.value??v.min,graticule:t.graticule?.value??v.graticule}}),"setOptions"),O=e((()=>{p(),y=structuredClone(f)}),"clear"),S={getAxes:b,getCurves:C,getOptions:M,setAxes:L,setCurves:k,setOptions:A,getConfig:w,clear:O,setAccTitle:r,getAccTitle:n,setDiagramTitle:i,getDiagramTitle:s,getAccDescription:o,setAccDescription:l},E=e((a=>{t(a,S);var{axes:a,curves:e,options:r}=a;S.setAxes(a),S.setCurves(e),S.setOptions(r)}),"populate"),I={parse:e((async t=>{t=await m("radar",t),c.debug(t),E(t)}),"parse")},F=e(((t,a,e,r)=>{var n=(r=r.db).getAxes(),i=r.getCurves(),s=r.getOptions(),o=r.getConfig(),l=(r=r.getDiagramTitle(),a=x(a),a=P(a,o),s.max??Math.max(...i.map((t=>Math.max(...t.entries))))),c=s.min,d=Math.min(o.width,o.height)/2;j(a,n,d,s.ticks,s.graticule),z(a,n,d,o),R(a,n,i,c,l,s.graticule,o),G(a,i,s.showLegend,o),a.append("text").attr("class","radarTitle").text(r).attr("x",0).attr("y",-o.height/2-o.marginTop)}),"draw"),P=e(((t,a)=>{var e=a.width+a.marginLeft+a.marginRight,r=a.height+a.marginTop+a.marginBottom;const n=a.marginLeft+a.width/2,i=a.marginTop+a.height/2;return h(t,r,e,a.useMaxWidth??!0),t.attr("viewBox",`0 0 ${e} `+r).attr("overflow","visible"),t.append("g").attr("transform",`translate(${n}, ${i})`)}),"drawFrame"),j=e(((t,a,e,r,n)=>{if("circle"===n)for(let a=0;a<r;a++){var i=e*(a+1)/r;t.append("circle").attr("r",i).attr("class","radarGraticule")}else if("polygon"===n){const n=a.length;for(let i=0;i<r;i++){const o=e*(i+1)/r;var s=a.map(((t,a)=>(a=2*a*Math.PI/n-Math.PI/2,o*Math.cos(a)+","+o*Math.sin(a)))).join(" ");t.append("polygon").attr("points",s).attr("class","radarGraticule")}}}),"drawGraticule"),z=e(((t,a,e,r)=>{var n=a.length;for(let d=0;d<n;d++){var i=a[d].label,s=2*d*Math.PI/n-Math.PI/2,o=Math.cos(s),l=(s=Math.sin(s),t.append("line").attr("x1",0).attr("y1",0).attr("x2",e*r.axisScaleFactor*o).attr("y2",e*r.axisScaleFactor*s).attr("class","radarAxisLine"),.01<o?"start":o<-.01?"end":"middle"),c=.01<s?"hanging":s<-.01?"auto":"central";t.append("text").text(i).attr("x",e*r.axisLabelFactor*o+4*o).attr("y",e*r.axisLabelFactor*s+4*s).attr("text-anchor",l).attr("dominant-baseline",c).attr("class","radarAxisLabel")}}),"drawAxes");function R(t,a,e,r,n,i,s){const o=a.length,l=Math.min(s.width,s.height)/2;e.forEach(((a,e)=>{a.entries.length===o&&(a=a.entries.map(((t,a)=>(a=2*Math.PI*a/o-Math.PI/2,{x:(t=W(t,r,n,l))*Math.cos(a),y:t*Math.sin(a)}))),"circle"===i?t.append("path").attr("d",D(a,s.curveTension)).attr("class","radarCurve-"+e):"polygon"===i&&t.append("polygon").attr("points",a.map((t=>t.x+","+t.y)).join(" ")).attr("class","radarCurve-"+e))}))}function W(t,a,e,r){return r*(Math.min(Math.max(t,a),e)-a)/(e-a)}function D(t,a){var e=t.length;let r=`M${t[0].x},`+t[0].y;for(let l=0;l<e;l++){var n=t[(l-1+e)%e],i=t[l],s=t[(l+1)%e],o=t[(l+2)%e];n={x:i.x+(s.x-n.x)*a,y:i.y+(s.y-n.y)*a},o={x:s.x-(o.x-i.x)*a,y:s.y-(o.y-i.y)*a};r+=` C${n.x},${n.y} ${o.x},${o.y} ${s.x},`+s.y}return r+" Z"}function G(t,a,e,r){if(e){const e=3*(r.width/2+r.marginRight)/4,n=3*-(r.height/2+r.marginTop)/4;a.forEach(((a,r)=>{var i=t.append("g").attr("transform",`translate(${e}, ${n+20*r})`);i.append("rect").attr("width",12).attr("height",12).attr("class","radarLegendBox-"+r),i.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(a.label)}))}}e(R,"drawCurves"),e(W,"relativeRadius"),e(D,"closedRoundCurve"),e(G,"drawLegend");var B={draw:F},V=e(((t,a)=>{let e="";for(let n=0;n<t.THEME_COLOR_LIMIT;n++){var r=t["cScale"+n];e+=`\n\t\t.radarCurve-${n} {\n\t\t\tcolor: ${r};\n\t\t\tfill: ${r};\n\t\t\tfill-opacity: ${a.curveOpacity};\n\t\t\tstroke: ${r};\n\t\t\tstroke-width: ${a.curveStrokeWidth};\n\t\t}\n\t\t.radarLegendBox-${n} {\n\t\t\tfill: ${r};\n\t\t\tfill-opacity: ${a.curveOpacity};\n\t\t\tstroke: ${r};\n\t\t}\n\t\t`}return e}),"genIndexStyles"),_=e((t=>{var a=u(),e=g();return{themeVariables:a=d(a,e.themeVariables),radarOptions:d(a.radar,t)}}),"buildRadarStyleOptions"),H=e((({radar:t}={})=>{var{themeVariables:t,radarOptions:a}=_(t);return`\n\t.radarTitle {\n\t\tfont-size: ${t.fontSize};\n\t\tcolor: ${t.titleColor};\n\t\tdominant-baseline: hanging;\n\t\ttext-anchor: middle;\n\t}\n\t.radarAxisLine {\n\t\tstroke: ${a.axisColor};\n\t\tstroke-width: ${a.axisStrokeWidth};\n\t}\n\t.radarAxisLabel {\n\t\tfont-size: ${a.axisLabelFontSize}px;\n\t\tcolor: ${a.axisColor};\n\t}\n\t.radarGraticule {\n\t\tfill: ${a.graticuleColor};\n\t\tfill-opacity: ${a.graticuleOpacity};\n\t\tstroke: ${a.graticuleColor};\n\t\tstroke-width: ${a.graticuleStrokeWidth};\n\t}\n\t.radarLegendText {\n\t\ttext-anchor: start;\n\t\tfont-size: ${a.legendFontSize}px;\n\t\tdominant-baseline: hanging;\n\t}\n\t${V(t,a)}\n\t`}),"styles"),J={parser:I,db:S,renderer:B,styles:H};export{J as diagram};
@@ -0,0 +1 @@
1
+ var t,e;(t=self.document)&&!t.getElementById("livereloadscript")&&((e=t.createElement("script")).async=1,e.src="//"+(self.location.host||"localhost").split(":")[0]+":35729/livereload.js?snipver=1",e.id="livereloadscript",t.getElementsByTagName("head")[0].appendChild(e));import{p as a}from"./chunk-JWPE2WC7-84faee3d.js";import{E as r,_ as n,s as i,g as s,n as l,o,b as c,c as d,l as g,F as p,G as h,v as m,K as u,k as x,L as v}from"./mermaid.core-2d237a1e.js";import{v as f}from"./mermaid-parser.core-6df0beec.js";import"./web-753300e1.js";var y={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},$={axes:[],curves:[],options:y},w=structuredClone($),b=r.radar,C=n(()=>p({...b,...h().radar}),"getConfig"),M=n(()=>w.axes,"getAxes"),L=n(()=>w.curves,"getCurves"),T=n(()=>w.options,"getOptions"),k=n(t=>{w.axes=t.map(t=>({name:t.name,label:t.label??t.name}))},"setAxes"),A=n(t=>{w.curves=t.map(t=>({name:t.name,label:t.label??t.name,entries:O(t.entries)}))},"setCurves"),O=n(t=>{if(null==t[0].axis)return t.map(t=>t.value);var e=M();if(0===e.length)throw new Error("Axes must be populated before curves for reference entries");return e.map(e=>{var a=t.find(t=>t.axis?.$refText===e.name);if(void 0===a)throw new Error("Missing entry for axis "+e.label);return a.value})},"computeCurveEntries"),E=n(t=>{t=t.reduce((t,e)=>(t[e.name]=e,t),{}),w.options={showLegend:t.showLegend?.value??y.showLegend,ticks:t.ticks?.value??y.ticks,max:t.max?.value??y.max,min:t.min?.value??y.min,graticule:t.graticule?.value??y.graticule}},"setOptions"),S=n(()=>{m(),w=structuredClone($)},"clear"),I={getAxes:M,getCurves:L,getOptions:T,setAxes:k,setCurves:A,setOptions:E,getConfig:C,clear:S,setAccTitle:i,getAccTitle:s,setDiagramTitle:l,getDiagramTitle:o,getAccDescription:c,setAccDescription:d},F=n(t=>{a(t,I);var{axes:t,curves:e,options:r}=t;I.setAxes(t),I.setCurves(e),I.setOptions(r)},"populate"),j={parse:n(async t=>{t=await f("radar",t),g.debug(t),F(t)},"parse")},P=n((t,e,a,r)=>{var n=(r=r.db).getAxes(),i=r.getCurves(),s=r.getOptions(),l=r.getConfig(),o=(r=r.getDiagramTitle(),e=u(e),e=z(e,l),s.max??Math.max(...i.map(t=>Math.max(...t.entries)))),c=s.min,d=Math.min(l.width,l.height)/2;B(e,n,d,s.ticks,s.graticule),R(e,n,d,l),W(e,n,i,c,o,s.graticule,l),V(e,i,s.showLegend,l),e.append("text").attr("class","radarTitle").text(r).attr("x",0).attr("y",-l.height/2-l.marginTop)},"draw"),z=n((t,e)=>{var a=e.width+e.marginLeft+e.marginRight,r=e.height+e.marginTop+e.marginBottom;const n=e.marginLeft+e.width/2,i=e.marginTop+e.height/2;return x(t,r,a,e.useMaxWidth??!0),t.attr("viewBox",`0 0 ${a} `+r).attr("overflow","visible"),t.append("g").attr("transform",`translate(${n}, ${i})`)},"drawFrame"),B=n((t,e,a,r,n)=>{if("circle"===n)for(let e=0;e<r;e++){var i=a*(e+1)/r;t.append("circle").attr("r",i).attr("class","radarGraticule")}else if("polygon"===n){let n=e.length;for(let i=0;i<r;i++){let l=a*(i+1)/r;var s=e.map((t,e)=>(e=2*e*Math.PI/n-Math.PI/2,l*Math.cos(e)+","+l*Math.sin(e))).join(" ");t.append("polygon").attr("points",s).attr("class","radarGraticule")}}},"drawGraticule"),R=n((t,e,a,r)=>{var n=e.length;for(let d=0;d<n;d++){var i=e[d].label,s=2*d*Math.PI/n-Math.PI/2,l=Math.cos(s),o=(s=Math.sin(s),t.append("line").attr("x1",0).attr("y1",0).attr("x2",a*r.axisScaleFactor*l).attr("y2",a*r.axisScaleFactor*s).attr("class","radarAxisLine"),.01<l?"start":l<-.01?"end":"middle"),c=.01<s?"hanging":s<-.01?"auto":"central";t.append("text").text(i).attr("x",a*r.axisLabelFactor*l+4*l).attr("y",a*r.axisLabelFactor*s+4*s).attr("text-anchor",o).attr("dominant-baseline",c).attr("class","radarAxisLabel")}},"drawAxes");function W(t,e,a,r,n,i,s){let l=e.length,o=Math.min(s.width,s.height)/2;a.forEach((e,a)=>{e.entries.length===l&&(e=e.entries.map((t,e)=>(e=2*Math.PI*e/l-Math.PI/2,{x:(t=D(t,r,n,o))*Math.cos(e),y:t*Math.sin(e)})),"circle"===i?t.append("path").attr("d",G(e,s.curveTension)).attr("class","radarCurve-"+a):"polygon"===i&&t.append("polygon").attr("points",e.map(t=>t.x+","+t.y).join(" ")).attr("class","radarCurve-"+a))})}function D(t,e,a,r){return r*(Math.min(Math.max(t,e),a)-e)/(a-e)}function G(t,e){var a=t.length;let r=`M${t[0].x},`+t[0].y;for(let o=0;o<a;o++){var n=t[(o-1+a)%a],i=t[o],s=t[(o+1)%a],l=t[(o+2)%a];n={x:i.x+(s.x-n.x)*e,y:i.y+(s.y-n.y)*e},l={x:s.x-(l.x-i.x)*e,y:s.y-(l.y-i.y)*e};r+=` C${n.x},${n.y} ${l.x},${l.y} ${s.x},`+s.y}return r+" Z"}function V(t,e,a,r){if(a){let a=3*(r.width/2+r.marginRight)/4,n=3*-(r.height/2+r.marginTop)/4;e.forEach((e,r)=>{var i=t.append("g").attr("transform",`translate(${a}, ${n+20*r})`);i.append("rect").attr("width",12).attr("height",12).attr("class","radarLegendBox-"+r),i.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(e.label)})}}n(W,"drawCurves"),n(D,"relativeRadius"),n(G,"closedRoundCurve"),n(V,"drawLegend");var _={draw:P},H=n((t,e)=>{let a="";for(let n=0;n<t.THEME_COLOR_LIMIT;n++){var r=t["cScale"+n];a+=`\n\t\t.radarCurve-${n} {\n\t\t\tcolor: ${r};\n\t\t\tfill: ${r};\n\t\t\tfill-opacity: ${e.curveOpacity};\n\t\t\tstroke: ${r};\n\t\t\tstroke-width: ${e.curveStrokeWidth};\n\t\t}\n\t\t.radarLegendBox-${n} {\n\t\t\tfill: ${r};\n\t\t\tfill-opacity: ${e.curveOpacity};\n\t\t\tstroke: ${r};\n\t\t}\n\t\t`}return a},"genIndexStyles"),J=n(t=>{var e=v(),a=h();return{themeVariables:e=p(e,a.themeVariables),radarOptions:p(e.radar,t)}},"buildRadarStyleOptions"),K=n(({radar:t}={})=>{var{themeVariables:t,radarOptions:e}=J(t);return`\n\t.radarTitle {\n\t\tfont-size: ${t.fontSize};\n\t\tcolor: ${t.titleColor};\n\t\tdominant-baseline: hanging;\n\t\ttext-anchor: middle;\n\t}\n\t.radarAxisLine {\n\t\tstroke: ${e.axisColor};\n\t\tstroke-width: ${e.axisStrokeWidth};\n\t}\n\t.radarAxisLabel {\n\t\tfont-size: ${e.axisLabelFontSize}px;\n\t\tcolor: ${e.axisColor};\n\t}\n\t.radarGraticule {\n\t\tfill: ${e.graticuleColor};\n\t\tfill-opacity: ${e.graticuleOpacity};\n\t\tstroke: ${e.graticuleColor};\n\t\tstroke-width: ${e.graticuleStrokeWidth};\n\t}\n\t.radarLegendText {\n\t\ttext-anchor: start;\n\t\tfont-size: ${e.legendFontSize}px;\n\t\tdominant-baseline: hanging;\n\t}\n\t${H(t,e)}\n\t`},"styles"),N={parser:j,db:I,renderer:_,styles:K};export{N as diagram};
@@ -0,0 +1 @@
1
+ var t,e;(t=self.document)&&!t.getElementById("livereloadscript")&&((e=t.createElement("script")).async=1,e.src="//"+(self.location.host||"localhost").split(":")[0]+":35729/livereload.js?snipver=1",e.id="livereloadscript",t.getElementsByTagName("head")[0].appendChild(e));import{p as a}from"./chunk-JWPE2WC7-15a55950.js";import{E as r,_ as n,s as i,g as s,n as l,o,b as c,c as d,l as g,F as p,G as h,v as m,K as u,k as x,L as v}from"./mermaid.core-70d5aead.js";import{v as f}from"./mermaid-parser.core-6df0beec.js";import"./web-25bb78b9.js";var y={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},$={axes:[],curves:[],options:y},w=structuredClone($),b=r.radar,C=n(()=>p({...b,...h().radar}),"getConfig"),M=n(()=>w.axes,"getAxes"),L=n(()=>w.curves,"getCurves"),T=n(()=>w.options,"getOptions"),k=n(t=>{w.axes=t.map(t=>({name:t.name,label:t.label??t.name}))},"setAxes"),A=n(t=>{w.curves=t.map(t=>({name:t.name,label:t.label??t.name,entries:O(t.entries)}))},"setCurves"),O=n(t=>{if(null==t[0].axis)return t.map(t=>t.value);var e=M();if(0===e.length)throw new Error("Axes must be populated before curves for reference entries");return e.map(e=>{var a=t.find(t=>t.axis?.$refText===e.name);if(void 0===a)throw new Error("Missing entry for axis "+e.label);return a.value})},"computeCurveEntries"),E=n(t=>{t=t.reduce((t,e)=>(t[e.name]=e,t),{}),w.options={showLegend:t.showLegend?.value??y.showLegend,ticks:t.ticks?.value??y.ticks,max:t.max?.value??y.max,min:t.min?.value??y.min,graticule:t.graticule?.value??y.graticule}},"setOptions"),S=n(()=>{m(),w=structuredClone($)},"clear"),I={getAxes:M,getCurves:L,getOptions:T,setAxes:k,setCurves:A,setOptions:E,getConfig:C,clear:S,setAccTitle:i,getAccTitle:s,setDiagramTitle:l,getDiagramTitle:o,getAccDescription:c,setAccDescription:d},F=n(t=>{a(t,I);var{axes:t,curves:e,options:r}=t;I.setAxes(t),I.setCurves(e),I.setOptions(r)},"populate"),j={parse:n(async t=>{t=await f("radar",t),g.debug(t),F(t)},"parse")},P=n((t,e,a,r)=>{var n=(r=r.db).getAxes(),i=r.getCurves(),s=r.getOptions(),l=r.getConfig(),o=(r=r.getDiagramTitle(),e=u(e),e=z(e,l),s.max??Math.max(...i.map(t=>Math.max(...t.entries)))),c=s.min,d=Math.min(l.width,l.height)/2;B(e,n,d,s.ticks,s.graticule),R(e,n,d,l),W(e,n,i,c,o,s.graticule,l),V(e,i,s.showLegend,l),e.append("text").attr("class","radarTitle").text(r).attr("x",0).attr("y",-l.height/2-l.marginTop)},"draw"),z=n((t,e)=>{var a=e.width+e.marginLeft+e.marginRight,r=e.height+e.marginTop+e.marginBottom;const n=e.marginLeft+e.width/2,i=e.marginTop+e.height/2;return x(t,r,a,e.useMaxWidth??!0),t.attr("viewBox",`0 0 ${a} `+r).attr("overflow","visible"),t.append("g").attr("transform",`translate(${n}, ${i})`)},"drawFrame"),B=n((t,e,a,r,n)=>{if("circle"===n)for(let e=0;e<r;e++){var i=a*(e+1)/r;t.append("circle").attr("r",i).attr("class","radarGraticule")}else if("polygon"===n){let n=e.length;for(let i=0;i<r;i++){let l=a*(i+1)/r;var s=e.map((t,e)=>(e=2*e*Math.PI/n-Math.PI/2,l*Math.cos(e)+","+l*Math.sin(e))).join(" ");t.append("polygon").attr("points",s).attr("class","radarGraticule")}}},"drawGraticule"),R=n((t,e,a,r)=>{var n=e.length;for(let d=0;d<n;d++){var i=e[d].label,s=2*d*Math.PI/n-Math.PI/2,l=Math.cos(s),o=(s=Math.sin(s),t.append("line").attr("x1",0).attr("y1",0).attr("x2",a*r.axisScaleFactor*l).attr("y2",a*r.axisScaleFactor*s).attr("class","radarAxisLine"),.01<l?"start":l<-.01?"end":"middle"),c=.01<s?"hanging":s<-.01?"auto":"central";t.append("text").text(i).attr("x",a*r.axisLabelFactor*l+4*l).attr("y",a*r.axisLabelFactor*s+4*s).attr("text-anchor",o).attr("dominant-baseline",c).attr("class","radarAxisLabel")}},"drawAxes");function W(t,e,a,r,n,i,s){let l=e.length,o=Math.min(s.width,s.height)/2;a.forEach((e,a)=>{e.entries.length===l&&(e=e.entries.map((t,e)=>(e=2*Math.PI*e/l-Math.PI/2,{x:(t=D(t,r,n,o))*Math.cos(e),y:t*Math.sin(e)})),"circle"===i?t.append("path").attr("d",G(e,s.curveTension)).attr("class","radarCurve-"+a):"polygon"===i&&t.append("polygon").attr("points",e.map(t=>t.x+","+t.y).join(" ")).attr("class","radarCurve-"+a))})}function D(t,e,a,r){return r*(Math.min(Math.max(t,e),a)-e)/(a-e)}function G(t,e){var a=t.length;let r=`M${t[0].x},`+t[0].y;for(let o=0;o<a;o++){var n=t[(o-1+a)%a],i=t[o],s=t[(o+1)%a],l=t[(o+2)%a];n={x:i.x+(s.x-n.x)*e,y:i.y+(s.y-n.y)*e},l={x:s.x-(l.x-i.x)*e,y:s.y-(l.y-i.y)*e};r+=` C${n.x},${n.y} ${l.x},${l.y} ${s.x},`+s.y}return r+" Z"}function V(t,e,a,r){if(a){let a=3*(r.width/2+r.marginRight)/4,n=3*-(r.height/2+r.marginTop)/4;e.forEach((e,r)=>{var i=t.append("g").attr("transform",`translate(${a}, ${n+20*r})`);i.append("rect").attr("width",12).attr("height",12).attr("class","radarLegendBox-"+r),i.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(e.label)})}}n(W,"drawCurves"),n(D,"relativeRadius"),n(G,"closedRoundCurve"),n(V,"drawLegend");var _={draw:P},H=n((t,e)=>{let a="";for(let n=0;n<t.THEME_COLOR_LIMIT;n++){var r=t["cScale"+n];a+=`\n\t\t.radarCurve-${n} {\n\t\t\tcolor: ${r};\n\t\t\tfill: ${r};\n\t\t\tfill-opacity: ${e.curveOpacity};\n\t\t\tstroke: ${r};\n\t\t\tstroke-width: ${e.curveStrokeWidth};\n\t\t}\n\t\t.radarLegendBox-${n} {\n\t\t\tfill: ${r};\n\t\t\tfill-opacity: ${e.curveOpacity};\n\t\t\tstroke: ${r};\n\t\t}\n\t\t`}return a},"genIndexStyles"),J=n(t=>{var e=v(),a=h();return{themeVariables:e=p(e,a.themeVariables),radarOptions:p(e.radar,t)}},"buildRadarStyleOptions"),K=n(({radar:t}={})=>{var{themeVariables:t,radarOptions:e}=J(t);return`\n\t.radarTitle {\n\t\tfont-size: ${t.fontSize};\n\t\tcolor: ${t.titleColor};\n\t\tdominant-baseline: hanging;\n\t\ttext-anchor: middle;\n\t}\n\t.radarAxisLine {\n\t\tstroke: ${e.axisColor};\n\t\tstroke-width: ${e.axisStrokeWidth};\n\t}\n\t.radarAxisLabel {\n\t\tfont-size: ${e.axisLabelFontSize}px;\n\t\tcolor: ${e.axisColor};\n\t}\n\t.radarGraticule {\n\t\tfill: ${e.graticuleColor};\n\t\tfill-opacity: ${e.graticuleOpacity};\n\t\tstroke: ${e.graticuleColor};\n\t\tstroke-width: ${e.graticuleStrokeWidth};\n\t}\n\t.radarLegendText {\n\t\ttext-anchor: start;\n\t\tfont-size: ${e.legendFontSize}px;\n\t\tdominant-baseline: hanging;\n\t}\n\t${H(t,e)}\n\t`},"styles"),N={parser:j,db:I,renderer:_,styles:K};export{N as diagram};
@@ -0,0 +1 @@
1
+ var e,r;(e=self.document)&&!e.getElementById("livereloadscript")&&((r=e.createElement("script")).async=1,r.src="//"+(self.location.host||"localhost").split(":")[0]+":35729/livereload.js?snipver=1",r.id="livereloadscript",e.getElementsByTagName("head")[0].appendChild(r));import{d as t,r as n,g as a}from"./chunk-MOJQB5TN-47f0392f.js";import{p as s}from"./chunk-JWPE2WC7-15a55950.js";import{_ as i,l as o}from"./mermaid.core-70d5aead.js";import{m as l,M as p}from"./mermaid-parser.core-6df0beec.js";import"./web-25bb78b9.js";var m=l().RailroadEbnf.parser.LangiumParser,c=i(e=>1===(e=e.alternatives.map(u)).length?e[0]:{type:"choice",alternatives:e},"transformChoice"),u=i(e=>1===(e=e.elements.map(E)).length?e[0]:{type:"sequence",elements:e},"transformSequence"),f=i(e=>{switch(e.$type){case"EbnfTerminal":return{type:"terminal",value:e.value};case"EbnfNonTerminal":return{type:"nonterminal",name:e.name};case"EbnfSpecial":return{type:"special",text:e.text};case"EbnfGroup":return c(e.element);case"EbnfOptional":return{type:"optional",element:c(e.element)};case"EbnfRepetition":return{type:"repetition",element:c(e.element),min:0,max:1/0};default:throw new Error("Unsupported EBNF primary node: "+e.$type)}},"transformPrimary"),d=i((e,r)=>{switch(r.$type){case"EbnfOptionalPostfix":return{type:"optional",element:e};case"EbnfZeroOrMorePostfix":return{type:"repetition",element:e,min:0,max:1/0};case"EbnfOneOrMorePostfix":return{type:"repetition",element:e,min:1,max:1/0};case"EbnfExceptionPostfix":return{type:"sequence",elements:[e,{type:"terminal",value:"-"},f(r.except)]};default:throw new Error("Unsupported EBNF postfix node: "+r.$type)}},"transformPostfix"),E=i(e=>e.postfixes.reduce((e,r)=>d(e,r),f(e.base)),"transformTerm"),y=i(e=>({name:e.name,definition:c(e.definition)}),"transformRule"),b=i(e=>{s(e,t),e.title&&t.setTitle(e.title),e.rules.map(e=>t.addRule(y(e)))},"populateDb"),h={parse:i(e=>{if(t.clear(),o.debug("[EBNF Parser] Starting Langium parse"),0<(e=m.parse(e)).lexerErrors.length||0<e.parserErrors.length)throw new p(e);e=e.value,o.debug("[EBNF Parser] Parsed rules:",e.rules.length),b(e),o.debug("[EBNF Parser] Parse complete")},"parse"),parser:{yy:t}},x={parser:h,db:t,renderer:n,styles:a};export{x as diagram};
@@ -0,0 +1 @@
1
+ var e,r;(e=self.document)&&!e.getElementById("livereloadscript")&&((r=e.createElement("script")).async=1,r.src="//"+(self.location.host||"localhost").split(":")[0]+":35729/livereload.js?snipver=1",r.id="livereloadscript",e.getElementsByTagName("head")[0].appendChild(r));import{d as t,r as n,g as a}from"./chunk-MOJQB5TN-5cc2e61b.js";import{p as s}from"./chunk-JWPE2WC7-84faee3d.js";import{_ as i,l as o}from"./mermaid.core-2d237a1e.js";import{m as l,M as p}from"./mermaid-parser.core-6df0beec.js";import"./web-753300e1.js";var m=l().RailroadEbnf.parser.LangiumParser,c=i(e=>1===(e=e.alternatives.map(u)).length?e[0]:{type:"choice",alternatives:e},"transformChoice"),u=i(e=>1===(e=e.elements.map(E)).length?e[0]:{type:"sequence",elements:e},"transformSequence"),f=i(e=>{switch(e.$type){case"EbnfTerminal":return{type:"terminal",value:e.value};case"EbnfNonTerminal":return{type:"nonterminal",name:e.name};case"EbnfSpecial":return{type:"special",text:e.text};case"EbnfGroup":return c(e.element);case"EbnfOptional":return{type:"optional",element:c(e.element)};case"EbnfRepetition":return{type:"repetition",element:c(e.element),min:0,max:1/0};default:throw new Error("Unsupported EBNF primary node: "+e.$type)}},"transformPrimary"),d=i((e,r)=>{switch(r.$type){case"EbnfOptionalPostfix":return{type:"optional",element:e};case"EbnfZeroOrMorePostfix":return{type:"repetition",element:e,min:0,max:1/0};case"EbnfOneOrMorePostfix":return{type:"repetition",element:e,min:1,max:1/0};case"EbnfExceptionPostfix":return{type:"sequence",elements:[e,{type:"terminal",value:"-"},f(r.except)]};default:throw new Error("Unsupported EBNF postfix node: "+r.$type)}},"transformPostfix"),E=i(e=>e.postfixes.reduce((e,r)=>d(e,r),f(e.base)),"transformTerm"),y=i(e=>({name:e.name,definition:c(e.definition)}),"transformRule"),b=i(e=>{s(e,t),e.title&&t.setTitle(e.title),e.rules.map(e=>t.addRule(y(e)))},"populateDb"),h={parse:i(e=>{if(t.clear(),o.debug("[EBNF Parser] Starting Langium parse"),0<(e=m.parse(e)).lexerErrors.length||0<e.parserErrors.length)throw new p(e);e=e.value,o.debug("[EBNF Parser] Parsed rules:",e.rules.length),b(e),o.debug("[EBNF Parser] Parse complete")},"parse"),parser:{yy:t}},x={parser:h,db:t,renderer:n,styles:a};export{x as diagram};
@@ -0,0 +1 @@
1
+ import{d as e,r,g as t}from"./chunk-MOJQB5TN-ea88675c.js";import{p as n}from"./chunk-JWPE2WC7-e2521b1e.js";import{_ as a,l as s}from"./mermaid.core-8797d6a9.js";import{m as o,M as i}from"./mermaid-parser.core-d8d1c2b9.js";import"./web-c3ed22c4.js";var p=o().RailroadEbnf.parser.LangiumParser,m=a((e=>1===(e=e.alternatives.map(l)).length?e[0]:{type:"choice",alternatives:e}),"transformChoice"),l=a((e=>1===(e=e.elements.map(c)).length?e[0]:{type:"sequence",elements:e}),"transformSequence"),u=a((e=>{switch(e.$type){case"EbnfTerminal":return{type:"terminal",value:e.value};case"EbnfNonTerminal":return{type:"nonterminal",name:e.name};case"EbnfSpecial":return{type:"special",text:e.text};case"EbnfGroup":return m(e.element);case"EbnfOptional":return{type:"optional",element:m(e.element)};case"EbnfRepetition":return{type:"repetition",element:m(e.element),min:0,max:1/0};default:throw new Error("Unsupported EBNF primary node: "+e.$type)}}),"transformPrimary"),f=a(((e,r)=>{switch(r.$type){case"EbnfOptionalPostfix":return{type:"optional",element:e};case"EbnfZeroOrMorePostfix":return{type:"repetition",element:e,min:0,max:1/0};case"EbnfOneOrMorePostfix":return{type:"repetition",element:e,min:1,max:1/0};case"EbnfExceptionPostfix":return{type:"sequence",elements:[e,{type:"terminal",value:"-"},u(r.except)]};default:throw new Error("Unsupported EBNF postfix node: "+r.$type)}}),"transformPostfix"),c=a((e=>e.postfixes.reduce(((e,r)=>f(e,r)),u(e.base))),"transformTerm"),E=a((e=>({name:e.name,definition:m(e.definition)})),"transformRule"),d=a((r=>{n(r,e),r.title&&e.setTitle(r.title),r.rules.map((r=>e.addRule(E(r))))}),"populateDb"),y={parser:{parse:a((r=>{if(e.clear(),s.debug("[EBNF Parser] Starting Langium parse"),0<(r=p.parse(r)).lexerErrors.length||0<r.parserErrors.length)throw new i(r);r=r.value,s.debug("[EBNF Parser] Parsed rules:",r.rules.length),d(r),s.debug("[EBNF Parser] Parse complete")}),"parse"),parser:{yy:e}},db:e,renderer:r,styles:t};export{y as diagram};