@diagrammo/dgmo 0.46.0 → 0.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/dist/advanced.d.cts +3 -855
  2. package/dist/advanced.d.ts +3 -855
  3. package/dist/advanced.js +541 -70107
  4. package/dist/analyzer-UYKBXAKR.js +15 -0
  5. package/dist/auto.cjs +1 -1
  6. package/dist/auto.js +1 -1
  7. package/dist/auto.mjs +1 -1
  8. package/dist/block.js +83 -69417
  9. package/dist/calculator-LDYQCDDY.js +11 -0
  10. package/dist/charts-d3-QOZHKTCT.js +25 -0
  11. package/dist/chunk-2DXMZRWJ.js +800 -0
  12. package/dist/chunk-2LACINWN.js +786 -0
  13. package/dist/chunk-33LCUH4H.js +893 -0
  14. package/dist/chunk-3CIOJ5YJ.js +35 -0
  15. package/dist/chunk-3HDBAXF5.js +86 -0
  16. package/dist/chunk-3JLKYGBQ.js +290 -0
  17. package/dist/chunk-3MQQNXPD.js +415 -0
  18. package/dist/chunk-3R5POCTZ.js +967 -0
  19. package/dist/chunk-3SMGIJDD.js +112 -0
  20. package/dist/chunk-44CM72SQ.js +409 -0
  21. package/dist/chunk-4GRI7MEB.js +1604 -0
  22. package/dist/chunk-4OHACBGX.js +606 -0
  23. package/dist/chunk-5DH3KYFH.js +21 -0
  24. package/dist/chunk-5MLYVTYM.js +76 -0
  25. package/dist/chunk-5QXL4NYS.js +553 -0
  26. package/dist/chunk-5WRI5ZAA.js +31 -0
  27. package/dist/chunk-6EK55ART.js +117 -0
  28. package/dist/chunk-6FZYCKXB.js +2065 -0
  29. package/dist/chunk-6HO5ZTXK.js +277 -0
  30. package/dist/chunk-6KFWC4CO.js +7 -0
  31. package/dist/chunk-6MTWIQVO.js +121 -0
  32. package/dist/chunk-6NYWYNBI.js +329 -0
  33. package/dist/chunk-6SM5NJQH.js +620 -0
  34. package/dist/chunk-725LDASD.js +422 -0
  35. package/dist/chunk-76OWZ3BA.js +130 -0
  36. package/dist/chunk-7JEGTRLD.js +338 -0
  37. package/dist/chunk-A44USUV7.js +923 -0
  38. package/dist/chunk-A4GOY3PE.js +25 -0
  39. package/dist/chunk-A4VFQH5G.js +251 -0
  40. package/dist/chunk-AELOBFW5.js +375 -0
  41. package/dist/chunk-AN2MOO5T.js +522 -0
  42. package/dist/chunk-BMR4CIEO.js +41 -0
  43. package/dist/chunk-BS7SV7C3.js +51 -0
  44. package/dist/chunk-BUPDIHML.js +613 -0
  45. package/dist/chunk-BUVJFRPY.js +887 -0
  46. package/dist/chunk-C3Z4DX3V.js +112 -0
  47. package/dist/chunk-CI2G3OEB.js +1818 -0
  48. package/dist/chunk-CKNVO24D.js +54 -0
  49. package/dist/chunk-CUVHQHZ7.js +391 -0
  50. package/dist/chunk-CXK4DZH3.js +114 -0
  51. package/dist/chunk-DKEPS5LH.js +315 -0
  52. package/dist/chunk-DU7W62N5.js +487 -0
  53. package/dist/chunk-DZAQBW35.js +751 -0
  54. package/dist/chunk-EB6FPQUP.js +316 -0
  55. package/dist/chunk-EMS2SK26.js +376 -0
  56. package/dist/chunk-ERLBPDGU.js +510 -0
  57. package/dist/chunk-EVCVDTXE.js +732 -0
  58. package/dist/chunk-FCIIHT24.js +384 -0
  59. package/dist/chunk-FFUN5D66.js +97 -0
  60. package/dist/chunk-FITOLXSX.js +714 -0
  61. package/dist/chunk-FMDSF3OV.js +68 -0
  62. package/dist/chunk-FNB3PNGF.js +410 -0
  63. package/dist/chunk-G2H74XJZ.js +2104 -0
  64. package/dist/chunk-GMR5MFHJ.js +339 -0
  65. package/dist/chunk-H6PI3KJT.js +305 -0
  66. package/dist/chunk-I46X5VUA.js +59 -0
  67. package/dist/chunk-I5IGB56C.js +255 -0
  68. package/dist/chunk-IH6ZMVQ5.js +3950 -0
  69. package/dist/chunk-IJZFN3HM.js +463 -0
  70. package/dist/chunk-IPWPWM6R.js +3079 -0
  71. package/dist/chunk-IYULMRBE.js +23 -0
  72. package/dist/chunk-IZMRON6C.js +167 -0
  73. package/dist/chunk-J5FIXQRT.js +813 -0
  74. package/dist/chunk-JED6ZDEE.js +73 -0
  75. package/dist/chunk-JEUJOX5X.js +136 -0
  76. package/dist/chunk-JM4LEPY3.js +436 -0
  77. package/dist/chunk-L3UHP6TD.js +101 -0
  78. package/dist/chunk-L66GEFB6.js +524 -0
  79. package/dist/chunk-LIOHW36Z.js +469 -0
  80. package/dist/chunk-LP7EC4MI.js +16 -0
  81. package/dist/chunk-MITI6NOL.js +548 -0
  82. package/dist/chunk-MO5YHHMQ.js +168 -0
  83. package/dist/chunk-MZSBFAPJ.js +885 -0
  84. package/dist/chunk-NNAAJVBU.js +9 -0
  85. package/dist/chunk-NOTA6TEI.js +47 -0
  86. package/dist/chunk-NURGB5Z4.js +335 -0
  87. package/dist/chunk-NX4EQS3U.js +1062 -0
  88. package/dist/chunk-NXMESY4J.js +1 -0
  89. package/dist/chunk-OJR3MQYV.js +1458 -0
  90. package/dist/chunk-OURHMODR.js +454 -0
  91. package/dist/chunk-P235SVAH.js +1057 -0
  92. package/dist/chunk-P4RH4OSP.js +1038 -0
  93. package/dist/chunk-P6T66CCZ.js +226 -0
  94. package/dist/chunk-PBAHEPLQ.js +223 -0
  95. package/dist/chunk-PBHE5UG6.js +1530 -0
  96. package/dist/chunk-PDKUANDZ.js +35 -0
  97. package/dist/chunk-PWIHZ6NJ.js +296 -0
  98. package/dist/chunk-QEBUY5NY.js +1685 -0
  99. package/dist/chunk-QLCCJEJI.js +253 -0
  100. package/dist/chunk-QOOUC2J5.js +52 -0
  101. package/dist/chunk-QYTPPDAO.js +402 -0
  102. package/dist/chunk-R3XI2VC7.js +801 -0
  103. package/dist/chunk-RCERWOJR.js +154 -0
  104. package/dist/chunk-RJE5JTVK.js +362 -0
  105. package/dist/chunk-RTLBSQ3G.js +1155 -0
  106. package/dist/chunk-RUNNI6VE.js +448 -0
  107. package/dist/chunk-RVMRZAPB.js +354 -0
  108. package/dist/chunk-RYEGFMUO.js +955 -0
  109. package/dist/chunk-RZCF2VVM.js +528 -0
  110. package/dist/chunk-SML67VPV.js +1025 -0
  111. package/dist/chunk-SQ7IY53Q.js +44 -0
  112. package/dist/chunk-SQAG3UXH.js +161 -0
  113. package/dist/chunk-SRTU6HMQ.js +1851 -0
  114. package/dist/chunk-T2OE3YQB.js +550 -0
  115. package/dist/chunk-T3UBLACL.js +299 -0
  116. package/dist/chunk-TLVIHFRO.js +296 -0
  117. package/dist/chunk-TYS6CSS5.js +52 -0
  118. package/dist/chunk-U6EQI3U6.js +130 -0
  119. package/dist/chunk-UJ4FJLBF.js +86 -0
  120. package/dist/chunk-ULOEATBZ.js +347 -0
  121. package/dist/chunk-UNCCZ3NU.js +127 -0
  122. package/dist/chunk-USZW2HHU.js +197 -0
  123. package/dist/chunk-UWN33VNX.js +1610 -0
  124. package/dist/chunk-UZ7EZW3B.js +40 -0
  125. package/dist/chunk-VOKGH627.js +37 -0
  126. package/dist/chunk-WBRZJOEC.js +204 -0
  127. package/dist/chunk-WCSOJFU3.js +380 -0
  128. package/dist/chunk-WCT3NYCV.js +160 -0
  129. package/dist/chunk-WVAJFAIA.js +529 -0
  130. package/dist/chunk-X5LCYCL5.js +394 -0
  131. package/dist/chunk-XAKEUMEJ.js +1256 -0
  132. package/dist/chunk-Y2ZE3MSG.js +590 -0
  133. package/dist/chunk-Y3J7VR52.js +646 -0
  134. package/dist/chunk-Y5QGVTVC.js +33 -0
  135. package/dist/chunk-YAA6IID3.js +548 -0
  136. package/dist/chunk-YGJTDXVR.js +692 -0
  137. package/dist/chunk-YRYKTYMQ.js +186 -0
  138. package/dist/chunk-YYVTBZZC.js +61 -0
  139. package/dist/chunk-Z5CGSFJB.js +647 -0
  140. package/dist/chunk-Z72XRXD4.js +787 -0
  141. package/dist/chunk-ZGR7ULFJ.js +978 -0
  142. package/dist/chunk-ZJEL4H2R.js +851 -0
  143. package/dist/chunk-ZO27FGJS.js +554 -0
  144. package/dist/collapse-CLPJD2RL.js +11 -0
  145. package/dist/collapse-SLINJQW6.js +9 -0
  146. package/dist/collapse-ZWUFFCK2.js +9 -0
  147. package/dist/compute-G55RG53N.js +8 -0
  148. package/dist/dgmo-router-DZCIDUO5.js +73 -0
  149. package/dist/dimensions-J3FHIMJ6.js +22 -0
  150. package/dist/element.cjs +1 -1
  151. package/dist/element.js +1 -1
  152. package/dist/element.mjs +1 -1
  153. package/dist/flowchart-parser-ZNSKIBVR.js +21 -0
  154. package/dist/flowchart-renderer-ZAEOL4DX.js +35 -0
  155. package/dist/index.cjs +3 -3
  156. package/dist/index.d.cts +3 -469
  157. package/dist/index.d.ts +3 -469
  158. package/dist/index.js +137 -69685
  159. package/dist/layout-46N4JJYK.js +17 -0
  160. package/dist/layout-5RA6QWR6.js +26 -0
  161. package/dist/layout-5T6RH5M6.js +14 -0
  162. package/dist/layout-7QXCNOVS.js +13 -0
  163. package/dist/layout-EE6GE46Y.js +17 -0
  164. package/dist/layout-G23F7LDH.js +9 -0
  165. package/dist/layout-HRBZPFCN.js +23 -0
  166. package/dist/layout-HWDSRX5E.js +20 -0
  167. package/dist/layout-HYZPWAK5.js +18 -0
  168. package/dist/layout-N76NR4ZO.js +19 -0
  169. package/dist/layout-OB3RI63S.js +14 -0
  170. package/dist/layout-S2QBYSK2.js +15 -0
  171. package/dist/layout-UM5F4DJB.js +15 -0
  172. package/dist/layout-search-OYV77HHS.js +1655 -0
  173. package/dist/load-data-EHDDZ5ZS.js +8 -0
  174. package/dist/palettes-PRJ2RI6D.js +56 -0
  175. package/dist/parser-2MFP2H2E.js +11 -0
  176. package/dist/parser-3STE62GB.js +21 -0
  177. package/dist/parser-4FL2CMDG.js +18 -0
  178. package/dist/parser-4OGOBJJ4.js +13 -0
  179. package/dist/parser-6BTRLKRZ.js +15 -0
  180. package/dist/parser-AQETEVRW.js +21 -0
  181. package/dist/parser-CFZD5IBL.js +12 -0
  182. package/dist/parser-FUSKFGZN.js +16 -0
  183. package/dist/parser-I6KXEYFK.js +13 -0
  184. package/dist/parser-IXSZZQHY.js +18 -0
  185. package/dist/parser-JAL2HD4I.js +13 -0
  186. package/dist/parser-KNSQSKQO.js +20 -0
  187. package/dist/parser-N5O4IHUN.js +13 -0
  188. package/dist/parser-NGU3ETO6.js +16 -0
  189. package/dist/parser-NRAI6O25.js +19 -0
  190. package/dist/parser-O5J4VBII.js +11 -0
  191. package/dist/parser-OV7NOBW6.js +21 -0
  192. package/dist/parser-PQ3POX45.js +23 -0
  193. package/dist/parser-TFZFBVWN.js +11 -0
  194. package/dist/parser-TRTHDFPP.js +18 -0
  195. package/dist/parser-VQP2UJ6W.js +11 -0
  196. package/dist/parser-XDVELHRK.js +13 -0
  197. package/dist/parser-XKRP7QKP.js +11 -0
  198. package/dist/parser-Y6WTBU76.js +14 -0
  199. package/dist/parser-ZSDPZYQP.js +12 -0
  200. package/dist/renderer-2XQQQ6QR.js +28 -0
  201. package/dist/renderer-5NDVNDAZ.js +26 -0
  202. package/dist/renderer-6EEZHMH4.js +26 -0
  203. package/dist/renderer-6W5462RB.js +43 -0
  204. package/dist/renderer-7MVLWWQD.js +22 -0
  205. package/dist/renderer-AWWAF6XD.js +33 -0
  206. package/dist/renderer-BYCNMBF7.js +34 -0
  207. package/dist/renderer-CLJHQPBJ.js +29 -0
  208. package/dist/renderer-GHPZMFU2.js +15 -0
  209. package/dist/renderer-JGBKUCZD.js +16 -0
  210. package/dist/renderer-KQB7UGDS.js +19 -0
  211. package/dist/renderer-PGX2TKVS.js +24 -0
  212. package/dist/renderer-QIWVHWZO.js +15 -0
  213. package/dist/renderer-RPOA5YPZ.js +35 -0
  214. package/dist/renderer-SMIBCRVB.js +24 -0
  215. package/dist/renderer-T7YKC5VP.js +28 -0
  216. package/dist/renderer-TOCOVLHS.js +37 -0
  217. package/dist/renderer-UWA5XS74.js +39 -0
  218. package/dist/renderer-VACVQYML.js +25 -0
  219. package/dist/renderer-W4M6QLIJ.js +37 -0
  220. package/dist/renderer-WZRREQ2P.js +23 -0
  221. package/dist/renderer-YY2OSF6E.js +27 -0
  222. package/dist/renderer-Z7I3W2PP.js +24 -0
  223. package/dist/renderer-ZGNTUWC4.js +22 -0
  224. package/dist/renderer-ZTR3DER3.js +19 -0
  225. package/dist/renderer-radial-C32GPJQ7.js +21 -0
  226. package/dist/resolver-NOAA7ID7.js +13 -0
  227. package/dist/state-collapse-HCGD6IVJ.js +8 -0
  228. package/dist/state-parser-Z2V23ATR.js +18 -0
  229. package/dist/state-renderer-RFYHSP4K.js +34 -0
  230. package/dist/themes-1-CuKpeH.d.cts +908 -0
  231. package/dist/themes-1-CuKpeH.d.ts +908 -0
  232. package/package.json +1 -1
