@stacksjs/defaults 0.75.361 → 0.75.362

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 (208) hide show
  1. package/ai/skills/stacks-ai/SKILL.md +22 -0
  2. package/ai/skills/stacks-native/CATALOG.md +2 -2
  3. package/ai/skills/stacks-technical-diagrams/LICENSE +202 -22
  4. package/ai/skills/stacks-technical-diagrams/LICENSE-MIT +22 -0
  5. package/ai/skills/stacks-technical-diagrams/NOTICE +26 -0
  6. package/ai/skills/stacks-technical-diagrams/SKILL.md +106 -266
  7. package/ai/skills/stacks-technical-diagrams/THIRD_PARTY_NOTICES.md +11 -2
  8. package/ai/skills/stacks-technical-diagrams/UPSTREAM.json +12 -0
  9. package/ai/skills/stacks-technical-diagrams/agents/openai.yaml +2 -2
  10. package/ai/skills/stacks-technical-diagrams/assets/template.html +3655 -3798
  11. package/ai/skills/stacks-technical-diagrams/bin/archify.mjs +7290 -0
  12. package/ai/skills/stacks-technical-diagrams/bin/delivery-update.mjs +7 -0
  13. package/ai/skills/stacks-technical-diagrams/bin/diagrams +1 -0
  14. package/ai/skills/stacks-technical-diagrams/bin/finalize.mjs +1056 -0
  15. package/ai/skills/stacks-technical-diagrams/bin/open-artifact.mjs +72 -12
  16. package/ai/skills/stacks-technical-diagrams/bin/preview.mjs +348 -31
  17. package/ai/skills/stacks-technical-diagrams/bin/recover-output.mjs +41 -0
  18. package/ai/skills/stacks-technical-diagrams/bin/technical-diagrams.mjs +3 -2097
  19. package/ai/skills/stacks-technical-diagrams/bin/visual-check.mjs +2142 -157
  20. package/ai/skills/stacks-technical-diagrams/brand-marks/README.md +3 -3
  21. package/ai/skills/stacks-technical-diagrams/delta/architecture-delta.mjs +130 -33
  22. package/ai/skills/stacks-technical-diagrams/examples/agent-run.lifecycle.json +25 -30
  23. package/ai/skills/stacks-technical-diagrams/examples/agent-tool-call.workflow.json +0 -20
  24. package/ai/skills/stacks-technical-diagrams/examples/archify-dev-activity.timeline.json +176 -0
  25. package/ai/skills/stacks-technical-diagrams/examples/archify-repository.tree.json +197 -0
  26. package/ai/skills/stacks-technical-diagrams/examples/async-job-roundtrip.sequence.json +1 -6
  27. package/ai/skills/stacks-technical-diagrams/examples/brand-aware-delivery.architecture.json +3 -16
  28. package/ai/skills/stacks-technical-diagrams/examples/cache-miss-request.sequence.json +2 -7
  29. package/ai/skills/stacks-technical-diagrams/examples/checkout-platform.base.architecture.json +2 -1
  30. package/ai/skills/stacks-technical-diagrams/examples/checkout-platform.head.architecture.json +2 -1
  31. package/ai/skills/stacks-technical-diagrams/examples/checkout-request.waterfall.json +20 -0
  32. package/ai/skills/stacks-technical-diagrams/examples/class-payment-processors-rendered.html +14987 -0
  33. package/ai/skills/stacks-technical-diagrams/examples/class-payments-rendered.html +14787 -0
  34. package/ai/skills/stacks-technical-diagrams/examples/dataflow-product-analytics.html +14880 -0
  35. package/ai/skills/stacks-technical-diagrams/examples/delivery.explainer.json +155 -0
  36. package/ai/skills/stacks-technical-diagrams/examples/deployment-release.lifecycle.json +57 -34
  37. package/ai/skills/stacks-technical-diagrams/examples/erd-orders-rendered.html +15112 -0
  38. package/ai/skills/stacks-technical-diagrams/examples/event-stream.dataflow.json +1 -6
  39. package/ai/skills/stacks-technical-diagrams/examples/example-rebuild.waterfall.json +212 -0
  40. package/ai/skills/stacks-technical-diagrams/examples/holiday-planning.workflow.json +143 -0
  41. package/ai/skills/stacks-technical-diagrams/examples/incident-response.workflow.json +1 -6
  42. package/ai/skills/stacks-technical-diagrams/examples/lifecycle-agent-run.html +14892 -0
  43. package/ai/skills/stacks-technical-diagrams/examples/locales/de.json +463 -0
  44. package/ai/skills/stacks-technical-diagrams/examples/locales/fr.json +463 -0
  45. package/ai/skills/stacks-technical-diagrams/examples/locales/fr.partial.json +22 -0
  46. package/ai/skills/stacks-technical-diagrams/examples/locales/it.json +463 -0
  47. package/ai/skills/stacks-technical-diagrams/examples/locales/ja.json +463 -0
  48. package/ai/skills/stacks-technical-diagrams/examples/locales/pt.json +463 -0
  49. package/ai/skills/stacks-technical-diagrams/examples/locales/ru.json +463 -0
  50. package/ai/skills/stacks-technical-diagrams/examples/orders.erd.json +337 -0
  51. package/ai/skills/stacks-technical-diagrams/examples/payment-incident.timeline.json +24 -0
  52. package/ai/skills/stacks-technical-diagrams/examples/payment-platform.tree.json +22 -0
  53. package/ai/skills/stacks-technical-diagrams/examples/payment-processors.class.json +177 -0
  54. package/ai/skills/stacks-technical-diagrams/examples/payments.class.json +85 -0
  55. package/ai/skills/stacks-technical-diagrams/examples/product-analytics.dataflow.json +1 -6
  56. package/ai/skills/stacks-technical-diagrams/examples/production-deployment.architecture.json +3 -23
  57. package/ai/skills/stacks-technical-diagrams/examples/release-delivery.workflow.json +1 -6
  58. package/ai/skills/stacks-technical-diagrams/examples/sequence-cache-miss-request.html +14895 -0
  59. package/ai/skills/stacks-technical-diagrams/examples/subscription-billing-rendered.html +15369 -0
  60. package/ai/skills/stacks-technical-diagrams/examples/subscription-billing.erd.json +548 -0
  61. package/ai/skills/stacks-technical-diagrams/examples/timeline-archify-dev-activity-rendered.html +15002 -0
  62. package/ai/skills/stacks-technical-diagrams/examples/timeline-payment-incident-rendered.html +14772 -0
  63. package/ai/skills/stacks-technical-diagrams/examples/tree-archify-repository-rendered.html +15071 -0
  64. package/ai/skills/stacks-technical-diagrams/examples/tree-payment-platform-rendered.html +14810 -0
  65. package/ai/skills/stacks-technical-diagrams/examples/waterfall-checkout-request-rendered.html +14754 -0
  66. package/ai/skills/stacks-technical-diagrams/examples/waterfall-example-rebuild-rendered.html +14940 -0
  67. package/ai/skills/stacks-technical-diagrams/examples/web-app-rendered.html +14889 -0
  68. package/ai/skills/stacks-technical-diagrams/examples/web-app.architecture.json +1 -6
  69. package/ai/skills/stacks-technical-diagrams/examples/workflow-agent-tool-call-rendered.html +14907 -0
  70. package/ai/skills/stacks-technical-diagrams/explainer/browser-check.mjs +208 -0
  71. package/ai/skills/stacks-technical-diagrams/explainer/charts.mjs +70 -0
  72. package/ai/skills/stacks-technical-diagrams/explainer/check.mjs +168 -0
  73. package/ai/skills/stacks-technical-diagrams/explainer/diagrams.mjs +518 -0
  74. package/ai/skills/stacks-technical-diagrams/explainer/diff.mjs +124 -0
  75. package/ai/skills/stacks-technical-diagrams/explainer/inline.mjs +155 -0
  76. package/ai/skills/stacks-technical-diagrams/explainer/layout.mjs +35 -0
  77. package/ai/skills/stacks-technical-diagrams/explainer/page-bundle.mjs +16 -0
  78. package/ai/skills/stacks-technical-diagrams/explainer/parse.mjs +300 -0
  79. package/ai/skills/stacks-technical-diagrams/explainer/patch.mjs +117 -0
  80. package/ai/skills/stacks-technical-diagrams/explainer/prepare.mjs +131 -0
  81. package/ai/skills/stacks-technical-diagrams/explainer/reader.css +472 -0
  82. package/ai/skills/stacks-technical-diagrams/explainer/reader.js +667 -0
  83. package/ai/skills/stacks-technical-diagrams/explainer/render.mjs +224 -0
  84. package/ai/skills/stacks-technical-diagrams/explainer/revision.mjs +20 -0
  85. package/ai/skills/stacks-technical-diagrams/explainer/sources.mjs +318 -0
  86. package/ai/skills/stacks-technical-diagrams/explainer/validate.mjs +138 -0
  87. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/LICENSE +40 -0
  88. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/README.md +5 -0
  89. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/chunks/3DKXF73K.js +4 -0
  90. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/chunks/42UTT654.js +3 -0
  91. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/chunks/DKTLEL5E.js +1 -0
  92. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/chunks/EEIX5ZYH.js +2 -0
  93. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/chunks/EJ5KOXYD.js +25 -0
  94. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/chunks/GUJTEFZK.js +1 -0
  95. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/chunks/IZOKQ2GT.js +4 -0
  96. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/chunks/L4LY553T.js +3 -0
  97. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/chunks/MSKIJHB2.js +2 -0
  98. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/chunks/RVARI57O.js +1 -0
  99. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/chunks/UKSIWDDN.js +2 -0
  100. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/chunks/UPTXNAXN.js +2 -0
  101. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/chunks/XTDUIGUI.js +9 -0
  102. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/chunks/YAYTP6L5.js +9 -0
  103. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/core.js +1 -0
  104. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/diagrams/pie.js +1 -0
  105. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/diagrams/quadrantChart.js +1 -0
  106. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/diagrams/radar.js +1 -0
  107. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/diagrams/sankey.js +1 -0
  108. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/diagrams/venn.js +1 -0
  109. package/ai/skills/stacks-technical-diagrams/explainer/vendor/pele/diagrams/xychart.js +1 -0
  110. package/ai/skills/stacks-technical-diagrams/explainer/writing.mjs +139 -0
  111. package/ai/skills/stacks-technical-diagrams/locales/README.md +40 -0
  112. package/ai/skills/stacks-technical-diagrams/locales/ar.json +488 -0
  113. package/ai/skills/stacks-technical-diagrams/locales/en.json +488 -0
  114. package/ai/skills/stacks-technical-diagrams/locales/es.json +488 -0
  115. package/ai/skills/stacks-technical-diagrams/locales/ko.json +488 -0
  116. package/ai/skills/stacks-technical-diagrams/locales/manifest.json +10 -0
  117. package/ai/skills/stacks-technical-diagrams/locales/zh-CN.json +488 -0
  118. package/ai/skills/stacks-technical-diagrams/locales/zh-TW.json +488 -0
  119. package/ai/skills/stacks-technical-diagrams/migrations/workflow-v2.mjs +1 -0
  120. package/ai/skills/stacks-technical-diagrams/recipes/scenarios.mjs +115 -51
  121. package/ai/skills/stacks-technical-diagrams/references/architecture-layout-repair.md +18 -0
  122. package/ai/skills/stacks-technical-diagrams/references/authoring-contract.md +453 -51
  123. package/ai/skills/stacks-technical-diagrams/references/authoring-defaults.md +57 -0
  124. package/ai/skills/stacks-technical-diagrams/references/brand-marks.md +57 -3
  125. package/ai/skills/stacks-technical-diagrams/references/delivery-contract.md +603 -58
  126. package/ai/skills/stacks-technical-diagrams/references/explainer-authoring.md +274 -0
  127. package/ai/skills/stacks-technical-diagrams/references/repository-authoring.md +126 -0
  128. package/ai/skills/stacks-technical-diagrams/references/update-awareness.md +13 -0
  129. package/ai/skills/stacks-technical-diagrams/references/viewer-runtime.md +18 -11
  130. package/ai/skills/stacks-technical-diagrams/renderers/architecture/grid.mjs +1 -1
  131. package/ai/skills/stacks-technical-diagrams/renderers/architecture/labels.mjs +2 -0
  132. package/ai/skills/stacks-technical-diagrams/renderers/architecture/render-architecture.mjs +550 -424
  133. package/ai/skills/stacks-technical-diagrams/renderers/architecture/routing.mjs +1469 -0
  134. package/ai/skills/stacks-technical-diagrams/renderers/class/README.md +129 -0
  135. package/ai/skills/stacks-technical-diagrams/renderers/class/render-class.mjs +1095 -0
  136. package/ai/skills/stacks-technical-diagrams/renderers/dataflow/README.md +89 -17
  137. package/ai/skills/stacks-technical-diagrams/renderers/dataflow/dataflow-compiler.mjs +1605 -0
  138. package/ai/skills/stacks-technical-diagrams/renderers/dataflow/joint-label-routing.mjs +165 -0
  139. package/ai/skills/stacks-technical-diagrams/renderers/dataflow/label-capacity.mjs +81 -0
  140. package/ai/skills/stacks-technical-diagrams/renderers/dataflow/render-dataflow.mjs +14 -474
  141. package/ai/skills/stacks-technical-diagrams/renderers/erd/README.md +246 -0
  142. package/ai/skills/stacks-technical-diagrams/renderers/erd/grid.mjs +150 -0
  143. package/ai/skills/stacks-technical-diagrams/renderers/erd/render-erd.mjs +1588 -0
  144. package/ai/skills/stacks-technical-diagrams/renderers/explainer/render-explainer.mjs +42 -0
  145. package/ai/skills/stacks-technical-diagrams/renderers/lifecycle/README.md +83 -94
  146. package/ai/skills/stacks-technical-diagrams/renderers/lifecycle/render-lifecycle.mjs +990 -417
  147. package/ai/skills/stacks-technical-diagrams/renderers/sequence/README.md +49 -17
  148. package/ai/skills/stacks-technical-diagrams/renderers/sequence/render-sequence.mjs +735 -94
  149. package/ai/skills/stacks-technical-diagrams/renderers/shared/atomic-output.mjs +1982 -0
  150. package/ai/skills/stacks-technical-diagrams/renderers/shared/automatic-labels.mjs +290 -0
  151. package/ai/skills/stacks-technical-diagrams/renderers/shared/brand-marks.mjs +169 -26
  152. package/ai/skills/stacks-technical-diagrams/renderers/shared/cli.mjs +266 -54
  153. package/ai/skills/stacks-technical-diagrams/renderers/shared/desktop-readability.mjs +106 -0
  154. package/ai/skills/stacks-technical-diagrams/renderers/shared/diagnostics.mjs +0 -0
  155. package/ai/skills/stacks-technical-diagrams/renderers/shared/generated-validators.mjs +268 -2
  156. package/ai/skills/stacks-technical-diagrams/renderers/shared/geometry.mjs +774 -124
  157. package/ai/skills/stacks-technical-diagrams/renderers/shared/i18n.mjs +289 -556
  158. package/ai/skills/stacks-technical-diagrams/renderers/shared/layout-report.mjs +18 -1
  159. package/ai/skills/stacks-technical-diagrams/renderers/shared/legend.mjs +16 -6
  160. package/ai/skills/stacks-technical-diagrams/renderers/shared/node-card-style.mjs +32 -0
  161. package/ai/skills/stacks-technical-diagrams/renderers/shared/output-path.mjs +329 -229
  162. package/ai/skills/stacks-technical-diagrams/renderers/shared/owned-temp-directory.mjs +82 -0
  163. package/ai/skills/stacks-technical-diagrams/renderers/shared/path-semantics.mjs +1017 -0
  164. package/ai/skills/stacks-technical-diagrams/renderers/shared/portable-path.mjs +408 -0
  165. package/ai/skills/stacks-technical-diagrams/renderers/shared/repository-evidence.mjs +235 -79
  166. package/ai/skills/stacks-technical-diagrams/renderers/shared/repository-location.mjs +17 -4
  167. package/ai/skills/stacks-technical-diagrams/renderers/shared/route-quality.mjs +670 -0
  168. package/ai/skills/stacks-technical-diagrams/renderers/shared/sidecar-path.mjs +38 -0
  169. package/ai/skills/stacks-technical-diagrams/renderers/shared/software-notices.mjs +6 -0
  170. package/ai/skills/stacks-technical-diagrams/renderers/shared/spatial-grid.mjs +66 -0
  171. package/ai/skills/stacks-technical-diagrams/renderers/shared/svg-path-analysis.mjs +135 -0
  172. package/ai/skills/stacks-technical-diagrams/renderers/shared/text-fit.mjs +59 -3
  173. package/ai/skills/stacks-technical-diagrams/renderers/shared/utils.mjs +63 -35
  174. package/ai/skills/stacks-technical-diagrams/renderers/shared/validator.mjs +2 -5
  175. package/ai/skills/stacks-technical-diagrams/renderers/timeline/README.md +76 -0
  176. package/ai/skills/stacks-technical-diagrams/renderers/timeline/render-timeline.mjs +576 -0
  177. package/ai/skills/stacks-technical-diagrams/renderers/tree/README.md +96 -0
  178. package/ai/skills/stacks-technical-diagrams/renderers/tree/render-tree.mjs +573 -0
  179. package/ai/skills/stacks-technical-diagrams/renderers/waterfall/README.md +73 -0
  180. package/ai/skills/stacks-technical-diagrams/renderers/waterfall/render-waterfall.mjs +413 -0
  181. package/ai/skills/stacks-technical-diagrams/renderers/workflow/README.md +137 -23
  182. package/ai/skills/stacks-technical-diagrams/renderers/workflow/render-workflow.mjs +18 -6
  183. package/ai/skills/stacks-technical-diagrams/renderers/workflow/workflow-compiler.mjs +2230 -710
  184. package/ai/skills/stacks-technical-diagrams/renderers/workflow/workflow-migration-geometry.mjs +17 -0
  185. package/ai/skills/stacks-technical-diagrams/renderers/workflow/workflow-placement-repair.mjs +94 -0
  186. package/ai/skills/stacks-technical-diagrams/schemas/README.md +87 -40
  187. package/ai/skills/stacks-technical-diagrams/schemas/architecture.schema.json +7 -33
  188. package/ai/skills/stacks-technical-diagrams/schemas/class.schema.json +345 -0
  189. package/ai/skills/stacks-technical-diagrams/schemas/common.schema.json +68 -2
  190. package/ai/skills/stacks-technical-diagrams/schemas/dataflow.schema.json +14 -3
  191. package/ai/skills/stacks-technical-diagrams/schemas/erd.schema.json +381 -0
  192. package/ai/skills/stacks-technical-diagrams/schemas/explainer.schema.json +927 -0
  193. package/ai/skills/stacks-technical-diagrams/schemas/lifecycle.schema.json +23 -110
  194. package/ai/skills/stacks-technical-diagrams/schemas/sequence.schema.json +15 -4
  195. package/ai/skills/stacks-technical-diagrams/schemas/timeline.schema.json +160 -0
  196. package/ai/skills/stacks-technical-diagrams/schemas/tree.schema.json +141 -0
  197. package/ai/skills/stacks-technical-diagrams/schemas/waterfall.schema.json +147 -0
  198. package/ai/skills/stacks-technical-diagrams/schemas/workflow.schema.json +14 -3
  199. package/ai/skills/stacks-technical-diagrams/scripts/check-render-output.mjs +876 -243
  200. package/ai/skills/stacks-technical-diagrams/scripts/check-update.mjs +1717 -0
  201. package/ai/skills/stacks-technical-diagrams/scripts/delivery-update-child.mjs +26 -0
  202. package/ai/skills/stacks-technical-diagrams/scripts/generate-brand-marks.mjs +141 -0
  203. package/ai/skills/stacks-technical-diagrams/scripts/generate-validators.mjs +105 -0
  204. package/ai/skills/stacks-technical-diagrams/scripts/render-examples.mjs +11 -1
  205. package/ai/skills/stacks-technical-diagrams/scripts/update-contract.mjs +187 -0
  206. package/ai/skills/stacks-technical-diagrams/skill-release.json +10 -0
  207. package/ide/vscode/package.json +1 -1
  208. package/package.json +2 -2
