@diagrammo/dgmo 0.11.2 → 0.12.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.
- package/dist/auto.cjs +1 -1
- package/dist/auto.js +1 -1
- package/dist/auto.mjs +1 -1
- package/dist/index.cjs +126 -67
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +16 -5
- package/dist/index.d.ts +16 -5
- package/dist/index.js +126 -67
- package/dist/index.js.map +1 -1
- package/docs/language-reference.md +0 -19
- package/package.json +1 -1
- package/src/completion.ts +153 -71
package/dist/auto.cjs
CHANGED
|
@@ -45451,7 +45451,7 @@ pre.dgmo, code.language-dgmo, pre > code.language-dgmo,
|
|
|
45451
45451
|
|
|
45452
45452
|
// src/auto/index.ts
|
|
45453
45453
|
init_safe_href();
|
|
45454
|
-
var VERSION = "0.
|
|
45454
|
+
var VERSION = "0.12.0";
|
|
45455
45455
|
var DEFAULTS = {
|
|
45456
45456
|
theme: "auto",
|
|
45457
45457
|
palette: "nord",
|
package/dist/auto.js
CHANGED
|
@@ -638,7 +638,7 @@ pre.dgmo, code.language-dgmo, pre > code.language-dgmo,
|
|
|
638
638
|
.dgmo-rendered.dgmo-theme-dark .dgmo-source-pre .dgmo-tok-comment,
|
|
639
639
|
.dgmo-rendered.dgmo-theme-dark .dgmo-source-pre .dgmo-tok-noteContent,
|
|
640
640
|
.dgmo-rendered.dgmo-theme-dark .dgmo-source-pre .dgmo-tok-punctuation { color: #616e88; }
|
|
641
|
-
`;xz();var AXe="0.
|
|
641
|
+
`;xz();var AXe="0.12.0",tci={theme:"auto",palette:"nord",showSource:!0,showEditorLink:!0},hge={...tci},oO=new Set,rci="https://online.diagrammo.app",nci=8192,uAr=256*1024,ici=200,sci=1200,oci="[dgmo:auto]",aci=/[\x00-\x1F--]/g,mXe="dgmoAutoStyles";function om(...e){typeof console<"u"&&console.warn&&console.warn(oci,...e)}function dAr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function lci(e){e.querySelectorAll("script, foreignObject").forEach(i=>i.remove());let n=[e,...Array.from(e.querySelectorAll("*"))];for(let i of n){for(let o of Array.from(i.attributes))o.name.toLowerCase().startsWith("on")&&i.removeAttribute(o.name);if(i.hasAttribute("href")&&tC(i.getAttribute("href"))===null&&i.removeAttribute("href"),i.hasAttributeNS("http://www.w3.org/1999/xlink","href")){let o=i.getAttributeNS("http://www.w3.org/1999/xlink","href");tC(o)===null&&i.removeAttributeNS("http://www.w3.org/1999/xlink","href")}}}function pAr(e){try{return nj().some(t=>t.id===e)}catch{return!1}}function hAr(){if(typeof document>"u")return null;let e=document.currentScript;if(e&&e instanceof HTMLScriptElement)return e;let t=document.querySelectorAll('script[src*="auto.js"], script[src*="auto.min.js"]');return t.length===0?null:t[t.length-1]}var uci=["theme","palette","showSource","showEditorLink"],fAr=["__proto__","constructor","prototype"],cci=["auto","light","dark","transparent"];function mAr(e){return typeof e=="string"&&cci.includes(e)}function yAr(e){if(!e)return{};let t;try{t=JSON.parse(e)}catch(i){return om("data-config: invalid JSON",i),{}}if(!dAr(t))return om("data-config: not an object"),{};for(let i of fAr)if(Object.prototype.hasOwnProperty.call(t,i))return om("data-config: rejected (prototype-pollution key:",i,")"),{};let n={};for(let[i,o]of Object.entries(t)){if(!uci.includes(i)){om("data-config: dropping unknown key",i);continue}if(i==="theme"){if(!mAr(o)){om("data-config: rejected theme",o);continue}n.theme=o}else if(i==="palette"){if(typeof o!="string"||!pAr(o)){om("data-config: rejected palette",o);continue}n.palette=o}else if(i==="showSource"){if(typeof o!="boolean"){om("data-config: rejected showSource",o);continue}n.showSource=o}else if(i==="showEditorLink"){if(typeof o!="boolean"){om("data-config: rejected showEditorLink",o);continue}n.showEditorLink=o}}return n}function AAr(e=document){let t=e.querySelectorAll(".dgmo:not([data-dgmo-processed]), .language-dgmo:not([data-dgmo-processed])");return Array.from(t).filter(n=>!n.closest(".dgmo-rendered"))}function gAr(e){if(e==="light"||e==="dark"||e==="transparent")return e;if(typeof document>"u")return"light";let t=document.documentElement,n=t.getAttribute("data-theme");return n==="dark"?"dark":n==="light"?"light":t.classList.contains("dark")?"dark":t.classList.contains("light")?"light":typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function SAr(){if(typeof document>"u")return;let e=document.documentElement;if(e&&e.dataset&&e.dataset[mXe]==="1")return;if(document.querySelector('link[rel="stylesheet"][href*="auto.css"]')){e&&e.dataset&&(e.dataset[mXe]="1");return}let n=document.createElement("style");n.setAttribute("data-dgmo-auto",""),n.textContent=lAr,document.head.appendChild(n),e&&e.dataset&&(e.dataset[mXe]="1")}function dci(e){let t=document.createDocumentFragment(),n;try{n=aAr(e)}catch{return t.appendChild(document.createTextNode(e)),t}for(let i of n){if(!i.text)continue;let o=document.createElement("span");o.className=`dgmo-tok-${i.role}`,o.textContent=i.text,t.appendChild(o)}return t}var vAr='<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="5.5" y="5.5" width="8" height="8" rx="1.5"/><path d="M10.5 5.5V3a1.5 1.5 0 0 0-1.5-1.5H3A1.5 1.5 0 0 0 1.5 3v6A1.5 1.5 0 0 0 3 10.5h2.5"/></svg>',pci='<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="3 8.5 6.5 12 13 4.5"/></svg>',hci='<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 2h5v5"/><path d="M14 2L7 9"/><path d="M13 9v4a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h4"/></svg>';function fge(e,t){e.innerHTML=t}function fci(e,t,n){let i=document.createElement("div");i.className="dgmo-source-panel";let o=document.createElement("button");o.type="button",o.className="dgmo-source-toggle",o.setAttribute("aria-expanded","false");let r=document.createElement("span");r.className="dgmo-chevron",r.setAttribute("aria-hidden","true"),r.textContent="\u25B8",o.appendChild(r);let s=document.createElement("span");s.textContent="DGMO source",o.appendChild(s);let a=document.createElement("div");a.className="dgmo-source-body";let l=document.createElement("pre");l.className="dgmo-source-pre",l.appendChild(dci(e)),a.appendChild(l);let u=document.createElement("div");u.className="dgmo-source-actions";let c=document.createElement("button");if(c.type="button",c.className="dgmo-btn dgmo-btn-copy",c.setAttribute("aria-label","Copy DGMO source"),c.title="Copy source",fge(c,vAr),c.addEventListener("click",()=>{mci(e,c)}),u.appendChild(c),n){let d=document.createElement("a");d.className="dgmo-btn dgmo-btn-editor",d.target="_blank",d.rel="noopener noreferrer",d.setAttribute("aria-label","Open in editor"),fge(d,hci),t?(d.href=t,d.title="Open in editor"):(d.setAttribute("aria-disabled","true"),d.title="Diagram too large for share link; copy source and paste into editor",d.addEventListener("click",p=>p.preventDefault())),u.appendChild(d)}return a.appendChild(u),i.appendChild(o),i.appendChild(a),o.addEventListener("click",()=>{let d=a.classList.toggle("dgmo-open");o.setAttribute("aria-expanded",d?"true":"false")}),i}async function mci(e,t){let n=!1;try{navigator?.clipboard?.writeText&&(await navigator.clipboard.writeText(e),n=!0)}catch{}if(!n&&typeof document<"u")try{let i=document.createElement("textarea");i.value=e,i.setAttribute("readonly",""),i.style.position="absolute",i.style.left="-9999px",document.body.appendChild(i),i.select(),n=document.execCommand("copy"),document.body.removeChild(i)}catch{n=!1}n?(fge(t,pci),t.classList.add("dgmo-btn-copied"),setTimeout(()=>{fge(t,vAr),t.classList.remove("dgmo-btn-copied")},sci)):om("clipboard write failed")}function sO(e){let t=document.createElement("div");t.className="dgmo-error-banner",t.setAttribute("role","alert");let n=document.createElement("div");if(n.className="dgmo-error-banner-title",n.textContent=`${e.severity??"error"}: ${e.message}`,t.appendChild(n),e.line!==void 0&&e.line>0){let i=document.createElement("div");i.className="dgmo-error-banner-loc",i.textContent=e.column!==void 0?`at ${e.line}:${e.column}`:`at line ${e.line}`,t.appendChild(i)}return t}function yci(e){let t=e.split(`
|
|
642
642
|
`).map(n=>n.trim()).find(n=>n.length>0);return t?t.replace(aci,"").slice(0,ici):"DGMO diagram"}function Aci(e){if(e.tagName==="CODE"){let t=e.parentElement;if(t&&t.tagName==="PRE"){let n=Array.from(t.childNodes).filter(i=>i.nodeType===1||i.nodeType===3&&(i.textContent||"").trim().length>0);if(n.length===1&&n[0]===e)return t}}return e}async function wAr(e){if(!(e instanceof HTMLElement))return{};if(e.dataset.dgmoProcessed==="true")return{};e.dataset.dgmoProcessed="true";let t=e.textContent||"";if(new TextEncoder().encode(t).byteLength>uAr){e.style.visibility="";let w=sO({message:`DGMO source too large to render \u2014 ${uAr/1024} KB max`,severity:"error"});return e.parentElement?.insertBefore(w,e),om("source exceeds 256 KB cap"),{}}let i=hge,o=i.theme==="transparent"?"transparent":gAr(i.theme),r=o==="transparent"?"transparent":o,s=yci(t),a=e.dataset.showSource,l=i.showSource;a==="true"?l=!0:a==="false"?l=!1:a!==void 0&&om("data-show-source: invalid value",a,'\u2014 expected "true" or "false"');let u;try{u=await Hyr(t,{theme:r,palette:i.palette})}catch(w){e.style.visibility="";let E=w instanceof Error?w.message:"Render failed unexpectedly",x=sO({message:E,severity:"error"});return e.parentElement?.insertBefore(x,e),om("render() rejected:",w),{}}if(u.diagnostics&&u.diagnostics.length>0){e.style.visibility="";let w=u.diagnostics[0],E=sO({message:w.message,severity:w.severity,line:w.line,column:w.column});return e.parentElement?.insertBefore(E,e),om("diagnostic:",w.message,w.line,w.column),{}}if(!u.svg){e.style.visibility="";let w=sO({message:"Empty SVG returned from renderer",severity:"error"});return e.parentElement?.insertBefore(w,e),{}}let c=document.createElement("div"),d=o==="dark"?"dgmo-theme-dark":o==="transparent"?"dgmo-theme-transparent":"dgmo-theme-light";c.className=`dgmo-rendered ${d}`,c.dataset.dgmoProcessed="true";let p=document.createElement("div");p.innerHTML=u.svg;let h=p.querySelector("svg");if(!h){e.style.visibility="";let w=sO({message:"Empty SVG returned from renderer",severity:"error"});return e.parentElement?.insertBefore(w,e),{}}if(lci(h),h.setAttribute("role","img"),h.setAttribute("aria-label",s),c.appendChild(h),l){let w=null;if(i.showEditorLink){let x=o==="dark"?"dark":"light",T=Gyr(t,{baseUrl:rci,palette:i.palette,theme:x});if(T.url){let _=`utm_source=auto-embed&utm_medium=html&utm_campaign=${encodeURIComponent(AXe)}`,C=T.url.indexOf("#"),D;if(C===-1){let B=T.url.includes("?")?"&":"?";D=T.url+B+_}else{let B=T.url.slice(0,C),M=T.url.slice(C+1),L=B.includes("?")?"&":"?",P=M.length>0?"&":"";D=B+L+_+"#"+M+P+_}w=D,tC(w)||(w=null)}else T.error==="too-large"&&T.compressedSize>nci&&(w=null)}let E=fci(t,w,i.showEditorLink);c.appendChild(E)}let v={wrapper:c,source:t,perElementShowSource:a==="true"?!0:a==="false"?!1:null};return oO.add(v),Aci(e).replaceWith(c),{wrapper:c}}function gXe(e={}){if(!dAr(e))return;for(let n of fAr)if(Object.prototype.hasOwnProperty.call(e,n)){om("initialize: rejected (prototype-pollution key:",n,")");return}let t={...hge};mAr(e.theme)&&(t.theme=e.theme),typeof e.palette=="string"&&pAr(e.palette)&&(t.palette=e.palette),typeof e.showSource=="boolean"&&(t.showSource=e.showSource),typeof e.showEditorLink=="boolean"&&(t.showEditorLink=e.showEditorLink),hge=t}async function SXe(e={}){SAr();for(let n of Array.from(oO))document.contains(n.wrapper)||oO.delete(n);let t;if(e.nodes){t=("length"in e.nodes&&typeof e.nodes!="string"?Array.from(e.nodes):[]).filter(o=>o instanceof Element&&(o.matches(".dgmo, .language-dgmo")||o.querySelector(".dgmo, .language-dgmo")!==null));let i=[];for(let o of t)o.matches(".dgmo, .language-dgmo")&&i.push(o),o.querySelectorAll(".dgmo:not([data-dgmo-processed]), .language-dgmo:not([data-dgmo-processed])").forEach(s=>i.push(s));t=Array.from(new Set(i)).filter(o=>!o.closest(".dgmo-rendered"))}else t=AAr();await Promise.all(t.map(n=>wAr(n).catch(()=>({}))))}function gci(){if(hge.theme==="auto")for(let e of Array.from(oO)){let t=document.createElement("pre");t.className="dgmo",t.textContent=e.source,e.perElementShowSource!==null&&(t.dataset.showSource=String(e.perElementShowSource)),e.wrapper.replaceWith(t),oO.delete(e),wAr(t)}}function Sci(){if(typeof window>"u"||!window.matchMedia)return;let e=window.matchMedia("(prefers-color-scheme: dark)"),t=()=>gci();e.addEventListener?e.addEventListener("change",t):"addListener"in e&&typeof e.addListener=="function"&&e.addListener(t)}function yXe(){if(typeof document>"u")return;document.querySelectorAll(".dgmo:not(.dgmo-rendered), .language-dgmo").forEach(t=>{t.closest(".dgmo-rendered")||(t.style.visibility="visible")}),document.documentElement&&document.documentElement.dataset&&(document.documentElement.dataset.dgmoAutoFailed="1")}function vci(){try{SAr();let e=hAr(),t=e?.getAttribute("data-auto"),n=e?.getAttribute("data-config");if(n){let o=yAr(n);gXe(o)}if(Sci(),typeof window<"u"&&window.setTimeout(()=>{document.querySelectorAll(".dgmo:not(.dgmo-rendered):not([data-dgmo-processed])").length>0&&(om("safety timeout: un-hiding unrendered sources"),yXe())},3e4),t==="false")return;let i=()=>{SXe().catch(o=>{om("run() crashed:",o),yXe()})};typeof document<"u"&&document.readyState!=="loading"?i():typeof document<"u"&&document.addEventListener("DOMContentLoaded",i,{once:!0})}catch(e){om("bootstrap failed:",e),yXe()}}var EAr=Object.freeze({initialize:gXe,run:SXe,version:AXe});function cAr(e,t){try{Object.defineProperty(e,t,{value:EAr,writable:!1,configurable:!1,enumerable:!0})}catch{}}typeof window<"u"&&(cAr(window,"dgmo"),cAr(window,"diagrammo"),vci());var wci=EAr;return fc(Eci);})();
|
|
643
643
|
/*! Bundled license information:
|
|
644
644
|
|
package/dist/auto.mjs
CHANGED
|
@@ -45453,7 +45453,7 @@ pre.dgmo, code.language-dgmo, pre > code.language-dgmo,
|
|
|
45453
45453
|
|
|
45454
45454
|
// src/auto/index.ts
|
|
45455
45455
|
init_safe_href();
|
|
45456
|
-
var VERSION = "0.
|
|
45456
|
+
var VERSION = "0.12.0";
|
|
45457
45457
|
var DEFAULTS = {
|
|
45458
45458
|
theme: "auto",
|
|
45459
45459
|
palette: "nord",
|
package/dist/index.cjs
CHANGED
|
@@ -46466,6 +46466,15 @@ var COMPLETION_REGISTRY = /* @__PURE__ */ new Map([
|
|
|
46466
46466
|
"no-value": { description: "Hide value labels at each point" }
|
|
46467
46467
|
})
|
|
46468
46468
|
],
|
|
46469
|
+
[
|
|
46470
|
+
"multi-line",
|
|
46471
|
+
withGlobals({
|
|
46472
|
+
series: { description: "Series name(s)" },
|
|
46473
|
+
"x-label": { description: "X-axis label" },
|
|
46474
|
+
"y-label": { description: "Y-axis label" },
|
|
46475
|
+
"no-value": { description: "Hide value labels at each point" }
|
|
46476
|
+
})
|
|
46477
|
+
],
|
|
46469
46478
|
[
|
|
46470
46479
|
"polar-area",
|
|
46471
46480
|
withGlobals({
|
|
@@ -46569,8 +46578,15 @@ var COMPLETION_REGISTRY = /* @__PURE__ */ new Map([
|
|
|
46569
46578
|
],
|
|
46570
46579
|
[
|
|
46571
46580
|
"flowchart",
|
|
46581
|
+
// Spec §5 §4.6: direction-lr, orientation-vertical, no-color, solid-fill
|
|
46572
46582
|
withGlobals({
|
|
46573
|
-
"direction-lr": { description: "Switch to left-to-right layout" }
|
|
46583
|
+
"direction-lr": { description: "Switch to left-to-right layout" },
|
|
46584
|
+
"orientation-vertical": {
|
|
46585
|
+
description: "Use vertical orientation for ranks"
|
|
46586
|
+
},
|
|
46587
|
+
"no-color": {
|
|
46588
|
+
description: "Resolve all nodes to muted neutral fill"
|
|
46589
|
+
}
|
|
46574
46590
|
})
|
|
46575
46591
|
],
|
|
46576
46592
|
[
|
|
@@ -46583,85 +46599,73 @@ var COMPLETION_REGISTRY = /* @__PURE__ */ new Map([
|
|
|
46583
46599
|
],
|
|
46584
46600
|
[
|
|
46585
46601
|
"er",
|
|
46602
|
+
// Spec §9 §8.5: notation (chen/crow), active-tag.
|
|
46586
46603
|
withGlobals({
|
|
46604
|
+
notation: {
|
|
46605
|
+
description: "ER notation style",
|
|
46606
|
+
values: ["chen", "crow"]
|
|
46607
|
+
},
|
|
46587
46608
|
"active-tag": { description: "Active tag group name" }
|
|
46588
46609
|
})
|
|
46589
46610
|
],
|
|
46590
46611
|
[
|
|
46591
46612
|
"org",
|
|
46613
|
+
// Spec §7 §6.5: direction-tb, sub-node-label, show-sub-node-count,
|
|
46614
|
+
// hide, active-tag. solid-fill via SOLID_FILL_CAPABLE.
|
|
46592
46615
|
withGlobals({
|
|
46616
|
+
"direction-tb": { description: "Switch to top-to-bottom layout" },
|
|
46593
46617
|
"sub-node-label": { description: "Label for sub-nodes" },
|
|
46594
46618
|
"show-sub-node-count": { description: "Show sub-node counts" },
|
|
46619
|
+
hide: { description: "Hide tag:value pairs" },
|
|
46595
46620
|
"active-tag": { description: "Active tag group name" }
|
|
46596
46621
|
})
|
|
46597
46622
|
],
|
|
46598
46623
|
[
|
|
46599
46624
|
"kanban",
|
|
46625
|
+
// Spec §11 §10.4: no-auto-color, hide, active-tag.
|
|
46600
46626
|
withGlobals({
|
|
46601
46627
|
"no-auto-color": { description: "Disable automatic card coloring" },
|
|
46628
|
+
hide: { description: "Hide tag:value pairs" },
|
|
46602
46629
|
"active-tag": { description: "Active tag group name" }
|
|
46603
46630
|
})
|
|
46604
46631
|
],
|
|
46605
|
-
// RACI / RASCI / DACI —
|
|
46632
|
+
// RACI / RASCI / DACI — one chart type (`raci`), variant inferred from
|
|
46633
|
+
// markers or locked via `variant-*` bare directive. `rasci`/`daci` are
|
|
46634
|
+
// not first-line keywords so they get no separate registry entry.
|
|
46606
46635
|
[
|
|
46607
46636
|
"raci",
|
|
46608
46637
|
withGlobals({
|
|
46609
|
-
variant: {
|
|
46610
|
-
description: "
|
|
46611
|
-
values: ["raci", "rasci", "daci"]
|
|
46612
|
-
},
|
|
46613
|
-
roles: {
|
|
46614
|
-
description: "Comma-separated role list (declares column order; enables unknown-role linting)"
|
|
46615
|
-
},
|
|
46616
|
-
draft: {
|
|
46617
|
-
description: "Suppress missing-A / missing-R warnings during authoring"
|
|
46618
|
-
},
|
|
46619
|
-
"active-tag": { description: "Active tag group name" }
|
|
46620
|
-
})
|
|
46621
|
-
],
|
|
46622
|
-
[
|
|
46623
|
-
"rasci",
|
|
46624
|
-
withGlobals({
|
|
46625
|
-
variant: {
|
|
46626
|
-
description: "Variant rule set",
|
|
46627
|
-
values: ["raci", "rasci", "daci"]
|
|
46638
|
+
"variant-raci": {
|
|
46639
|
+
description: "Lock chart to RACI variant (R / A / C / I markers)"
|
|
46628
46640
|
},
|
|
46629
|
-
|
|
46630
|
-
description: "
|
|
46641
|
+
"variant-rasci": {
|
|
46642
|
+
description: "Lock chart to RASCI variant (adds Support \u2014 R / A / S / C / I)"
|
|
46631
46643
|
},
|
|
46632
|
-
|
|
46633
|
-
description: "
|
|
46634
|
-
},
|
|
46635
|
-
"active-tag": { description: "Active tag group name" }
|
|
46636
|
-
})
|
|
46637
|
-
],
|
|
46638
|
-
[
|
|
46639
|
-
"daci",
|
|
46640
|
-
withGlobals({
|
|
46641
|
-
variant: {
|
|
46642
|
-
description: "Variant rule set",
|
|
46643
|
-
values: ["raci", "rasci", "daci"]
|
|
46644
|
+
"variant-daci": {
|
|
46645
|
+
description: "Lock chart to DACI variant (Driver / Approver / Contributor / Informed)"
|
|
46644
46646
|
},
|
|
46645
46647
|
roles: {
|
|
46646
|
-
description: "
|
|
46647
|
-
},
|
|
46648
|
-
draft: {
|
|
46649
|
-
description: "Suppress missing-A / missing-R warnings during authoring"
|
|
46648
|
+
description: "Declare role column order (inline `roles A, B, C` or indented block with per-role pipe metadata)"
|
|
46650
46649
|
},
|
|
46651
46650
|
"active-tag": { description: "Active tag group name" }
|
|
46652
46651
|
})
|
|
46653
46652
|
],
|
|
46654
46653
|
[
|
|
46655
46654
|
"c4",
|
|
46655
|
+
// Spec §8 §7.7: direction-tb, active-tag.
|
|
46656
46656
|
withGlobals({
|
|
46657
|
+
"direction-tb": { description: "Switch to top-to-bottom layout" },
|
|
46657
46658
|
"active-tag": { description: "Active tag group name" }
|
|
46658
46659
|
})
|
|
46659
46660
|
],
|
|
46660
46661
|
[
|
|
46661
46662
|
"state",
|
|
46663
|
+
// Spec §6 §5.5: direction-tb, no-color, solid-fill.
|
|
46662
46664
|
withGlobals({
|
|
46663
46665
|
"direction-tb": { description: "Switch to top-to-bottom layout" },
|
|
46664
|
-
color: {
|
|
46666
|
+
"no-color": {
|
|
46667
|
+
description: "Resolve all states to muted neutral fill"
|
|
46668
|
+
}
|
|
46665
46669
|
})
|
|
46666
46670
|
],
|
|
46667
46671
|
[
|
|
@@ -46688,6 +46692,7 @@ var COMPLETION_REGISTRY = /* @__PURE__ */ new Map([
|
|
|
46688
46692
|
],
|
|
46689
46693
|
[
|
|
46690
46694
|
"gantt",
|
|
46695
|
+
// Spec §13 §12.2 Options.
|
|
46691
46696
|
withGlobals({
|
|
46692
46697
|
start: { description: "Project start date (YYYY-MM-DD)" },
|
|
46693
46698
|
"today-marker": {
|
|
@@ -46695,8 +46700,14 @@ var COMPLETION_REGISTRY = /* @__PURE__ */ new Map([
|
|
|
46695
46700
|
},
|
|
46696
46701
|
sort: { description: "Sort order", values: ["time", "group", "tag"] },
|
|
46697
46702
|
"critical-path": { description: "Show critical path" },
|
|
46698
|
-
dependencies: { description: "
|
|
46699
|
-
"
|
|
46703
|
+
"no-dependencies": { description: "Hide dependency arrows" },
|
|
46704
|
+
"sprint-length": { description: "Sprint duration (e.g. 2w)" },
|
|
46705
|
+
"sprint-number": { description: "Starting sprint number" },
|
|
46706
|
+
"sprint-start": { description: "Sprint start date (YYYY-MM-DD)" },
|
|
46707
|
+
"active-tag": { description: "Active tag group name" },
|
|
46708
|
+
// Legacy positive form `dependencies` — kept for back-compat. Use
|
|
46709
|
+
// `no-dependencies` to suppress dependency arrows in new code.
|
|
46710
|
+
dependencies: { description: "Show dependencies (legacy form)" }
|
|
46700
46711
|
})
|
|
46701
46712
|
],
|
|
46702
46713
|
[
|
|
@@ -46723,14 +46734,13 @@ var COMPLETION_REGISTRY = /* @__PURE__ */ new Map([
|
|
|
46723
46734
|
],
|
|
46724
46735
|
[
|
|
46725
46736
|
"tech-radar",
|
|
46737
|
+
// Spec §20 documents one directive: `show-blip-legend`. `rings` is a
|
|
46738
|
+
// structural block keyword; quadrant/ring/trend/color are pipe metadata
|
|
46739
|
+
// that live in PIPE_METADATA.
|
|
46726
46740
|
withGlobals({
|
|
46727
|
-
|
|
46728
|
-
|
|
46729
|
-
|
|
46730
|
-
},
|
|
46731
|
-
ring: { description: "Ring assignment for a blip" },
|
|
46732
|
-
trend: { description: "Blip trend (new, up, down, stable)" },
|
|
46733
|
-
color: { description: "Override quadrant color" }
|
|
46741
|
+
"show-blip-legend": {
|
|
46742
|
+
description: "Render the four-column blip listing alongside the radar"
|
|
46743
|
+
}
|
|
46734
46744
|
})
|
|
46735
46745
|
],
|
|
46736
46746
|
[
|
|
@@ -46747,29 +46757,29 @@ var COMPLETION_REGISTRY = /* @__PURE__ */ new Map([
|
|
|
46747
46757
|
],
|
|
46748
46758
|
[
|
|
46749
46759
|
"journey-map",
|
|
46760
|
+
// Spec §22 directives: `no-legend`, `active-tag`. `persona` is a
|
|
46761
|
+
// structural keyword (like `tag` / `roles`), not a directive.
|
|
46762
|
+
// `solid-fill` is added via SOLID_FILL_CAPABLE below.
|
|
46750
46763
|
withGlobals({
|
|
46751
46764
|
"no-legend": { description: "Hide the score legend" },
|
|
46752
|
-
|
|
46765
|
+
"active-tag": { description: "Active tag group name" }
|
|
46753
46766
|
})
|
|
46754
46767
|
],
|
|
46755
46768
|
[
|
|
46756
46769
|
"pyramid",
|
|
46770
|
+
// Spec §23.5 documents `inverted`; `solid-fill` is added via
|
|
46771
|
+
// SOLID_FILL_CAPABLE below (working but not yet in spec §23.5).
|
|
46772
|
+
// `color`/`description` are layer pipe-metadata, not directives.
|
|
46757
46773
|
withGlobals({
|
|
46758
|
-
inverted: { description: "Flip apex to the bottom (funnel orientation)" }
|
|
46759
|
-
color: { description: "Override layer color (pipe metadata)" },
|
|
46760
|
-
description: { description: "Layer description (pipe or indented body)" }
|
|
46774
|
+
inverted: { description: "Flip apex to the bottom (funnel orientation)" }
|
|
46761
46775
|
})
|
|
46762
46776
|
],
|
|
46763
46777
|
[
|
|
46764
46778
|
"ring",
|
|
46765
|
-
|
|
46766
|
-
|
|
46767
|
-
|
|
46768
|
-
|
|
46769
|
-
description: {
|
|
46770
|
-
description: "Ring description (pipe shorthand or indented body)"
|
|
46771
|
-
}
|
|
46772
|
-
})
|
|
46779
|
+
// Per spec §24.5 the only chart-specific directive is `solid-fill`,
|
|
46780
|
+
// applied via SOLID_FILL_CAPABLE below. `color`/`description` are
|
|
46781
|
+
// layer pipe-metadata, not directives — they live in PIPE_METADATA.
|
|
46782
|
+
withGlobals({})
|
|
46773
46783
|
]
|
|
46774
46784
|
]);
|
|
46775
46785
|
var SOLID_FILL_CAPABLE = /* @__PURE__ */ new Set([
|
|
@@ -46909,21 +46919,25 @@ var PIPE_METADATA = /* @__PURE__ */ new Map([
|
|
|
46909
46919
|
}
|
|
46910
46920
|
],
|
|
46911
46921
|
[
|
|
46922
|
+
// Tech-radar pipe metadata (spec §20). Two contexts:
|
|
46923
|
+
// - quadrant: top-level quadrant headers (`Tools | quadrant: top-left, color: blue`)
|
|
46924
|
+
// - blip: indented blip lines (` Vite | ring: Adopt, trend: up`)
|
|
46912
46925
|
"tech-radar",
|
|
46913
46926
|
{
|
|
46914
|
-
|
|
46927
|
+
quadrant: {
|
|
46915
46928
|
quadrant: {
|
|
46916
46929
|
description: "Quadrant position",
|
|
46917
46930
|
values: ["top-left", "top-right", "bottom-left", "bottom-right"]
|
|
46918
46931
|
},
|
|
46919
|
-
|
|
46932
|
+
color: { description: "Override quadrant color" }
|
|
46933
|
+
},
|
|
46934
|
+
blip: {
|
|
46935
|
+
ring: { description: "Ring assignment (must match a declared ring)" },
|
|
46920
46936
|
trend: {
|
|
46921
46937
|
description: "Blip trend indicator",
|
|
46922
46938
|
values: ["new", "up", "down", "stable"]
|
|
46923
|
-
}
|
|
46924
|
-
|
|
46925
|
-
},
|
|
46926
|
-
edge: {}
|
|
46939
|
+
}
|
|
46940
|
+
}
|
|
46927
46941
|
}
|
|
46928
46942
|
],
|
|
46929
46943
|
[
|
|
@@ -46939,6 +46953,51 @@ var PIPE_METADATA = /* @__PURE__ */ new Map([
|
|
|
46939
46953
|
width: { description: "Edge stroke width in pixels" }
|
|
46940
46954
|
}
|
|
46941
46955
|
}
|
|
46956
|
+
],
|
|
46957
|
+
[
|
|
46958
|
+
// RACI pipe metadata (spec §24A). Two contexts:
|
|
46959
|
+
// - role: declarations inside the `roles` block (`Cap | color: red`)
|
|
46960
|
+
// - phase: bracketed phase headers (`[Departure] | color: teal`)
|
|
46961
|
+
"raci",
|
|
46962
|
+
{
|
|
46963
|
+
role: {
|
|
46964
|
+
color: { description: "Role column tint (palette name)" }
|
|
46965
|
+
},
|
|
46966
|
+
phase: {
|
|
46967
|
+
color: { description: "Phase bar tint (palette name)" }
|
|
46968
|
+
}
|
|
46969
|
+
}
|
|
46970
|
+
],
|
|
46971
|
+
[
|
|
46972
|
+
// Ring layer pipe metadata (spec §24.4). One context: `layer`.
|
|
46973
|
+
"ring",
|
|
46974
|
+
{
|
|
46975
|
+
layer: {
|
|
46976
|
+
color: { description: "Ring color (palette name)" },
|
|
46977
|
+
description: { description: "Layer description (one-liner shorthand)" }
|
|
46978
|
+
}
|
|
46979
|
+
}
|
|
46980
|
+
],
|
|
46981
|
+
[
|
|
46982
|
+
// Pyramid layer pipe metadata (spec §23.4). Identical surface to ring.
|
|
46983
|
+
"pyramid",
|
|
46984
|
+
{
|
|
46985
|
+
layer: {
|
|
46986
|
+
color: { description: "Layer color (palette name)" },
|
|
46987
|
+
description: { description: "Layer description (one-liner shorthand)" }
|
|
46988
|
+
}
|
|
46989
|
+
}
|
|
46990
|
+
],
|
|
46991
|
+
[
|
|
46992
|
+
// Journey-map step pipe metadata (spec §22). One static key: `score`.
|
|
46993
|
+
// Tag aliases (e.g. `ch: Web`) are user-defined via the `tag` block
|
|
46994
|
+
// and resolved dynamically — not part of the static map.
|
|
46995
|
+
"journey-map",
|
|
46996
|
+
{
|
|
46997
|
+
step: {
|
|
46998
|
+
score: { description: "Step score (1\u20135 integer; high = good)" }
|
|
46999
|
+
}
|
|
47000
|
+
}
|
|
46942
47001
|
]
|
|
46943
47002
|
]);
|
|
46944
47003
|
var METADATA_KEY_SET = /* @__PURE__ */ new Set([
|