@@ -0,0 +1,22 @@
1
+ import {
2
+ mapContentAspect,
3
+ mapExportDimensions
4
+ } from "./chunk-CKNVO24D.js";
5
+ import "./chunk-IPWPWM6R.js";
6
+ import "./chunk-I5IGB56C.js";
7
+ import "./chunk-PBAHEPLQ.js";
8
+ import "./chunk-YAA6IID3.js";
9
+ import "./chunk-A4GOY3PE.js";
10
+ import "./chunk-QOOUC2J5.js";
11
+ import "./chunk-WCT3NYCV.js";
12
+ import "./chunk-P6T66CCZ.js";
13
+ import "./chunk-QLCCJEJI.js";
14
+ import "./chunk-Y3J7VR52.js";
15
+ import "./chunk-TLVIHFRO.js";
16
+ import "./chunk-CXK4DZH3.js";
17
+ import "./chunk-5WRI5ZAA.js";
18
+ export {
19
+ mapContentAspect,
20
+ mapExportDimensions
21
+ };
22
+ //# sourceMappingURL=dimensions-J3FHIMJ6.js.map
package/dist/element.cjs CHANGED
@@ -70073,7 +70073,7 @@ var CSS = AUTO_BASE_CSS + "\n" + BLOCK_CSS + "\n" + darkScopedBlockCss(BLOCK_CSS
70073
70073
 
70074
70074
  // src/auto/shared.ts
70075
70075
  init_safe_href();
70076
- var VERSION = "0.46.0";
70076
+ var VERSION = "0.47.0";
70077
70077
  var ARIA_LABEL_MAX = 200;
70078
70078
  var COPIED_INTERACTION_MS = 1500;
70079
70079
  var LOG_PREFIX = "[dgmo]";
package/dist/element.js CHANGED
@@ -633,7 +633,7 @@ pre.dgmo, code.language-dgmo, pre > code.language-dgmo,
633
633
  `)}var o5=Out+`
634
634
  `+DL+`
635
635
  `+Gut(DL)+`
636
- `;ju();var GL="0.46.0",$ut=200,Hut=1500,Wut="[dgmo]",But=/[\x00-\x1F‪-‮⁦-⁩]/g,OL="dgmoAutoStyles";function Vb(...t){typeof console<"u"&&console.warn&&console.warn(Wut,...t)}function a5(t){t.querySelectorAll("script, foreignObject").forEach(r=>r.remove());let n=[t,...Array.from(t.querySelectorAll("*"))];for(let r of n){for(let o of Array.from(r.attributes))o.name.toLowerCase().startsWith("on")&&r.removeAttribute(o.name);if(r.hasAttribute("href")&&Si(r.getAttribute("href"))===null&&r.removeAttribute("href"),r.hasAttributeNS("http://www.w3.org/1999/xlink","href")){let o=r.getAttributeNS("http://www.w3.org/1999/xlink","href");Si(o)===null&&r.removeAttributeNS("http://www.w3.org/1999/xlink","href")}}}function i5(t){if(t==="light"||t==="dark"||t==="transparent")return t;if(typeof document>"u")return"light";let e=document.documentElement,n=e.getAttribute("data-theme");return n==="dark"?"dark":n==="light"?"light":e.classList.contains("dark")?"dark":e.classList.contains("light")?"light":typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function s5(){if(typeof document>"u")return;let t=document.documentElement;if(t?.dataset?.[OL]==="1")return;if(document.querySelector('link[rel="stylesheet"][href*="auto.css"]')){t&&t.dataset&&(t.dataset[OL]="1");return}let n=document.createElement("style");n.setAttribute("data-dgmo-auto",""),n.textContent=o5,document.head.appendChild(n),t&&t.dataset&&(t.dataset[OL]="1")}function l5(t){let e=t.split(`
636
+ `;ju();var GL="0.47.0",$ut=200,Hut=1500,Wut="[dgmo]",But=/[\x00-\x1F‪-‮⁦-⁩]/g,OL="dgmoAutoStyles";function Vb(...t){typeof console<"u"&&console.warn&&console.warn(Wut,...t)}function a5(t){t.querySelectorAll("script, foreignObject").forEach(r=>r.remove());let n=[t,...Array.from(t.querySelectorAll("*"))];for(let r of n){for(let o of Array.from(r.attributes))o.name.toLowerCase().startsWith("on")&&r.removeAttribute(o.name);if(r.hasAttribute("href")&&Si(r.getAttribute("href"))===null&&r.removeAttribute("href"),r.hasAttributeNS("http://www.w3.org/1999/xlink","href")){let o=r.getAttributeNS("http://www.w3.org/1999/xlink","href");Si(o)===null&&r.removeAttributeNS("http://www.w3.org/1999/xlink","href")}}}function i5(t){if(t==="light"||t==="dark"||t==="transparent")return t;if(typeof document>"u")return"light";let e=document.documentElement,n=e.getAttribute("data-theme");return n==="dark"?"dark":n==="light"?"light":e.classList.contains("dark")?"dark":e.classList.contains("light")?"light":typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function s5(){if(typeof document>"u")return;let t=document.documentElement;if(t?.dataset?.[OL]==="1")return;if(document.querySelector('link[rel="stylesheet"][href*="auto.css"]')){t&&t.dataset&&(t.dataset[OL]="1");return}let n=document.createElement("style");n.setAttribute("data-dgmo-auto",""),n.textContent=o5,document.head.appendChild(n),t&&t.dataset&&(t.dataset[OL]="1")}function l5(t){let e=t.split(`
637
637
  `).map(n=>n.trim()).find(n=>n.length>0);return e?e.replace(But,"").slice(0,$ut):"DGMO diagram"}function c5(t){let e=n5(t.source,'<div class="dgmo-svg"></div>',{mode:t.showSource?"showcase":"diagram",showOpenInEditor:t.showSource&&t.showEditorLink,legacyClassNames:["dgmo-rendered",t.themeClass]}),n=document.createElement("div");n.innerHTML=e;let r=n.firstElementChild;r.querySelector(".dgmo-svg")?.appendChild(t.svgEl);let o=r.querySelector("a.dgmo-open");return o&&(t.shareUrl?o.href=t.shareUrl:o.remove()),Fut(r),r}function Fut(t){t.addEventListener("click",e=>{Yut(e)})}async function Yut(t){let e=t.target;if(!e||typeof e.closest!="function")return;let n=e.closest(".dgmo-toolbar-btn");if(!n)return;let r=!!n.closest("summary");if(r&&t.preventDefault(),n.matches("button.dgmo-copy")){await zut(n.dataset.dgmoSource??"")?(n.classList.add("dgmo-copy--success"),setTimeout(()=>n.classList.remove("dgmo-copy--success"),Hut)):Vb("clipboard write failed");return}if(r&&n.matches("a.dgmo-open")){let o=n;o.href&&window.open(o.href,o.target||"_blank","noopener,noreferrer")}}async function zut(t){try{if(navigator?.clipboard?.writeText)return await navigator.clipboard.writeText(t),!0}catch{}if(typeof document<"u")try{let e=document.createElement("textarea");e.value=t,e.setAttribute("readonly",""),e.style.position="absolute",e.style.left="-9999px",document.body.appendChild(e),e.select();let n=document.execCommand("copy");return document.body.removeChild(e),n}catch{return!1}return!1}function d5(t){let e=t.severity&&t.severity!=="error"?`${t.severity}: ${t.message}`:t.message;t.line!==void 0&&t.line>0&&(e+=t.column!==void 0?` (at ${t.line}:${t.column})`:` (at line ${t.line})`);let n=document.createElement("div");n.innerHTML=r5(new Error(e),t.source);let r=n.firstElementChild;return r.setAttribute("data-dgmo-processed","true"),r}function u5(t,e){let n=Db(t,{baseUrl:e.editorBase,palette:e.palette,theme:e.theme});if(!n.url)return null;let r=`utm_source=${encodeURIComponent(e.utmSource)}&utm_medium=html&utm_campaign=${encodeURIComponent(e.campaign)}`,o=n.url.indexOf("#"),a;if(o===-1){let i=n.url.includes("?")?"&":"?";a=n.url+i+r}else{let i=n.url.slice(0,o),s=n.url.slice(o+1),l=i.includes("?")?"&":"?",c=s.length>0?"&":"";a=i+l+r+"#"+s+c+r}return Si(a)?a:null}var Vut=`https://unpkg.com/@diagrammo/dgmo@${GL}/dist/map-data/`,Ub={worldCoarse:"world-coarse.json",worldDetail:"world-detail.json",usStates:"us-states.json",gazetteer:"gazetteer.json"},Uut={lakes:"lakes.json",rivers:"rivers.json",mountainRanges:"mountain-ranges.json",naLand:"na-land.json",naLakes:"na-lakes.json",waterBodies:"water-bodies.json",airports:"airports.json"},$L=new Map;function Xut(t){return t.endsWith("/")?t:t+"/"}async function Pp(t,e){let n=await fetch(t+e);if(!n.ok)throw new Error(`map asset ${e} \u2192 HTTP ${n.status}`);return await n.json()}async function jut(t){let e=Xut(t),n=$L.get(e);if(n)return n;let r=(async()=>{let[o,a,i,s]=await Promise.all([Pp(e,Ub.worldCoarse),Pp(e,Ub.worldDetail),Pp(e,Ub.usStates),Pp(e,Ub.gazetteer)]),l=await Promise.all(Object.entries(Uut).map(async([d,u])=>{try{return[d,await Pp(e,u)]}catch{return[d,void 0]}})),c={};for(let[d,u]of l)u!==void 0&&(c[d]=u);return{worldCoarse:o,worldDetail:a,usStates:i,gazetteer:s,...c}})().catch(o=>{throw $L.delete(e),o});return $L.set(e,r),r}function HL(t){let e=t.replace(/\t/g," ").split(`
638
638
  `);for(;e.length&&e[0].trim()==="";)e.shift();for(;e.length&&e[e.length-1].trim()==="";)e.pop();if(e.length===0)return"";let n=1/0;for(let r of e){if(r.trim()==="")continue;let o=r.length-r.trimStart().length;o<n&&(n=o)}return!Number.isFinite(n)||n===0?e.join(`
639
639
  `):e.map(r=>r.slice(n)).join(`
package/dist/element.mjs CHANGED
@@ -70072,7 +70072,7 @@ var CSS = AUTO_BASE_CSS + "\n" + BLOCK_CSS + "\n" + darkScopedBlockCss(BLOCK_CSS
70072
70072
 
70073
70073
  // src/auto/shared.ts
70074
70074
  init_safe_href();
70075
- var VERSION = "0.46.0";
70075
+ var VERSION = "0.47.0";
70076
70076
  var ARIA_LABEL_MAX = 200;
70077
70077
  var COPIED_INTERACTION_MS = 1500;
70078
70078
  var LOG_PREFIX = "[dgmo]";
@@ -0,0 +1,21 @@
1
+ import {
2
+ extractSymbols,
3
+ looksLikeFlowchart,
4
+ parseFlowchart
5
+ } from "./chunk-LIOHW36Z.js";
6
+ import "./chunk-I46X5VUA.js";
7
+ import "./chunk-NXMESY4J.js";
8
+ import "./chunk-5MLYVTYM.js";
9
+ import "./chunk-FMDSF3OV.js";
10
+ import "./chunk-FFUN5D66.js";
11
+ import "./chunk-NOTA6TEI.js";
12
+ import "./chunk-Y3J7VR52.js";
13
+ import "./chunk-TLVIHFRO.js";
14
+ import "./chunk-CXK4DZH3.js";
15
+ import "./chunk-5WRI5ZAA.js";
16
+ export {
17
+ extractSymbols,
18
+ looksLikeFlowchart,
19
+ parseFlowchart
20
+ };
21
+ //# sourceMappingURL=flowchart-parser-ZNSKIBVR.js.map
@@ -0,0 +1,35 @@
1
+ import {
2
+ renderFlowchart,
3
+ renderFlowchartForExport
4
+ } from "./chunk-RZCF2VVM.js";
5
+ import "./chunk-PDKUANDZ.js";
6
+ import "./chunk-T3UBLACL.js";
7
+ import "./chunk-LP7EC4MI.js";
8
+ import "./chunk-JEUJOX5X.js";
9
+ import "./chunk-6EK55ART.js";
10
+ import "./chunk-TYS6CSS5.js";
11
+ import "./chunk-5DH3KYFH.js";
12
+ import "./chunk-3HDBAXF5.js";
13
+ import "./chunk-BMR4CIEO.js";
14
+ import "./chunk-3CIOJ5YJ.js";
15
+ import "./chunk-YYVTBZZC.js";
16
+ import "./chunk-A4GOY3PE.js";
17
+ import "./chunk-6KFWC4CO.js";
18
+ import "./chunk-WCT3NYCV.js";
19
+ import "./chunk-P6T66CCZ.js";
20
+ import "./chunk-LIOHW36Z.js";
21
+ import "./chunk-I46X5VUA.js";
22
+ import "./chunk-NXMESY4J.js";
23
+ import "./chunk-5MLYVTYM.js";
24
+ import "./chunk-FMDSF3OV.js";
25
+ import "./chunk-FFUN5D66.js";
26
+ import "./chunk-NOTA6TEI.js";
27
+ import "./chunk-Y3J7VR52.js";
28
+ import "./chunk-TLVIHFRO.js";
29
+ import "./chunk-CXK4DZH3.js";
30
+ import "./chunk-5WRI5ZAA.js";
31
+ export {
32
+ renderFlowchart,
33
+ renderFlowchartForExport
34
+ };
35
+ //# sourceMappingURL=flowchart-renderer-ZAEOL4DX.js.map
package/dist/index.cjs CHANGED
@@ -65913,8 +65913,8 @@ var require_lz_string = __commonJS({
65913
65913
  });
65914
65914
 
65915
65915
  // src/index.ts
65916
- var index_exports = {};
65917
- __export(index_exports, {
65916
+ var src_exports = {};
65917
+ __export(src_exports, {
65918
65918
  D3_DATA_CHART_TYPES: () => D3_DATA_CHART_TYPES,
65919
65919
  attachDataChartInteractions: () => attachDataChartInteractions,
65920
65920
  chartTypes: () => chartTypes,
@@ -65939,7 +65939,7 @@ __export(index_exports, {
65939
65939
  themes: () => themes,
65940
65940
  validate: () => parseDgmo
65941
65941
  });
65942
- module.exports = __toCommonJS(index_exports);
65942
+ module.exports = __toCommonJS(src_exports);
65943
65943
 
65944
65944
  // src/d3.ts
65945
65945
  init_parse();
package/dist/index.d.cts CHANGED
@@ -1,228 +1,5 @@
1
- /**
2
- * Compact view state schema (ADR-6).
3
- * All fields optional. Only non-default values are encoded.
4
- * `tag: null` means "user chose none"; absent `tag` means "use DSL default" (ADR-5).
5
- */
6
- interface CompactViewState {
7
- tag?: string | null;
8
- cs?: number[];
9
- cg?: string[];
10
- swim?: string | null;
11
- cl?: string[];
12
- cc?: string[];
13
- rm?: string;
14
- htv?: Record<string, string[]>;
15
- ha?: string[];
16
- sem?: boolean;
17
- cm?: boolean;
18
- c4l?: string;
19
- c4s?: string;
20
- c4c?: string;
21
- rps?: number;
22
- spd?: number;
23
- io?: Record<string, number>;
24
- hd?: boolean;
25
- cbd?: boolean;
26
- rq?: string;
27
- an?: boolean;
28
- fl?: boolean;
29
- }
30
-
31
- type DgmoSeverity = 'error' | 'warning';
32
- interface DgmoError {
33
- line: number;
34
- column?: number;
35
- message: string;
36
- severity: DgmoSeverity;
37
- /**
38
- * Optional stable diagnostic code (e.g. 'E_ARROW_SUBSTRING_IN_LABEL').
39
- * Additive; pre-existing diagnostics omit this field and existing
40
- * substring-on-`.message` assertions keep working unchanged.
41
- */
42
- code?: string;
43
- }
44
- /** Runtime params passed to `emit()` and forwarded to a message builder. */
45
- type DiagnosticParams = Record<string, unknown>;
46
- /**
47
- * Parameter type for a `DiagnosticSpec.message` builder body. Typed loosely
48
- * (`any`) on purpose: builders are hand-authored interpolation bags keyed by
49
- * ad-hoc names, and dgmo's tsconfig enables `noPropertyAccessFromIndexSignature`
50
- * (which forbids `p.name` dot-access on a `Record<string, unknown>`). Using
51
- * `any` here keeps builder bodies readable (`p.name`) instead of forcing
52
- * `p['name']` bracket access at every interpolation site.
53
- */
54
- type DiagnosticMessageParams = any;
55
- interface DiagnosticSpec {
56
- /** Stable diagnostic code, e.g. `'E_MAP_UNKNOWN_PLACE'`. */
57
- code: string;
58
- /** Severity — must agree with the `E_`/`W_`/`I_` code prefix. */
59
- severity: DgmoSeverity;
60
- /** Owning chart type (`'map'`, `'swimlane'`, …) or `null` for universal/global codes. */
61
- chartType: string | null;
62
- /** Short human label for the catalog UI. */
63
- title: string;
64
- /**
65
- * Canonical message wording. A plain string for static messages, or a
66
- * builder `(params) => string` when the message interpolates runtime
67
- * values. The builder must tolerate being called with `{}` so the
68
- * catalog can show a representative message without live params.
69
- */
70
- message: string | ((params: DiagnosticMessageParams) => string);
71
- /** Optional fix guidance shown alongside the message. */
72
- hint?: string;
73
- /** Minimal `.dgmo` source that triggers this diagnostic (for docs/console). */
74
- example?: string;
75
- }
76
- /** Optional extras when emitting (currently just an explicit column). */
77
- interface EmitOptions {
78
- column?: number;
79
- }
80
- /**
81
- * Emit a diagnostic from its `DiagnosticSpec`. The code, severity, and
82
- * canonical wording all come from the spec — call sites supply only the
83
- * line and the interpolation params, so the code/severity can never drift
84
- * out of sync with the declared spec. Replaces the per-parser
85
- * `push`/`err`/`fail` wrappers that each re-declared this shape.
86
- */
87
- declare function emit(spec: DiagnosticSpec, line: number, params?: DiagnosticParams, opts?: EmitOptions): DgmoError;
88
- declare function formatDgmoError(err: DgmoError): string;
89
-
90
- /**
91
- * Parse DGMO content and return diagnostics without rendering.
92
- * Useful for the CLI and editor to surface all errors before attempting render.
93
- */
94
- declare function parseDgmo(content: string): {
95
- diagnostics: DgmoError[];
96
- chartType: string | null;
97
- };
98
-
99
- /**
100
- * Color definitions for a single mode (light or dark).
101
- * 10 semantic UI colors + 9 named accent colors = 19 total.
102
- *
103
- * `readonly` on every field (and the nested `colors` map) by design —
104
- * palettes flow from the registry into every renderer; nothing in the
105
- * pipeline should ever mutate a palette in place.
106
- */
107
- interface PaletteColors {
108
- /** Main background (#eceff4 light / #2e3440 dark for Nord) */
109
- readonly bg: string;
110
- /** Cards, panels (#e5e9f0 / #3b4252) */
111
- readonly surface: string;
112
- /** Popovers, dropdowns (#e5e9f0 / #434c5e) */
113
- readonly overlay: string;
114
- /** Borders, dividers, muted (#d8dee9 / #4c566a) */
115
- readonly border: string;
116
- /** Primary text (#2e3440 / #eceff4) */
117
- readonly text: string;
118
- /** Secondary/diminished text (#4c566a / #d8dee9) */
119
- readonly textMuted: string;
120
- /**
121
- * Light-mode arg for `contrastText()` when text is rendered on a
122
- * tinted shape fill (e.g. `shapeFill()` output). Must guarantee
123
- * ≥ 4.5:1 WCAG AA against any `shapeFill()` the palette can produce.
124
- * Distinct from `colors.white` because palette-aesthetic anchors don't
125
- * always meet contrast requirements (TD-5).
126
- */
127
- readonly textOnFillLight: string;
128
- /** Dark-mode counterpart to `textOnFillLight`. */
129
- readonly textOnFillDark: string;
130
- /** Primary accent — buttons, links */
131
- readonly primary: string;
132
- /** Secondary accent */
133
- readonly secondary: string;
134
- /** Tertiary accent */
135
- readonly accent: string;
136
- /** Error/danger */
137
- readonly destructive: string;
138
- /**
139
- * Used for: inline annotations (red), pie charts, cScale,
140
- * series rotation, journey actors, Gantt tasks.
141
- */
142
- readonly colors: {
143
- readonly red: string;
144
- readonly orange: string;
145
- readonly yellow: string;
146
- readonly green: string;
147
- readonly blue: string;
148
- readonly purple: string;
149
- readonly teal: string;
150
- readonly cyan: string;
151
- readonly gray: string;
152
- readonly black: string;
153
- readonly white: string;
154
- };
155
- }
156
- /**
157
- * Complete palette definition. One object per color scheme.
158
- * This is what palette authors create — the single artifact for NFR1.
159
- *
160
- * Palettes are immutable from the consumer's perspective; the registry
161
- * hands out the same frozen-shape object on every `getPalette(id)`.
162
- */
163
- interface PaletteConfig {
164
- /** Registry key: 'nord', 'slate', 'catppuccin' */
165
- readonly id: string;
166
- /** Display name: 'Nord', 'Slate', 'Catppuccin' */
167
- readonly name: string;
168
- /** Light mode color definitions */
169
- readonly light: PaletteColors;
170
- /** Dark mode color definitions */
171
- readonly dark: PaletteColors;
172
- }
173
-
174
- /**
175
- * Theme — render mode flag. Selects which palette variant the renderer uses
176
- * for background and text:
177
- * - 'light' → palette.light colors
178
- * - 'dark' → palette.dark colors
179
- * - 'transparent' → no background fill (for embedding in colored containers)
180
- */
181
- type Theme = 'light' | 'dark' | 'transparent';
182
- /**
183
- * `themes` namespace — use with render() options for a typed handle:
184
- *
185
- * await render(text, { theme: themes.dark });
186
- *
187
- * Passing the raw string `'dark'` also works (the underlying type is the
188
- * string-literal union); the namespace is the conventional path.
189
- */
190
- declare const themes: {
191
- readonly light: "light";
192
- readonly dark: "dark";
193
- readonly transparent: "transparent";
194
- };
195
-
196
- /** Get palette by id. Silently returns the default palette if id is unrecognized. */
197
- declare function getPalette(id: string): PaletteConfig;
198
- /**
199
- * Resolve a palette by id, falling back to the default palette when the id is
200
- * unregistered. If a `warn` callback is supplied, it is invoked once with a
201
- * human-readable fallback message on a miss — the single place the "resolve,
202
- * fall back, warn" policy lives, so each host can surface it its own way
203
- * (console.warn, Obsidian Notice, MCP response). Silent when the id resolves or
204
- * when no callback is passed.
205
- */
206
- declare function resolvePaletteOrFallback(id: string, warn?: (message: string) => void): PaletteConfig;
207
-
208
- /**
209
- * All built-in palettes, keyed by camelCase id. Use directly with render():
210
- *
211
- * await render(text, { palette: palettes.catppuccin });
212
- *
213
- * For preference/settings storage, the `.id` field of each entry is the
214
- * canonical string (e.g. `'tokyo-night'`, `'nord'`) — that's the wire format
215
- * used by share URLs and the CLI `--palette` flag.
216
- */
217
- declare const palettes: {
218
- readonly atlas: PaletteConfig;
219
- readonly blueprint: PaletteConfig;
220
- readonly slate: PaletteConfig;
221
- readonly tidewater: PaletteConfig;
222
- readonly nord: PaletteConfig;
223
- readonly catppuccin: PaletteConfig;
224
- readonly tokyoNight: PaletteConfig;
225
- };
1
+ import { ab as DiagnosticSpec, a as PaletteConfig, J as Theme, C as CompactViewState, D as DgmoError } from './themes-1-CuKpeH.cjs';
2
+ export { f as ChartTypeMeta, h as DgmoSeverity, ac as DiagnosticParams, ad as EmitOptions, j as Gazetteer, k as GazetteerEntry, l as MapCompletionOptions, M as MapData, o as MapLocationMatch, p as MapPlaceCompletion, s as MapRegionCompletion, P as PaletteColors, w as RegionName, x as RegionNames, N as chartTypes, O as completeMapPlaces, Q as completeMapRegions, ae as emit, X as formatDgmoError, _ as getPalette, a4 as palettes, af as resolvePaletteOrFallback, a8 as searchMapLocations, aa as themes, a5 as validate } from './themes-1-CuKpeH.cjs';
226
3
 
227
4
  declare function getMinDimensions(content: string): {
228
5
  width: number;
@@ -265,249 +42,6 @@ declare function getEmbedSvgViewBox(svg: string): {
265
42
  height: number;
266
43
  } | null;
267
44
 
268
- /** A TopoJSON topology (world-coarse/world-detail keyed by ISO 3166-1 alpha-2;
269
- * us-states keyed by ISO 3166-2). Geometry feature `id` is the ISO code;
270
- * `properties.name` is the display string. Kept loose to avoid a topojson dep. */
271
- interface BoundaryTopology {
272
- type: 'Topology';
273
- objects: Record<string, {
274
- type: string;
275
- geometries: BoundaryGeometry[];
276
- }>;
277
- arcs: number[][][];
278
- transform?: {
279
- scale: [number, number];
280
- translate: [number, number];
281
- };
282
- bbox?: number[];
283
- }
284
- interface BoundaryGeometry {
285
- type: string;
286
- /** ISO code: alpha-2 (countries) or 3166-2 `US-XX` (states). */
287
- id: string;
288
- properties: {
289
- name: string;
290
- };
291
- arcs?: unknown;
292
- }
293
- /**
294
- * A gazetteer city entry: `[lat, lon, iso, pop, name, sub?]`.
295
- * - `lat`/`lon` — rounded to 3 decimals.
296
- * - `iso` — ISO 3166-1 alpha-2 country code.
297
- * - `pop` — population.
298
- * - `name` — canonical display name (case/accents preserved).
299
- * - `sub` — ISO 3166-2 subdivision (US cities only in v1, e.g. `US-OR`); absent otherwise.
300
- */
301
- type GazetteerEntry = [
302
- lat: number,
303
- lon: number,
304
- iso: string,
305
- pop: number,
306
- name: string,
307
- sub?: string
308
- ];
309
- interface Gazetteer {
310
- /** Every city, stored once. `byName`/`alt` reference cities by array index
311
- * (normalized — no tuple duplication; geonameid is a build-time-only linker). */
312
- cities: GazetteerEntry[];
313
- /** Folded (NFD, diacritic-stripped, lowercased) name → indices into `cities`.
314
- * Always an array; length > 1 for same-named cities (Portland US-OR / US-ME). */
315
- byName: Record<string, number[]>;
316
- /** Folded alias → index into `cities`. Never collides with a `byName` key. */
317
- alt: Record<string, number>;
318
- }
319
- /**
320
- * IATA-coded airport index (a SEPARATE optional asset — `airports.json`; ADR-1).
321
- * Lets memorized airport codes resolve to coordinates through the resolver's
322
- * existing fold→lookup path (`poi JFK`, `route JFK -> LAX`) — no parser change.
323
- *
324
- * - `airports` — `GazetteerEntry` tuples `[lat, lon, iso, 0, name]`. `pop` is
325
- * always 0 (OurAirports has no enplanement column); `name` is the full airport
326
- * name, used for COMPLETION DISPLAY only — airports resolve by IATA code, never
327
- * by name. Coords are rounded to 2 decimals (~1km; sub-pixel at map scale).
328
- * - `airportIata` — folded 3-letter IATA code → index into `airports`. Consulted
329
- * LAST in resolution (after city `byName` + `alt`), so a real city always wins
330
- * a shared token (ADR-2). Airports never enter `cities[]`, so the city-scatter
331
- * and reverse-geocode layers never see them.
332
- */
333
- interface AirportData {
334
- readonly airports: GazetteerEntry[];
335
- readonly airportIata: Record<string, number>;
336
- }
337
- /** Water-feature class (Natural Earth `featurecla`, rivers/reefs excluded). */
338
- type WaterKind = 'ocean' | 'sea' | 'gulf' | 'bay' | 'strait' | 'channel' | 'sound';
339
- /**
340
- * A water-body label entry: `[lat, lon, name, tier, kind, alt?]`.
341
- * - `lat`/`lon` — label anchor (Natural Earth inner point), rounded to 3 decimals.
342
- * - `name` — full display name (no abbreviation exists for water bodies).
343
- * - `tier` — Natural Earth `scalerank` (0 = most prominent → orientation priority).
344
- * - `kind` — feature class (drives styling/priority bucketing).
345
- * - `alt` — optional extra anchor points `[lat, lon][]`; the layout picks the
346
- * one nearest the viewport center (Decision 5 multi-anchor seam). Absent today.
347
- */
348
- type WaterBodyEntry = [
349
- lat: number,
350
- lon: number,
351
- name: string,
352
- tier: number,
353
- kind: WaterKind,
354
- alt?: ReadonlyArray<readonly [number, number]>
355
- ];
356
- interface WaterBodies {
357
- /** Deterministically ordered (tier, then name). Generated from Natural Earth
358
- * marine polys by scripts/build-map-data.mjs into `water-bodies.json`. */
359
- readonly entries: readonly WaterBodyEntry[];
360
- }
361
- /** A fill-able region (country or US state) — the display name + its ISO id +
362
- * layer. Powers region-name autocomplete (completion-only; the renderer derives
363
- * names from the topology directly). Extracted from the topologies by
364
- * scripts/build-map-data.mjs into `region-names.json`. */
365
- interface RegionName {
366
- /** Display name (original casing), e.g. `California` / `Germany`. */
367
- readonly name: string;
368
- /** ISO 3166-1 alpha-2 (country) or 3166-2 `US-XX` (state). */
369
- readonly iso: string;
370
- readonly layer: 'country' | 'us-state';
371
- }
372
- interface RegionNames {
373
- /** Deterministically ordered (layer, then name). */
374
- readonly regions: readonly RegionName[];
375
- }
376
-
377
- interface MapPlaceCompletion {
378
- /** Canonical display name (original casing), e.g. `Portland`. */
379
- readonly name: string;
380
- /** Text to insert. ISO-qualified (`Portland US-OR`) iff the name is
381
- * ambiguous in the gazetteer; bare otherwise (disambiguate-once, §24B.8). */
382
- readonly insert: string;
383
- /** Menu label (`Portland — US-OR` when ambiguous, else `Portland`). */
384
- readonly label: string;
385
- /** Secondary detail, e.g. `US-OR · 652,503`. */
386
- readonly detail: string;
387
- readonly iso: string;
388
- readonly sub?: string;
389
- readonly pop: number;
390
- /** `'airport'` for IATA-code entries (icon/grouping affordance); absent or
391
- * `'city'` for gazetteer cities. Cities rank above airports for a shared
392
- * prefix so ~1500 codes never bury city names (ADR-5). */
393
- readonly kind?: 'city' | 'airport';
394
- }
395
- interface MapCompletionOptions {
396
- /** Max results (default 12). */
397
- readonly limit?: number;
398
- /** IATA-coded airports (`airports.json`). When supplied, airport codes
399
- * matching the prefix are offered as a second (post-city) group. Optional —
400
- * absent (old DI bundles / no asset) just yields city-only completions. */
401
- readonly airports?: AirportData;
402
- /** Resolver-inferred map scope (country `US` or subdivision `US-CA`). Biases
403
- * airport ranking so in-region airports sort above out-of-region same-prefix
404
- * ones (ADR-6). Pure rank, never a filter — cross-region airports still
405
- * appear. App passes the document's inferred scope in (Slice 2). */
406
- readonly scopeISO?: string;
407
- }
408
- /**
409
- * Prefix-match city names + alternate-name aliases against the gazetteer,
410
- * rank by population (desc; stable tie-break by gazetteer index), and emit
411
- * ISO-qualified insert text only for ambiguous (same-named) places.
412
- *
413
- * Pure + deterministic. Empty/blank query → `[]` (the caller gates min length).
414
- */
415
- declare function completeMapPlaces(query: string, gazetteer: Gazetteer, opts?: MapCompletionOptions): MapPlaceCompletion[];
416
- /** A POI search hit — a city or airport the resolver can resolve, with the
417
- * exact `token` to paste into DGMO (a `poi`/route endpoint). Powers the CLI
418
- * `dgmo map search` command and the MCP `lookup_map_location` tool, so authors
419
- * (and AI agents) can DISCOVER valid place tokens instead of guessing — e.g.
420
- * learn that "New York" must be `New York City` and that `JFK` is bundled. */
421
- interface MapLocationMatch {
422
- /** Canonical display name (cities) or full airport name. */
423
- readonly name: string;
424
- /** Exact text to use in DGMO. Cities: the name, ISO-qualified when ambiguous
425
- * (`Portland US-OR`). Airports: the upper-case IATA code (`JFK`). */
426
- readonly token: string;
427
- readonly kind: 'city' | 'airport';
428
- readonly iso: string;
429
- readonly sub?: string;
430
- /** City population (0 for airports). */
431
- readonly pop: number;
432
- /** Human detail, e.g. `US-OR · 652,503` or `Airport · John F Kennedy Intl`. */
433
- readonly detail: string;
434
- }
435
- /**
436
- * Substring-search cities + airports for a discovery surface (CLI / MCP), so an
437
- * author can find the exact token the resolver expects. Unlike
438
- * {@link completeMapPlaces} (prefix-only, editor type-ahead), this matches
439
- * anywhere in a city name OR an airport code/name, so "york" finds
440
- * `New York City` and "kennedy" finds `JFK`.
441
- *
442
- * Ranking: exact-name (or exact-IATA) → prefix → substring; within a tier,
443
- * cities by population desc (deterministic index tie-break), cities before
444
- * airports. Pure + deterministic. Empty query → `[]`.
445
- */
446
- declare function searchMapLocations(query: string, gazetteer: Gazetteer, opts?: {
447
- readonly limit?: number;
448
- readonly airports?: AirportData;
449
- }): MapLocationMatch[];
450
- interface MapRegionCompletion {
451
- /** Display name = insert text (the resolver disambiguates cross-layer
452
- * collisions like Georgia by map scope, §24B.8). */
453
- readonly name: string;
454
- /** ISO 3166-1/3166-2 id. */
455
- readonly iso: string;
456
- readonly layer: 'country' | 'us-state';
457
- /** Secondary detail, e.g. `US state · US-CA` or `Country · DE`. */
458
- readonly detail: string;
459
- }
460
- /**
461
- * Prefix-match fill-able region names (countries + US states) for region-fill
462
- * lines. Matches the folded display name OR the ISO code; deterministic
463
- * (alphabetical by name, then layer). Pure. Empty query → `[]`.
464
- *
465
- * `regions` is injected (the `region-names.json` asset, shipped in dist/map-data
466
- * alongside the gazetteer). Cross-layer same-name (Georgia: country GE + state
467
- * US-GA) yields both entries, distinguished by `detail`.
468
- */
469
- declare function completeMapRegions(query: string, regions: readonly RegionName[], opts?: MapCompletionOptions): MapRegionCompletion[];
470
-
471
- interface ChartTypeMeta {
472
- readonly id: string;
473
- readonly description: string;
474
- readonly fallback?: true;
475
- }
476
- declare const chartTypes: readonly ChartTypeMeta[];
477
-
478
- /** The four static assets, injected into the pure resolver (DI). */
479
- interface MapData {
480
- worldCoarse: BoundaryTopology;
481
- worldDetail: BoundaryTopology;
482
- usStates: BoundaryTopology;
483
- /** Major lakes (Natural Earth 110m) drawn as water over land — e.g. the Great
484
- * Lakes. Optional so hand-built test fixtures need not supply it. */
485
- lakes?: BoundaryTopology;
486
- /** Major river centerlines (Natural Earth 110m) drawn as thin water lines over
487
- * land — e.g. the Amazon, Nile, Mississippi. Optional, like `lakes`. */
488
- rivers?: BoundaryTopology;
489
- /** Notable mountain-range polygons (Natural Earth 50m geography regions) drawn
490
- * as a subtle gradient relief cue over base land when the `relief` directive
491
- * is on — e.g. the Rockies, Andes, Himalayas. Optional, like `lakes`. */
492
- mountainRanges?: BoundaryTopology;
493
- /** North-America-clipped 10m country land, used as crisp neighbour context
494
- * under the albers-usa US view so Canada/Mexico match the 10m states instead
495
- * of the coarser world tiers. Optional, like `lakes`. */
496
- naLand?: BoundaryTopology;
497
- /** North-America-clipped 10m major lakes (Great Lakes etc.), used in place of
498
- * the coarse `lakes` under the albers-usa US view. Optional. */
499
- naLakes?: BoundaryTopology;
500
- /** Water-body orientation labels (Natural Earth marine polys) drawn when the
501
- * `context-labels` directive is on — oceans/seas/gulfs/bays/etc. Optional, so
502
- * hand-built test fixtures and older bundles need not supply it. */
503
- waterBodies?: WaterBodies;
504
- /** IATA-coded airports (`airports.json`) — lets `poi JFK` / `route JFK -> LAX`
505
- * resolve. Optional so hand-built fixtures and older DI bundles need not supply
506
- * it; the resolver guards `data.airports?.…` everywhere. */
507
- airports?: AirportData;
508
- gazetteer: Gazetteer;
509
- }
510
-
511
45
  interface MountD3Opts {
512
46
  theme?: 'light' | 'dark' | 'transparent';
513
47
  palette?: string;
@@ -623,4 +157,4 @@ interface DecodedDiagramUrl {
623
157
  */
624
158
  declare function decodeDiagramUrl(url: string): DecodedDiagramUrl | null;
625
159
 
626
- export { type ChartTypeMeta, type CompactViewState, D3_DATA_CHART_TYPES, type DataChartInteractionOpts, type DecodedDiagramUrl, type DgmoError, type DgmoSeverity, type DiagnosticParams, type DiagnosticSpec, type EmitOptions, type EncodeDiagramUrlOptions, type Gazetteer, type GazetteerEntry, type MapCompletionOptions, type MapData, type MapLocationMatch, type MapPlaceCompletion, type MapRegionCompletion, type MountD3Opts, type MountedD3Chart, type PaletteColors, type PaletteConfig, type RegionName, type RegionNames, type RenderOptions, type RenderResult, type Theme, attachDataChartInteractions, chartTypes, completeMapPlaces, completeMapRegions, decodeDiagramUrl, emit, encodeDiagramUrl, formatDgmoError, getDiagnosticSpec, getEmbedSvgViewBox, getMinDimensions, getPalette, listDiagnosticCodes, mountD3DataChart, normalizeSvgForEmbed, palettes, render, resolvePaletteOrFallback, searchMapLocations, supportsD3DataChart, themes, parseDgmo as validate };
160
+ export { CompactViewState, D3_DATA_CHART_TYPES, type DataChartInteractionOpts, type DecodedDiagramUrl, DgmoError, DiagnosticSpec, type EncodeDiagramUrlOptions, type MountD3Opts, type MountedD3Chart, PaletteConfig, type RenderOptions, type RenderResult, Theme, attachDataChartInteractions, decodeDiagramUrl, encodeDiagramUrl, getDiagnosticSpec, getEmbedSvgViewBox, getMinDimensions, listDiagnosticCodes, mountD3DataChart, normalizeSvgForEmbed, render, supportsD3DataChart };