@@ -0,0 +1,138 @@
1
+ import { explainer as validateGenerated } from '../renderers/shared/generated-validators.mjs';
2
+ import { validateSchema } from '../renderers/shared/validator.mjs';
3
+ import { parseInline } from './inline.mjs';
4
+ import { lintExplainerWriting } from './writing.mjs';
5
+ import { parseExplainerDiff } from './diff.mjs';
6
+ import { compileExplainerChart } from './charts.mjs';
7
+
8
+ const ID = /^[A-Za-z][A-Za-z0-9_-]*$/;
9
+ const READER_IDS = new Set(['board','diagram-dialog','diagram-dialog-title','toast']);
10
+ const NODE_KEYS = {architecture:'components',sequence:'participants',lifecycle:'states',erd:'entities',class:'types',timeline:'events',waterfall:'spans',workflow:'nodes',dataflow:'nodes',tree:'nodes'};
11
+ const EDGE_KEYS = {architecture:'connections',sequence:'messages',lifecycle:'transitions',erd:'relationships',class:'relationships',workflow:'edges',dataflow:'edges'};
12
+ const at = (document,pointer) => pointer.split('/').slice(1).reduce((value,key)=>value?.[key.replaceAll('~1','/').replaceAll('~0','~')],document);
13
+
14
+ /** Structural and semantic author validation; resource preparation owns byte and Git verification.
15
+ * Deferred references into external native files are checked after prepareExplainerDiagrams.
16
+ */
17
+ export function validateExplainer(document, {sourceMap = {}, inputPath, writingMode = 'warn'} = {}) {
18
+ const diagnostics = [], entries = [];
19
+ function location(pointer,component,panelId) {
20
+ let key=pointer, value;
21
+ while(value===undefined) { value=sourceMap instanceof Map?sourceMap.get(key):sourceMap[key]; if(!key)break;key=key.slice(0,key.lastIndexOf('/')); }
22
+ return {line:value?.line || 1,column:value?.column || 1,component,path:pointer,...(panelId?{panelId}:{}),...(inputPath?{input:inputPath}:{})};
23
+ }
24
+ function fail(code,pointer,component,reason,example,panelId) {
25
+ diagnostics.push({code:`explainer/${code}`,severity:'error',message:reason,subject:location(pointer,component,panelId),
26
+ evidence:{reason,example},supportedFixes:[`Use a valid form, for example: ${example}`]});
27
+ }
28
+ if(!validateGenerated(document)) {
29
+ const seen=new Set();
30
+ for(const error of validateGenerated.errors||[]) {
31
+ if(error.keyword==='if')continue;
32
+ let pointer=error.instancePath||'';
33
+ if(error.keyword==='required')pointer+=`/${error.params.missingProperty}`;
34
+ if(error.keyword==='additionalProperties')pointer+=`/${error.params.additionalProperty}`;
35
+ const blockPath=pointer.match(/^\/panels\/\d+\/blocks\/\d+/u)?.[0];
36
+ const component=blockPath?at(document,blockPath)?.type||'block':pointer.startsWith('/sources/')?'source':pointer.startsWith('/panels/')?'panel':'document';
37
+ const reason=`${pointer||'/'} ${error.message}`;
38
+ const key=`${error.keyword}\0${pointer}\0${JSON.stringify(error.params)}`;if(seen.has(key))continue;seen.add(key);
39
+ let example;
40
+ if(error.keyword==='required')example=`Add ${error.params.missingProperty} to the ${component}.`;
41
+ else if(error.keyword==='additionalProperties')example=`Remove unsupported ${error.params.additionalProperty}.`;
42
+ else if(pointer==='/meta/output')example='"output":"answer.html"';
43
+ else if(error.keyword==='type')example=error.params.type==='number'?'value=12.5':error.params.type==='boolean'?'multiple=true':error.params.type==='array'?'"items":["First item","Second item"]':error.params.type==='object'?'"meta":{"id":"answer-page","title":"Answer"}':'"text":"A direct explanation."';
44
+ else if(error.keyword==='const')example=`Use ${JSON.stringify(error.params.allowedValue)}.`;
45
+ else if(error.keyword==='enum')example=`Choose ${error.params.allowedValues.map(value=>JSON.stringify(value)).join(', ')}.`;
46
+ else if(error.keyword==='oneOf'&&component==='diagram')example='@diagram sequence source=request.sequence.json';
47
+ else if(error.keyword==='minimum'||error.keyword==='exclusiveMinimum'||error.keyword==='maximum')example=`Use a finite value satisfying the stated bound, such as ${error.params.limit + (error.keyword==='exclusiveMinimum'?1:0)}.`;
48
+ else if(error.keyword==='pattern')example=pointer.endsWith('/revision')?'revision=0123456789abcdef0123456789abcdef01234567':'id=request-path';
49
+ else if(error.keyword==='minItems')example='| a | First option |\n| b | Second option |';
50
+ else if(error.keyword==='minLength')example='text="A direct explanation."';
51
+ else example=component==='panel'?'## Why does this happen? {#reasoning}\nA direct explanation.':component==='source'?'@source facts example title="Stated facts"':`@${component} id=example`;
52
+ fail(`schema-${error.keyword}`,pointer||'/',component,reason,example);
53
+ }
54
+ return {ok:false,diagnostics};
55
+ }
56
+ const targets=new Map([['answer',{pointer:'/answer',component:'answer'}]]), sourceIds=new Map(), diagrams=new Map();
57
+ function id(value,pointer,component,panelId,registry=targets) {
58
+ if(!ID.test(value)||value.length>100)fail('id',pointer,component,'IDs require an ASCII letter followed by letters, digits, hyphens or underscores.','id=request-path',panelId);
59
+ if(registry.has(value))fail('duplicate-id',pointer,component,'This identity is already used. Use an explicit distinct ID.','id=request-path-branch',panelId);
60
+ registry.set(value,{pointer,component,panelId});
61
+ if(registry===targets&&(value.startsWith('explainer-')||READER_IDS.has(value)))fail('reserved-id',pointer,component,'This identity is reserved for reader controls or generated footnotes.','id=request-path',panelId);
62
+ }
63
+ for(const [si,source]of document.sources.entries())id(source.id,`/sources/${si}/id`,'source',undefined,sourceIds);
64
+ for(const [pi,panel]of document.panels.entries()) {
65
+ const pp=`/panels/${pi}`;id(panel.id,`${pp}/id`,'panel',panel.id);
66
+ for(const [bi,block]of panel.blocks.entries()) {
67
+ const bp=`${pp}/blocks/${bi}`;id(block.id,`${bp}/id`,block.type,panel.id);
68
+ if(block.type==='diagram')diagrams.set(block.id,{block,pointer:bp,panelId:panel.id});
69
+ if(['comparison','steps'].includes(block.type))for(const [ii,item]of (block.rows||block.items).entries()) {
70
+ const ip=`${bp}/${block.rows?'rows':'items'}/${ii}`;id(item.id,`${ip}/id`,block.type,panel.id);
71
+ }
72
+ }
73
+ }
74
+ for(const sourceId of sourceIds.keys())if(targets.has(`source-${sourceId}`))fail('reserved-id',targets.get(`source-${sourceId}`).pointer,'source','This identity collides with a generated source anchor.','id=reader-section');
75
+ function reference(value,pointer,component,panelId,registry,example) {
76
+ if(!registry.has(value))fail('unresolved-reference',pointer,component,'The referenced identity does not exist or has the wrong component type.',example,panelId);
77
+ }
78
+ function references(values,pointer,component,panelId,registry,example) {
79
+ const seen=new Set();for(const [i,value]of (values||[]).entries()) {reference(value,`${pointer}/${i}`,component,panelId,registry,example);if(seen.has(value))fail('duplicate-reference',`${pointer}/${i}`,component,'Each reference may occur only once.','Use each ID once.',panelId);seen.add(value);}
80
+ }
81
+ function diagramTarget(target,pointer,component,panelId) {
82
+ if (target.node !== undefined && target.route !== undefined) fail('diagram-target-exclusive',pointer,component,'A diagram target cannot select a node and a route at the same time.','{"diagram":"request-path","node":"api"} or {"diagram":"request-path","route":["api","redis"]}',panelId);
83
+ reference(target.diagram,`${pointer}/diagram`,component,panelId,diagrams,'Use the ID of a diagram block, such as request-path.');
84
+ const diagram=diagrams.get(target.diagram);if(!diagram?.block.spec)return;
85
+ const spec=diagram.block.spec;
86
+ const nodes=new Set((spec[NODE_KEYS[diagram.block.diagramType]]||[]).map(node=>node.id));
87
+ const edges=spec[EDGE_KEYS[diagram.block.diagramType]]||[];
88
+ if(target.node!==undefined&&!nodes.has(target.node))fail('diagram-node',`${pointer}/node`,component,'The node does not exist in the authored native diagram.','node=api',panelId);
89
+ for(const node of target.route||[])if(!nodes.has(node))fail('diagram-route',`${pointer}/route`,component,'A route endpoint does not exist in the authored native diagram.','route=api~redis',panelId);
90
+ if(target.edges)references(target.edges,`${pointer}/edges`,component,panelId,new Map(edges.filter(edge=>edge.id).map(edge=>[edge.id,edge])),'Use an edge ID from the native diagram.');
91
+ }
92
+ function text(value,pointer,component,panelId) {
93
+ if(typeof value!=='string')return;
94
+ const where=location(pointer,component,panelId);
95
+ const parsed=parseInline(value,{...where,input:inputPath});diagnostics.push(...parsed.diagnostics.map(entry=>({...entry,subject:{...entry.subject,path:pointer}})));
96
+ const prose=tokens=>tokens.map(token=>token.type==='code'?'':token.children?prose(token.children):token.type==='link'?token.label:token.value||'').join('');
97
+ if(component!=='source')entries.push({text:prose(parsed.tokens),raw:value,pointer,line:where.line,component,...(panelId?{panelId}:{})});
98
+ for(const ref of parsed.references) {
99
+ if(ref.kind==='source')reference(ref.id,pointer,component,panelId,sourceIds,'[Evidence](source:known-source)');
100
+ if(ref.kind==='block')reference(ref.id,pointer,component,panelId,targets,'[Read explanation](block:known-block)');
101
+ if(ref.kind==='node')diagramTarget({diagram:ref.diagram,node:ref.node},pointer,component,panelId);
102
+ if(ref.kind==='route')diagramTarget({diagram:ref.diagram,route:[ref.from,ref.to]},pointer,component,panelId);
103
+ if(ref.kind==='typical'&&!['source','scope'].includes(component))entries.push({text:ref.text,line:where.line,component:'typical',...(panelId?{panelId}:{})});
104
+ }
105
+ }
106
+ text(document.meta.title,'/meta/title','title');text(document.answer.summary,'/answer/summary','answer');(document.answer.reasons||[]).forEach((reason,i)=>text(reason,`/answer/reasons/${i}`,'answer'));
107
+ text(document.answer.scope,'/answer/scope','scope');
108
+ for(const [si,source]of document.sources.entries()) {
109
+ const pointer=`/sources/${si}`;text(source.title,`${pointer}/title`,'source');
110
+ if(source.lines&&source.lines[1]<source.lines[0])fail('source-lines',`${pointer}/lines`,'source','The repository line range must be ordered.','lines=10:20');
111
+ if(source.url) {let url;try{url=new URL(source.url);}catch{}if(!url||!['http:','https:'].includes(url.protocol)||url.username||url.password||/[\u0000-\u0020\u007f]/u.test(source.url))fail('source-url',`${pointer}/url`,'source','Source URLs must be credential-free HTTP(S) links.','url=https://example.com/docs');}
112
+ }
113
+ for(const [pi,panel]of document.panels.entries()) {
114
+ const pp=`/panels/${pi}`;text(panel.title,`${pp}/title`,'panel',panel.id);
115
+ for(const [bi,block]of panel.blocks.entries()) {
116
+ const bp=`${pp}/blocks/${bi}`, component=block.type;
117
+ if(component==='diff')diagnostics.push(...parseExplainerDiff(block.text,{...location(`${bp}/text`,component,panel.id),input:inputPath}).diagnostics);
118
+ if(component==='chart'&&(block.text===undefined)===(block.data===undefined))fail('chart',`${bp}`,component,'A chart has either fence text or a data file, not both or neither.','@chart type=bar data=latency.csv x=day y=p99',panel.id);
119
+ if(component==='chart'&&block.text!==undefined){const chart=compileExplainerChart(block.text);if(chart.error){const before=diagnostics.length;fail('chart',`${bp}/text`,component,chart.error,chart.example,panel.id);if(chart.line>0)diagnostics[before].subject.line+=chart.line-1;}}
120
+ for(const key of ['text','title','label','note','caption','alt'])if(!['diff','snippet','chart'].includes(component)||key!=='text')text(block[key],`${bp}/${key}`,component,panel.id);
121
+ if(component==='list')block.items.forEach((item,i)=>text(item,`${bp}/items/${i}`,component,panel.id));
122
+ if(component==='facts')block.entries.forEach((item,i)=>{text(item.key,`${bp}/entries/${i}/key`,component,panel.id);text(item.value,`${bp}/entries/${i}/value`,component,panel.id);});
123
+ if(component==='comparison') {
124
+ block.columns.forEach((column,i)=>text(column,`${bp}/columns/${i}`,component,panel.id));text(block.labelColumn,`${bp}/labelColumn`,component,panel.id);
125
+ block.rows.forEach((row,i)=>{const rp=`${bp}/rows/${i}`;text(row.label,`${rp}/label`,component,panel.id);if(row.cells.length!==block.columns.length)fail('table-width',`${rp}/cells`,component,'Each row must have one cell for every comparison column.','| Criterion | Option A | Option B |',panel.id);row.cells.forEach((cell,j)=>{text(cell.text,`${rp}/cells/${j}/text`,component,panel.id);text(cell.verdict,`${rp}/cells/${j}/verdict`,component,panel.id);});});
126
+ }
127
+ if(component==='steps')block.items.forEach((item,i)=>{text(item.text,`${bp}/items/${i}/text`,component,panel.id);text(item.detail,`${bp}/items/${i}/detail`,component,panel.id);if(item.target)diagramTarget(item.target,`${bp}/items/${i}/target`,component,panel.id);});
128
+ if(component==='code') {reference(block.source,`${bp}/source`,component,panel.id,sourceIds,'source=repository-snippet');if(sourceIds.has(block.source)&&document.sources.find(source=>source.id===block.source)?.path===undefined)fail('code-source-kind',`${bp}/source`,component,'Code blocks require a repository source whose commit and lines can be checked.','@source snippet title="Code" path=src/router.js lines=1:10',panel.id);}
129
+ if(component==='diagram'&&block.nodeSources)for(const [node,source] of Object.entries(block.nodeSources))reference(source,`${bp}/nodeSources/${node}`,component,panel.id,sourceIds,`| ${node} | Label | backend | source:router |`);
130
+ if(component==='diagram'&&block.spec) {
131
+ if(block.spec.diagram_type!==block.diagramType)fail('diagram-type',`${bp}/spec/diagram_type`,component,'The native specification must match the declared diagram type.','@sequence source=request.sequence.json',panel.id);
132
+ try{validateSchema(block.diagramType,block.spec);}catch(error){for(const entry of error.archifyDiagnostics||[])diagnostics.push({...entry,code:`explainer/native-${entry.code}`,subject:location(`${bp}/spec${entry.subject?.path==='/'?'':entry.subject?.path||''}`,component,panel.id),evidence:{...entry.evidence,reason:entry.message,example:`Use valid native ${block.diagramType} JSON.`}});}
133
+ }
134
+ }
135
+ }
136
+ diagnostics.push(...lintExplainerWriting(entries,{mode:writingMode,locale:document.meta.locale||'auto'}).map(entry=>({...entry,subject:{...entry.subject,...(inputPath?{input:inputPath}:{})}})));
137
+ return {ok:!diagnostics.some(entry=>entry.severity==='error'),diagnostics};
138
+ }
@@ -0,0 +1,40 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 kepano
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
23
+ ---
24
+
25
+ The reset icon of the zoom controls is "rotate-ccw" from Lucide v1.14.0
26
+ (https://lucide.dev), under the ISC License:
27
+
28
+ Copyright (c) 2026 Lucide Icons and Contributors
29
+
30
+ Permission to use, copy, modify, and/or distribute this software for any
31
+ purpose with or without fee is hereby granted, provided that the above
32
+ copyright notice and this permission notice appear in all copies.
33
+
34
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
35
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
36
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
37
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
38
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
39
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
40
+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
@@ -0,0 +1,5 @@
1
+ # Vendored Pele
2
+
3
+ Pele 1.3.0 (MIT, <https://github.com/obsidianmd/pele>), from the npm tarball `pele-1.3.0.tgz` (sha256 `8c55d4f2335367c31e77550dfbbd00c99533c432b9323aa37730188c0a355da5`).
4
+
5
+ Only `dist/esm/core.js`, the chart diagram entries `pie`, `xychart`, `quadrantChart`, `sankey`, `radar` and `venn`, and the chunks they import are copied, unmodified. Explainer pages render these charts to static SVG while the page is built; no Pele code ships inside a delivered page.
@@ -0,0 +1,4 @@
1
+ import{c as g}from"./XTDUIGUI.js";var b=new WeakMap;function S(n){let e=n.map((r,o)=>o),s=[];for(let r=0;r<128;r++){let o=String.fromCharCode(r);s.push(e.filter(f=>{let{pattern:l,first:d}=n[f];return typeof l=="string"?l[0]===o:d===void 0||d.includes(o)}))}let i={starting:s,every:e,longer:n.map(r=>r.longer?.map(o=>n.indexOf(o)))};return b.set(n,i),i}function D(n,e,s){let i=[],r=[],o=[],f=new Uint8Array(e.length),{starting:l,every:d,longer:C}=b.get(e)??S(e),I=[],T=n.length,m=(p,a)=>{if(f[p])return-1;let t=e[p];if(t.match!==void 0)return t.match(n,a);if(t.scanner!==void 0)return(I[p]??=t.scanner())(n,a);let c=t.pattern;return typeof c=="string"?n.startsWith(c,a)?a+c.length:-1:(c.lastIndex=a,c.test(n)?c.lastIndex:(t.opener!==void 0&&(t.opener.lastIndex=a,t.opener.test(n)&&(f[p]=1)),-1))},u=0;n:for(;u<T;){let p=n.charCodeAt(u);for(let a of p<128?l[p]:d){let t=m(a,u);if(t<=u)continue;let c=a,y=C[a];if(y!==void 0)for(let k of y){let E=m(k,u);if(E>t){c=k,t=E;break}}e[c].hidden||(i.push(c),r.push(u),o.push(t)),u=t;continue n}throw g(s,n,u,"",!0)}return i.push(-1),r.push(T),o.push(T),{kinds:i,starts:r,ends:o,src:n}}var M={name:"ACC_DESCR",pattern:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/y,first:" a"},$={name:"ACC_TITLE",pattern:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/y,first:" a"},v={name:"TITLE",pattern:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/y,first:" t"},w={name:"STRING",pattern:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/y,first:`"'`},V={name:"NEWLINE",pattern:/\r?\n/y,first:`\r
2
+ `},W={name:"WHITESPACE",pattern:/[\t ]+/y,hidden:!0,first:" "},G={name:"YAML",pattern:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/y,hidden:!0,opener:/---[\t ]*\r?\n/y,first:"-"},O={name:"DIRECTIVE",pattern:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/y,hidden:!0,opener:/[\t ]*%%{/y,first:" %"},P={name:"SINGLE_LINE_COMMENT",pattern:/[\t ]*%%[^\n\r]*/y,first:" %",hidden:!0};function H(n){return{name:n,pattern:new RegExp(n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"(?:(?=%%)|(?!\\S))","y"),first:n[0]}}var L=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,_=/accTitle[\t ]*:([^\n\r]*)/,A=/title([\t ][^\n\r]*|)/;function h(n){return n.trim().replace(/[\t ]{2,}/gm," ")}function Y(n){return h(A.exec(n)[1])}function z(n){return h(_.exec(n)[1])}function U(n){let e=L.exec(n);return e[1]!==void 0?h(e[1]):e[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,`
3
+ `)}var N=new Map([["b","\b"],["f","\f"],["n",`
4
+ `],["r","\r"],["t"," "],["v","\v"],["0","\0"]]);function j(n){if(!n.includes("\\"))return n.slice(1,-1);let e="";for(let s=1;s<n.length-1;s++){let i=n[s];if(i==="\\"){let r=n[++s];e+=N.get(r)??r}else e+=i}return e}var x=class{constructor(e,s,i){this.tokens=e;this.types=s;this.diagram=i;this.kinds=e.kinds}tokens;types;diagram;i=0;kinds;get kind(){return this.kinds[this.i]}text(e=this.i){return this.tokens.src.slice(this.tokens.starts[e],this.tokens.ends[e])}take(){return this.text(this.i++)}accept(e){return this.kinds[this.i]!==e?!1:(this.i++,!0)}expect(e){return this.kinds[this.i]!==e&&this.fail(`token of type '${this.types[e].name}'`),this.take()}fail(e){let s=this.kind===-1?"end of input":`\`${this.text()}\``;throw g(this.diagram,this.tokens.src,this.tokens.starts[this.i],`Expecting ${e} but found ${s}.`)}};export{D as a,M as b,$ as c,v as d,w as e,V as f,W as g,G as h,O as i,P as j,H as k,Y as l,z as m,U as n,j as o,x as p};
@@ -0,0 +1,3 @@
1
+ import{a as v}from"./RVARI57O.js";import{c as kt}from"./DKTLEL5E.js";import{a as xt,c as Ut,d as nt,e as At,g as it}from"./GUJTEFZK.js";import{b as Qt,c as w,d as z,i as bt,k as Lt,l as It,m as Pt,n as Ot,o as pt}from"./IZOKQ2GT.js";import{a as ht,c as ft,g as Dt}from"./XTDUIGUI.js";var Jt=/^\d+$/,wt=/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/,Zt=/^\d+px$/;function ct(t,n,s){return new ht(`value for ${t} ${n} is invalid, please use a valid ${s}`,"semantic",{type:"quadrantChart"})}function te(t){let n=t.trim(),s=n.indexOf(":");if(s===-1)return[n,"undefined"];let o=n.slice(s+1).trimStart(),d=o.indexOf(":");return[n.slice(0,s).trimEnd(),d===-1?o:o.slice(0,d).trimEnd()]}function vt(t){let n={};for(let s of t){let[o,d]=te(s);if(o==="radius"){if(!Jt.test(d))throw ct(o,d,"number");n.radius=parseInt(d)}else if(o==="color"){if(!wt.test(d))throw ct(o,d,"hex code");n.color=d}else if(o==="stroke-color"){if(!wt.test(d))throw ct(o,d,"hex code");n.strokeColor=d}else if(o==="stroke-width"){if(!Zt.test(d))throw ct(o,d,"number of pixels (eg. 10px)");n.strokeWidth=d}else throw new ht(`style named ${o} is not supported.`,"semantic",{type:"quadrantChart"})}return n}function X(t){return{text:t.text.trim(),type:t.type}}var dt=class{type="quadrantChart";title;accTitle;accDescr;quadrants=[void 0,void 0,void 0,void 0];xAxisLeft;xAxisRight;yAxisBottom;yAxisTop;points=[];classes=new Map;setQuadrant1Text(n){this.quadrants[0]=X(n)}setQuadrant2Text(n){this.quadrants[1]=X(n)}setQuadrant3Text(n){this.quadrants[2]=X(n)}setQuadrant4Text(n){this.quadrants[3]=X(n)}setXAxisLeftText(n){this.xAxisLeft=X(n)}setXAxisRightText(n){this.xAxisRight=X(n)}setYAxisBottomText(n){this.yAxisBottom=X(n)}setYAxisTopText(n){this.yAxisTop=X(n)}addPoint(n,s,o,d,a){this.points.push({x:Number(o),y:Number(d),text:X(n),className:s,...vt(a)})}addClass(n,s){this.classes.set(n,vt(s))}setDiagramTitle(n){this.title=n}setAccTitle(n){this.accTitle=n.replace(/^\s+/g,"")}setAccDescription(n){this.accDescr=n.replace(/\n\s+/g,`
2
+ `)}};var mt=["$end","INVALID","NEWLINE","title","title_value","acc_title","acc_title_value","acc_descr","acc_descr_value","acc_descr_multiline_value","X-AXIS","Y-AXIS","AXIS-TEXT-DELIMITER","QUADRANT_1","QUADRANT_2","QUADRANT_3","QUADRANT_4","CLASSDEF","MD_STR","STR","class_name","point_start","point_x","point_y","QUADRANT","ALPHA","UNICODE_TEXT","COLON","PLUS","COMMA","EQUALS","MULT","BRKT","UNDERSCORE","DOT","AMP","MINUS","NUM","SPACE","SEMI","PUNCTUATION","EOF"];var _t=[41,4,6,8,9,19],gt=new Uint8Array(128);for(let[t,n]of[[":",27],["+",28],[",",29],["=",30],["*",31],["#",32],["_",33],[".",34],["&",35],["-",36],[" \v\f",38],[";",39],["!$%'`?\\/",40]])for(let s=0;s<t.length;s++)gt[t.charCodeAt(s)]=n;function $t(t){let n=t.length,s=[],o=[],d=[],a=[],N=0,e=0,M=0,R=0,U=0,u=0,f=0,S=0,D=0,Q=0,A=(r,E,C)=>{s.push(r),o.push(t.slice(E,C)),d.push(E),e=C},b=r=>{a.push(N),N=r},P=()=>{a.length>0&&(N=a.pop())},j=r=>{let E=t.indexOf(`
3
+ `,r);return E===-1?n:E},G=r=>{for(;t.charCodeAt(r)===32;)r++;return r},T=r=>{for(;r<n&&xt(t.charCodeAt(r));)r++;return r},q=r=>{let E=t.charCodeAt(r);if(E===49)return r+1;if(E!==48)return-1;let C=r+1;if(C<n&&!Ut(t.charCodeAt(C))&&nt(t.charCodeAt(C+1)))for(C+=2;nt(t.charCodeAt(C));)C++;return C};t:for(;e<n;){let r=t.charCodeAt(e),E=t.charCodeAt(e+1);switch(N){case 0:break;case 1:case 2:case 3:A(_t[N],e,j(e)),P();continue;case 4:if(r===125)e++,P();else{let i=t.indexOf("}",e);A(9,e,i===-1?n:i)}continue;case 5:if(r===34)e++,P();else{let i=t.indexOf('"',e);A(19,e,i===-1?n:i)}continue;case 6:if(r===96&&E===34){e+=2,P();continue}if(r!==96&&r!==34){let i=e+1;for(let l=t.charCodeAt(i);i<n&&l!==96&&l!==34;l=t.charCodeAt(++i));A(18,e,i);continue}break t;case 7:if(it(r)){let i=e+1;for(;it(t.charCodeAt(i));)i++;A(20,e,i),P();continue}break t;case 8:{let i=q(e);if(i!==-1){A(22,e,i),b(9);continue}let l=T(e);if(t.charCodeAt(l)===93){e=G(l+1),P();continue}break t}case 9:{let i=T(e);if(t.charCodeAt(i)===44){e=T(i+1),N=10;continue}break t}case 10:{let i=q(e);if(i!==-1){A(23,e,i),P();continue}break t}}if(r===37&&E===37){e=j(e+2);continue}if(r!==125&&E===37&&t.charCodeAt(e+2)===37){e=j(e+3);continue}if(r===10||r===13){let i=e+1;for(let l=t.charCodeAt(i);l===10||l===13;l=t.charCodeAt(++i));A(2,e,i);continue}let C=r|32;if(C===116&&v(t,e,"title")&&!it(t.charCodeAt(e+5))){A(3,e,e+5),b(1);continue}if(C===97&&v(t,e,"acc")){let i=v(t,e+3,"descr");if(i||v(t,e+3,"title")){let l=T(e+8),y=t.charCodeAt(l);if(y===58){A(i?7:5,e,T(l+1)),b(i?3:2);continue}if(y===123&&i){e=T(l+1),b(4);continue}}}let p=e;r===32&&((e<M||e>=R)&&(M=e,R=G(e)),p=R);let W=t.charCodeAt(p),H=W|32,L=0,O=0;if(H===120&&v(t,p,"x-axis"))L=10,O=p+6;else if(H===121&&v(t,p,"y-axis"))L=11,O=p+6;else if(W===45){if(p<U||p>=u)for(U=p,u=p;t.charCodeAt(u)===45;)u++;u-p>=2&&t.charCodeAt(u)===62&&(L=12,O=u+1)}else if(H===113&&v(t,p,"quadrant")){let i=t.charCodeAt(p+9);t.charCodeAt(p+8)===45&&i>=49&&i<=52?(L=13+i-49,O=p+10):v(t,p+8,"chart")&&(L=24,O=p+13)}if(L!==0){A(L,e,G(O));continue}if(C===99&&v(t,e,"classdef")&&!it(t.charCodeAt(e+8))){A(17,e,e+8);continue}if(r===34){E===96?(e+=2,b(6)):(e++,b(5));continue}if(r===58&&E===58&&t.charCodeAt(e+2)===58){e+=3,b(7);continue}if(r===58||xt(r)){let i=e;if(r!==58&&((e<f||e>=S)&&(f=e,S=T(e)),i=S),t.charCodeAt(i)===58&&((i+1<D||i+1>=Q)&&(D=i+1,Q=T(i+1)),t.charCodeAt(Q)===91)){A(21,e,T(Q+1)),b(8);continue}}if(At(r)){let i=e+1;for(;At(t.charCodeAt(i));)i++;A(25,e,i);continue}if(r>=128){let i=e+1;for(;t.charCodeAt(i)>=128;)i++;A(26,e,i);continue}if(nt(r)){let i=e+1;for(;nt(t.charCodeAt(i));)i++;A(37,e,i);continue}if(gt[r]!==0){A(gt[r],e,e+1);continue}break}return e<n?(s.push(1),o.push(""),d.push(e),{types:s,texts:o,starts:d}):(N<_t.length&&(s.push(_t[N]),o.push(""),d.push(n)),s.push(0),o.push(""),d.push(n),{types:s,texts:o,starts:d})}function ut(...t){let n=new Uint8Array(42);for(let s of t)n[s]=1;return n}var Xt=ut(40,35,37,25,29,28,30,31,34,32,33,26),Bt=ut(25,37,36,29,27,35,32,31,26),Et=ut(25,37,27,38,32,36),Ft=ut(2,39,41),ee=["setQuadrant1Text","setQuadrant2Text","setQuadrant3Text","setQuadrant4Text"],ne="'STR', 'MD_STR', 'ALPHA', 'NUM', 'UNICODE_TEXT', 'PUNCTUATION'";function qt(t,n){let{types:s,texts:o,starts:d}=$t(t),a=0,N=u=>{let f=s[a];throw f===1?ft("quadrantChart",t,d[a],"",!0):ft("quadrantChart",t,d[a],`Expecting ${u}, got '${mt[f]}'`)},e=u=>(s[a]!==u&&N(`'${mt[u]}'`),o[a++]),M=u=>u===19||u===18||Xt[u]===1,R=()=>{let u=s[a];M(u)||N(ne);let f=o[a++];for(;Xt[s[a]]===1||s[a]===38||s[a]===36;)f+=o[a++];return{text:f,type:u===18?"markdown":"text"}},U=()=>{let u=[];for(;;){Et[s[a]]===0&&N("'ALPHA', 'NUM', 'COLON', 'SPACE', 'BRKT', 'MINUS'");let f=o[a++];for(;Et[s[a]]===1;)f+=o[a++];if(u.push(f.trim()),s[a]!==29)return u;a++}};for(;Ft[s[a]]===1||s[a]===38;)a++;for(e(24);s[a]!==0;){for(;s[a]===38;)a++;let u=s[a];switch(u){case 17:{a++,e(38),Bt[s[a]]===0&&N("'ALPHA', 'NUM', 'UNICODE_TEXT'");let f=o[a++];for(;Bt[s[a]]===1;)f+=o[a++];e(38),n.addClass(f,U());break}case 10:case 11:{a++;let f=R(),S;s[a]===12&&(a++,M(s[a])?S=R():f.text+=" ⟶ "),u===10?(n.setXAxisLeftText(f),S&&n.setXAxisRightText(S)):(n.setYAxisBottomText(f),S&&n.setYAxisTopText(S));break}case 13:case 14:case 15:case 16:a++,n[ee[u-13]](R());break;case 3:a++,n.setDiagramTitle(e(4).trim());break;case 5:a++,n.setAccTitle(e(6).trim());break;case 7:a++,n.setAccDescription(e(8).trim());break;case 9:n.setAccDescription(o[a++].trim());break;default:if(M(u)){let f=R(),S=s[a]===20?o[a++]:"";e(21);let D=e(22),Q=e(23);n.addPoint(f,S,D,Q,Et[s[a]]===1?U():[])}}Ft[s[a]]===0&&N("'NEWLINE', 'SEMI', 'EOF'"),a++}}var Wt=4,ie=300;function Ct(t,n){return t.quadrantChart?.[n]}function B(t,n,s,o){let d=Ct(t,n);return typeof d=="number"&&d>=0?Math.min(d,o):s}function Ht(t){return t.startsWith("#")?t:"#"+t}function Kt(t,n,s){let o=s.fontSize??16,d=Math.round(o*.875),a=Math.round(o*.75),N=s.measurer??Dt(s.fontFamily),e=Math.round(Math.max(100,B(n,"chartWidth",500,4e3))),M=Math.round(kt(s,e,400)),R=Math.round(Math.max(100,B(n,"chartHeight",500,4e3))*M/e),U=B(n,"quadrantPadding",s.padding??8,200),u=B(n,"xAxisLabelPadding",5,200),f=B(n,"yAxisLabelPadding",5,200),S=t.points.length>0,D=(c,x,m)=>pt(c?.text,c?.type==="markdown",N,x,Math.max(m,40)),Q=pt(t.title,!1,N,o,Math.max(M-2*U,40),1),A=B(n,"titlePadding",10,200),b=Q.height>0?Q.height+A:0,P=!!(t.xAxisLeft?.text||t.xAxisRight?.text),j=!!(t.yAxisBottom?.text||t.yAxisTop?.text),G=S||Ct(n,"xAxisPosition")==="bottom",T=Ct(n,"yAxisPosition")==="right",q=M-2*U,r=D(t.xAxisLeft,d,t.xAxisRight?q/2-16:q),E=D(t.xAxisRight,d,q/2-16),C=Math.max(r.height,E.height),p=P?C+u:0,W=R-2*U-b-p,H=D(t.yAxisBottom,d,t.yAxisTop?W/2-16:W),L=D(t.yAxisTop,d,W/2-16),O=Math.max(H.height,L.height),i=j?O+f:0,l=U+(T?0:i),y=U+b+(G?0:p),I=Math.max(0,q-i),k=Math.max(0,W),V=Math.max(0,(I-Wt)/2),J=Math.max(0,(k-Wt)/2),F=[l+V,y,l+I-V,y+k,l,y+J,l+I,y+k-J],Yt=(c,x,m,_,g)=>{for(let h=c;h<F.length;h+=4)if(x<F[h+2]&&_>F[h]&&m<F[h+3]&&g>F[h+1])return!1;return!0},zt=B(n,"quadrantTextTopPadding",5,200),Nt="";for(let c=0;c<4;c++){let x=c===0||c===3?l+I-V:l,m=c<2?y:y+k-J,_=D(t.quadrants[c],o,V-16),g=x+V/2,h=S?m+zt+_.height/2:m+J/2;F.push(g-_.width/2,h-_.height/2,g+_.width/2,h+_.height/2),Nt+=`<g class="pele-quadrant" data-id="${c+1}"><rect x="${w(x)}" y="${w(m)}" width="${w(V)}" height="${w(J)}" rx="${bt}"/>`+z(_,g,h,' class="pele-label" fill="var(--_fg)" stroke="none"')+"</g>"}let st="";if(P){let c=G?y+k+u+C/2:y-u-C/2;st+=z(r,E.height>0?l+I/4:l+r.width/2,c,"")+z(E,l+I*3/4,c,"")}if(j){let c=T?l+I+f+O/2:l-f-O/2,x=(m,_)=>m.height>0?`<g transform="translate(${w(c)},${w(_)}) rotate(-90)">${z(m,0,0,"")}</g>`:"";st+=x(H,L.height>0?y+k*3/4:y+k-H.width/2)+x(L,y+k/4)}let jt=B(n,"pointRadius",5,200),Gt=B(n,"pointTextPadding",5,200),yt=Pt(0),Z=[],St=[];for(let c of t.points){if(!(c.x>=0&&c.x<=1&&c.y>=0&&c.y<=1))continue;let x=t.classes.get(c.className),m=Math.min(c.radius??x?.radius??jt,2e3),_=c.color??x?.color,g=c.strokeColor??x?.strokeColor,h=c.strokeWidth??x?.strokeWidth,$=[];_&&$.push("fill:"+Ht(_)),h&&(g&&$.push("stroke:"+Ht(g)),$.push("stroke-width:"+h));let K=l+c.x*I,Y=y+(1-c.y)*k;Z.push({cx:K,cy:Y,reach:m+(h?Math.min(parseInt(h),400)/2:0),text:D(c.text,a,200)}),St.push(`<circle class="pele-point${It(c.className)}" data-id="${Qt(c.text.text)}" cx="${w(K)}" cy="${w(Y)}" r="${w(m)}"${h&&!g?` stroke="${yt}"`:""}${Lt($).shape}/>`)}let lt=Z.length<=ie;if(lt)for(let{cx:c,cy:x,reach:m}of Z)F.push(c-m,x-m,c+m,x+m);let Mt="";for(let{cx:c,cy:x,reach:m,text:_}of Z){let g=_.width/2,h=_.size*.6+(_.height-_.lineHeight)/2,$=m+Gt,K=[c,x+$+h,c,x-$-h,c+$+g,x,c-$-g,x],Y=c,at=K[1],Rt=!1;for(let rt=0;rt<16;rt+=2){let ot=rt%8,tt=ot<4&&_.width<I?Math.min(Math.max(K[ot],l+g),l+I-g):K[ot],et=K[ot+1];if(tt-g<l||tt+g>l+I||et-h<y||et+h>y+k)continue;let Tt=!lt||Yt(rt<8?0:8,tt-g,et-h,tt+g,et+h);if((!Rt||Tt)&&(Y=tt,at=et,Rt=!0),Tt)break}lt&&F.push(Y-g,at-h,Y+g,at+h),Mt+=z(_,Y,at,' class="pele-label"')}let Vt=z(Q,M/2,A/2+Q.height/2,' class="pele-title" font-weight="var(--_tw)"')+`<g class="pele-quadrants" fill="var(--_s)" stroke="var(--_b)">${Nt}</g>`+(st?`<g class="pele-axis-labels" font-size="${d}" fill="var(--_m)">${st}</g>`:"")+(Z.length>0?`<g class="pele-points" fill="${yt}">${St.reverse().join("")}</g><g class="pele-point-labels" font-size="${a}">${Mt}</g>`:"");return{svg:Ot("quadrantChart",M,R,o,s,t,Vt),width:M,height:R,links:[]}}var Re={type:"quadrantChart",parse(t,n,s){let o=new dt;return o.title=s,qt(t,o),o},render:Kt};export{Re as a};
@@ -0,0 +1 @@
1
+ function f(t,n,r,i){let e=i(n,!1),o=t.maxWidth;if(o===void 0||!(o>0)||e.width<=o)return e;let u=Math.min(r,n),d=n;e=i(d,!0);for(let a=0;a<3&&e.width>o&&d>u;a++)d=Math.max(u,d-(e.width-o)),e=i(d,!0);return e}function h(t){let n=t.maxWidth;return n!==void 0&&n>0?Math.max(80,n-2*(t.padding??8)):4e3}function l(t,n,r,i=0){let e=t.maxWidth;return e===void 0||!(e>0)?n:Math.max(Math.min(r,n),Math.min(n,e-i))}var s=640;function c(t,n){let r=n(!1),i=t.maxWidth;if(t.autoDirection===!1||i===void 0||!(i>0)||r.width<=i)return r;let e=t.directionBreakpoint;if(i>=(e!==void 0&&e>0?e:s))return r;let o=n(!0);return o.width<r.width?o:r}function m(t){return t==="LR"||t==="RL"}function p(t,n){let r=n(!1),i=t.maxWidth;if(i===void 0||!(i>0)||r.width<=i)return r;let e=n(!0);return e.width<r.width?e:r}export{f as a,h as b,l as c,c as d,m as e,p as f};
@@ -0,0 +1,2 @@
1
+ import{a as F,d as L,f as ct,g as K}from"./GUJTEFZK.js";import{b as G,c as z,d as J,k as Z,m as ht,n as ut,o as B}from"./IZOKQ2GT.js";import{a as V,c as H,g as ft}from"./XTDUIGUI.js";function $(c){let e=c.trim();return e.length>=2&&e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e}function Q(c){return c.map($).sort()}var U=class{type="venn";title;subsets=[];textNodes=[];styles=[];known=new Set;current;indent=!1;setDiagramTitle(e){this.title=e}addSubsetData(e,a,t){let n=Q(e);this.current=n,n.length===1&&this.known.add(n[0]),this.subsets.push({sets:n,size:t??10/e.length**2,label:a?$(a):void 0})}addTextData(e,a,t){this.textNodes.push({sets:Q(e),id:$(a),label:t?$(t):void 0})}addStyleData(e,a){let t=new Map;for(let[n,s]of a)t.set(n,s&&$(s));this.styles.push({targets:Q(e),styles:t})}validateUnionIdentifiers(e){let a=e.map($).filter(t=>!this.known.has(t));if(a.length>0)throw new V(`unknown set identifier: ${a.join(", ")}`,"semantic",{type:"venn"})}getCurrentSets(){return this.current}getIndentMode(){return this.indent}setIndentMode(e){this.indent=e}};var tt=["$end","INVALID","EOF","NEWLINE","VENN","TITLE","SET","UNION","TEXT","INDENT_TEXT","STYLE","BRACKET_LABEL","NUMERIC","HEXCOLOR","RGBCOLOR","RGBACOLOR","IDENTIFIER","STRING","COMMA","COLON"],xt=[["venn-beta",4],["set",6],["union",7],["text",8],["style",10]],_=class{constructor(e,a){this.src=e;this.host=a}src;host;text="";start=0;at=0;lineStart=!1;ended=!1;word(e,a){let t=this.src;for(let n=0;n<a.length;n++){let s=t.charCodeAt(e+n),r=a.charCodeAt(n);if(s!==r&&(s+32!==r||s<65||s>90))return!1}return!0}keyword(e,a){return this.word(e,a)&&!K(this.src.charCodeAt(e+a.length))}color(e,a){let t=this.src,n=e+1;for(let s=0;s<a;s++){for(;F(t.charCodeAt(n));)n++;let r=n;for(;L(t.charCodeAt(n))||t.charCodeAt(n)===46;)n++;if(n===r)return-1;for(;F(t.charCodeAt(n));)n++;if(t.charCodeAt(n)!==(s===a-1?41:44))return-1;n++}return n}lineEnd(e){let a=this.src.indexOf(`
2
+ `,e);return a===-1?this.src.length:a}next(){let e=this.src,a=e.length;for(;;){let t=this.at;if(this.start=t,this.text="",t>=a)return this.ended?0:(this.ended=!0,2);let n=e.charCodeAt(t);if(n===37&&e.charCodeAt(t+1)===37&&e.charCodeAt(t+2)!==123||n!==125&&e.charCodeAt(t+1)===37&&e.charCodeAt(t+2)===37){this.at=this.lineEnd(t+2);continue}if(this.lineStart){if(n===32||n===9){let s=t+1;for(;e.charCodeAt(s)===32||e.charCodeAt(s)===9;)s++;if(this.at=s,this.keyword(s,"text")&&this.host.getIndentMode())return this.at=s+4,this.lineStart=!1,this.text=e.slice(t,s),9;continue}n!==10&&n!==13&&(this.host.setIndentMode(!1),this.lineStart=!1)}if(n===10||n===13){for(t++;e.charCodeAt(t)===10||e.charCodeAt(t)===13;)t++;return this.lineStart=!0,this.token(3,t)}if(n===37&&e.charCodeAt(t+1)===37){this.at=this.lineEnd(t);continue}if(n===32||n===9){for(t++;e.charCodeAt(t)===32||e.charCodeAt(t)===9;)t++;this.at=t;continue}if((n|32)>=97&&(n|32)<=122||n===95){if(this.word(t,"title")&&F(e.charCodeAt(t+5))){let s=t+6;for(;s<a;){let r=e.charCodeAt(s);if(r===35||r===10||r===59)break;s++}if(s>t+6)return this.token(5,s)}for(let[s,r]of xt)if(this.keyword(t,s))return this.token(r,t+s.length);if(this.word(t,"rgb")){let s=(e.charCodeAt(t+3)|32)===97,r=t+(s?4:3),E=e.charCodeAt(r)===40?this.color(r,s?4:3):-1;if(E!==-1)return this.token(s?15:14,E)}for(t++;K(e.charCodeAt(t))||e.charCodeAt(t)===45;)t++;return this.token(16,t)}if(n===91){if(e.charCodeAt(t+1)===34){let r=e.indexOf('"',t+2);return r===-1||e.charCodeAt(r+1)!==93?1:(this.at=r+2,this.text=e.slice(t+2,r),11)}let s=t+1;for(;s<a&&e.charCodeAt(s)!==93&&e.charCodeAt(s)!==34;)s++;return s===t+1||e.charCodeAt(s)!==93?1:(this.at=s+1,this.text=e.slice(t+1,s).trim(),11)}if(L(n)||n===46||n===43||n===45){(n===43||n===45)&&t++;let s=t;for(;L(e.charCodeAt(t));)t++;if(t>s){if(e.charCodeAt(t)===46&&L(e.charCodeAt(t+1)))for(t+=2;L(e.charCodeAt(t));)t++}else if(e.charCodeAt(t)===46&&L(e.charCodeAt(t+1)))for(t+=2;L(e.charCodeAt(t));)t++;else return 1;return this.token(12,t)}if(n===35){let s=t+1;for(;s<t+9&&ct(e.charCodeAt(s));)s++;return s>=t+4?this.token(13,s):1}if(n===34){let s=e.indexOf('"',t+1);return s===-1?1:this.token(17,s+1)}return n===44?this.token(18,t+1):n===58?this.token(19,t+1):1}}token(e,a){return this.text=this.src.slice(this.at,a),this.at=a,e}};var Et="'EOF', 'NEWLINE', 'TITLE', 'SET', 'UNION', 'TEXT', 'INDENT_TEXT', 'STYLE'",Mt="'NUMERIC', 'IDENTIFIER', 'STRING', 'HEXCOLOR', 'RGBCOLOR', 'RGBACOLOR'";function dt(c,e){let a=new _(c,e),t=-1,n=()=>t===-1?t=a.next():t,s=g=>{throw n()===1?H("venn",c,a.start,"",!0):H("venn",c,a.start,`Expecting ${g}, got '${tt[t]}'`)},r=()=>(t=-1,a.text),E=g=>(n()!==g&&s(`'${tt[g]}'`),r()),o=()=>(n()!==16&&t!==17&&s("'IDENTIFIER', 'STRING'"),r()),d=()=>{let g=[o()];for(;n()===18;)r(),g.push(o());return g},u=(g,h)=>{let m=n()===11?r():void 0,i;if(n()===19&&(r(),i=parseFloat(E(12))),h){if(g.length<2)throw new V("union requires multiple identifiers","semantic",{type:"venn"});e.validateUnionIdentifiers(g)}e.addSubsetData(g,m,i),e.setIndentMode(!0)},p=g=>{let h=n();h!==16&&h!==17&&h!==12&&s("'NUMERIC', 'IDENTIFIER', 'STRING'");let m=r(),i=h!==12&&n()===11?r():void 0;e.addTextData(g(),m,i)},x=()=>{let g=d(),h=[];for(;;){let m=E(16);E(19);let i;if(n()===17)i=r();else{let f=[];for(;n()===16||t>=12&&t<=15;)f.push(r());f.length===0&&s(Mt),i=f.join(" ")}if(h.push([m,i]),n()!==18)break;r()}e.addStyleData(g,h)};for(;n()===3;)r();for(E(4);;){let g=n();if(g===2)return;if((g<3||g>10||g===4)&&s(Et),r(),g===5)e.setDiagramTitle(a.text.slice(6));else if(g===6)u([o()],!1);else if(g===7)u(d(),!0);else if(g===8){let h=d();p(()=>h)}else g===9?p(()=>{let h=e.getCurrentSets();if(!h)throw new V("text requires set","semantic",{type:"venn"});return h}):g===10&&x()}}var X=Math.PI*2;function It(c){let e=new Set,a=new Map;for(let n of c)e.add(JSON.stringify([...n.sets].sort())),n.sets.length===1&&a.set(n.sets[0],n.size);let t=[];for(let n of c){if(n.sets.length<3)continue;let s=[...n.sets].sort();for(let r=0;r<s.length-1;r++)for(let E=r+1;E<s.length;E++){let o=[s[r],s[E]],d=JSON.stringify(o);if(e.has(d))continue;e.add(d);let u=a.get(o[0]),p=a.get(o[1]);t.push({sets:o,size:u!==void 0&&p!==void 0?Math.min(u,p)/4:2.5,label:""})}}return t.length>0?[...c,...t]:c}function Ct(c,e,a){if(a>=c+e)return 0;let t=Math.min(c,e);if(a<=Math.abs(c-e))return Math.PI*t*t;let n=c*c*Math.acos((a*a+c*c-e*e)/(2*a*c)),s=e*e*Math.acos((a*a+e*e-c*c)/(2*a*e)),r=.5*Math.sqrt(Math.max((-a+c+e)*(a+c-e)*(a-c+e)*(a+c+e),0));return n+s-r}function Rt(c,e,a){let t=Math.abs(c-e),n=c+e;if(!(a>0))return n;if(a>=Math.PI*Math.min(c,e)**2)return t;for(let s=0;s<48;s++){let r=(t+n)/2;Ct(c,e,r)>a?t=r:n=r}return(t+n)/2}function gt(c,e,a,t,n,s){let r=1/0;for(let E of e){let o=c[E],d=t-o.x,u=n-o.y,p=o.r-Math.sqrt(d*d+u*u);if(p<r){if(p<s)return p;r=p}}for(let E of a){let o=c[E],d=t-o.x,u=n-o.y,p=Math.sqrt(d*d+u*u)-o.r;if(p<r){if(p<s)return p;r=p}}return r}function j(c,e,a){let t=0,n=0,s=c[e[0]];for(let h of e){let m=c[h];t+=m.x/e.length,n+=m.y/e.length,m.r<s.r&&(s=m)}let r=s.r,E=t,o=n,d=gt(c,e,a,E,o,-1/0),u=0,p=(h,m)=>{let i=gt(c,e,a,h,m,d-r*1e-9);if(!(i>d-r*1e-9))return!1;let f=Math.hypot(h-t,m-n);return i>d+r*1e-9||f<u-r*1e-9?(d=i,u=f,E=h,o=m,!0):!1},x=10;for(let h=-x;h<=x;h++)for(let m=-x;m<=x;m++)m*m+h*h<=x*x&&p(s.x+m*r/x,s.y+h*r/x);let g=r/x;for(let h=0;h<40&&g>r*1e-6;h++){let m=!1;for(let i=0;i<8;i++){let f=i*X/8;p(E+Math.cos(f)*g,o+Math.sin(f)*g)&&(m=!0)}m||(g/=2)}return{x:E,y:o,margin:d}}function pt(c){let e=new Map;for(let i of c)for(let f of i.sets)e.has(f)||e.set(f,10);for(let i of c)i.sets.length===1&&e.set(i.sets[0],i.size);let a=new Map,t=[],n=0;for(let i of e.values())Number.isFinite(i)&&i>n&&(n=i);n===0&&(n=10);let s=Math.sqrt(n/Math.PI);for(let[i,f]of e){a.set(i,t.length);let y=Number.isFinite(f)&&f>0?Math.sqrt(f/Math.PI):0;t.push({id:i,x:0,y:0,r:Math.max(y,s*.3)})}let r=t.length;if(r<2)return t;let E=new Map;for(let i of It(c)){if(i.sets.length!==2)continue;let f=a.get(i.sets[0]),y=a.get(i.sets[1]);f!==y&&E.set(Math.min(f,y)*r+Math.max(f,y),i.size)}let o=new Map;for(let[i,f]of E)o.set(i,Rt(t[Math.floor(i/r)].r,t[i%r].r,f));let d=s*.15,u=(i,f)=>o.get(i*r+f)??t[i].r+t[f].r+d;if(r===2)return t[1].x=u(0,1),t;if(r===3){let i=u(0,1),f=u(0,2),y=u(1,2),I=c.some(N=>new Set(N.sets).size===3);for(let N=0;N<40;N++){let w=i>0?(i*i+f*f-y*y)/(2*i):0;if(t[1].x=i,t[2].x=Math.max(-f,Math.min(f,w)),t[2].y=Math.sqrt(Math.max(f*f-w*w,0)),!I||j(t,[0,1,2],[]).margin>s*.12)break;i*=.94,f*=.94,y*=.94}return t}let p=0;for(let i of t)p+=2*i.r+d;let x=Math.min(300,Math.floor(3e6/(r*r)));if(r<=64){let i=p/X;t.forEach((f,y)=>{let I=y*X/r-Math.PI/2;f.x=Math.cos(I)*i,f.y=Math.sin(I)*i})}else{let i=Math.ceil(Math.sqrt(r)),f=2*s+d;t.forEach((y,I)=>{y.x=I%i*f,y.y=Math.floor(I/i)*f})}let g=new Float64Array(r),h=new Float64Array(r),m=new Int32Array(r);for(let i=0;i<x;i++){g.fill(0),h.fill(0),m.fill(0);for(let f=0;f<r;f++)for(let y=f+1;y<r;y++){let I=o.get(f*r+y),N=t[f].r+t[y].r+d,w=t[y].x-t[f].x,O=t[y].y-t[f].y,S=Math.hypot(w,O);if(I===void 0&&S>=N)continue;S<1e-9&&(w=Math.cos(f+y),O=Math.sin(f+y),S=1);let k=(S-(I??N))/2/S;g[f]+=w*k,h[f]+=O*k,g[y]-=w*k,h[y]-=O*k,m[f]++,m[y]++}for(let f=0;f<r;f++)m[f]!==0&&(t[f].x+=g[f]/m[f],t[f].y+=h[f]/m[f])}return t}function mt(c,e){let a=o=>`M${e(o.x-o.r)},${e(o.y)}A${e(o.r)},${e(o.r)} 0 1 1 ${e(o.x+o.r)},${e(o.y)}A${e(o.r)},${e(o.r)} 0 1 1 ${e(o.x-o.r)},${e(o.y)}Z`;if(c.length===1)return a(c[0]);let t=(o,d,u,p)=>{for(let x of c)if(x!==u&&x!==p&&Math.hypot(o-x.x,d-x.y)>x.r*(1+1e-9))return!1;return!0},n=[];for(let o=0;o<c.length;o++)for(let d=o+1;d<c.length;d++){let u=c[o],p=c[d],x=Math.hypot(p.x-u.x,p.y-u.y);if(x>=u.r+p.r||x<=Math.abs(u.r-p.r)||x===0)continue;let g=(u.r*u.r-p.r*p.r+x*x)/(2*x),h=Math.sqrt(Math.max(u.r*u.r-g*g,0)),m=u.x+(p.x-u.x)*g/x,i=u.y+(p.y-u.y)*g/x;for(let f of[1,-1]){let y=m+f*h*(p.y-u.y)/x,I=i-f*h*(p.x-u.x)/x;t(y,I,u,p)&&n.push({x:y,y:I,a:u,b:p})}}if(n.length<2){let o=c[0];for(let d of c)d.r<o.r&&(o=d);for(let d of c)if(d!==o&&Math.hypot(d.x-o.x,d.y-o.y)+o.r>d.r*(1+1e-9))return"";return a(o)}let s=0,r=0;for(let o of n)s+=o.x/n.length,r+=o.y/n.length;n.sort((o,d)=>Math.atan2(o.y-r,o.x-s)-Math.atan2(d.y-r,d.x-s));let E="";for(let o=0;o<n.length;o++){let d=n[o],u=n[(o+1)%n.length];o===0&&(E=`M${e(d.x)},${e(d.y)}`);let p,x=0,g=1/0;for(let h of[d.a,d.b]){if(h!==u.a&&h!==u.b)continue;let m=Math.atan2(d.y-h.y,d.x-h.x),i=Math.atan2(u.y-h.y,u.x-h.x)-m;i<=0&&(i+=X);let f=h.x+h.r*Math.cos(m+i/2),y=h.y+h.r*Math.sin(m+i/2),I=Math.hypot(f-(d.x+u.x)/2,y-(d.y+u.y)/2);I<g&&(g=I,p=h,x=i>Math.PI?1:0)}p===void 0?E+=`L${e(u.x)},${e(u.y)}`:E+=`A${e(p.r)},${e(p.r)} 0 ${x} 1 ${e(u.x)},${e(u.y)}`}return E+"Z"}var Nt=100,wt=1.6,yt=Z([]);function et(c){return c.length===1?c[0]:JSON.stringify(c)}function bt(c,e,a){let t=a.fontSize??16,n=Math.round(t*.875),s=Math.round(t*.8125),r=a.measurer??ft(a.fontFamily),E=a.padding??8,o=pt(c.subsets),d=new Map;o.forEach((l,b)=>d.set(l.id,b));let u=new Map;for(let{targets:l,styles:b}of c.styles){let M=et(l),C=u.get(M);C||u.set(M,C=new Map);for(let[A,T]of b)C.set(A,T)}let p=l=>{let b=u.get(l);if(!b)return yt;let M=[];for(let[C,A]of b)M.push(`${C}:${A}`);return Z(M)},x=o.map(()=>[]);for(let l=0;l<o.length;l++)for(let b=l+1;b<o.length;b++)Math.hypot(o[l].x-o[b].x,o[l].y-o[b].y)<o[l].r+o[b].r&&(x[l].push(b),x[b].push(l));let g=new Map;for(let l of c.subsets)g.set(et(l.sets),l);let h=new Map;for(let[l,b]of g){let M=[...new Set(b.sets)],C=M.map(v=>d.get(v)),A=new Set(C),T=C[0];for(let v of C)o[v].r<o[T].r&&(T=v);let R=p(l),D=b.label??(b.sets.length===1?b.sets[0]:void 0),at=(R.bold?1:0)|(R.italic?2:0),Y=j(o,C,x[T].filter(v=>!A.has(v)));Y.margin<o[T].r*.2&&(Y=j(o,C,[]));let lt={sets:M,inside:C,spot:Y,lines:[],style:R};if(D){let v=M.length===1?t:n;lt.lines.push({id:void 0,raw:D,size:v,base:at,label:B(D,!1,r,v,4e3,at)})}h.set(l,lt)}for(let l of c.textNodes){let b=l.label??l.id;h.get(et(l.sets))?.lines.push({id:l.id,raw:b,size:s,base:0,label:B(b,!1,r,s,4e3)})}let m=0;for(let l of o)l.r>m&&(m=l.r);let i=m>0?Nt/m:1,f=1;for(let l of h.values()){if(l.spot.margin<=0)continue;let b=0,M=0;for(let A of l.lines)b=Math.max(b,A.label.width),M+=A.label.height;let C=Math.hypot(b,M)/2+4;f=Math.max(f,Math.min(C/(l.spot.margin*i),wt))}i*=f;for(let l of h.values()){let b=Math.max(l.spot.margin*i*1.8,72);for(let M of l.lines)M.label.width>b&&(M.label=B(M.raw,!1,r,M.size,b,M.base))}let y=1/0,I=1/0,N=-1/0,w=-1/0;for(let l of o)y=Math.min(y,(l.x-l.r)*i),I=Math.min(I,(l.y-l.r)*i),N=Math.max(N,(l.x+l.r)*i),w=Math.max(w,(l.y+l.r)*i);for(let l of h.values()){let b=0,M=0;for(let C of l.lines)b=Math.max(b,C.label.width),M+=C.label.height;y=Math.min(y,l.spot.x*i-b/2),N=Math.max(N,l.spot.x*i+b/2),I=Math.min(I,l.spot.y*i-M/2),w=Math.max(w,l.spot.y*i+M/2)}o.length===0&&(y=I=N=w=0);let O=B(c.title&&$(c.title),!1,r,t,4e3,1),S=O.height>0?O.height+12:0,k=Math.max(N-y,O.width),nt=E+(k-(N-y))/2-y,st=E+S-I,P=Math.ceil(k+2*E),rt=Math.ceil(w-I+S+2*E),ot=o.map(l=>({id:l.id,x:l.x*i+nt,y:l.y*i+st,r:l.r*i})),it="";ot.forEach((l,b)=>{let M=ht(b),C=h.get(l.id)?.style??yt;it+=`<circle class="pele-venn-set" data-id="${G(l.id)}" cx="${z(l.x)}" cy="${z(l.y)}" r="${z(l.r)}" fill="${M}" fill-opacity="0.2" stroke="${M}"${C.shape}/>`});let q="",W="";for(let l of h.values()){let b=G(l.sets.join("|"));if(l.sets.length>1&&l.style.shape!==""){let R=mt(l.inside.map(D=>ot[D]),z);R!==""&&(q+=`<path class="pele-venn-overlap" data-id="${b}" d="${R}" fill="none"${l.style.shape}/>`)}let M=0;for(let R of l.lines)M+=R.label.height;if(M===0)continue;let C=l.spot.x*i+nt,A=l.spot.y*i+st-M/2,T="";for(let R of l.lines){let D=R.id===void 0?` class="pele-label"${R.size===t?"":` font-size="${R.size}"`}${l.style.text}`:` class="pele-venn-text" data-id="${G(R.id)}" font-size="${s}" fill="var(--_m)"${p(R.id).text}`;T+=J(R.label,C,A+R.label.height/2,D),A+=R.label.height}W+=`<g class="pele-venn-region" data-id="${b}">${T}</g>`}return{svg:ut("venn",P,rt,t,a,{},J(O,P/2,E+O.height/2,' class="pele-title" font-weight="var(--_tw)"')+`<g class="pele-venn-sets">${it}</g>`+(q?`<g class="pele-venn-overlaps">${q}</g>`:"")+(W?`<g class="pele-venn-labels">${W}</g>`:"")),width:P,height:rt,links:[]}}var Ht={type:"venn",parse(c,e,a){let t=new U;return a&&(t.title=a),dt(c,t),t},render:bt};export{Ht as a};
@@ -0,0 +1,25 @@
1
+ var g=class{constructor(t){this.message=t}message},S=64;function Y(e,t,l){t==="__proto__"?Object.defineProperty(e,t,{value:l,enumerable:!0,writable:!0,configurable:!0}):e[t]=l}var y=class{lines;i=0;constructor(t){this.lines=t.replace(/\r\n?/g,`
2
+ `).split(`
3
+ `)}skipBlank(){for(;this.i<this.lines.length;){let t=this.lines[this.i].trim();if(t!==""&&t[0]!=="#"&&t!=="---")break;this.i++}}indent(){let t=this.lines[this.i],l=0;for(;l<t.length&&t[l]===" ";)l++;if(t[l]===" ")throw new Error("YAML: tabs are not allowed for indentation");return l}},_=/^[-+]?(?:0|[1-9][0-9]*)$/,v=/^[-+]?0x[0-9a-fA-F]+$/,R=/^[-+]?0o[0-7]+$/,B=/^[-+]?0b[01]+$/,C=/^[-+]?(?:[0-9][0-9]*(?:\.[0-9]*)?|\.[0-9]+)(?:[eE][-+]?[0-9]+)?$/,O=/[\s#:,[\]{}&*!|>'"%@`]/;function b(e){return e===" "||e===" "||e===`
4
+ `||e==="\r"}function A(e){let t=e[0],l,n;if(t==='"'||t==="'"){let r=1;for(;;){if(r>=e.length)return null;let i=e[r];if(t==='"'&&i==="\\")r+=2;else if(i===t){if(t==='"'||e[r+1]!=="'")break;r+=2}else r++}for(l=r+1,n=l;b(e[n]);)n++;if(e[n]!==":")return null}else{if(t===void 0||O.test(t)||t==="-"&&(e.length<2||b(e[1])||e[1]===":"||e[1]==="#"))return null;for(n=1;n<e.length&&e[n]!==":"&&e[n]!=="#";)n++;if(e[n]!==":")return null;for(l=n;b(e[l-1]);)l--}let s=n+1;if(s<e.length&&!b(e[s]))return null;for(;b(e[s]);)s++;return{key:e.slice(0,l),length:s}}function V(e){let t=e.trim();if(t===""||t==="~"||t==="null"||t==="Null"||t==="NULL")return null;if(t==="true"||t==="True"||t==="TRUE")return!0;if(t==="false"||t==="False"||t==="FALSE")return!1;if(_.test(t)||C.test(t))return Number(t);if(v.test(t)||R.test(t)||B.test(t)){let l=t[0]==="-",n=Number(l||t[0]==="+"?t.slice(1):t);return l?-n:n}return/^[-+]?\.(?:inf|Inf|INF)$/.test(t)?t[0]==="-"?-1/0:1/0:/^\.(?:nan|NaN|NAN)$/.test(t)?NaN:t}var M={0:"\0",a:"\x07",b:"\b",t:" ",n:`
5
+ `,v:"\v",f:"\f",r:"\r",e:"\x1B"," ":" ",'"':'"',"/":"/","\\":"\\",N:"…",_:" ",L:"\u2028",P:"\u2029"};function E(e){if(!e.includes(`
6
+ `))return e;let t=e.split(`
7
+ `),l=t.length-1;for(let n=0;n<=l;n++){let s=t[n],r=0,i=s.length;if(n>0)for(;r<i&&(s.charCodeAt(r)===32||s.charCodeAt(r)===9);)r++;if(n<l)for(;i>r&&(s.charCodeAt(i-1)===32||s.charCodeAt(i-1)===9);)i--;t[n]=s.slice(r,i)}return t.join(`
8
+ `).replace(/\n+/g,n=>n.length===1?" ":`
9
+ `.repeat(n.length-1))}function T(e){let t="",l=E(e.replace(/\\\n[ \t]*/g,""));for(let n=0;n<l.length;n++){let s=l[n];if(s!=="\\"){t+=s;continue}let r=l[++n];if(r==="x"||r==="u"||r==="U"){let i=r==="x"?2:r==="u"?4:8;t+=String.fromCodePoint(parseInt(l.slice(n+1,n+1+i),16)),n+=i}else if(r in M)t+=M[r];else throw new Error("YAML: unknown escape sequence")}return t}function w(e,t,l){for(;t<e.length;){let n=e[t];if(n===" "||n===`
10
+ `||n===" "||n==="\r"||l&&n===",")t++;else if(n==="#"&&(t===0||/\s/.test(e[t-1]))){let s=e.indexOf(`
11
+ `,t);t=s===-1?e.length:s}else break}return t}function N(e,t){if(!t)throw new Error("YAML: missed comma between flow collection entries");if(e===",")throw new Error("YAML: expected the node content, but found ','")}function d(e,t,l,n=0){if(n>S)throw new Error("YAML: nesting is too deep");t=w(e,t,!1);let s=e[t];if(s==="{"){let i={};t++;let u=!0;for(;;){if(t=w(e,t,!1),t>=e.length)throw new g("YAML: unexpected end of the stream within a flow collection");if(e[t]==="}")return[i,t+1];N(e[t],u);let a;[a,t]=d(e,t,":,}",n+1),t=w(e,t,!1);let o=null;e[t]===":"&&([o,t]=d(e,t+1,",}",n+1)),Y(i,String(a),o),t=w(e,t,!1),u=e[t]===",",u&&t++}}if(s==="["){let i=[];t++;let u=!0;for(;;){if(t=w(e,t,!1),t>=e.length)throw new g("YAML: unexpected end of the stream within a flow collection");if(e[t]==="]")return[i,t+1];N(e[t],u);let a;[a,t]=d(e,t,",]",n+1),i.push(a),t=w(e,t,!1),u=e[t]===",",u&&t++}}if(s==='"'){let i=t+1;for(;i<e.length&&e[i]!=='"';)i+=e[i]==="\\"?2:1;if(i>=e.length)throw new g("YAML: unexpected end of the stream within a double quoted scalar");return[T(e.slice(t+1,i)),i+1]}if(s==="'"){let i=t+1;for(;i<e.length;){if(e[i]==="'"){if(e[i+1]!=="'")break;i++}i++}if(i>=e.length)throw new g("YAML: unexpected end of the stream within a single quoted scalar");return[E(e.slice(t+1,i)).replace(/''/g,"'"),i+1]}let r=t;for(;r<e.length;){let i=e[r];if(l.includes(i)&&(i!==":"||r+1>=e.length||/[\s,[\]{}]/.test(e[r+1])))break;if(i==="#"&&r>t&&/\s/.test(e[r-1])){let u=e.indexOf(`
12
+ `,r);return[V(E(e.slice(t,r).trim())),u===-1?e.length:u]}r++}return[V(E(e.slice(t,r).trim())),r]}function k(e){let t="";for(let l=0;l<e.length;l++){let n=e[l];if(t)n==="\\"&&t==='"'?l++:n===t&&(t="");else if(n==='"'||n==="'")t=n;else if(n==="#"&&(l===0||e[l-1]===" "||e[l-1]===" "))return e.slice(0,l)}return e}function $(e,t,l){let n=t[0]===">",s=t.includes("-")?"-":t.includes("+")?"+":"",r=/[1-9]/.exec(t),i=r?l+Number(r[0]):-1,u=[];for(;e.i<e.lines.length;){let c=e.lines[e.i];if(c.trim()===""){u.push(""),e.i++;continue}let f=c.length-c.trimStart().length;if(i===-1){if(f<=l)break;i=f}if(f<i)break;u.push(c.slice(i)),e.i++}let a=0;for(;u.length>0&&u[u.length-1]==="";)u.pop(),a++;let o;if(n){o="";for(let c=0;c<u.length;c++){let f=u[c];if(c>0){let h=u[c-1];f===""?o+=`
13
+ `:h!==""&&(o+=/^[ \t]/.test(h)||/^[ \t]/.test(f)?`
14
+ `:" ")}o+=f}}else o=u.join(`
15
+ `);return u.length===0?s==="+"?`
16
+ `.repeat(a):"":s==="-"?o:s==="+"?o+`
17
+ `.repeat(a+1):o+`
18
+ `}function L(e,t,l){let n=t[0];if((n==="|"||n===">")&&/^[|>][-+0-9]*\s*(?:#.*)?$/.test(t))return $(e,t,l);if(n==="{"||n==="["||n==='"'||n==="'"){let r=e.i,i=t,u=0,a=1;for(;;)try{let[o,c]=d(i,0,""),f=0;for(let m=i.indexOf(`
19
+ `);m!==-1&&m<c;m=i.indexOf(`
20
+ `,m+1))f++;let h=i.indexOf(`
21
+ `,c);if(k(i.slice(c,h===-1?i.length:h)).trim()!=="")throw new Error("YAML: unexpected content after a value");return e.i=r+f,o}catch(o){if(!(o instanceof g))throw o;if(r+u>=e.lines.length)throw new Error(o.message);let c=e.lines.slice(r+u,r+u+a);i+=`
22
+ `+c.join(`
23
+ `),u+=c.length,a*=2}}let s=k(t).trim();for(;e.i<e.lines.length;){let r=e.lines[e.i];if(r.trim()===""){let u=e.i;for(;u<e.lines.length&&e.lines[u].trim()==="";)u++;if(u>=e.lines.length||e.lines[u].length-e.lines[u].trimStart().length<=l)break;s+=`
24
+ `.repeat(u-e.i),e.i=u;continue}if(r.length-r.trimStart().length<=l)break;let i=k(r).trim();s+=(s.endsWith(`
25
+ `)?"":" ")+i,e.i++}return V(s)}function x(e,t,l=0){if(l>S)throw new Error("YAML: nesting is too deep");if(e.skipBlank(),e.i>=e.lines.length)return null;let n=e.indent();if(n<t)return null;let s=e.lines[e.i].slice(n);if(s==="-"||s.startsWith("- ")){let i=[];for(;e.i<e.lines.length&&(e.skipBlank(),!(e.i>=e.lines.length||e.indent()!==n));){let u=e.lines[e.i].slice(n);if(u!=="-"&&!u.startsWith("- "))break;let a=u.slice(1),o=a.length-a.trimStart().length+1,c=k(a).trim();c===""?(e.i++,i.push(x(e,n+1,l+1))):A(c)!==null?(e.lines[e.i]=" ".repeat(n+o)+a.trimStart(),i.push(x(e,n+o,l+1))):(e.i++,i.push(L(e,a.trim(),n)))}return i}if(A(s)===null)return e.i++,L(e,s.trim(),n-1);let r={};for(;e.i<e.lines.length&&(e.skipBlank(),!(e.i>=e.lines.length));){let i=e.indent();if(i<n)break;if(i>n)throw new Error("YAML: bad indentation of a mapping entry");let u=e.lines[e.i].slice(n),a=A(u);if(!a)throw new Error("YAML: can not read a block mapping entry");let o=String(d(a.key,0,"")[0]),c=u.slice(a.length);if(e.i++,k(c).trim()==="")if(e.skipBlank(),e.i<e.lines.length){let f=e.indent(),h=e.lines[e.i].slice(f),m=h==="-"||h.startsWith("- ");Y(r,o,f>n||m&&f===n?x(e,m?n:n+1,l+1):null)}else Y(r,o,null);else Y(r,o,L(e,c.trim(),n))}return r}function q(e){let t=e.trim();if(t[0]==="{"||t[0]==="[")try{let[s,r]=d(t,0,"");if(w(t,r,!1)===t.length)return s}catch(s){throw s instanceof g?new Error(s.message):s}let l=new y(e),n=x(l,0);if(l.skipBlank(),l.i<l.lines.length&&l.lines[l.i].trim()!=="...")throw new Error("YAML: end of the stream or a document separator is expected");return n}export{q as a};
@@ -0,0 +1 @@
1
+ function e(n){return n<128?n===32||n>=9&&n<=13:n===160||n===5760||n>=8192&&n<=8202||n===8232||n===8233||n===8239||n===8287||n===12288||n===65279}function r(n){return n===32||n===9}function o(n){return n===10||n===13||n===8232||n===8233}function t(n){return n>=48&&n<=57}function u(n){return n>=65&&n<=90||n>=97&&n<=122}function x(n){return n>=48&&n<=57||n>=65&&n<=70||n>=97&&n<=102}function i(n){return n>=48&&n<=57||n>=65&&n<=90||n>=97&&n<=122||n===95}export{e as a,r as b,o as c,t as d,u as e,x as f,i as g};
@@ -0,0 +1,4 @@
1
+ import{d as $,f as I}from"./XTDUIGUI.js";var H=/[&<>"\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/,P=/[&<>"]|[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]+/g,U={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"};function b(t){return H.test(t)?t.replace(P,e=>U[e]??""):t}function y(t){return b($(t))}var v=[];for(let t=0;t<100;t++)v.push(t===0?"":t%10===0?"."+t/10:"."+(t<10?"0"+t:t));function x(t){let e=Math.round(t*100);if(e===0)return"0";if(e>0){if(e<1e11){let i=Math.floor(e/100);return i+v[e-i*100]}}else if(e>-1e11){let i=-e,n=Math.floor(i/100);return"-"+n+v[i-n*100]}return String(e/100)}function ft(t,e,i,n,s){let d=t.lines;if(d.length===0)return"";let f=t.lineHeight,l=t.size*.35,p=i-t.height/2+f/2+l;if(d.length===1&&d[0].length===1&&d[0][0].icon===void 0&&d[0][0].style===0)return`<text${n} x="${x(e)}" y="${x(p)}" text-anchor="middle">${b(d[0][0].text)}</text>`;let o=Y(t);n=q(n,o);let a="",c="";for(let r=0;r<d.length;r++){let u=d[r],m=!1;for(let g of u)g.icon!==void 0&&(m=!0);if(m){let g=e-t.widths[r]/2;for(let h of u){if(h.icon!==void 0){let w=t.size*1.1,S=s?.(h.icon)??"";c+=`<svg class="pele-icon" data-icon="${y(h.icon)}" x="${x(g)}" y="${x(p-l-w/2)}" width="${x(w)}" height="${x(w)}" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">${S}</svg>`}else h.text!==""&&(a+=`<tspan x="${x(g)}" y="${x(p)}" text-anchor="start"${T(h.style&~o)}>${b(h.text)}</tspan>`);g+=h.width}}else{for(let g=0;g<u.length;g++){let h=u[g],w=g===0?` x="${x(e)}" y="${x(p)}"`:"";a+=`<tspan${w}${T(h.style&~o)}>${b(h.text)}</tspan>`}u.length===0&&(a+=`<tspan x="${x(e)}" y="${x(p)}"> </tspan>`)}p+=f}return`<text${n} text-anchor="middle" xml:space="preserve">${a}</text>${c}`}var O=' font-weight="var(--_w)"',L=' font-style="italic"';function T(t){return(t&1?O:"")+(t&2?L:"")}function Y(t){let e=3,i=!1;for(let n of t.lines)for(let s of n)s.icon!==void 0||s.text===""||(e&=s.style,i=!0);return i?e:0}function q(t,e){return t+(e&1&&!t.includes(' font-weight="')?O:"")+(e&2&&!t.includes(' font-style="')?L:"")}var C="--_bg:var(--pele-bg,#fff);--_fg:var(--pele-fg,#1f1f1f);--_m:var(--pele-muted,#6e6e6e);--_l:var(--pele-line,#1f1f1f);--_s:var(--pele-surface,#f3f3f3);--_a:var(--pele-surface-alt,#e6e6e6);--_b:var(--pele-border,#8a8a8a);--_c:var(--pele-accent,#5b7bd5);color:var(--_fg)",pt="var(--_fm)",_="var(--pele-radius,4px)",ut="var(--pele-critical,#e45756)",k=String.raw`(?:"[^"'\\\n<>{}();:@]*"|'[^"'\\\n<>{}();:@]*'|[\p{L}\p{N}_-][\p{L}\p{N}_ .-]*)`,G=new RegExp(String.raw`^\s*${k}(?:\s*,\s*${k})*\s*$`,"u");function M(t,e){return t&&G.test(t)?t:e}function N(t,e,i){return`;--_fm:var(--pele-font-mono,${M(i,"monospace")});font:${t}px sans-serif;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;font-family:var(--pele-font,${M(e,"sans-serif")})`}var K=new Set(["fill","fill-opacity","stroke","stroke-width","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-opacity","opacity","rx","ry"]),z=new Set(["color","font-size","font-family","font-weight","font-style","text-decoration","letter-spacing","word-spacing","opacity"]),X=/url\s*\(|expression\s*\(|javascript:|[<>{};\\]|@import|image-set|\/\*/i,A={shape:"",line:"",text:"",stroke:void 0,bold:!1,italic:!1,fontSize:void 0};function gt(t){if(t.length===0)return A;let e=new Map,i=new Map;for(let o of t){let a=o.indexOf(":");if(a<=0)continue;let c=o.slice(0,a).trim().toLowerCase(),r=o.slice(a+1).replace(/!important/gi,"").trim();r===""||X.test(r)||(K.has(c)&&e.set(c,r),z.has(c)&&i.set(c==="color"?"fill":c,r))}if(e.size===0&&i.size===0)return A;let n="",s="";for(let[o,a]of e)n+=`${o}:${a};`,o!=="fill"&&o!=="fill-opacity"&&(s+=`${o}:${a};`);let d="";for(let[o,a]of i)d+=`${o}:${a};`;let f=i.get("font-weight"),l=i.get("font-size"),p=l&&/^[\d.]+(px)?$/.test(l)?parseFloat(l):void 0;return{shape:n?` style="${b(n)}"`:"",line:s?` style="${b(s)}"`:"",text:d?` style="${b(d)}"`:"",stroke:e.get("stroke"),bold:f==="bold"||f==="bolder"||Number(f)>=600,italic:i.get("font-style")==="italic",fontSize:p!==void 0&&p>0&&p<=200?p:void 0}}var Z=/[^\w-]+/g;function ht(t){let e=t.replace(Z," ").trim();return e===""?"":" "+e}var J=["#4c78a8","#f58518","#54a24b","#e45756","#72b7b2","#eeca3b","#b279a2","#9d755d"];function mt(t){let e=(t%8+8)%8;return`var(--pele-series-${e+1},${J[e]})`}var E=` rx="${_}"`,Q=/<rect\b[^>]*>/g;function V(t){return t.includes(E)?t.replace(Q,e=>{let i=e.indexOf(E);if(i<0)return e;let n=e.slice(0,i)+e.slice(i+E.length),s=n.indexOf(' style="');if(s>=0)return`${n.slice(0,s+8)}rx:var(--_r);${n.slice(s+8)}`;let d=n.endsWith("/>")?n.length-2:n.length-1;return`${n.slice(0,d)} style="rx:var(--_r)"${n.slice(d)}`}):t}var W=[["--_tw","title"],["--_hw","heading"],["--_w","bold"]];function $t(t,e,i,n,s,d,f){let l=b(s.idPrefix??"pele"),p="",o="";d.accTitle&&(p+=`<title id="${l}-title">${y(d.accTitle)}</title>`,o+=` aria-labelledby="${l}-title"`),d.accDescr&&(p+=`<desc id="${l}-desc">${y(d.accDescr)}</desc>`,o+=` aria-describedby="${l}-desc"`);let a=s.responsive===!1?"":"max-width:100%;height:auto;";f=V(f);let c=f.includes("var(--_r)")?`;--_r:${_}`:"";for(let[r,u]of W)f.includes(`var(${r})`)&&(c+=`;${r}:var(--pele-${u}-weight,bold)`);return`<svg xmlns="http://www.w3.org/2000/svg" class="pele pele-${t}" viewBox="0 0 ${e} ${i}" width="${e}" height="${i}" style="${a}${C}${c}${b(N(n,s.fontFamily,s.fontFamilyMono))}" fill="var(--_fg)" role="graphics-document document" aria-roledescription="${t}"${o}>`+p+f+"</svg>"}var tt=1.5,et=/<br\s*\/?>|\\n|\n/gi,D=/<\/?([a-zA-Z][\w-]*)(?:\s[^<>]*)?\/?>/y,B=/(fa[bklrs]?):fa-([\w-]+)/g,nt=/[<\\\n*_]|fa[bklrs]?:fa-/,it={lines:[],widths:[],width:0,height:0,size:0,lineHeight:0};function st(t){let e=t.split(`
2
+ `),i=1/0;for(let n of e){if(n.trim()==="")continue;let s=n.length-n.trimStart().length;s<i&&(i=s)}return i===1/0||i===0?t:e.map(n=>n.slice(Math.min(i,n.length-n.trimStart().length))).join(`
3
+ `)}function R(t,e,i){if(e==="")return;let n=$(e),s=t[t.length-1];s&&s.style===i&&s.icon===void 0?s.text+=n:t.push({text:n,style:i,width:0})}function ot(t,e,i){if(!e.includes(":fa-")){R(t,e,i);return}let n=0;B.lastIndex=0;let s;for(;(s=B.exec(e))!==null;){let d=`${s[1]}:fa-${s[2]}`;if(R(t,e.slice(n,s.index),i),n=s.index+s[0].length,I(d)!=="")t.push({text:"",style:i,icon:d,width:0});else if(e[n]===" ")n++;else if(n===e.length){let f=t[t.length-1];f&&f.icon===void 0&&(f.text=f.text.trimEnd())}}R(t,e.slice(n),i)}function rt(t,e,i,n){let s=n,d=0,f="",l=0,p=e.length,o=()=>{ot(t,f,s),f=""};for(;l<p;){let a=e[l];if(a==="<"){D.lastIndex=l;let c=D.exec(e);if(c&&c.index===l){let r=c[1].toLowerCase(),u=e[l+1]==="/",m=r==="b"||r==="strong"?1:r==="i"||r==="em"?2:0;m&&(o(),s=u?s&~m|n&m:s|m),l+=c[0].length;continue}}else if(i&&(a==="*"||a==="_")){let c=e[l+1]===a,r=c?1:2,u=c?2:1,m=(d&r)===0,g=l>0?e[l-1]:" ",h=l+u<p?e[l+u]:" ",w=m&&h.trim()!==""&&e.indexOf(c?a+a:a,l+u)!==-1,S=!m&&g.trim()!=="",F=a==="_"&&/\w/.test(g)&&/\w/.test(h);if((w||S)&&!F){o(),d=w?d|r:d&~r,s=w?s|r:s&~r|n&r,l+=u;continue}}f+=a,l++}o()}function lt(t,e,i){let n=0;for(let s of t)s.width=s.icon!==void 0?i*1.25:e.width(s.text,i,s.style),n+=s.width;return n}function j(t,e,i,n,s,d){let f=[],l=0,p=()=>{let o=f[f.length-1];if(o&&o.icon===void 0){let a=o.text.trimEnd();if(a!==o.text){o.text=a;let c=e.width(a,i,o.style);l+=c-o.width,o.width=c}}s.push(f),d.push(l),f=[],l=0};for(let o of t){if(o.icon!==void 0){let a=i*1.25;l>0&&l+a>n&&p(),f.push({...o,width:a}),l+=a;continue}for(let a of o.text.match(/\s*\S+\s*|\s+/g)??[]){let c=a;l>0&&l+e.width(c.trimEnd(),i,o.style)>n&&(p(),c=c.trimStart());let r=f[f.length-1];if(r&&r.style===o.style&&r.icon===void 0){r.text+=c,r.width=e.width(r.text,i,r.style),l=0;for(let u of f)l+=u.width}else{let u=e.width(c,i,o.style);f.push({text:c,style:o.style,width:u}),l+=u}}}(f.length>0||s.length===0)&&p()}function _t(t,e,i,n,s,d=0){if(t===void 0||t==="")return it;let f=Math.round(n*tt);if(!nt.test(t)&&!t.includes("&")&&!t.includes("fl")){let c=t.trim(),r=i.width(c,n,d);if(r<=s||!c.includes(" "))return{lines:[[{text:c,style:d,width:r}]],widths:[r],width:r,height:f,size:n,lineHeight:f};let u=[],m=[];j([{text:c,style:d,width:r}],i,n,s,u,m);let g=0;for(let h of m)h>g&&(g=h);return{lines:u,widths:m,width:g,height:u.length*f,size:n,lineHeight:f}}let l=e?st(t.replace(/\r\n?/g,`
4
+ `)).trim():t.trim(),p=[],o=[],a=0;for(let c of l.split(et)){let r=[];rt(r,c.trim(),e,d);let u=lt(r,i,n);u>s?j(r,i,n,s,p,o):(p.push(r),o.push(u))}for(let c of o)c>a&&(a=c);return{lines:p,widths:o,width:a,height:p.length*f,size:n,lineHeight:f}}export{b as a,y as b,x as c,ft as d,T as e,Y as f,q as g,pt as h,_ as i,ut as j,gt as k,ht as l,mt as m,$t as n,_t as o};
@@ -0,0 +1,3 @@
1
+ import{a as F}from"./RVARI57O.js";import{c as Ne}from"./DKTLEL5E.js";import{a as Zt,d as at,e as qt,g as Ie}from"./GUJTEFZK.js";import{a as Ce,b as te,c as f,d as st,m as ee,n as $e,o as ne}from"./IZOKQ2GT.js";import{a as Se,c as Jt,g as Le}from"./XTDUIGUI.js";var $t=class{type="xychart";title;accTitle;accDescr;orientation;xAxis={type:"band",title:"",categories:[]};yAxis={type:"linear",title:"",min:1/0,max:-1/0};hasSetXAxis=!1;hasSetYAxis=!1;plots=[];setOrientation(e){this.orientation=e==="horizontal"?"horizontal":"vertical"}setXAxisTitle(e){this.xAxis.title=e.text.trim()}setXAxisRangeData(e,i){this.xAxis={type:"linear",title:this.xAxis.title,min:e,max:i},this.hasSetXAxis=!0}setXAxisBand(e){this.xAxis={type:"band",title:this.xAxis.title,categories:e.map(i=>i.text.trim())},this.hasSetXAxis=!0}setYAxisTitle(e){this.yAxis.title=e.text.trim()}setYAxisRangeData(e,i){this.yAxis={type:"linear",title:this.yAxis.title,min:e,max:i},this.hasSetYAxis=!0}plotData(e){if(e.length===0)return[];this.hasSetXAxis||this.setXAxisRangeData(1,e.length);let i=this.xAxis;if(i.type==="band"&&e.length>i.categories.length&&(e=e.slice(0,i.categories.length)),!this.hasSetYAxis){let{min:h,max:a}=this.yAxis;for(let l of e)l<h&&(h=l),l>a&&(a=l);this.yAxis={type:"linear",title:this.yAxis.title,min:h,max:a}}if(i.type==="band")return i.categories.map((h,a)=>[h,e[a]]);if(e.length===1)return[[`${i.min}`,e[0]]];let c=(i.max-i.min)/(e.length-1);return e.map((h,a)=>[`${i.min+a*c}`,h])}addPlot(e,i,c){let h={type:e,title:i.text.trim(),data:this.plotData(c.map(a=>a.value))};e==="line"&&c.some(a=>a.label.trim()!=="")&&(h.pointLabels=c.map(a=>a.label.trim())),this.plots.push(h)}setLineData(e,i){this.addPlot("line",e,i)}setBarData(e,i){this.addPlot("bar",e,i)}setDiagramTitle(e){this.title=e}setAccTitle(e){this.accTitle=e.replace(/^\s+/g,"")}setAccDescription(e){this.accDescr=e.replace(/\n\s+/g,`
2
+ `)}};var ie=["$end","INVALID","NEWLINE","title","acc_title","acc_title_value","acc_descr","acc_descr_value","acc_descr_multiline_value","XYCHART","CHART_ORIENTATION","X_AXIS","Y_AXIS","ARROW_DELIMITER","LINE","BAR","NUMBER_WITH_DECIMAL","SQUARE_BRACES_START","SQUARE_BRACES_END","STR","ALPHA","COLON","PLUS","COMMA","EQUALS","MULT","BRKT","UNDERSCORE","DOT","AMP","MINUS","NUM","SEMI","EOF"];var De=[33,33,33,33,33,19,5,7,8],ke="`)"+" ".repeat(36)+'{ this.pushstate(md_string); }\n<md_string>(?:(?!`").)+'+" ".repeat(18)+"{ return md_str; }\n<md_string>(?:`",ae=new Uint8Array(128);for(let[n,e]of[[":",21],["+",22],[",",23],["=",24],["*",25],["#",26],["_",27],[".",28],["&",29],["-",30],[";",32]])ae[n.charCodeAt(0)]=e;function we(n){let e=n.length,i=[],c=[],h=[],a=[],l=0,t=0,u=(r,A,x)=>{i.push(r),c.push(n.slice(A,x)),h.push(A),t=x},y=r=>{a.push(l),l=r},_=()=>{a.length>0&&(l=a.pop())},C=r=>{let A=n.indexOf(`
3
+ `,r);return A===-1?e:A},o=r=>{for(;r<e&&Zt(n.charCodeAt(r));)r++;return r},M=r=>{for(;at(n.charCodeAt(r));)r++;return r},m=r=>F(n,t,r)&&!Ie(n.charCodeAt(t+r.length));for(;t<e;){let r=n.charCodeAt(t);if(l===5){if(r===34)t++,_();else{let x=n.indexOf('"',t);u(19,t,x===-1?e:x)}continue}if(l===6||l===7){u(De[l],t,C(t)),_();continue}if(l===8){if(r===125)t++,_();else{let x=n.indexOf("}",t);u(8,t,x===-1?e:x)}continue}let A=n.charCodeAt(t+1);if(r===37&&A===37){t=C(t+2);continue}if(r!==125&&A===37&&n.charCodeAt(t+2)===37){t=C(t+3);continue}if(r===10||r===13){if((l===1||l===3)&&(r===10||A===10)){u(2,t,r===10?t+1:t+2),_();continue}let x=t+1;for(let S=n.charCodeAt(x);S===10||S===13;S=n.charCodeAt(++x));u(2,t,x);continue}switch(r|32){case 116:if(m("title")){u(3,t,t+5);continue}break;case 97:if(F(n,t,"acc")){let x=F(n,t+3,"descr");if(x||F(n,t+3,"title")){let S=o(t+8),E=n.charCodeAt(S);if(E===58){u(x?6:4,t,o(S+1)),y(x?7:6);continue}if(E===123&&x){t=o(S+1),y(8);continue}}}break;case 120:if(m("xychart-beta")){u(9,t,t+12);continue}if(m("xychart")){u(9,t,t+7);continue}if(m("x-axis")){u(11,t,t+6),y(1);continue}break;case 121:if(m("y-axis")){u(12,t,t+6),y(1);continue}break;case 118:if(F(n,t,"vertical")){u(10,t,t+8);continue}break;case 104:if(F(n,t,"horizontal")){u(10,t,t+10);continue}break;case 108:if(m("line")){u(14,t,t+4),y(3);continue}break;case 98:if(m("bar")){u(15,t,t+3),y(3);continue}break}if(r===91){l===1?y(2):l===3&&y(4),u(17,t,t+1);continue}if(r===93){(l===4||l===2)&&_(),u(18,t,t+1);continue}if(l===1&&r===45&&A===45&&n.charCodeAt(t+2)===62){u(13,t,t+3);continue}if(l===1||l===4){let x=r===43||r===45?t+1:t,S=n.charCodeAt(x),E=-1;if(at(S)?(E=M(x+1),n.charCodeAt(E)===46&&at(n.charCodeAt(E+1))&&(E=M(E+2))):S===46&&at(n.charCodeAt(x+1))&&(E=M(x+2)),E!==-1){u(16,t,E);continue}}if(r===96&&F(n,t,ke)){t+=ke.length,_();continue}if(r===34){t++,y(5);continue}if(qt(r)){let x=t+1;for(;qt(n.charCodeAt(x));)x++;u(20,t,x);continue}if(at(r)){u(31,t,M(t+1));continue}if(Zt(r)){t=o(t+1);continue}if(r<128&&ae[r]!==0){u(ae[r],t,t+1);continue}break}return t<e?(i.push(1),c.push(""),h.push(t),{types:i,texts:c,starts:h}):(i.push(De[l]),c.push(""),h.push(e),i.push(0),c.push(""),h.push(e),{types:i,texts:c,starts:h})}function ve(...n){let e=new Uint8Array(34);for(let i of n)e[i]=1;return e}var Oe=ve(29,31,20,22,24,25,28,26,30,27),Xe=ve(2,32,33);function Ue(n,e){let{types:i,texts:c,starts:h}=we(n),a=0,l=o=>{let M=i[a];throw M===1?Jt("xychart",n,h[a],"",!0):Jt("xychart",n,h[a],`Expecting ${o}, got '${ie[M]}'`)},t=o=>(i[a]!==o&&l(`'${ie[o]}'`),c[a++]),u=o=>o===19||Oe[o]===1,y=()=>{u(i[a])||l("'STR', 'ALPHA', 'NUM'");let o=c[a++];if(i[a-1]!==19)for(;Oe[i[a]]===1;)o+=c[a++];return{text:o,type:"text"}},_=()=>{let o=Number(t(16));return t(13),[o,Number(t(16))]},C=()=>{let o=[];for(t(17);;){let M=Number(t(16));if(o.push({value:M,label:i[a]===19?c[a++]:""}),i[a]!==23)break;a++}return t(18),o};for(;;)if(Xe[i[a]]===1)a++;else{if(i[a]!==9)break;i[++a]===10&&e.setOrientation(c[a++])}for(;i[a]!==0;){let o=i[a++];switch(o){case 3:e.setDiagramTitle(y().text.trim());break;case 11:case 12:{let M=u(i[a])?y():void 0;if(o===11&&i[a]===17){let m=[];do a++,m.push(y());while(i[a]===23);t(18),e.setXAxisBand(m)}else if(i[a]===16||M===void 0){let[m,r]=_();o===11?e.setXAxisRangeData(m,r):e.setYAxisRangeData(m,r)}o===11?e.setXAxisTitle(M??{type:"text",text:""}):e.setYAxisTitle(M??{type:"text",text:""});break}case 14:case 15:{let M=i[a]===17?{text:"",type:"text"}:y(),m=C();o===14?e.setLineData(M,m):e.setBarData(M,m);break}case 4:e.setAccTitle(t(5).trim());break;case 6:e.setAccDescription(t(7).trim());break;case 8:e.setAccDescription(c[a-1].trim());break;default:a--,l("'title', 'X_AXIS', 'Y_AXIS', 'LINE', 'BAR', 'acc_title', 'acc_descr', 'acc_descr_multiline_value'")}for(;Xe[i[a]]===1;)a++}}function se(n,e){let i=n/Math.max(e,1),c=Math.floor(Math.log10(i)),h=i/10**c,a=h>=7.07?10:h>=3.16?5:h>=1.41?2:1;return c<0?-(10**-c)/a:a*10**c}function xt(n,e){return n>0?e/n:e*-n}function ot(n,e){return n>0?e*n:e/-n}function oe(n,e,i){let c=Math.round(xt(i,n));ot(i,c)<n&&c++;let h=Math.round(xt(i,e));ot(i,h)>e&&h--;let a=[];for(let l=c;l<=h&&a.length<100;l++)a.push(ot(i,l));return a}var Te=4,rt=12,Be=26,Pe=24,He=1e300;function re(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)?n:{}}function O(n,e,i=!0){let c=n[e];return typeof c=="boolean"?c:i}function We(n,e){return typeof n=="number"&&n>0?Math.round(Math.min(Math.max(n,100),4e3)):e}function K(n){return typeof n=="number"&&isFinite(n)?Math.min(Math.max(n,-He),He):void 0}function Je(n){let e=0;for(let i of n)e=Math.max(e,i.label.width);return e}function Nt(n,e,i,c){let h=n.lines.length===1?n.lines[0]:void 0;return h&&h.length===1&&h[0].icon===void 0&&h[0].style===0?`<text x="${f(e)}" y="${f(i+n.size*.35)}" text-anchor="${c}">${Ce(h[0].text)}</text>`:st(n,e+(c==="start"?n.width/2:c==="end"?-n.width/2:0),i,"")}function Ye(n,e,i){if(n.plots.length===0)throw new Se("No Plot to render, please provide a plot with some data","semantic",{type:"xychart"});let c=re(e.xyChart),h=i.fontSize??16,a=Math.round(h*.875),l=Math.round(h*.75),t=i.measurer??Le(i.fontFamily),u=i.padding??8,y=We(c.width,700),_=Ne(i,y,240),C=Math.round(We(c.height,500)*Math.max(.6,_/y)),o=(n.orientation??c.chartOrientation)==="horizontal",M=O(c,"showDataLabel",!1),m=n.xAxis,r=n.plots,A=(s,d,p)=>ne(s,!1,t,d,p),x=A("0",a,4e3).height,S=A("0",l,4e3).height,E=ne(O(c,"showTitle")?n.title:void 0,!1,t,h,_-2*u,1),ze=E.height>0?E.height+12:0,pt=[],Dt=0;O(c,"showLegend")&&r.forEach((s,d)=>{if(s.title==="")return;let p=A(s.title,a,_*.3);pt.push({index:d,label:p}),Dt=Math.max(Dt,p.width+rt+8)});let kt=pt.length>0?Dt+Pe:0,j=r.filter(s=>s.type==="bar").length,b=n.yAxis.min,g=n.yAxis.max,ce=n.hasSetYAxis&&isFinite(b)&&isFinite(g)&&b!==g;if(ce)b=K(b),g=K(g);else{b=1/0,g=-1/0;for(let s of r)for(let[,d]of s.data){let p=K(d);p!==void 0&&(p<b&&(b=p),p>g&&(g=p))}b>g&&(b=g=0),j>0&&(b=Math.min(b,0),g=Math.max(g,0)),b===g&&(b===0?g=1:(b-=Math.abs(b)/2,g+=Math.abs(g)/2))}let le=(s,d)=>{let p=se(Math.abs(g-b),Math.max(2,Math.min(10,Math.floor(s/d))));return ce||(b=ot(p,Math.floor(xt(p,b)+1e-9)),g=ot(p,Math.ceil(xt(p,g)-1e-9))),oe(Math.min(b,g),Math.max(b,g),p).map(R=>({at:(R-b)/(g-b),label:A(String(R),a,4e3)}))},ct=1;if(m.type==="band")ct=Math.max(m.categories.length,1);else for(let s of r)ct=Math.max(ct,s.data.length);let et=1/ct,bt=m.type==="band"||j>0?et/2:0,T=K(m.type==="linear"?m.min:void 0),nt=K(m.type==="linear"?m.max:void 0),he=T!==void 0&&nt!==void 0&&T!==nt,fe=(s,d)=>m.type==="band"?(s+.5)*et:bt+(d>1?s/(d-1):he?0:.5)*(1-2*bt),wt=re(c.xAxis),de=re(c.yAxis),At=o?wt:de,gt=o?de:wt,lt=A(O(At,"showTitle")?o?m.title:n.yAxis.title:void 0,a,C*.8),_t=A(O(gt,"showTitle")?o?n.yAxis.title:m.title:void 0,a,_*.8),Mt=O(At,"showTick")?Te:0,yt=O(gt,"showTick")?Te:0,Ot=O(At,"showLabel"),Xt=O(gt,"showLabel"),Qe=o?_*.3:Math.max(48,(_-2*u-64-kt)*et-8),vt=m.type==="band"&&O(wt,"showLabel")?m.categories.map(s=>A(s,a,Qe)):[],Ut=0,Et=0;for(let s of vt)Ut=Math.max(Ut,s.width),Et=Math.max(Et,s.height);let ue=s=>{let d=[];if(m.type==="band"){let p=vt.length===0?8:o?Et:Ut+12,R=Math.max(1,Math.ceil(p/(s*et)));for(let N=0;N<m.categories.length;N+=R)d.push({at:(N+.5)*et,label:vt[N]??A(void 0,a,0)})}else if(he){let p=se(Math.abs(nt-T),Math.max(2,Math.min(10,Math.floor(s/(o?32:80)))));for(let R of oe(Math.min(T,nt),Math.max(T,nt),p))d.push({at:bt+(R-T)/(nt-T)*(1-2*bt),label:A(String(R),a,4e3)})}else T!==void 0&&d.push({at:.5,label:A(String(T),a,4e3)});return d},ht=0,Rt=0;for(let s of r){for(let d of s.pointLabels??[])ht=Math.max(ht,t.width(d,l,0));if(M&&o&&s.type==="bar")for(let[,d]of s.data)Rt=Math.max(Rt,t.width(String(K(d)??""),l,0))}let me=Xt?o||m.type!=="band"?x:Et:0,Fe=yt+(me>0?me+4:0)+(_t.height>0?_t.height+4:0),Ke=o?0:ht>0||M?S+4:Ot?x/2:0,W=u+ze+Ke,X=Math.max(1,C-u-Fe-W),V=W+X,Tt=o?ue(X):le(X,56),xe=Ot?Je(Tt):0,$=u+(lt.height>0?lt.height+6:0)+(xe>0?xe+6:0)+Mt,je=Math.max(ht>0?ht+12:0,Rt>0?Rt+8:0),Bt=o?Math.min(_*.25,je):0,I=Math.max(1,_-u-$-kt-Bt),Pt=o?le(I,80):ue(I);if(Xt&&kt+Bt===0){let s=0;for(let d of Pt)s=Math.max(s,d.at*I+d.label.width/2-I);I=Math.max(1,I-s)}let St=$+I,G=(s,d)=>o?$+d*I:$+s*I,J=(s,d)=>o?W+s*X:V-d*X,Ht=s=>(s-b)/(g-b),pe=s=>Math.min(Math.max(s,0),1),be=s=>o?`M${f(G(0,s))},${f(W)}V${f(V)}`:`M${f($)},${f(J(0,s))}H${f(St)}`,Wt="";for(let s of o?Pt:Tt)Wt+=be(s.at);let Z="",It="";O(At,"showAxisLine")&&(Z+=`M${f($)},${f(W)}V${f(V)}`),O(gt,"showAxisLine")&&(Z+=`M${f($)},${f(V)}H${f(St)}`);for(let s of Tt){let d=o?W+s.at*X:V-s.at*X;Mt&&(Z+=`M${f($)},${f(d)}h${-Mt}`),Ot&&(It+=Nt(s.label,$-Mt-6,d,"end"))}for(let s of Pt){let d=$+s.at*I;yt&&(Z+=`M${f(d)},${f(V)}v${yt}`),Xt&&(It+=Nt(s.label,d,V+yt+4+s.label.height/2,"middle"))}let Yt=(o?X:I)*et,ft=Yt*.7/Math.max(j,1),zt=j>1?Math.min(2,ft*.2):0,it=pe(Ht(0));j>0&&it>0&&it<1&&(Z+=be(it));let Ae="",ge="",Qt="",Ft="",Ve=0;r.forEach((s,d)=>{let p=ee(d),R=s.title?` data-id="${te(s.title)}"`:"",N=m.type==="band"?Math.min(s.data.length,ct):s.data.length;if(s.type==="bar"){let Y=(Ve++-(j-1)/2)*ft-(ft-zt)/2,mt="";for(let D=0;D<N;D++){let k=K(s.data[D][1]);if(k===void 0)continue;let v=fe(D,N),q=pe(Ht(k)),tt=Math.min(it,q),P=Math.max(it,q),L=o?G(v,tt):G(v,0)+Y,w=o?J(v,0)+Y:J(v,P),H=o?(P-tt)*I:ft-zt,U=o?ft-zt:(P-tt)*X;if(mt+=`<rect x="${f(L)}" y="${f(w)}" width="${f(H)}" height="${f(U)}"/>`,!M)continue;let z=String(k),Ct=t.width(z,l,0),Q=q>=it?1:-1,ye=L+H/2,Ee=w+U/2,Re="middle";if(o){if(U<l)continue;ye=(Q>0?L+H:L)+Q*6,Re=Q>0?"start":"end"}else{if(Ct+2>Yt/j)continue;Ee=(Q>0?w:w+U)-Q*(S/2+2)}Qt+=`<text x="${f(ye)}" y="${f(Ee+l*.35)}" text-anchor="${Re}">${z}</text>`}Ae+=`<g class="pele-series pele-bars"${R} fill="${p}">${mt}</g>`;return}let dt="",Me="",Gt=!1,ut=0,B=NaN;for(let Y=0;Y<N;Y++){let mt=K(s.data[Y][1]);if(mt===void 0){B=NaN;continue}let D=fe(Y,N),k=Ht(mt),v=k>=0&&k<=1;if(B!==B)v&&(dt+=`M${f(G(D,k))},${f(J(D,k))}`),Gt=v;else{let L=k-B,w=0,H=1;if(L!==0){let U=-B/L,z=(1-B)/L;w=Math.max(w,Math.min(U,z)),H=Math.min(H,Math.max(U,z))}else v||(w=2);if(w<=H){let U=ut+(D-ut)*w,z=B+L*w,Ct=ut+(D-ut)*H,Q=B+L*H;(!Gt||w>0)&&(dt+=`M${f(G(U,z))},${f(J(U,z))}`),dt+=`L${f(G(Ct,Q))},${f(J(Ct,Q))}`}Gt=v}if(ut=D,B=k,!v)continue;let q=G(D,k),tt=J(D,k);Yt>=12&&(Me+=`<circle cx="${f(q)}" cy="${f(tt)}" r="3"/>`);let P=A(s.pointLabels?.[Y],l,4e3);if(P.height>0){let L=P.width/2;Ft+=o?Nt(P,q+10,tt,"start"):Nt(P,Math.max(Math.min(q,St-L),$+L),tt-6-P.height/2,"middle")}}ge+=`<g class="pele-series pele-line"${R} fill="${p}">`+(dt?`<path d="${dt}" fill="none" stroke="${p}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>`:"")+Me+"</g>"});let Lt="";lt.height>0&&(Lt+=`<g transform="translate(${f(u+lt.height/2)},${f(W+X/2)}) rotate(-90)">${st(lt,0,0,"")}</g>`),Lt+=st(_t,$+I/2,C-u-_t.height/2,"");let Kt="",_e=0;for(let s of pt)_e+=Math.max(Be,s.label.height+6);let jt=W+Math.max(0,(X-_e)/2),Vt=St+Bt+Pe;for(let{index:s,label:d}of pt){let p=Math.max(Be,d.height+6);if(jt+p>C)break;let R=jt+p/2,N=ee(s);Kt+=`<g class="pele-legend-item" data-id="${te(r[s].title)}">`+(r[s].type==="bar"?`<rect x="${f(Vt)}" y="${f(R-rt/2)}" width="${rt}" height="${rt}" rx="2" fill="${N}"/>`:`<path d="M${f(Vt)},${f(R)}h${rt}" stroke="${N}" stroke-width="2" stroke-linecap="round"/>`)+st(d,Vt+rt+8+d.width/2,R,"")+"</g>",jt+=p}let Ge=st(E,_/2,u+E.height/2,' class="pele-title" font-weight="var(--_tw)"')+(Wt?`<path class="pele-grid" d="${Wt}" stroke="var(--_a)"/>`:"")+`<g class="pele-plot">${Ae}${ge}</g>`+(Z?`<path class="pele-axis" d="${Z}" fill="none" stroke="var(--_b)"/>`:"")+(It?`<g class="pele-axis-labels" font-size="${a}" fill="var(--_m)">${It}</g>`:"")+(Lt?`<g class="pele-axis-titles" font-size="${a}">${Lt}</g>`:"")+(Qt?`<g class="pele-data-labels" font-size="${l}">${Qt}</g>`:"")+(Ft?`<g class="pele-point-labels" font-size="${l}">${Ft}</g>`:"")+(Kt?`<g class="pele-legend" font-size="${a}">${Kt}</g>`:"");return{svg:$e("xychart",_,C,h,i,n,Ge),width:_,height:C,links:[]}}var Rn={type:"xychart",section:"xyChart",parse(n,e,i){let c=new $t;return c.title=i,Ue(n,c),c},render:Ye};export{Rn as a};
@@ -0,0 +1,2 @@
1
+ import{a as ae,b as ce}from"./DKTLEL5E.js";import{a as le,b as fe,c as de,d as pe,e as he,f as me,g as ue,h as ge,i as $e,j as be,k as B,l as we,m as ye,n as Me,o as Pe,p as xe}from"./3DKXF73K.js";import{b as F,c as o,d as G,m as U,n as se,o as Z}from"./IZOKQ2GT.js";import{a as oe,g as re}from"./XTDUIGUI.js";function ke(i,e){let t=new Map;for(let{label:n,value:c}of i.sections){if(c<0)throw new oe(`"${n}" has invalid value: ${c}. Negative values are not allowed in pie charts. All slice values must be >= 0.`,"semantic",{type:"pie"});t.has(n)||t.set(n,c)}return{type:"pie",title:i.title||e,accTitle:i.accTitle?i.accTitle.replace(/^\s+/g,""):void 0,accDescr:i.accDescr?i.accDescr.replace(/\n\s+/g,`
2
+ `):void 0,showData:i.showData,sections:t}}function Ae(i,e){let t=e;for(let n=i.charCodeAt(t);n>=48&&n<=57;n=i.charCodeAt(t))t++;return t}function Re(){let i=0,e=0,t=-1;return(n,c)=>{let s=n.charCodeAt(c)===45?c+1:c;if((s<i||s>=e)&&(i=s,e=Ae(n,s),t=-1,e>s&&n.charCodeAt(e)===46)){let r=Ae(n,e+1),f=r-e-1;f>0&&n.charCodeAt(r)!==46?t=r:f>1&&(t=r-1)}return e===s?-1:t>=0?t:n.charCodeAt(s)===48?n.charCodeAt(s+1)===46?-1:s+1:n.charCodeAt(e)!==46?e:e-1>s?e-1:-1}}var De=[B("showData"),B("pie"),{name:":",pattern:":"},{name:"NUMBER_PIE",pattern:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/y,scanner:Re,first:"-0123456789"},fe,de,pe,he,me,ue,ge,$e,be];function Ce(i){let e=new xe(le(i,De,"pie"),De,"pie"),t={$type:"Pie",showData:!1,sections:[]},n=()=>{if(e.kind!==-1)for(e.kind!==8&&e.fail("a line break or the end of input");e.kind===8;)e.i++};for(;e.kind===8;)e.i++;for(e.expect(1),t.showData=e.accept(0);e.kind!==-1;)switch(e.kind){case 8:e.i++;break;case 4:t.accDescr=Me(e.take()),n();break;case 5:t.accTitle=ye(e.take()),n();break;case 6:t.title=we(e.take()),n();break;case 7:{let c=Pe(e.take());e.expect(2);let s=Number(e.expect(3));t.sections.push({$type:"PieSection",label:c,value:s}),n();break}default:e.fail("a section, a title, or a line break")}return t}var Le=120,E=12,K=26,Y=32,Ee=28;function q(i,e){return i.pie?.[e]}function M(i,e){return`${o(Math.sin(i)*e)},${o(-Math.cos(i)*e)}`}function _e(i,e,t,n){if(e-i>=Math.PI*2-1e-9){let s=(r,f)=>`M0,${o(-r)}A${o(r)},${o(r)} 0 1 ${f} 0,${o(r)}A${o(r)},${o(r)} 0 1 ${f} 0,${o(-r)}Z`;return s(t,1)+(n>0?s(n,0):"")}let c=e-i>Math.PI?1:0;return n<=0?`M0,0L${M(i,t)}A${o(t)},${o(t)} 0 ${c} 1 ${M(e,t)}Z`:`M${M(i,t)}A${o(t)},${o(t)} 0 ${c} 1 ${M(e,t)}L${M(e,n)}A${o(n)},${o(n)} 0 ${c} 0 ${M(i,n)}Z`}function Te(i,e,t){return ae(t,Le*2,140,(n,c)=>Ne(i,e,t,n/2,c))}function Ne(i,e,t,n,c){let s=t.fontSize??16,r=Math.round(s*.875),f=t.measurer??re(t.fontFamily),u=t.padding??8,T=q(e,"textPosition"),J=typeof T=="number"&&T>=0&&T<=1?T:.75,v=q(e,"donutHole"),ve=typeof v=="number"&&v>0&&v<=.9?v*n:0,N=String(q(e,"legendPosition")??"right"),p=c&&(N==="left"||N==="right")?"bottom":N,P=[...i.sections],O=0;for(let[,a]of P)O+=a;let I=P.map(([a,l])=>Z(i.showData?`${a} [${l}]`:a,!1,f,r,4e3)),d=0;for(let a of I)d=Math.max(d,a.width);d+=I.length>0?E+8:0;let g=I.length*K,x=Z(i.title,!1,f,s,ce(t),1),Q=x.height>0?x.height+16:0,X=P.map(([,a])=>{let l=O>0?a/O:0;return l*100>=1&&(l*100).toFixed(0)!=="0"?l:0}),ee=X.map(a=>a===0||a>=.5?!1:2*n*J*Math.sin(a*Math.PI)<f.width((a*100).toFixed(0)+"%",r,0)+6),Ie=ee.includes(!0)?Ee:0,$=p==="left"||p==="right"||p==="center"?p:"",te=p==="top"||p==="bottom",h=(n+Ie)*2,m=h,b=h;$==="left"||$==="right"?(m+=d>0?Y+d:0,b=Math.max(b,g)):te&&(m=Math.max(m,d),b+=g>0?20+g:0),m=Math.max(m,x.width);let k=u+($==="left"?d+Y+h/2:$==="right"?h/2:m/2),A=u+Q,S=A+(p==="top"?g+20+h/2:te?h/2:b/2),R="",W="",j="",L=0;P.forEach(([a],l)=>{let y=X[l];if(y===0)return;let V=L+y*Math.PI*2;R+=`<path class="pele-slice" data-id="${F(a)}" d="${_e(L,V,n,ve)}" fill="${U(l)}"/>`;let _=(L+V)/2,ie=(y*100).toFixed(0)+"%";if(ee[l]){let C=n+Ee/2;j+=`<text x="${o(Math.sin(_)*C)}" y="${o(-Math.cos(_)*C+r*.35)}">${ie}</text>`}else{let C=n*J;W+=`<text x="${o(Math.sin(_)*C)}" y="${o(-Math.cos(_)*C+r*.35)}">${ie}</text>`}L=V}),R===""&&(R=`<circle class="pele-slice" r="${n}" fill="none" stroke="var(--_b)"/>`);let z="",w,D;$==="right"?(w=k+h/2+Y,D=A+(b-g)/2):$==="left"?(w=u,D=A+(b-g)/2):$==="center"?(w=k-d/2,D=S-g/2):(w=u+(m-d)/2,D=p==="top"?A:A+h+20),I.forEach((a,l)=>{let y=D+l*K+K/2;z+=`<g class="pele-legend-item" data-id="${F(P[l][0])}"><rect x="${o(w)}" y="${o(y-E/2)}" width="${E}" height="${E}" rx="2" fill="${U(l)}"/>`+G(a,w+E+8+a.width/2,y,"")+"</g>"});let H=Math.ceil(m+2*u),ne=Math.ceil(b+Q+2*u),Se=G(x,H/2,u+x.height/2,' class="pele-title" font-weight="var(--_tw)"')+`<g class="pele-slices" transform="translate(${o(k)},${o(S)})" stroke="var(--_bg)" stroke-width="1.5" stroke-linejoin="round">${R}</g>`+(W?`<g class="pele-slice-labels" transform="translate(${o(k)},${o(S)})" font-size="${r}" text-anchor="middle" fill="var(--_bg)">${W}</g>`:"")+(j?`<g class="pele-slice-labels" transform="translate(${o(k)},${o(S)})" font-size="${r}" text-anchor="middle">${j}</g>`:"")+(z?`<g class="pele-legend" font-size="${r}">${z}</g>`:"");return{svg:se("pie",H,ne,s,t,i,Se),width:H,height:ne,links:[]}}var Qe={type:"pie",parse:(i,e,t)=>ke(Ce(i),t),render:Te};export{Qe as a};
@@ -0,0 +1 @@
1
+ function s(o,c,e){for(let t=0;t<e.length;t++){let n=o.charCodeAt(c+t),r=e.charCodeAt(t);if(n!==r&&!(r>=97&&r<=122&&n===r-32))return!1}return!0}export{s as a};
@@ -0,0 +1,2 @@
1
+ import{a as ge,b as xe}from"./DKTLEL5E.js";import{a as he,b as q,c as be,d as ye,e as ke,f as $e,g as Re,h as Ae,i as we,j as ve,k as Me,l as Ce,m as Ee,n as Te,o as Le,p as Oe}from"./3DKXF73K.js";import{b as V,c,d as j,m as Z,n as fe,o as F}from"./IZOKQ2GT.js";import{a as pe,g as me}from"./XTDUIGUI.js";var Ie=32;function De(t){return new pe(t,"semantic",{type:"radar"})}function Ne(t,e){let n=t.axes.map(r=>({name:r.name,label:r.label??r.name})),i=t.curves.map(r=>{let u;if(r.entries[0].axis===void 0)u=r.entries.map(s=>s.value);else{if(n.length===0)throw De("Axes must be populated before curves for reference entries");let s=new Map;for(let d of r.entries)d.axis!==void 0&&!s.has(d.axis.$refText)&&s.set(d.axis.$refText,d.value);u=n.map(d=>{let x=s.get(d.name);if(x===void 0)throw De("Missing entry for axis "+d.label);return x})}return{name:r.name,label:r.label??r.name,entries:u}}),a={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"};for(let r of t.options)r.name==="showLegend"?a.showLegend=r.value:r.name==="graticule"?a.graticule=r.value:a[r.name]=r.value;return a.ticks>Ie&&(a.ticks=Ie),{type:"radar",title:t.title||e,accTitle:t.accTitle?t.accTitle.replace(/^\s+/g,""):void 0,accDescr:t.accDescr?t.accDescr.replace(/\n\s+/g,`
2
+ `):void 0,axes:n,curves:i,options:a}}var ee=0,z=0;function _e(t,e){let n=e;for(let i=t.charCodeAt(n);i>=48&&i<=57;i=t.charCodeAt(n))n++;return n}function He(t,e){(e<ee||e>=z)&&(ee=e,z=_e(t,e));let n=z;if(n===e)return-1;let i=t.charCodeAt(n)===46;if(i){let a=_e(t,n+1),r=a-n-1;if(r>0&&t.charCodeAt(a)!==46)return a;if(r>1)return a-1}return t.charCodeAt(e)===48?e+1:i?n-1>e?n-1:-1:n}var J=q.pattern,Q=/[\t ]*accDescr\s*{/y,H=-2;function Ge(t,e){return Q.lastIndex=e,Q.test(t)&&(H===-2&&(H=t.lastIndexOf("}")),Q.lastIndex>H)?-1:(J.lastIndex=e,J.test(t)?J.lastIndex:-1)}var te={name:"ID",pattern:/[\w]([-\w]*\w)?/y},A=t=>({name:t,pattern:t,longer:[te]}),w=t=>({name:t,pattern:t}),Se=[w("radar-beta:"),{...Me("radar-beta"),longer:[te]},A("showLegend"),A("graticule"),A("curve"),A("ticks"),A("axis"),A("max"),A("min"),w(":"),w(","),w("["),w("]"),w("{"),w("}"),{name:"GRATICULE",pattern:/circle|polygon/y},{name:"BOOLEAN",pattern:/true|false/y},{...q,match:Ge},be,ye,{name:"NUMBER",pattern:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/y,match:He},ke,te,$e,Re,Ae,we,ve];function Ke(t){return ee=z=0,H=-2,he(t,Se,"radar")}function Be(t){let e=new Oe(Ke(t),Se,"radar"),n={$type:"Radar",axes:[],curves:[],options:[]},i=()=>{for(;e.kind===23;)e.i++},a=()=>{e.kind!==-1&&(e.kind!==23&&e.fail("a line break or the end of input"),i())},r=()=>{if(!e.accept(11))return;let g=Le(e.expect(21));return e.expect(12),g},u=g=>{if(!g)return{$type:"Entry",value:Number(e.expect(20))};let h={$refText:e.expect(22)};return e.accept(9),{$type:"Entry",axis:h,value:Number(e.expect(20))}},s=()=>{let g=e.expect(22),h=r(),p={$type:"Curve",name:g,entries:[]};h!==void 0&&(p.label=h),e.expect(13),i(),e.kind!==20&&e.kind!==22&&e.fail("a number or an axis name");let k=e.kind===22;for(p.entries.push(u(k));e.accept(10);)i(),p.entries.push(u(k));return i(),e.expect(14),p},d=()=>{let g={$type:"Axis",name:e.expect(22)},h=r();return h!==void 0&&(g.label=h),g},x=()=>{let g=e.kind,h=e.take(),p;return g===2?p=e.expect(16)==="true":g===3?p=e.expect(15):p=Number(e.expect(20)),{$type:"Option",name:h,value:p}},N=()=>e.kind===2||e.kind===5||e.kind===7||e.kind===8||e.kind===3;for(i(),e.accept(0)||(e.expect(1),e.accept(9)),i();e.kind!==-1;)switch(e.kind){case 23:e.i++;break;case 17:n.accDescr=Te(e.take()),a();break;case 18:n.accTitle=Ee(e.take()),a();break;case 19:n.title=Ce(e.take()),a();break;case 6:e.i++;do n.axes.push(d());while(e.accept(10));break;case 4:e.i++;do n.curves.push(s());while(e.accept(10));break;default:for(N()||e.fail("an axis, a curve, an option, a title, or a line break"),n.options.push(x());e.accept(10);)N()||e.fail("an option"),n.options.push(x())}return n}var C=12,ne=26,Pe=24;function b(t,e,n,i,a){let r=t.radar?.[e];return typeof r=="number"&&r>=i?Math.min(r,a):n}function Ue(t,e,n,i){let a=Math.min(Math.max(t,e),n);return i*(a-e)/(n-e)}function Xe(t,e){let n=t.length,i=`M${c(t[0].x)},${c(t[0].y)}`;for(let a=0;a<n;a++){let r=t[(a-1+n)%n],u=t[a],s=t[(a+1)%n],d=t[(a+2)%n];i+=` C${c(u.x+(s.x-r.x)*e)},${c(u.y+(s.y-r.y)*e)} ${c(s.x-(d.x-u.x)*e)},${c(s.y-(d.y-u.y)*e)} ${c(s.x)},${c(s.y)}`}return i+" Z"}function We(t){let e="";for(let n of t)e+=(e?" ":"")+c(n.x)+","+c(n.y);return e}function Ve(t,e,n){let i=b(e,"width",320,1,4e3);return ge(n,i,160,(a,r)=>Ye(t,e,n,a,b(e,"height",320,1,4e3)*a/i,r))}function Ye(t,e,n,i,a,r){let u=n.fontSize??16,s=Math.round(u*.875),d=n.measurer??me(n.fontFamily),x=n.padding??8,N=b(e,"axisScaleFactor",1,0,10),g=b(e,"axisLabelFactor",1.05,0,10),h=b(e,"curveTension",.17,0,1),p=Math.min(i,a)/2,{axes:k,curves:_}=t,{ticks:re,graticule:ae,min:je}=t.options,ie=k.length,S=k.map((o,l)=>{let f=2*Math.PI*l/ie-Math.PI/2;return{x:Math.cos(f),y:Math.sin(f)}}),E=t.options.max;if(E===null){E=-1/0;for(let o of _)for(let l of o.entries)l>E&&(E=l)}let $=-i/2-b(e,"marginLeft",16,0,2e3),y=i/2+b(e,"marginRight",16,0,2e3),v=-a/2-b(e,"marginTop",16,0,2e3),R=a/2+b(e,"marginBottom",16,0,2e3),B="";for(let o=0;o<re;o++){let l=Math.min(p,p*(o+1)/re);ae==="circle"?B+=`<circle r="${c(l)}"/>`:B+=`<polygon points="${We(S.map(f=>({x:f.x*l,y:f.y*l})))}"/>`}let G="",K="";S.forEach((o,l)=>{let f=p*N;G+=`M0,0L${c(o.x*f)},${c(o.y*f)}`;let m=F(k[l].label,!1,d,s,4e3),I=p*g+6,D=o.x*I+(o.x>.01?m.width/2:o.x<-.01?-m.width/2:0),M=o.y*I+(o.y>.01?m.height/2:o.y<-.01?-m.height/2:0);K+=`<g class="pele-axis-label" data-id="${V(k[l].name)}">${j(m,D,M,"")}</g>`,$=Math.min($,D-m.width/2),y=Math.max(y,D+m.width/2),v=Math.min(v,M-m.height/2),R=Math.max(R,M+m.height/2)});let U="";_.forEach((o,l)=>{if(o.entries.length!==ie)return;let f=o.entries.map((D,M)=>{let de=Ue(D,je,E,p),ue=Number.isFinite(de)?de:0;return{x:S[M].x*ue,y:S[M].y*ue}}),m=Z(l),I=` class="pele-curve" data-id="${V(o.name)}" fill="${m}" stroke="${m}"`;U+=ae==="circle"?`<path${I} d="${Xe(f,h)}"/>`:`<polygon${I} points="${We(f)}"/>`});let T=t.options.showLegend?_.map(o=>F(o.label,!1,d,s,4e3)):[],P=0;for(let o of T)P=Math.max(P,o.width);let W=T.length*ne,L=r?-(C+8+P)/2:y+Pe,oe=r?R+Pe/2:-W/2;T.length>0&&r?($=Math.min($,L),y=Math.max(y,-L),R=oe+W):T.length>0&&(y=L+C+8+P,v=Math.min(v,-W/2),R=Math.max(R,W/2));let X="";T.forEach((o,l)=>{let f=oe+l*ne+ne/2,m=Z(l);X+=`<g class="pele-legend-item" data-id="${V(_[l].name)}"><rect x="${c(L)}" y="${c(f-C/2)}" width="${C}" height="${C}" rx="2" fill="${m}" fill-opacity="0.4" stroke="${m}"/>`+j(o,L+C+8+o.width/2,f,"")+"</g>"});let O=F(t.title,!1,d,u,xe(n),1),se=O.height>0?O.height+8:0,ce=Math.max(y-$,O.width),Y=Math.ceil(ce+2*x),le=Math.ceil(R-v+se+2*x),Fe=`translate(${c(x+(ce-(y-$))/2-$)},${c(x+se-v)})`,ze=j(O,Y/2,x+O.height/2,' class="pele-title" font-weight="var(--_tw)"')+`<g transform="${Fe}">`+(B?`<g class="pele-graticule" fill="none" stroke="var(--_a)">${B}</g>`:"")+(G?`<path class="pele-axes" d="${G}" fill="none" stroke="var(--_b)"/>`:"")+(U?`<g class="pele-curves" fill-opacity="0.2" stroke-width="1.5" stroke-linejoin="round">${U}</g>`:"")+(K?`<g class="pele-axis-labels" font-size="${s}">${K}</g>`:"")+(X?`<g class="pele-legend" font-size="${s}">${X}</g>`:"")+"</g>";return{svg:fe("radar",Y,le,u,n,t,ze),width:Y,height:le,links:[]}}var ut={type:"radar",parse:(t,e,n)=>Ne(Be(t),n),render:Ve};export{ut as a};
@@ -0,0 +1,2 @@
1
+ import{a as ue,b as fe}from"./DKTLEL5E.js";import{g as oe}from"./GUJTEFZK.js";import{a as Q,b as F,c as k,d as ie,k as ae,m as J,n as le,o as ce}from"./IZOKQ2GT.js";import{a as ne,c as re,g as se}from"./XTDUIGUI.js";var B=class{type="sankey";nodes=[];links=[];title;accTitle;accDescr;lookup=new Map;findOrCreateNode(r){let n=this.lookup.get(r);return n===void 0&&(n={id:r,index:this.nodes.length},this.lookup.set(r,n),this.nodes.push(n)),n}addLink(r,n,o){this.links.push({source:r,target:n,value:o})}};var q=["$end","STUCK","SANKEY","NEWLINE","COMMA","DQUOTE","NON_ESCAPED_TEXT","ESCAPED_TEXT","EOF"];function he(t){return t>=32&&t<=126&&t!==34&&t!==44}function ge(t){let r=t.length,n=[],o=[],f=[],c=[],m=0,l=0,p=(h,$,d)=>{n.push(h),o.push(t.slice($,d)),f.push($),l=d},E=h=>t.slice(l,l+h.length).toLowerCase()===h&&!oe(t.charCodeAt(l+h.length));for(;l<r;){let h=t.charCodeAt(l),$=l,d=l;if(m===2){if(h===34&&t.charCodeAt(l+1)!==34){c.length>0&&(m=c.pop()),p(5,l,l+1);continue}for(;d<r;){let u=t.charCodeAt(d);if(he(u)||u===44||u===13||u===10)d++;else if(u===34&&t.charCodeAt(d+1)===34)d+=2;else break}p(7,l,d)}else{if(m===0&&(h|32)===115){let u=E("sankey-beta")?11:E("sankey")?6:0;if(u>0){c.push(m),m=1,p(2,l,l+u);continue}}if(h===10||h===13&&t.charCodeAt(l+1)===10){p(3,l,h===10?l+1:l+2);continue}if(h===44){p(4,l,l+1);continue}if(h===34){c.push(m),m=2,p(5,l,l+1);continue}for(;d<r&&he(t.charCodeAt(d));)d++;p(6,l,d)}if(d===$)return p(1,l,l),{types:n,texts:o,starts:f}}return p(m===2?7:8,r,r),p(0,r,r),{types:n,texts:o,starts:f}}var Ne=/[\n\r]+/g;function me(t){return t===10||t===13?!1:t<128?t===32||t===9||t===11||t===12:t===160||t===5760||t>=8192&&t<=8202||t===8232||t===8233||t===8239||t===8287||t===12288||t===65279}function de(t){let r=0,n=t.length;for(;r<n&&me(t.charCodeAt(r));)r++;for(;n>r&&me(t.charCodeAt(n-1));)n--;return t.slice(r,n).replace(Ne,`
2
+ `).trim()}function ye(t,r){let{types:n,texts:o,starts:f}=ge(t),c=0,m=h=>{let $=n[c],d=$===1?q[n[c-1]]:q[$];throw re("sankey",t,f[c],`Expecting ${h}, got '${d}'`)},l=(h,$="")=>{n[c]!==h&&m(`'${q[h]}'${$}`),c++},p=()=>{if(n[c]===6)return o[c++];n[c]!==5&&m("'DQUOTE', 'NON_ESCAPED_TEXT'"),c++,n[c]!==7&&m("'ESCAPED_TEXT'");let h=o[c++];return l(5),h},E=()=>p().trim().replaceAll('""','"');for(l(2),l(3);;){let h=E();l(4,", 'NEWLINE', 'EOF'");let $=E();l(4,", 'NEWLINE', 'EOF'");let d=p(),u=r.findOrCreateNode(h),D=r.findOrCreateNode($);if(r.addLink(u,D,parseFloat(d.trim())),n[c]!==3)break;c++}n[c]===8&&c++,n[c]!==0&&m("'NEWLINE', 'EOF'")}var Ce=6;function ee(t,r){if(t.length>8){t.sort(r);return}for(let n=1;n<t.length;n++){let o=t[n],f=n-1;for(;f>=0&&r(t[f],o)>0;)t[f+1]=t[f],f--;t[f+1]=o}}function pe(t,r){let n=t.nodes.length,o=t.links.map(e=>({source:e.source.index,target:e.target.index,value:Number.isFinite(e.value)&&e.value>0?e.value:0,thickness:0,sourceY:0,targetY:0})),f=[],c=[];for(let e=0;e<n;e++)f.push([]),c.push([]);o.forEach((e,s)=>{f[e.source].push(s),c[e.target].push(s)});let m=new Int32Array(n),l=new Int32Array(n),p=[];for(let e=0;e<n;e++)l[e]=c[e].length,l[e]===0&&p.push(e);for(let e=0;e<p.length;e++){let s=p[e];for(let a of f[s]){let g=o[a].target;m[g]<m[s]+1&&(m[g]=m[s]+1),--l[g]===0&&p.push(g)}}if(p.length<n){let e=0;for(;l[e]===0;)e++;let s=new Uint8Array(n);for(;s[e]===0;){s[e]=1;for(let a of c[e])if(l[o[a].source]>0){e=o[a].source;break}}throw new ne(`Sankey diagrams cannot have circular links, and "${t.nodes[e].id}" is part of one.`,"semantic",{type:"sankey"})}let E=1;for(let e=0;e<n;e++)m[e]+1>E&&(E=m[e]+1);let h=new Int32Array(n);for(let e=n-1;e>=0;e--){let s=p[e];for(let a of f[s])h[s]<h[o[a].target]+1&&(h[s]=h[o[a].target]+1)}let $=0;for(let e of o)e.value>$&&($=e.value);let d=$>0?1/$:0,u=[],D=new Float64Array(n),N=[];for(let e=0;e<E;e++)N.push([]);let U=E>1?(r.width-r.nodeWidth)/(E-1):0;for(let e=0;e<n;e++){let s;if(r.alignment==="left")s=m[e];else if(r.alignment==="right")s=E-1-h[e];else if(r.alignment==="center"){if(s=m[e],c[e].length===0&&f[e].length>0){s=E;for(let x of f[e])m[o[x].target]-1<s&&(s=m[o[x].target]-1)}}else s=f[e].length>0?m[e]:E-1;let a=0,g=0,y=0,i=0;for(let x of c[e])a+=o[x].value*d,y+=o[x].value;for(let x of f[e])g+=o[x].value*d,i+=o[x].value;D[e]=Math.max(a,g),u.push({layer:s,value:Math.max(y,i),x:s*U,y:0,height:0}),N[s].push(e)}let X=1;for(let e of N)e.length>X&&(X=e.length);let O=X>1?Math.min(r.nodePadding,r.height/(X-1)):r.nodePadding,C=1/0;for(let e of N){let s=0;for(let a of e)s+=D[a];s>0&&(C=Math.min(C,(r.height-(e.length-1)*O)/s))}(!Number.isFinite(C)||C<0)&&(C=0);let I=Math.max(0,r.labelHeight-O),j=e=>{for(let s of N){let a=(s.length-1)*O;for(let g of s)a+=Math.max(D[g]*e,I);if(a>r.height+1e-6)return!1}return!0};if(I>0&&!j(C))if(j(0)){let e=0;for(let s=0;s<40;s++){let a=(e+C)/2;j(a)?e=a:C=a}C=e}else I=0;let A=new Float64Array(n);for(let e of o)e.thickness=e.value*d*C;for(let e of N){let s=0;for(let g of e)u[g].height=D[g]*C,A[g]=Math.max(0,I-u[g].height)/2,u[g].y=s+A[g],s+=u[g].height+2*A[g]+O;let a=(r.height-s+O)/(e.length+1);e.forEach((g,y)=>u[g].y+=a*(y+1))}let M=e=>u[e].y+u[e].height/2,w=new Float64Array(o.length),L=new Float64Array(o.length),z=(e,s)=>M(o[e].target)-M(o[s].target)||e-s,H=(e,s)=>M(o[e].source)-M(o[s].source)||e-s,G=(e,s)=>M(e)-M(s)||e-s,K=e=>{let s=0;ee(f[e],z);for(let a of f[e])w[a]=s+o[a].thickness/2,s+=o[a].thickness},_=e=>{let s=0;ee(c[e],H);for(let a of c[e])L[a]=s+o[a].thickness/2,s+=o[a].thickness},W=()=>{for(let e=0;e<n;e++)K(e),_(e)},R=(e,s,a)=>{for(let y of e){let i=a?c[y]:f[y];if(i.length===0)continue;a?_(y):K(y);let x=0,b=0,T=0;for(let S of i){let Y=a?u[o[S].source].y+w[S]-L[S]:u[o[S].target].y+L[S]-w[S];x+=Y*o[S].thickness,b+=o[S].thickness,T+=M(a?o[S].source:o[S].target)-u[y].height/2}let v=b>0?x/b:T/i.length;u[y].y+=(v-u[y].y)*s}ee(e,G);let g=0;for(let y of e)u[y].y-A[y]<g&&(u[y].y=g+A[y]),g=u[y].y+u[y].height+A[y]+O;g=r.height;for(let y=e.length-1;y>=0;y--){let i=e[y];u[i].y+u[i].height+A[i]>g&&(u[i].y=g-u[i].height-A[i]),g=u[i].y-A[i]-O}};W();for(let e=0;e<Ce;e++){let s=Math.pow(.99,e);for(let a=E-2;a>=0;a--)R(N[a],s,!1);W();for(let a=1;a<E;a++)R(N[a],s,!0);W()}for(let e=0;e<o.length;e++)o[e].sourceY=u[o[e].source].y+w[e],o[e].targetY=u[o[e].target].y+L[e];return{nodes:u,links:o}}var ke=6,Me=15;function Se(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function V(t,r,n,o,f){let c=t[r];return typeof c=="number"&&c>=o?Math.min(c,f):n}function be(t,r){let n=t[r];return typeof n=="string"||typeof n=="number"&&Number.isFinite(n)?String(n):""}function Ee(t){return Math.abs(t)<1e15?Math.round(t*100)/100:t}function xe(t){return typeof t=="string"?ae([`fill:${t}`]).shape:""}function $e(t,r,n){let o=Se(r.sankey)?r.sankey:{};return ue(n,V(o,"width",600,1,1e4),160,f=>ve(t,o,n,f))}function ve(t,r,n,o){let f=n.fontSize??16,c=Math.round(f*.875),m=n.measurer??se(n.fontFamily),l=n.padding??8,p=V(r,"height",400,1,1e4),E=Math.min(V(r,"nodeWidth",10,1,200),o),h=r.showValues!==!1,$=be(r,"prefix"),d=be(r,"suffix"),u=r.labelStyle==="outlined",D=r.nodeAlignment==="left"||r.nodeAlignment==="right"||r.nodeAlignment==="center"?r.nodeAlignment:"justify",N=typeof r.linkColor=="string"?r.linkColor:"gradient",{nodes:U,links:X}=pe(t,{width:o,height:p,nodeWidth:E,nodePadding:V(r,"nodePadding",12,0,200)+(h?Me:0),labelHeight:c*1.15,alignment:D}),O=new Map;if(Se(r.nodeColors))for(let[i,x]of Object.entries(r.nodeColors)){let b=xe(x);b&&O.set(i,b)}let C=i=>O.get(t.nodes[i].id)??"",I=0,j=0;U.forEach(i=>{i.value>j&&(j=i.value,I=i.layer)});let A=0,M=o,w=0,L=p,z="",H="";U.forEach((i,x)=>{let b=t.nodes[x].id,T=Math.max(i.height,1);H+=`<rect class="pele-sankey-node" data-id="${F(b)}" x="${k(i.x)}" y="${k(i.y)}" width="${k(E)}" height="${k(T)}" rx="${k(Math.min(2,T/2))}" fill="${J(x)}"${C(x)}/>`;let v=h?`${$}${Ee(i.value)}${d}`:"",S=u?i.layer>=I:i.x<o/2,Y=m.width(v?`${b} ${v}`:b,c,0),P=S?i.x+E+ke:i.x-ke,Z=i.y+i.height/2;A=Math.min(A,S?P:P-Y),M=Math.max(M,S?P+Y:P),w=Math.min(w,Z-c*.75),L=Math.max(L,Z+c*.75);let te=` x="${k(P)}" y="${k(Z+c*.35)}" text-anchor="${S?"start":"end"}"`,Ae=Q(b)+(v?` <tspan class="pele-sankey-value" fill="var(--_m)">${Q(v)}</tspan>`:"");z+=`<g class="pele-label" data-id="${F(b)}">`+(u?`<text${te} fill="none" stroke="var(--_bg)" stroke-width="3" stroke-linejoin="round">${Q(b)}${v?" "+Q(v):""}</text>`:"")+`<text${te}>${Ae}</text></g>`});let G=N==="gradient"||N==="source"||N==="target"?"":xe(N),K="";for(let i of X){let x=N==="target"?i.target:i.source,b=Math.max(i.thickness,1)/2,T=U[i.source].x+E,v=U[i.target].x,S=k((T+v)/2),Y=F(t.nodes[i.source].id),P=F(t.nodes[i.target].id);K+=`<path class="pele-sankey-link" data-id="${Y}-&gt;${P}" d="M${k(T)},${k(i.sourceY-b)}C${S},${k(i.sourceY-b)} ${S},${k(i.targetY-b)} ${k(v)},${k(i.targetY-b)}L${k(v)},${k(i.targetY+b)}C${S},${k(i.targetY+b)} ${S},${k(i.sourceY+b)} ${k(T)},${k(i.sourceY+b)}Z" fill="${J(x)}"${G||C(x)}><title>${Y} → ${P}: ${F($)}${Ee(i.value)}${F(d)}</title></path>`}let _=ce(t.title,!1,m,f,fe(n),1),W=_.height>0?_.height+12:0,R=Math.max(M-A,_.width),e=l-A+(R-(M-A))/2,s=l+W-w,a=Math.ceil(R+2*l),g=Math.ceil(L-w+W+2*l);return{svg:le("sankey",a,g,f,n,t,ie(_,a/2,l+_.height/2,' class="pele-title" font-weight="var(--_tw)"')+`<g transform="translate(${k(e)},${k(s)})"><g class="pele-sankey-links" fill-opacity="0.4">${K}</g><g class="pele-sankey-nodes">${H}</g><g class="pele-labels" font-size="${c}">${z}</g></g>`),width:a,height:g,links:[]}}var Ve={type:"sankey",parse(t,r,n){let o=new B;return n&&(o.title=n),ye(de(t),o),o},render:$e};export{Ve as a};
@@ -0,0 +1,9 @@
1
+ var p=class extends Error{code;type;line;column;snippet;constructor(n,t="syntax",r={}){super(n),this.name="PeleError",this.code=t,this.type=r.type??null,this.line=r.line??0,this.column=r.column??0,this.snippet=r.snippet??""}};function M(e,n){let t=1,r=0;for(let s=e.indexOf(`
2
+ `);s!==-1&&s<n;s=e.indexOf(`
3
+ `,s+1))t++,r=s+1;let i=e.indexOf(`
4
+ `,n);i===-1&&(i=e.length);let o=n-r+1,a=e.slice(r,i);return{line:t,column:o,snippet:a+`
5
+ `+"-".repeat(o-1)+"^"}}function R(e,n,t,r,i=!1){let o=M(n,t),a=i?`Lexical error on line ${o.line}. Unrecognized text.`:`Parse error on line ${o.line}:`,s=i?`${a}
6
+ ${o.snippet}`:`${a}
7
+ ${o.snippet}
8
+ ${r}`;return new p(s,"syntax",{type:e,...o})}var z="amp:38,lt:60,gt:62,quot:34,apos:39,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,sect:167,copy:169,laquo:171,not:172,reg:174,deg:176,plusmn:177,sup2:178,sup3:179,micro:181,para:182,middot:183,sup1:185,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,euro:8364,trade:8482,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,radic:8730,infin:8734,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830,check:10003,cross:10007,equals:61,colon:58,semi:59,num:35,percnt:37,lpar:40,rpar:41,lbrack:91,rbrack:93,lbrace:123,rbrace:125,vert:124,sol:47,bsol:92,quest:63,excl:33,ast:42,plus:43,comma:44,period:46,dollar:36,commat:64,grave:96,hat:94,lowbar:95,tilde:126,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969",d;function h(e){if(!d){d=new Map;for(let n of z.split(",")){let t=n.indexOf(":");d.set(n.slice(0,t),String.fromCodePoint(Number(n.slice(t+1))))}}return d.get(e)}function m(e,n){return e>0&&e<=1114111&&(e<55296||e>57343)?String.fromCodePoint(e):n}var y=/&(?:#(\d+)|#[xX]([0-9a-fA-F]+)|(\w+));/g,b="fl°",C="¶ß";function E(e){let n="",t=0,r=e.indexOf(b);for(;r!==-1;){let i=e.indexOf("¶",r+2);if(i===-1)break;if(e[i+1]==="ß"){let o=e[r+2]==="°",a=e.slice(r+(o?3:2),i),s=e.slice(r,i+2);n+=e.slice(t,r)+(o?m(Number(a),s):h(a)??"&"+a+";"),t=i+2}r=e.indexOf(b,i+1)}return t===0?e:n+e.slice(t)}function L(e){return e.includes(C)&&(e=E(e)),e.includes("&")&&(e=e.replace(y,(n,t,r,i)=>t?m(Number(t),n):r?m(parseInt(r,16),n):h(i)??n)),e}var f,l=new Map;function $(e,n){let t=f,r=l;f=e,l=new Map;try{return n()}finally{f=t,l=r}}function B(e){if(f===void 0)return"";let n=l.get(e);return n===void 0&&(n=f(e)??"",l.set(e,n)),n}var q="7q7q9vfgfgopij5b9999atg87q997q7qfgfgfgfgfgfgfgfgfgfg7q7qg8g8g8fgs7ijijk2k2ijgzlmk27qdwijfgn5k2lmijlmk2ijgzk2ijq8ijijgz7q7q7qd1fg99fgfgdwfgfg7qfgfg6666dw66n5fgfgfgfg99dw7qfgdwk2dwdwdw9a789ag8",w="7q99d6fgfgopk26m9999atg87q997q7qfgfgfgfgfgfgfgfgfgfg9999g8g8g8gzr3k2k2k2k2ijgzlmk27qfgk2gzn5k2lmijlmk2ijgzk2ijq8ijijgz997q99g8fg99fggzfggzfg99gzgz7q7qfg7qopgzgzgzgzatfg99gzfglmfgfgdwat7satg8";function k(e){let n=new Uint16Array(95);for(let t=0;t<95;t++)n[t]=parseInt(e.substr(t*2,2),36);return n}var j,A;function v(e){return e>=4352&&e<=4447||e>=11904&&e<=42191||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65072&&e<=65103||e>=65280&&e<=65376||e>=65504&&e<=65510||e>=55296&&e<=56319}function O(e){return e>=768&&e<=879||e>=8203&&e<=8207||e>=56320&&e<=57343||e>=65024&&e<=65039||e===65279}var T={width(e,n,t){let r=(t&4)!==0,i=t&1?A??=k(w):j??=k(q),o=0;for(let a=0;a<e.length;a++){let s=e.charCodeAt(a);if(!(s<32))if(s<127)o+=r?600:i[s-32];else{if(O(s))continue;v(s)?o+=r?1200:1e3:o+=r?600:580}}return o*n/1e3}};function P(){let e=globalThis;try{if(e.OffscreenCanvas)return new e.OffscreenCanvas(1,1).getContext("2d");if(e.document)return e.document.createElement("canvas").getContext("2d")}catch{return null}return null}var D=2e4;function I(e,n="monospace"){let t=P();if(!t)return null;let r=new Map,i="";return{width(o,a,s){let g=(s&2?"italic ":"")+(s&1?"bold ":"")+a+"px "+(s&4?n:e),u=r.get(g);u||r.set(g,u=new Map);let c=u.get(o);return c===void 0&&(g!==i&&(t.font=i=g),c=t.measureText(o).width,u.size>=D&&u.clear(),u.set(o,c)),c}}}var x=new Map;function X(e="sans-serif",n="monospace"){let t=e+`
9
+ `+n,r=x.get(t);return r||(r=I(e,n)??T,x.set(t,r)),r}function Z(){x.clear()}export{p as a,M as b,R as c,L as d,$ as e,B as f,X as g,Z as h};
@@ -0,0 +1,9 @@
1
+ import{a as he}from"./EJ5KOXYD.js";import{a as ye}from"./GUJTEFZK.js";import{a as I,d as ne,e as ge,h as re}from"./XTDUIGUI.js";var We=[["flowchart",/^\s*flowchart-elk/],["mindmap",/^\s*mindmap/],["architecture",/^\s*architecture/],["agentflow",/^\s*agentflow-beta\b/],["c4",/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/],["kanban",/^\s*kanban/],["class",/^\s*classDiagram/],["er",/^\s*erDiagram/],["gantt",/^\s*gantt/],["info",/^\s*info/],["pie",/^\s*pie/],["requirement",/^\s*requirement(Diagram)?/],["sequence",/^\s*sequenceDiagram/],["swimlane",/^\s*swimlane-beta\b/],["flowchart",/^\s*(graph|flowchart)/],["timeline",/^\s*timeline/],["gitGraph",/^\s*gitGraph/],["state",/^\s*stateDiagram/],["journey",/^\s*journey/],["quadrantChart",/^\s*quadrantChart/],["sankey",/^\s*sankey(-beta)?/],["packet",/^\s*packet(-beta)?/],["xychart",/^\s*xychart(-beta)?/],["block",/^\s*block(-beta)?/],["eventmodeling",/^\s*eventmodeling/],["treeView",/^\s*treeView-beta/],["radar",/^\s*radar-beta/],["ishikawa",/^\s*ishikawa(-beta)?\b/i],["treemap",/^\s*treemap/],["railroad",/^\s*railroad-(?:ebnf-|abnf-|peg-)?beta/i],["venn",/^\s*venn-beta/],["wardley",/^\s*wardley-beta/i],["cynefin",/^\s*cynefin-beta(?:[\s:]|$)/],["usecase",/^\s*usecase-beta(?:\s|$)/]];function oe(e){for(let[t,n]of We)if(n.test(e))return t;return null}var Fe=/^\s*%%(?!{)[^\n]+\n?/gm,N=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,_e=/<(\w+)([^>]*)>/g,Pe=/="([^"]*)"/g,je=new Set(["__proto__","constructor","prototype"]);function He(e){return(e.includes("%%")?e.replace(Fe,""):e).trimStart()}function q(e){return e===`
2
+ `||e==="\r"}function ie(e){return e!==void 0&&/\s/.test(e)}function Ye(e){let t=0;for(;t<e.length&&ie(e[t])&&!q(e[t]);)t++;let n=e.slice(0,t);if(!e.startsWith("---",t))return;let i=[];for(let c=t+3;c<e.length&&ie(e[c]);c++)q(e[c])&&i.push(c);if(i.length===0)return;let a=n+"---",s=c=>{if(!q(e[c])||!e.startsWith(a,c+1))return-1;let b=-1;for(let w=c+1+a.length;w<e.length&&ie(e[w]);w++)q(e[w])&&(b=w);return b},d=`
3
+ `+a,f=-1;for(let c=e.lastIndexOf(d);c>i[0];c=e.lastIndexOf(d,c-1))if(s(c)!==-1){f=c;break}if(f===-1)return;let l=i[0];for(let c of i)c<f&&(l=c);let o=l+1,g=o>0?o-1:0;for(let c=e.indexOf(d,g);c!==-1&&c<=f;c=e.indexOf(d,c+1)){if(c<o)continue;let b=s(c);if(b!==-1)return{indent:n,body:e.slice(o,c),length:b+1}}}function j(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function K(e,t){for(let n of Object.keys(t)){if(je.has(n))continue;let i=t[n],a=e[n];j(i)&&j(a)?K(a,i):j(i)?e[n]=K({},i):e[n]=i}return e}function $e(e,t){if(!e.includes("%%{"))return e;let n=e.trim().replace(/'/g,'"');N.lastIndex=0;let i;for(;(i=N.exec(n))!==null;){i.index===N.lastIndex&&N.lastIndex++;let a=i[1]??i[2];if(a==="wrap")t.wrap=!0;else if((a==="init"||a==="initialize")&&i[4])try{let s=JSON.parse(i[4].trim());j(s)&&K(t,s)}catch{}}return N.lastIndex=0,e.replace(N,"")}function ae(e){let t=e.includes("\r")?e.replace(/\r\n?/g,`
4
+ `):e,n=t.includes("<")?t.lastIndexOf(">"):-1;n>0&&(t=t.slice(0,n+1).replace(_e,(f,l,o)=>"<"+l+o.replace(Pe,"='$1'")+">")+t.slice(n+1));let i={},a,s=0,d=t.includes("---")?Ye(t):void 0;if(d){let f=d.indent?d.body.split(`
5
+ `).map(o=>o.startsWith(d.indent)?o.slice(d.indent.length):o).join(`
6
+ `):d.body,l;try{l=he(f)}catch(o){throw new I(`Front matter is not valid YAML. ${o.message}`,"syntax")}if(j(l)&&(l.title&&(a=String(l.title)),j(l.config)&&K(i,l.config),l.displayMode)){let o=j(i.gantt)?i.gantt:i.gantt={};o.displayMode=String(l.displayMode)}for(let o=t.indexOf(`
7
+ `);o!==-1&&o<d.length;o=t.indexOf(`
8
+ `,o+1))s++;t=t.slice(d.length)}return t=$e(t,i),{text:He(t),title:a,config:i,withComments:t,lineOffset:s}}var Ne=/#\w+;/g,Be=/^\+?\d+$/,se=new RegExp("[\\n\\r\u2028\u2029]","g");function be(e,t){let n=e.indexOf(t);if(n===-1)return e;let i="",a=0;for(;n!==-1;){se.lastIndex=n;let s=se.test(e)?se.lastIndex-1:e.length,d=!1,f=-1;for(let l=n+t.length;l<s;l++){let o=e.charCodeAt(l);if(o===58)d=!0;else if(o===35){if(d){f=l;break}}else ye(o)&&(d=!1)}if(f!==-1){let l=e.lastIndexOf(";",s-1);l>f&&(i+=e.slice(a,l),a=l+1)}n=s>=e.length?-1:e.indexOf(t,s+1)}return a===0?e:i+e.slice(a)}function we(e){return e.includes("#")?be(be(e,"style"),"classDef").replace(Ne,t=>{let n=t.substring(1,t.length-1);return(Be.test(n)?"fl°°":"fl°")+n+"¶ß"}):e}function H(e){return e.ownerDocument?.defaultView??globalThis}function le(e,t){let n=e.clientWidth-(parseFloat(t.paddingLeft)||0)-(parseFloat(t.paddingRight)||0);return n>0?n:0}function Ze(e,t,n,i,a){let s=t.width/n,d=t.height/n,f=(l,o,g)=>o>=g?Math.min(Math.max(l,g-o),0):Math.min(Math.max(l,0),g-o);return{x:f(i,s,e.width),y:f(a,d,e.height),width:s,height:d}}var B=1.25,U=48,Ge="--_bg:var(--pele-bg,#fff);--_fg:var(--pele-fg,#1f1f1f);--_b:var(--pele-border,#8a8a8a);position:absolute;top:var(--pele-zoom-top,8px);right:var(--pele-zoom-right,8px);bottom:var(--pele-zoom-bottom,auto);left:var(--pele-zoom-left,auto);display:flex;flex-direction:column;gap:2px;padding:2px;width:auto;max-width:none;border:1px solid var(--_b);border-radius:var(--pele-radius,4px);background:var(--_bg);color:var(--_fg);line-height:0",Ve="appearance:none;display:grid;place-items:center;width:24px;height:24px;margin:0;padding:0;border:0;border-radius:calc(var(--pele-radius,4px) - 1px);background:transparent;color:inherit;font:inherit;cursor:pointer",Xe={zoomIn:"M5 12h14M12 5v14",zoomOut:"M5 12h14",reset:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8M3 3v5h5"},qe={zoomIn:"Zoom in",zoomOut:"Zoom out",reset:"Reset zoom"};function de(e,t={}){let n=null,i={width:0,height:0},a={width:0,height:0},s={width:0,height:0},d=!1,f="",l={width:"",height:"",maxWidth:"",margin:"",display:""},o=0,g=0,c=0,b=0,w=()=>H(e),h=()=>i.width>0&&a.width>0?a.width/i.width:1,D=()=>Math.max(h(),t.maxScale??3),O=()=>n!==null&&i.width>0&&(t.always===!0||h()<.999),F=()=>{if(!n||o!==0)return;let r=n.getBoundingClientRect();a={width:r.width,height:r.height},s={width:Math.max(a.width,e.clientWidth),height:Math.max(a.height,e.clientHeight)},d=s.width>a.width+1||s.height>a.height+1,d||(s=a);let u=w().getComputedStyle(e);f=["Top","Right","Bottom","Left"].map(p=>`${-(parseFloat(u.getPropertyValue(`padding-${p.toLowerCase()}`))||0)}px`).join(" ")},v,A={},Y=!1,Z=()=>{if(t.controls===!1)return;let r=O();if(!v){if(!r)return;let p=e.ownerDocument;v=p.createElement("div"),v.className="pele pele-zoom",v.setAttribute("style",Ge);let M={zoomIn:()=>E((o||h())*B*B),zoomOut:()=>E((o||h())/(B*B)),reset:()=>C()};for(let S of["zoomIn","zoomOut","reset"]){let R=p.createElement("button"),V=t.labels?.[S]??qe[S];R.type="button",R.className=`pele-zoom-${S==="zoomIn"?"in":S==="zoomOut"?"out":"reset"}`,R.setAttribute("style",Ve),R.setAttribute("aria-label",V),R.title=V,R.innerHTML=`<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="${Xe[S]}"/></svg>`,R.addEventListener("click",M[S]),A[S]=R,v.append(R)}}r&&!Y&&w().getComputedStyle(e).position==="static"&&(e.style.position="relative",Y=!0),r&&v.parentNode!==e&&e.append(v),v.hidden=!r,v.style.display=r?"flex":"none";let u=(p,M)=>{p&&(p.disabled=M,p.style.opacity=M?"0.35":"",p.style.cursor=M?"default":"pointer")};u(A.zoomIn,(o||h())>=D()*.999),u(A.zoomOut,o===0),A.reset&&(A.reset.style.display=o===0?"none":"grid")},_=r=>v!==void 0&&r.target instanceof w().Node&&v.contains(r.target),C=()=>{n&&(o=0,n.setAttribute("viewBox",`0 0 ${i.width} ${i.height}`),n.style.width=l.width,n.style.height=l.height,n.style.maxWidth=l.maxWidth,n.style.margin=l.margin,n.style.display=l.display,n.style.cursor="",n.style.userSelect="",F(),n.style.touchAction=O()?"pan-y":"",O()?n.setAttribute("tabindex","0"):n.removeAttribute("tabindex"),Z())},E=(r,u,p)=>{if(!n||(o===0&&F(),!O()))return;let M=o||h(),S=Math.min(Math.max(r,h()),D());if(S<=h()*1.001){C();return}let R=n.getBoundingClientRect(),V=u??R.left+R.width/2,pe=p??R.top+R.height/2,Ae=(o?g:0)+(V-R.left)/M,Ie=(o?c:0)+(pe-R.top)/M;o=S;let te=R;d&&(n.style.maxWidth="none",n.style.margin=f,n.style.display="block",n.style.width=`${s.width}px`,n.style.height=`${s.height}px`,te=n.getBoundingClientRect()),$(Ae-(V-te.left)/o,Ie-(pe-te.top)/o),n.style.cursor="grab",n.style.userSelect="none",n.style.touchAction="none",Z()},$=(r,u)=>{if(!n)return;let p=Ze(i,s,o,r,u);g=p.x,c=p.y,n.setAttribute("viewBox",`${g} ${c} ${p.width} ${p.height}`)},z=(r,u)=>{o!==0&&$(g-r/o,c-u/o)},P=()=>{T();let r=e.clientWidth+e.clientHeight;r!==b&&(b=r,C())},W,m,T=()=>{if(t.watch===!1)return;let r=w();r!==m&&(W?.disconnect(),m=r,W=r.ResizeObserver?new r.ResizeObserver(P):void 0,W?.observe(e))},L=()=>{T();let r=e.firstElementChild;if(n=r&&r.localName==="svg"?r:null,o=0,!n){v?.remove();return}i={width:Number(n.getAttribute("width"))||0,height:Number(n.getAttribute("height"))||0},l={width:n.style.width,height:n.style.height,maxWidth:n.style.maxWidth,margin:n.style.margin,display:n.style.display},C()},y=new Map,x=!1,k=0,G=0,ee=()=>{let[r,u]=[...y.values()];return{distance:Math.hypot(r.x-u.x,r.y-u.y),x:(r.x+u.x)/2,y:(r.y+u.y)/2}},Ce=r=>{!O()||_(r)||r.pointerType==="mouse"&&r.button!==0||(y.set(r.pointerId,{x:r.clientX,y:r.clientY}),k=0,y.size===2&&(G=ee().distance),(y.size===2||o!==0)&&(e.setPointerCapture?.(r.pointerId),n&&(n.style.cursor="grabbing")))},Oe=r=>{let u=y.get(r.pointerId);if(u){if(y.size===2){let p=ee();y.set(r.pointerId,{x:r.clientX,y:r.clientY});let M=ee();G>0&&M.distance>0&&E((o||h())*(M.distance/p.distance),M.x,M.y),z(M.x-p.x,M.y-p.y),x=!0;return}y.set(r.pointerId,{x:r.clientX,y:r.clientY}),o!==0&&(k+=Math.abs(r.clientX-u.x)+Math.abs(r.clientY-u.y),k>4&&(x=!0),z(r.clientX-u.x,r.clientY-u.y))}},fe=r=>{y.delete(r.pointerId)&&(G=0,y.size===0&&n&&o!==0&&(n.style.cursor="grab"))},ke=r=>{x&&(x=!1,r.preventDefault(),r.stopPropagation())},De=r=>{if(!(r.ctrlKey||r.metaKey)||!O())return;r.preventDefault(),o===0&&F();let u=Math.min(Math.max(-r.deltaY,-24),24);E((o||h())*2**(u*.02),r.clientX,r.clientY)},ze=r=>{!O()||_(r)||(r.preventDefault(),o!==0?C():E(Math.max(1,h()*2),r.clientX,r.clientY))},Le=r=>{if(!O()||_(r)||r.ctrlKey||r.metaKey||r.altKey)return;let u=r.key;if(u==="+"||u==="=")E((o||h())*B);else if(u==="-")E((o||h())/B);else{if(o===0)return;if(u==="0"||u==="Escape")C();else if(u==="ArrowLeft")z(U,0);else if(u==="ArrowRight")z(-U,0);else if(u==="ArrowUp")z(0,U);else if(u==="ArrowDown")z(0,-U);else return}r.preventDefault()},Se=r=>{n&&r.target===n&&(n.style.outline=n.matches(":focus-visible")?"":"none")},X=0,me=[["pointerdown",Ce],["pointermove",Oe],["pointerup",fe],["pointercancel",fe],["click",ke,{capture:!0}],["wheel",De,{passive:!1}],["dblclick",ze],["keydown",Le],["focusin",Se],["gesturestart",r=>{O()&&(r.preventDefault(),o===0&&F(),X=o||h())}],["gesturechange",r=>{if(X===0)return;r.preventDefault();let{scale:u,clientX:p,clientY:M}=r;E(X*u,p,M)}],["gestureend",()=>{X=0}]];for(let[r,u,p]of me)e.addEventListener(r,u,p);return b=e.clientWidth+e.clientHeight,L(),{get scale(){return o||h()},get fit(){return h()},zoomBy(r){E((o||h())*r)},zoomTo(r){E(r)},reset:C,refresh:L,resized:P,destroy(){C(),n&&(n.style.touchAction="",n.removeAttribute("tabindex")),v?.remove(),Y&&(e.style.position=""),W?.disconnect();for(let[r,u,p]of me)e.removeEventListener(r,u,p)}}}function xe(e,t){let n=t?H(t).getComputedStyle(t):e;return{family:n.getPropertyValue("--pele-font").trim()||e.fontFamily||void 0,mono:n.getPropertyValue("--pele-font-mono").trim()||void 0}}var ce=new WeakMap,ue=new WeakMap,ve=new FinalizationRegistry(({elements:e,reference:t})=>e.delete(t));function Ke(e,t,n){let i=ce.get(e);if(!i){let a=i=new Set;ce.set(e,a),e.addEventListener("loadingdone",()=>{re();for(let s of[...a]){let d=s.deref();d?ue.get(d)?.():a.delete(s)}})}i.add(n),ve.register(t,{elements:i,reference:n},n)}var J=new WeakMap;function Ee(e,t,n,i={}){J.get(t)?.destroy();let a=n,s=i,d=e.parse(n,i),f,l,o={},g,c=-1,b=!1,w=(m,T)=>{let{onRender:L,...y}=s,x={...y,fontFamily:y.fontFamily??o.family,fontFamilyMono:y.fontFamilyMono??o.mono,maxWidth:void 0};T&&(f=e.render(d,x),g=void 0);let k=s.maxWidth??le(t,m);return c=k,k>0&&k<f.width&&(g??=e.render(d,{...x,maxWidth:1}).svg!==f.svg,g)?e.render(d,{...x,maxWidth:k}):f},h=(m,T=!m)=>{let L=H(t).getComputedStyle(t),y=t.firstElementChild??null;m&&(o=xe(L,y),b=t.isConnected===!1);let x=w(L,m);if(!(T&&x.svg===l.svg)){if(t.innerHTML=x.svg,m&&!y&&t.firstElementChild){let k=xe(L,t.firstElementChild);if(k.family!==o.family||k.mono!==o.mono){let G={fonts:o,natural:f,adapts:g,drawnFor:c};o=k;try{x=w(L,!0),t.innerHTML=x.svg}catch{({fonts:o,natural:f,adapts:g,drawnFor:c}=G)}}}l=x,D?.refresh(),s.onRender?.(x)}},D,O=!1,F,v=()=>{let m=s.zoom??"auto",T=s.watch!==!1;m===O&&T===F||(D?.destroy(),O=m,F=T,D=m===!1?void 0:de(t,{...typeof m=="object"?m:{always:m===!0},watch:T}))};h(!0),v();let A=m=>{try{h(m,!0)}catch{}},Y=()=>{if(b){t.isConnected!==!1&&A(!0);return}if(g===!1||s.maxWidth!==void 0)return;let m=le(t,H(t).getComputedStyle(t));m!==0&&m!==c&&m!==l.width&&A(!1)},Z=()=>{t.isConnected===!1?b=!0:A(!0)},_,C,E,$=new WeakRef(t),z=()=>{C?.disconnect(),C=void 0,E&&ce.get(E)?.delete($),ve.unregister($),E=void 0,ue.delete(t),_=void 0},P=()=>{if(s.watch===!1){z();return}let m=H(t);m!==_&&(z(),_=m,C=m.ResizeObserver?new m.ResizeObserver(Y):void 0,C?.observe(t),E=t.ownerDocument?.fonts,E&&(ue.set(t,Z),Ke(E,t,$)))};P();let W={get result(){return l},get zoom(){return D},update(m,T=s){let L={source:a,settings:s,model:d,natural:f,fonts:o,adapts:g,drawnFor:c,guessed:b},y=l;try{(m!==a||T.limit!==s.limit||T.maxEdges!==s.maxEdges||T.config!==s.config)&&(d=e.parse(m,T)),a=m,s=T,h(!0)}catch(x){throw l===y?({source:a,settings:s,model:d,natural:f,fonts:o,adapts:g,drawnFor:c,guessed:b}=L,x):(P(),v(),x)}return P(),v(),l},fit(){return Y(),s.watch===!1&&D?.resized(),l},refresh(){return P(),Z(),D?.resized(),l},destroy(){z(),D?.destroy(),J.get(t)===W&&J.delete(t)}};return J.set(t,W),W}var Q=new Map;function Tt(...e){for(let t of e)Q.set(t.type,t)}function Ct(e){return Q.has(e)}var Ue=5e4,Je=4e6,Qe=5e3;function Me(e){try{return e()}catch(t){throw t instanceof RangeError?new I("Diagram is nested too deeply.","limit"):t}}var Re=new WeakMap;function Te(e,t=Ue,n=Qe,i){if(e.length>t)throw new I(`Diagram source is longer than the limit of ${t} characters.`,"limit");let a=ae(e),s=oe(a.text);if(s===null)throw new I("No diagram type detected for the given text.","unsupported-diagram");let d=Q.get(s);if(d===void 0)throw new I(`Diagram type "${s}" is not supported yet.`,"unsupported-diagram",{type:s});let f=i?{...i,...a.config}:a.config,l=d.keepComments?a.withComments:a.text,o=d.parse(we(l)+`
9
+ `,f,a.title,a.lineOffset,{maxEdges:n});return{type:s,diagram:d,model:o,config:f}}function et(e,t){if(typeof e=="string")return Te(e,t.limit,t.maxEdges,t.config);let n=Re.get(e);if(n===void 0)throw new TypeError("render() takes diagram text or a model that parse() returned.");return n}function tt(e){return oe(ae(e).text)}function Ot(e){try{let t=tt(e);return t!==null&&Q.has(t)}catch{return!1}}function nt(e,t={}){return Me(()=>{let n=Te(e,t.limit,t.maxEdges,t.config);return typeof n.model=="object"&&n.model!==null&&Re.set(n.model,n),n.model})}function rt(e,t={}){return Me(()=>{let{type:n,diagram:i,model:a,config:s}=et(e,t),d=s[i.section??n],f=typeof d=="object"&&d!==null&&!Array.isArray(d)&&d.useMaxWidth===!1,l=t.responsive??!f,o=t.icons,g=o&&(w=>o(ne(w))),c=ge(g,()=>i.render(a,s,{...t,responsive:l,icons:g})),b=t.outputLimit??Je;if(c.svg.length>b)throw new I(`Diagram output is longer than the limit of ${b} characters.`,"limit",{type:n});for(let w of c.links)w.id=ne(w.id);return{type:n,...c}})}function kt(e,t,n={}){return Ee({parse:nt,render:rt},e,t,n)}export{de as a,Tt as b,Ct as c,tt as d,Ot as e,nt as f,rt as g,kt as h};
@@ -0,0 +1 @@
1
+ import{a as c,b as d,c as e,d as f,e as g,f as h,g as i,h as j}from"./chunks/YAYTP6L5.js";import"./chunks/EJ5KOXYD.js";import"./chunks/GUJTEFZK.js";import{a,h as b}from"./chunks/XTDUIGUI.js";export{a as PeleError,f as detectType,c as enableZoom,b as forgetTextWidths,j as mount,h as parse,d as register,e as registered,i as render,g as supports};
@@ -0,0 +1 @@
1
+ import{a as e}from"../chunks/MSKIJHB2.js";import"../chunks/DKTLEL5E.js";import"../chunks/3DKXF73K.js";import"../chunks/IZOKQ2GT.js";import"../chunks/XTDUIGUI.js";export{e as default};
@@ -0,0 +1 @@
1
+ import{a}from"../chunks/42UTT654.js";import"../chunks/RVARI57O.js";import"../chunks/DKTLEL5E.js";import"../chunks/GUJTEFZK.js";import"../chunks/IZOKQ2GT.js";import"../chunks/XTDUIGUI.js";export{a as default};
@@ -0,0 +1 @@
1
+ import{a}from"../chunks/UKSIWDDN.js";import"../chunks/DKTLEL5E.js";import"../chunks/3DKXF73K.js";import"../chunks/IZOKQ2GT.js";import"../chunks/XTDUIGUI.js";export{a as default};
@@ -0,0 +1 @@
1
+ import{a}from"../chunks/UPTXNAXN.js";import"../chunks/DKTLEL5E.js";import"../chunks/GUJTEFZK.js";import"../chunks/IZOKQ2GT.js";import"../chunks/XTDUIGUI.js";export{a as default};