@kubex/zinc 1.1.146 → 1.1.147
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/custom-elements.json +6 -2
- package/dist/vscode.html-custom-data.json +1 -1
- package/dist/web-types.json +2 -2
- package/dist/zn.d.ts +1 -0
- package/dist/zn.min.js +1 -1
- package/package.json +1 -1
- package/src/components/remarkd-editor/remarkd-editor.component.ts +1 -0
- package/src/components/remarkd-editor/remarkd-editor.scss +2 -2
|
@@ -36304,6 +36304,10 @@
|
|
|
36304
36304
|
{
|
|
36305
36305
|
"description": "The tallest the editor grows before its body scrolls. Defaults to `100dvh`.",
|
|
36306
36306
|
"name": "--remarkd-editor-max-height"
|
|
36307
|
+
},
|
|
36308
|
+
{
|
|
36309
|
+
"description": "The shortest the body renders while empty. Defaults to `10rem`.",
|
|
36310
|
+
"name": "--remarkd-editor-min-height"
|
|
36307
36311
|
}
|
|
36308
36312
|
],
|
|
36309
36313
|
"cssParts": [
|
|
@@ -38081,7 +38085,7 @@
|
|
|
38081
38085
|
"tagNameWithoutPrefix": "remarkd-editor",
|
|
38082
38086
|
"tagName": "zn-remarkd-editor",
|
|
38083
38087
|
"customElement": true,
|
|
38084
|
-
"jsDoc": "/**\n * @summary A Notion-style block editor for remarkd content. Blocks render inline; click one to edit its source.\n * @documentation https://zinc.style/components/remarkd-editor\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-button\n * @dependency zn-button-group\n * @dependency zn-dropdown\n * @dependency zn-icon\n * @dependency zn-file\n * @dependency zn-menu\n * @dependency zn-menu-item\n * @dependency zn-slash-menu\n *\n * @event zn-input - Emitted on each keystroke while editing a block.\n * @event zn-change - Emitted when a block edit is committed and the value changes.\n *\n * @csspart base - The component's base wrapper.\n * @csspart toolbar - The always-visible block-insert and inline-formatting toolbar.\n * @csspart raw-toggle - The button that switches between the block view and the raw source view.\n * @csspart block - A rendered block wrapper.\n * @csspart rendered - The rendered remarkd output of a block.\n * @csspart conditional - A labelled wrapper for an ifdef/ifndef/ifeval/iftrue/iffalse/ifempty/ifnempty range.\n * @csspart variable - A chip rendered for a document attribute, title, or bracket line.\n * @csspart input - The textarea shown while editing a block.\n * @csspart raw - The full-document textarea shown in raw source mode.\n * @csspart slash-menu - The `zn-slash-menu` opened by typing \"/\" in an empty block.\n * @csspart image-controls - The caption / alignment / size panel shown when an image block is clicked.\n * @csspart include - The chip rendered in place of an `include::` directive.\n * @csspart include-picker - The inline Include picker opened from the toolbar or \"/include\".\n *\n * @cssproperty --remarkd-editor-max-height - The tallest the editor grows before its body scrolls. Defaults to `100dvh`.\n */",
|
|
38088
|
+
"jsDoc": "/**\n * @summary A Notion-style block editor for remarkd content. Blocks render inline; click one to edit its source.\n * @documentation https://zinc.style/components/remarkd-editor\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-button\n * @dependency zn-button-group\n * @dependency zn-dropdown\n * @dependency zn-icon\n * @dependency zn-file\n * @dependency zn-menu\n * @dependency zn-menu-item\n * @dependency zn-slash-menu\n *\n * @event zn-input - Emitted on each keystroke while editing a block.\n * @event zn-change - Emitted when a block edit is committed and the value changes.\n *\n * @csspart base - The component's base wrapper.\n * @csspart toolbar - The always-visible block-insert and inline-formatting toolbar.\n * @csspart raw-toggle - The button that switches between the block view and the raw source view.\n * @csspart block - A rendered block wrapper.\n * @csspart rendered - The rendered remarkd output of a block.\n * @csspart conditional - A labelled wrapper for an ifdef/ifndef/ifeval/iftrue/iffalse/ifempty/ifnempty range.\n * @csspart variable - A chip rendered for a document attribute, title, or bracket line.\n * @csspart input - The textarea shown while editing a block.\n * @csspart raw - The full-document textarea shown in raw source mode.\n * @csspart slash-menu - The `zn-slash-menu` opened by typing \"/\" in an empty block.\n * @csspart image-controls - The caption / alignment / size panel shown when an image block is clicked.\n * @csspart include - The chip rendered in place of an `include::` directive.\n * @csspart include-picker - The inline Include picker opened from the toolbar or \"/include\".\n *\n * @cssproperty --remarkd-editor-max-height - The tallest the editor grows before its body scrolls. Defaults to `100dvh`.\n * @cssproperty --remarkd-editor-min-height - The shortest the body renders while empty. Defaults to `10rem`.\n */",
|
|
38085
38089
|
"documentation": "https://zinc.style/components/remarkd-editor",
|
|
38086
38090
|
"status": "experimental",
|
|
38087
38091
|
"since": "1.0",
|
|
@@ -53472,7 +53476,7 @@
|
|
|
53472
53476
|
"package": {
|
|
53473
53477
|
"name": "@kubex/zinc",
|
|
53474
53478
|
"description": "A collection of web components for building web applications based off of @shoelace-style/Shoelace",
|
|
53475
|
-
"version": "1.1.
|
|
53479
|
+
"version": "1.1.147",
|
|
53476
53480
|
"author": "",
|
|
53477
53481
|
"license": "MIT"
|
|
53478
53482
|
}
|
|
@@ -3665,7 +3665,7 @@
|
|
|
3665
3665
|
},
|
|
3666
3666
|
{
|
|
3667
3667
|
"name": "zn-remarkd-editor",
|
|
3668
|
-
"description": "A Notion-style block editor for remarkd content. Blocks render inline; click one to edit its source.\n---\n\n\n### **Events:**\n - **zn-input** - Emitted on each keystroke while editing a block.\n- **zn-change** - Emitted when a block edit is committed and the value changes.\n\n### **Methods:**\n - **focus()** - Starts editing the first block, or a new block if the document is empty.\n- **blur()** - Commits any in-progress block or raw edit.\n\n### **CSS Properties:**\n - **--remarkd-editor-max-height** - The tallest the editor grows before its body scrolls. Defaults to `100dvh`. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **toolbar** - The always-visible block-insert and inline-formatting toolbar.\n- **raw-toggle** - The button that switches between the block view and the raw source view.\n- **block** - A rendered block wrapper.\n- **rendered** - The rendered remarkd output of a block.\n- **conditional** - A labelled wrapper for an ifdef/ifndef/ifeval/iftrue/iffalse/ifempty/ifnempty range.\n- **variable** - A chip rendered for a document attribute, title, or bracket line.\n- **input** - The textarea shown while editing a block.\n- **raw** - The full-document textarea shown in raw source mode.\n- **slash-menu** - The `zn-slash-menu` opened by typing \"/\" in an empty block.\n- **image-controls** - The caption / alignment / size panel shown when an image block is clicked.\n- **include** - The chip rendered in place of an `include::` directive.\n- **include-picker** - The inline Include picker opened from the toolbar or \"/include\".",
|
|
3668
|
+
"description": "A Notion-style block editor for remarkd content. Blocks render inline; click one to edit its source.\n---\n\n\n### **Events:**\n - **zn-input** - Emitted on each keystroke while editing a block.\n- **zn-change** - Emitted when a block edit is committed and the value changes.\n\n### **Methods:**\n - **focus()** - Starts editing the first block, or a new block if the document is empty.\n- **blur()** - Commits any in-progress block or raw edit.\n\n### **CSS Properties:**\n - **--remarkd-editor-max-height** - The tallest the editor grows before its body scrolls. Defaults to `100dvh`. _(default: undefined)_\n- **--remarkd-editor-min-height** - The shortest the body renders while empty. Defaults to `10rem`. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **toolbar** - The always-visible block-insert and inline-formatting toolbar.\n- **raw-toggle** - The button that switches between the block view and the raw source view.\n- **block** - A rendered block wrapper.\n- **rendered** - The rendered remarkd output of a block.\n- **conditional** - A labelled wrapper for an ifdef/ifndef/ifeval/iftrue/iffalse/ifempty/ifnempty range.\n- **variable** - A chip rendered for a document attribute, title, or bracket line.\n- **input** - The textarea shown while editing a block.\n- **raw** - The full-document textarea shown in raw source mode.\n- **slash-menu** - The `zn-slash-menu` opened by typing \"/\" in an empty block.\n- **image-controls** - The caption / alignment / size panel shown when an image block is clicked.\n- **include** - The chip rendered in place of an `include::` directive.\n- **include-picker** - The inline Include picker opened from the toolbar or \"/include\".",
|
|
3669
3669
|
"attributes": [
|
|
3670
3670
|
{
|
|
3671
3671
|
"name": "slash-recent-key",
|
package/dist/web-types.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",
|
|
3
3
|
"name": "@kubex/zinc",
|
|
4
|
-
"version": "1.1.
|
|
4
|
+
"version": "1.1.147",
|
|
5
5
|
"description-markup": "markdown",
|
|
6
6
|
"contributions": {
|
|
7
7
|
"html": {
|
|
@@ -8572,7 +8572,7 @@
|
|
|
8572
8572
|
},
|
|
8573
8573
|
{
|
|
8574
8574
|
"name": "zn-remarkd-editor",
|
|
8575
|
-
"description": "A Notion-style block editor for remarkd content. Blocks render inline; click one to edit its source.\n---\n\n\n### **Events:**\n - **zn-input** - Emitted on each keystroke while editing a block.\n- **zn-change** - Emitted when a block edit is committed and the value changes.\n\n### **Methods:**\n - **focus()** - Starts editing the first block, or a new block if the document is empty.\n- **blur()** - Commits any in-progress block or raw edit.\n\n### **CSS Properties:**\n - **--remarkd-editor-max-height** - The tallest the editor grows before its body scrolls. Defaults to `100dvh`. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **toolbar** - The always-visible block-insert and inline-formatting toolbar.\n- **raw-toggle** - The button that switches between the block view and the raw source view.\n- **block** - A rendered block wrapper.\n- **rendered** - The rendered remarkd output of a block.\n- **conditional** - A labelled wrapper for an ifdef/ifndef/ifeval/iftrue/iffalse/ifempty/ifnempty range.\n- **variable** - A chip rendered for a document attribute, title, or bracket line.\n- **input** - The textarea shown while editing a block.\n- **raw** - The full-document textarea shown in raw source mode.\n- **slash-menu** - The `zn-slash-menu` opened by typing \"/\" in an empty block.\n- **image-controls** - The caption / alignment / size panel shown when an image block is clicked.\n- **include** - The chip rendered in place of an `include::` directive.\n- **include-picker** - The inline Include picker opened from the toolbar or \"/include\".",
|
|
8575
|
+
"description": "A Notion-style block editor for remarkd content. Blocks render inline; click one to edit its source.\n---\n\n\n### **Events:**\n - **zn-input** - Emitted on each keystroke while editing a block.\n- **zn-change** - Emitted when a block edit is committed and the value changes.\n\n### **Methods:**\n - **focus()** - Starts editing the first block, or a new block if the document is empty.\n- **blur()** - Commits any in-progress block or raw edit.\n\n### **CSS Properties:**\n - **--remarkd-editor-max-height** - The tallest the editor grows before its body scrolls. Defaults to `100dvh`. _(default: undefined)_\n- **--remarkd-editor-min-height** - The shortest the body renders while empty. Defaults to `10rem`. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **toolbar** - The always-visible block-insert and inline-formatting toolbar.\n- **raw-toggle** - The button that switches between the block view and the raw source view.\n- **block** - A rendered block wrapper.\n- **rendered** - The rendered remarkd output of a block.\n- **conditional** - A labelled wrapper for an ifdef/ifndef/ifeval/iftrue/iffalse/ifempty/ifnempty range.\n- **variable** - A chip rendered for a document attribute, title, or bracket line.\n- **input** - The textarea shown while editing a block.\n- **raw** - The full-document textarea shown in raw source mode.\n- **slash-menu** - The `zn-slash-menu` opened by typing \"/\" in an empty block.\n- **image-controls** - The caption / alignment / size panel shown when an image block is clicked.\n- **include** - The chip rendered in place of an `include::` directive.\n- **include-picker** - The inline Include picker opened from the toolbar or \"/include\".",
|
|
8576
8576
|
"doc-url": "",
|
|
8577
8577
|
"attributes": [
|
|
8578
8578
|
{
|
package/dist/zn.d.ts
CHANGED
|
@@ -9321,6 +9321,7 @@ declare module "components/remarkd-editor/remarkd-editor.component" {
|
|
|
9321
9321
|
* @csspart include-picker - The inline Include picker opened from the toolbar or "/include".
|
|
9322
9322
|
*
|
|
9323
9323
|
* @cssproperty --remarkd-editor-max-height - The tallest the editor grows before its body scrolls. Defaults to `100dvh`.
|
|
9324
|
+
* @cssproperty --remarkd-editor-min-height - The shortest the body renders while empty. Defaults to `10rem`.
|
|
9324
9325
|
*/
|
|
9325
9326
|
export default class ZnRemarkdEditor extends ZincElement implements ZincFormControl {
|
|
9326
9327
|
static styles: CSSResultGroup;
|
package/dist/zn.min.js
CHANGED
|
@@ -4398,7 +4398,7 @@ endif::[]`,caretOffset:9},{key:"inline-formatting",label:"Strong",icon:"bold@lu"
|
|
|
4398
4398
|
`)}</div></div>`}inline(i){let t=i,r=[],n=a=>{let s=`RMDPASS${r.length}`;return r.push(a),s};return t=t.replace(/\bpass:\[([^\]]*)]/gs,(a,s)=>n(s)).replace(/\+\+\+(.+?)\+\+\+/gs,(a,s)=>n(s)),t=t.replace(/{{([^}: ]+)(?::([^ }]+))?([^}]*)}}/g,(a,s,l="",p="")=>this.renderObject(s,l,ol(p))),t=t.replace(/"`([^`]+)`"/g,"“$1”"),t=t.replace(/``([^`]+)``/g,(a,s)=>`<span class="monospace">${jc(s)}</span>`),t=t.replace(/`([^`\n]+)`/g,(a,s)=>`<span class="monospace">${jc(s)}</span>`),t=t.replace(/___(.+?)___/g,"<u>$1</u>"),t=t.replace(/\(c\)|\(C\)/g,"\xA9").replace(/\(r\)|\(R\)/g,"\xAE").replace(/\(tm\)|\(TM\)/g,"\u2122").replace(/\(p\)|\(P\)/g,"\xA7").replace(/\(\+-\)/g,"\xB1").replace(/-\.-/g,"•"),t=t.replace(/:(\S+):/g,(a,s)=>ZL[s.replaceAll("-","_")]||a),t=t.replace(/kbd:\[([^\]]+)]/g,"<kbd>$1</kbd>"),t=t.replace(/[^#&]#([^#]+)#/g,'<mark class="highlight">$1</mark>'),t=t.replace(/{(.*?)}\((.*?)\)/g,'<span class="tooltip" title="$2">$1</span>'),t=t.replace(/!\[([^\]]*)]\((.*?)\s*"([^"]+)"\s*\)/g,(a,s,l,p)=>`<img src="${n(l)}" alt="${n(s)}" title="${n(p)}"/>`),t=t.replace(/!\[([^\]]*)]\(([^)]*)\)/g,(a,s,l)=>s?`<img src="${n(l)}" alt="${n(s)}"/>`:`<img src="${n(l)}"/>`),t=t.replace(/image::([^\[]+)\[([^\]]*)]/g,(a,s,l)=>{let[p,h,m]=l.split(",").map(f=>f.trim());return`<img class="block" src="${n(s)}"${p?` alt="${n(p)}"`:""}${h?` width="${h}"`:""}${m?` height="${m}"`:""}/>`}),t=t.replace(/\[([^\]]*)]\(([^)]*)\)/g,(a,s,l)=>`<a href="${n(l)}">${s}</a>`),t=t.replace(/([^="(])((?:http|ftp|https|mailto):\/\/[\w_-]+(?:(?:\.[\w_-]+)+)[\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-])(?:\[([^\]\n]+)])?/g,(a,s,l,p)=>`${s}<a href="${n(l)}">${p||n(l)}</a>`),t=t.replace(/<<([\w\-_]+)(,([^>]+))?>>/g,(a,s,l,p)=>`<a href="#${s.replace(/^_/,"").replace(/_/g,"-")}">${p||Uc(s)}</a>`),t=t.replace(/footnote:\[([^\]]+)]/g,'<sup class="footnote">$1</sup>'),t=t.replace(/\*\*([^*]+?)\*\*/g,"<strong>$1</strong>"),t=t.replace(/__([^_]+?)__/g,"<em>$1</em>"),t=t.replace(/([^\\w])\*([^*]+)\*/g,"$1<strong>$2</strong>"),t=t.replace(/(\s|^)_([^_]+)_/g,"$1<em>$2</em>"),t=t.replace(/~~(.+?)~~/g,"<del>$1</del>"),t=t.replace(/~([^~]+?)~/g,"<sub>$1</sub>"),t=t.replace(/\^([^^]+?)\^/g,"<sup>$1</sup>"),t=t.replace(/\[( |x|_|\*)]/g,(a,s)=>s===" "?'<input type="checkbox" readonly="readonly">':s==="x"?'<input type="checkbox" readonly="readonly" checked>':s==="_"?'<input type="checkbox">':'<input type="checkbox" checked>'),t=t.replace(/(\[[^\]]+])##([^#]+)##/g,(a,s,l)=>`<span class="${ol(s).pos[0]}">${l}</span>`),t=t.replace(/<(\d+|\d+\.\d+)>/g,'<i class="conum" data-value="$1"></i>'),r.reduce((a,s,l)=>a.replaceAll(`RMDPASS${l}`,s),t)}renderObject(i,t,r){switch(i){case"link":{let n=r.named.text||Uc(t),a=r.named.target?` target="${r.named.target}"`:"",s=r.named.hreflang?` hreflang="${r.named.hreflang}"`:"";return`<a href="${r.named.href||t}"${a}${s}>${n}</a>`}case"button":{let n=r.named.text||Uc(t),a=r.named.color||"gray",s=r.named.target?` target="${r.named.target}"`:"";return`<a href="${r.named.href||`#${t}`}" class="btn btn--${a}"${s}>${n}</a>`}case"br":return"<br>";case"anchor":return r.named.name?`<a name="${r.named.name}"></a>`:"[ANCHOR MISSING NAME]";case"meter":{let n=r.named.id||"remarkd-meter-150";return`${r.named.label?`<label for="${n}" class="remarkd-meter-label">${r.named.label}</label>`:""}<meter id="${n}" class="remarkd-meter" min="${r.named.min||"0"}" max="${r.named.max||"100"}" value="${r.named.value||"0"}"">${r.named.text||""}</meter>`}case"video":{let n=r.named.aspect==="4:3"?"75":r.named.aspect==="1:1"?"100":r.named.aspect==="3:2"?"66.66":r.named.aspect==="8:5"?"62.5":"56.25";if(r.named.source==="self")return`<div class="video-container" style="padding-top: ${n}%"><video controls><source src="${t}" type="${r.named.type||"video/mp4"}"></video></div>`;let a=["rel=0"];return r.named.end&&a.unshift(`end=${r.named.end}`),r.named.start&&a.unshift(`start=${r.named.start}`),`<div class="video-container" style="padding-top: ${n}%"><iframe src="https://www.youtube.com/embed/${t}?${a.join(";")}" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>`}case"ref":{let n={num:this.references.length+1,code:r.named.code||`${this.references.length+1}RM`,content:r.named.content||""};return this.references.push(n),`<sup class="reference"><a id="rmdref-bdy-${n.code}" href="#rmdref-ft-${n.code}">[${n.num}]</a></sup>`}case"reflist":return this.references.length?`<ol class="reference">${this.references.map(n=>`<li id="rmdref-ft-${n.code}"><a href="#rmdref-bdy-${n.code}" class="reference-tobody">^</a> ${this.inline(n.content)}</li>`).join("")}</ol>`:"";case"img":{let n=`display: ${r.named.display||"inline-block"};max-width: ${r.named["max-width"]||"100%"};`;r.named.float&&(n+=`float: ${r.named.float};`);let a=r.pos.filter(s=>s.startsWith(".")).map(s=>s.slice(1));return`<img src="${r.named.src||""}"${r.named.alt?` alt="${r.named.alt}"`:""} style="${n}"${a.length?` class="${a.join(" ")}"`:""} />`}default:return""}}replaceAttrs(i){for(let[t,r]of Object.entries(this.attrs))i=i.replaceAll(`{${t}}`,String(r));return i}addDocumentAttr(i){let t=i.match(/^:(!?[\w.-]+)(!)?:(.*)?$/);t&&(this.attrs[t[1]]=t[3]?.trim()||!t[2])}parseConditional(i){let t=i.match(/^(end)?if(def|ndef|eval|nempty|empty|true|false)?::([^\[]*)\[([^]*)]$/);if(!t)return{handled:!1};if(this.index++,t[1]==="end")return this.conditions.pop(),{handled:!0};let n=!this.conditions.includes(!1)&&this.validateCondition(t[2]||"def",t[3],t[4]);return t[2]!=="eval"&&t[4]?{handled:!0,inline:n?t[4]:void 0}:(this.conditions.push(n),{handled:!0})}validateCondition(i,t,r){return i==="eval"?tq(r):t.split(",").some(a=>a.split("+").every(s=>{let l=this.attrs[s];return i==="def"?l!==void 0:i==="ndef"?l===void 0:i==="true"?l===!0||l==="true"||l==="1":i==="false"?l===!1||l==="false"||l==="0":i==="empty"?l===void 0||l==="":i==="nempty"?l!==void 0&&l!=="":!1}))}isBlockStart(i){return i==="```"||i==="____"||i==="|==="||/^[-=*.!]{4,10}$/.test(i)||/^#{1,6} /.test(i)||/^={2,6} /.test(i)||i.trim()==="<<<"||/^((\d*\.)+) /.test(i)||/^((\*|-){1,10}) /.test(i)||/^(end)?if(def|ndef|eval|nempty|empty|true|false)?::/.test(i)||/^!![\w-]+!!$/.test(i)||/^include::[^\[]+\[.*]\s*$/.test(i)||i.startsWith("_|_#")||i.startsWith("_-_#")||i.startsWith("_|- ")||/^[^:]+:: .+/.test(i)||/^(SUCCESS|WARNING|CAUTION|NOTE|NOTICE|IMPORTANT|DANGER|TIP)([:|)])/.test(i)||/^<(\d+|\d+\.\d+|\w|[^>])> /.test(i)||/^-{3}$/.test(i.trim())}};function V2(o){let i=[];for(let t of o.replace(/\r\n?/g,`
|
|
4399
4399
|
`).replace(/\n$/,"").split(`
|
|
4400
4400
|
`)){let r=t.replace(/{!(.*)!}/g,"$1");i.length&&i[i.length-1].endsWith("\\")?i[i.length-1]=i[i.length-1].replace(/[\\ ]+$/,"")+`
|
|
4401
|
-
`+r:i.push(r)}return i}function fg(o,i){let t=new F2(o,!1,i.options);return t.attrs=i.attrs,t.parse().replace(/^<div class="remarkd-section section--level0 section--with-content">/,"").replace(/<\/div>$/,"")}function U2(o,i,t=0){if(t>10)return o;let r=[];for(let n of o){let a=n.match(/^t::partial::(.*)$/);if(!a){r.push(n);continue}let[s,l]=KL(a[1]??""),p=j2(i,s);if(p===null){r.push(`File not found: ${s}`);continue}let h=V2(p);for(YL(l,"strip-title")&&(h[0]??"").startsWith("=")&&(h=h.slice(1));h.length&&h[h.length-1].trim()==="";)h.pop();let m=Number.parseInt(l["drop-last"]??"0",10);m>0&&h.splice(-m),r.push(...U2(h,i,t+1))}return r}function KL(o){let i=o.trim(),t={},r=i.match(/^(.*?)\[([^\]]*)]$/);if(r){i=r[1].trim();for(let n of r[2].split(",")){let a=n.trim();if(!a)continue;let s=a.indexOf("=");s===-1?t[a]="true":t[a.slice(0,s).trim()]=a.slice(s+1).trim().replace(/^["']|["']$/g,"")}}return[i,t]}function YL(o,i){return i in o?!["0","false","no"].includes(o[i].toLowerCase()):!1}function j2(o,i){if(o.partials&&Object.prototype.hasOwnProperty.call(o.partials,i))return o.partials[i];let t=globalThis.process,r=t?.getBuiltinModule?.("node:fs");if(!r?.existsSync||!r?.readFileSync)return null;let n=QL(o.projectRoot||t?.cwd?.()||"",i);return r.existsSync(n)?r.readFileSync(n,"utf8"):null}function QL(o,i){return/^(\/|[A-Za-z]:[\\/])/.test(i)||!o?i:`${o.replace(/[\\/]+$/,"")}/${i.replace(/^[\\/]+/,"")}`}function ol(o){let i=o.trim().replace(/^\[/,"").replace(/]$/,""),t=[],r={},n=/(^|[\s,]+)([^, =}]+)(=(("([^"]*)")|([^\s,}]*)))?/g,a;for(;a=n.exec(i);){let s=a[2],l=a[6]||a[7]||"";t.push(s),r[s]=l}return{raw:i,pos:t,named:r}}function XL(o){return!!o&&(o.pos[0]==="pros-cons"||o.pos[0]==="proscons"||"pros-cons"in o.named||"proscons"in o.named)}function Ua(o,i,t){return!o||!(i in o.named)?t:!["0","false","no","off"].includes((o.named[i]||"").toLowerCase())}function JL(o,i){let t=i===0?o?.named["con-icon"]||"\u274C":o?.named["pro-icon"]||"\u2705";return`<span class="pros-cons-icon">${jc(t)}</span>`}var ZL={"+1":"\u{1F44D}",thumbsup:"\u{1F44D}","-1":"\u{1F44E}",thumbsdown:"\u{1F44E}",eyes:"\u{1F440}",grinning:"\u{1F600}",grin:"\u{1F601}",joy:"\u{1F602}",smiley:"\u{1F603}",smile:"\u{1F604}",sweat_smile:"\u{1F605}",satisfied:"\u{1F606}",laughing:"\u{1F606}",innocent:"\u{1F607}",smiling_imp:"\u{1F608}",wink:"\u{1F609}",blush:"\u{1F60A}",yum:"\u{1F60B}",relieved:"\u{1F60C}",heart_eyes:"\u{1F60D}",sunglasses:"\u{1F60E}",smirk:"\u{1F60F}",neutral_face:"\u{1F610}",expressionless:"\u{1F611}",unamused:"\u{1F612}",sweat:"\u{1F613}",pensive:"\u{1F614}",confused:"\u{1F615}",confounded:"\u{1F616}",kissing:"\u{1F617}",kissing_heart:"\u{1F618}",kissing_smiling_eyes:"\u{1F619}",kissing_closed_eyes:"\u{1F61A}",stuck_out_tongue:"\u{1F61B}",stuck_out_tongue_winking_eye:"\u{1F61C}",stuck_out_tongue_closed_eyes:"\u{1F61D}",disappointed:"\u{1F61E}",worried:"\u{1F61F}",angry:"\u{1F620}",rage:"\u{1F621}",cry:"\u{1F622}",persevere:"\u{1F623}",triumph:"\u{1F624}",disappointed_relieved:"\u{1F625}",frowning:"\u{1F626}",anguished:"\u{1F627}",fearful:"\u{1F628}",weary:"\u{1F629}",sleepy:"\u{1F62A}",tired_face:"\u{1F62B}"};function Uc(o){return o.replace(/[-_]+/g," ").replace(/\b\w/g,i=>i.toUpperCase())}function eq(o){return o.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}function tq(o){let i=o.trim().match(/^(.+?)\s*(===|==|!=|<=|<|>=|>|in|nin)\s*(.+)$/);if(!i)return!1;let t=i[1].trim(),r=i[2],n=i[3].trim();switch(r){case"===":return t===n;case"==":return t==n;case"!=":return t!=n;case"<=":return t<=n;case"<":return t<n;case">=":return t>=n;case">":return t>n;case"in":return n.split(",").map(a=>a.trim()).includes(t);case"nin":return!n.split(",").map(a=>a.trim()).includes(t);default:return!1}}function jc(o){return o.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}var $h=class{constructor(i,t){this.visibleCount=1/0;this.resizeRafId=0;this.host=i,this.options=t,i.addController(this),new ut(i,{callback:()=>{this.resizeRafId||(this.resizeRafId=requestAnimationFrame(()=>{this.resizeRafId=0,this.measure()}))}})}hostUpdated(){this.measure()}measure(){let i=this.options.groups(),t=this.options.container();if(!i.length||!t)return;let r=getComputedStyle(t),n=parseFloat(r.paddingLeft)+parseFloat(r.paddingRight),a=[...t.children].filter(m=>!m.classList.contains("toolbar__group")).reduce((m,f)=>m+f.getBoundingClientRect().width,0),s=t.clientWidth-n-a;if(s<=0)return;i.forEach(m=>m.style.display="");let l=i.map(m=>m.getBoundingClientRect().width),h=l.reduce((m,f)=>m+f,0)<=s?i.length:this.countThatFit(l,s-(this.options.reserve??44));i.forEach((m,f)=>m.style.display=f<h?"":"none"),h!==this.visibleCount&&(this.visibleCount=h,this.host.requestUpdate())}countThatFit(i,t){let r=0,n=0;for(let a of i){if(r+a>t)break;r+=a,n++}return n}};var G2=_`@charset "UTF-8";@keyframes rotate-gradient{from{--rotate:0deg}to{--rotate:360deg}}:host{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-transform:none}*,*::before,*::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:rgb(var(--zn-border-color))}[hidden]{display:none !important}.width-container,.form-container,.wide-form-container{height:100%;width:100%;margin:var(--zn-default-margin,0 auto)}.width-container{max-width:var(--zn-container)}.form-container{max-width:var(--zn-container-ph)}.wide-form-container{max-width:var(--zn-container-lg)}.remarkd-rendered{--rmd-accent:#2367c8;--rmd-border:#d9dee7;--rmd-muted:#5f6d80;--rmd-soft:#eef5ff;--rmd-code-bg:#0f1626;--rmd-code-text:#f5f8ff;color:#18202f;font:15px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;word-wrap:break-word}.remarkd-rendered>.remarkd-section>:first-child,.remarkd-rendered>:first-child{margin-top:0}.remarkd-rendered p{margin:0 0 12px}.remarkd-rendered h1,.remarkd-rendered h2,.remarkd-rendered h3,.remarkd-rendered h4{line-height:1.2;margin:18px 0 10px}.remarkd-rendered h1{font-size:26px}.remarkd-rendered h2{font-size:21px}.remarkd-rendered h3{font-size:17px}.remarkd-rendered a{color:var(--rmd-accent)}.remarkd-rendered .btn{align-items:center;background:#f4f6f8;border:1px solid #cfd6df;border-radius:6px;color:#263241;cursor:pointer;display:inline-flex;font-weight:600;gap:6px;justify-content:center;line-height:1.2;margin:2px 4px 2px 0;min-height:36px;padding:8px 14px;text-align:center;text-decoration:none;transition:background-color 160ms ease,border-color 160ms ease,box-shadow 160ms ease,color 160ms ease;vertical-align:middle}.remarkd-rendered .btn:hover,.remarkd-rendered .btn:focus{background:#e9edf2;border-color:#b9c3cf;color:#182230;text-decoration:none}.remarkd-rendered .btn:focus{box-shadow:0 0 0 3px rgba(35,103,200,0.22);outline:none}.remarkd-rendered .btn--primary{background:#2367c8;border-color:#2367c8;color:#fff}.remarkd-rendered .btn--primary:hover,.remarkd-rendered .btn--primary:focus{background:#1d58ad;border-color:#1d58ad;color:#fff}.remarkd-rendered .btn--secondary{background:#263241;border-color:#263241;color:#fff}.remarkd-rendered .btn--secondary:hover,.remarkd-rendered .btn--secondary:focus{background:#1a2430;border-color:#1a2430;color:#fff}.remarkd-rendered .btn--success{background:#177245;border-color:#177245;color:#fff}.remarkd-rendered .btn--success:hover,.remarkd-rendered .btn--success:focus{background:#105d37;border-color:#105d37;color:#fff}.remarkd-rendered .btn--danger{background:#b42318;border-color:#b42318;color:#fff}.remarkd-rendered .btn--danger:hover,.remarkd-rendered .btn--danger:focus{background:#971b12;border-color:#971b12;color:#fff}.remarkd-rendered .monospace,.remarkd-rendered kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:0.9em}.remarkd-rendered .monospace{background:#eef2f7;border-radius:4px;padding:1px 5px}.remarkd-rendered kbd{background:#f6f8fb;border:1px solid var(--rmd-border);border-bottom-width:2px;border-radius:5px;padding:1px 6px}.remarkd-rendered mark.highlight{background:#fff3bf;border-radius:3px;padding:0 3px}.remarkd-rendered .tooltip{border-bottom:1px dotted var(--rmd-muted);cursor:help}.remarkd-rendered sup.footnote,.remarkd-rendered sup.reference{color:var(--rmd-accent);font-size:0.75em}.remarkd-rendered ul,.remarkd-rendered ol{margin:0 0 12px;padding-left:24px}.remarkd-rendered li>p{margin:0 0 4px}.remarkd-rendered input[type=checkbox]{margin-right:4px;vertical-align:middle}.remarkd-rendered dl{margin:0 0 12px}.remarkd-rendered dt{font-weight:700}.remarkd-rendered dd{margin:0 0 8px 18px;color:var(--rmd-muted)}.remarkd-rendered blockquote{margin:0 0 12px;padding:4px 16px;border-left:4px solid var(--rmd-border);color:var(--rmd-muted)}.remarkd-rendered .hint-note{margin:0 0 12px;padding:12px 14px;border-left:4px solid var(--rmd-accent);background:var(--rmd-soft);border-radius:0 6px 6px 0}.remarkd-rendered .hint-caption{color:var(--rmd-accent)}.remarkd-rendered .hint-tip,.remarkd-rendered .hint-warning,.remarkd-rendered .hint-important,.remarkd-rendered .hint-caution,.remarkd-rendered .hint-danger,.remarkd-rendered .hint-success,.remarkd-rendered .hint-notice{margin:0 0 12px;padding:12px 14px;border-left:4px solid var(--rmd-accent);background:#f6f8fb;border-radius:0 6px 6px 0}.remarkd-rendered .hint-tip,.remarkd-rendered .hint-success{border-left-color:#1f9d57;background:#eafaf1}.remarkd-rendered .hint-tip .hint-caption,.remarkd-rendered .hint-success .hint-caption{color:#1f7a47}.remarkd-rendered .hint-warning,.remarkd-rendered .hint-caution{border-left-color:#b7791f;background:#fdf6e3}.remarkd-rendered .hint-warning .hint-caption,.remarkd-rendered .hint-caution .hint-caption{color:#8a5a07}.remarkd-rendered .hint-danger{border-left-color:#c0392b;background:#fdecea}.remarkd-rendered .hint-danger .hint-caption{color:#a02b1f}.remarkd-rendered .verse-block{margin:0 0 12px;padding:12px 14px;background:#f6f8fb;border-radius:6px;font-family:inherit;white-space:pre-wrap}.remarkd-rendered code{display:block;margin:0 0 12px;padding:14px 16px;border-radius:8px;background:var(--rmd-code-bg);color:var(--rmd-code-text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.5;white-space:pre;overflow-x:auto}.remarkd-rendered .listing-block{margin:0 0 12px;border:1px solid var(--rmd-border);border-radius:8px;overflow:hidden}.remarkd-rendered .listing-block .content{padding:14px 16px;background:#f6f8fb;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;white-space:pre-wrap}.remarkd-rendered .callout{list-style:none;margin:0 0 6px;padding-left:28px;position:relative;color:var(--rmd-muted)}.remarkd-rendered .callout::before{content:attr(data-marker);position:absolute;left:0;top:0;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--rmd-accent);color:#fff;font-size:12px;font-weight:700}.remarkd-rendered .example-block,.remarkd-rendered .sidebar-block{margin:0 0 12px;border:1px solid var(--rmd-border);border-radius:8px}.remarkd-rendered .example-block .content,.remarkd-rendered .sidebar-block .content{padding:14px 16px}.remarkd-rendered .sidebar-block{background:#f6f8fb}.remarkd-rendered .title{display:block;font-weight:700;color:var(--rmd-muted);margin-bottom:6px}.remarkd-rendered .accordion-container{margin:0 0 12px;border:1px solid var(--rmd-border);border-radius:8px;overflow:hidden}.remarkd-rendered button.accordion{display:block;width:100%;text-align:left;padding:11px 14px;border:0;border-top:1px solid var(--rmd-border);background:#f6f8fb;font:inherit;font-weight:650;cursor:pointer}.remarkd-rendered button.accordion:first-child{border-top:0}.remarkd-rendered .accordion-container .panel{padding:12px 14px}.remarkd-rendered .tab-group{margin:0 0 12px;border:1px solid var(--rmd-border);border-radius:8px;overflow:hidden}.remarkd-rendered .tab-header{display:flex;flex-wrap:wrap;gap:4px;margin:0;padding:6px 6px 0;list-style:none;background:#f6f8fb;border-bottom:1px solid var(--rmd-border)}.remarkd-rendered .tab-header a{display:block;padding:7px 12px;border-radius:6px 6px 0 0;text-decoration:none;color:var(--rmd-muted);font-weight:650}.remarkd-rendered .tab-header a.active{background:#fff;color:var(--rmd-accent)}.remarkd-rendered .tabs .tab{padding:14px}.remarkd-rendered .tabs .tab+.tab{border-top:1px dashed var(--rmd-border)}.remarkd-rendered .steps-container{margin:0 0 12px;counter-reset:rmd-step}.remarkd-rendered .step{display:flex;gap:14px;padding:12px 0;border-top:1px solid var(--rmd-border)}.remarkd-rendered .step:first-child{border-top:0}.remarkd-rendered .step-content{flex:1}.remarkd-rendered .step-content h3{margin:0 0 6px;counter-increment:rmd-step}.remarkd-rendered .step-content h3::before{content:counter(rmd-step) ". ";color:var(--rmd-accent)}.remarkd-rendered .step-image img{max-width:120px;border-radius:6px}.remarkd-rendered .table-block{margin:0 0 12px}.remarkd-rendered .remarkd-table{border-collapse:collapse;width:100%}.remarkd-rendered .remarkd-table th,.remarkd-rendered .remarkd-table td{border:1px solid var(--rmd-border);padding:8px 10px;text-align:left}.remarkd-rendered .remarkd-table th{background:#eef2f7}.remarkd-rendered .remarkd-table--striped tbody tr:nth-child(even) td{background:#f8fafc}.remarkd-rendered .pros-cons-table th{background:#2367a6;color:#fff;font-size:1rem}.remarkd-rendered .pros-cons-table{table-layout:fixed}.remarkd-rendered .pros-cons-table .pros-cons-cell{width:50%}.remarkd-rendered .pros-cons-table--background .pros-cons-cell--con{background:#fae9e7}.remarkd-rendered .pros-cons-table--background .pros-cons-cell--pro{background:#e8f4ec}.remarkd-rendered .pros-cons-table--background.remarkd-table--striped tbody tr:nth-child(even) .pros-cons-cell--con{background:#f5d8d5}.remarkd-rendered .pros-cons-table--background.remarkd-table--striped tbody tr:nth-child(even) .pros-cons-cell--pro{background:#d4eadb}.remarkd-rendered .pros-cons-table--text-color .pros-cons-cell--con{color:#a62b25}.remarkd-rendered .pros-cons-table--text-color .pros-cons-cell--pro{color:#155d30}.remarkd-rendered .pros-cons-table .pros-cons-icon{display:inline-block;margin-right:8px}.remarkd-rendered img{max-width:100%}.remarkd-rendered img.block{display:block;margin:0 0 12px}.remarkd-rendered .align-center{text-align:center}.remarkd-rendered .align-right{text-align:right}.remarkd-rendered .align-center img.block{margin-left:auto;margin-right:auto}.remarkd-rendered .align-right img.block{margin-left:auto}.remarkd-rendered .video-container{position:relative;width:100%;margin:0 0 12px;background:#000;border-radius:8px;overflow:hidden}.remarkd-rendered .video-container iframe,.remarkd-rendered .video-container video{position:absolute;inset:0;width:100%;height:100%;border:0}.remarkd-rendered ol.reference{font-size:0.9em;color:var(--rmd-muted)}.remarkd-rendered .reference-tobody{text-decoration:none;margin-right:4px}.remarkd-rendered .remarkd-meter-label{display:block;font-size:0.85em;color:var(--rmd-muted)}.remarkd-rendered .remarkd-meter{width:180px;max-width:100%}.remarkd-rendered hr{border:0;border-top:1px solid var(--rmd-border);margin:18px 0}:host{display:block;overflow:hidden}.remarkd-editor{position:relative;display:flex;flex-direction:column;max-height:var(--remarkd-editor-max-height,100dvh);border:1px solid rgb(var(--zn-border-color));border-radius:var(--zn-border-radius);background-color:rgba(var(--zn-panel),var(--zn-panel-opacity))}.remarkd-editor__toolbar{display:flex;flex:none;gap:2px;flex-wrap:nowrap;padding:var(--zn-spacing-x-small);border-bottom:1px solid rgb(var(--zn-border-color))}.toolbar__group{display:flex;flex-shrink:0;gap:2px;align-items:center}.toolbar__group+.toolbar__group::before{content:"";align-self:stretch;margin-inline:4px;border-left:1px solid rgb(var(--zn-border-color))}.remarkd-editor__toolbar-more zn-menu{--zn-menu-max-height:var(--auto-size-available-height,60dvh)}.remarkd-editor__body{padding:var(--zn-spacing-large) var(--zn-spacing-large) var(--zn-spacing-large) 52px;min-height:10rem;overflow-y:auto}.remarkd-editor__body--raw{display:flex;padding-left:var(--zn-spacing-large)}.remarkd-editor__raw-toggle{margin-left:auto}.remarkd-editor__raw{flex:1;min-height:10rem;resize:vertical;border:0;background:transparent;color:inherit;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:0.875rem;line-height:1.5;padding:0;outline:none}.remarkd-editor--disabled{opacity:0.6;pointer-events:none}.remarkd-editor__block{position:relative;border-radius:var(--zn-border-radius)}.remarkd-editor__actions{position:absolute;left:-40px;top:4px;display:flex;flex-direction:column;align-items:center;gap:2px;opacity:0;transition:opacity 0.15s ease}.remarkd-editor__block:hover .remarkd-editor__actions,.remarkd-editor__actions:focus-within{opacity:1}.remarkd-editor__delete{position:absolute;top:2px;right:2px;z-index:5;opacity:0;transition:opacity 0.15s ease}.remarkd-editor__block:hover .remarkd-editor__delete,.remarkd-editor__delete:focus-within{opacity:1}.remarkd-editor__drag-handle{display:inline-flex;align-items:center;padding:2px;color:var(--zn-color-neutral-400,#9aa4b2);cursor:grab;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.remarkd-editor__drag-handle:active{cursor:grabbing}.remarkd-editor__ghost{position:fixed;top:0;left:0;z-index:20;pointer-events:none;opacity:0.9;background:var(--zn-color-neutral-0,white);border-radius:var(--zn-border-radius);box-shadow:0 8px 24px rgba(0,0,0,0.15);max-width:50%;max-height:160px;overflow:hidden}.remarkd-editor__block--dragging{opacity:0.4}.remarkd-editor__block--drop-before::before,.remarkd-editor__block--drop-after::after{content:"";position:absolute;left:0;right:0;height:6px;border-radius:3px;background:rgba(var(--zn-primary),0.6);pointer-events:none}.remarkd-editor__block--drop-before::before{top:-4px}.remarkd-editor__block--drop-after::after{bottom:-4px}.remarkd-editor__rendered{padding:var(--zn-spacing-x-small);border-radius:var(--zn-border-radius);cursor:text}.remarkd-editor__rendered:hover{background:var(--zn-color-neutral-100)}.remarkd-editor__edit-shell{border:1px solid rgb(var(--zn-border-color));border-radius:var(--zn-border-radius);background:var(--zn-color-neutral-0,white);padding:var(--zn-spacing-x-small)}.remarkd-editor__edit-shell:focus-within{border-top-color:rgb(var(--zn-primary));border-right-color:rgb(var(--zn-primary));border-bottom-color:rgb(var(--zn-primary))}.remarkd-editor__edit-shell:not([class*=hint-]):focus-within{border-left-color:rgb(var(--zn-primary))}.remarkd-editor__input{display:block;width:100%;resize:none;overflow:hidden;border:0;background:transparent;color:inherit;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:0.875rem;line-height:1.5;padding:0;outline:none}.remarkd-editor__edit-shell[class*=hint-] .remarkd-editor__input{font:inherit}.remarkd-editor__edit-shell--h1 .remarkd-editor__input,.remarkd-editor__edit-shell--h2 .remarkd-editor__input,.remarkd-editor__edit-shell--h3 .remarkd-editor__input{font-family:inherit;font-weight:700;line-height:1.2}.remarkd-editor__edit-shell--h1 .remarkd-editor__input{font-size:26px}.remarkd-editor__edit-shell--h2 .remarkd-editor__input{font-size:21px}.remarkd-editor__edit-shell--h3 .remarkd-editor__input{font-size:17px}.remarkd-editor__edit-shell--code{background:var(--rmd-code-bg,#0f1626)}.remarkd-editor__edit-shell--code .remarkd-editor__input{color:var(--rmd-code-text,#f5f8ff)}.remarkd-editor__include{display:flex;align-items:center;gap:var(--zn-spacing-small);padding:var(--zn-spacing-small);border:1px dashed rgb(var(--zn-border-color));border-radius:var(--zn-border-radius);background:var(--zn-color-neutral-0,white)}.remarkd-editor__include-title{font-weight:600}.remarkd-editor__include-meta{color:var(--zn-color-neutral-400,#9aa4b2);font-size:var(--zn-font-size-small)}.remarkd-editor__include--missing{border-style:solid;border-color:rgb(var(--zn-color-error))}.remarkd-editor__include-scope{color:var(--zn-color-neutral-400,#9aa4b2);font-size:var(--zn-font-size-small)}.remarkd-editor__include-link{margin-left:auto;font-size:var(--zn-font-size-small)}.remarkd-editor__conditional{border-left:3px solid rgba(var(--zn-primary),0.5);padding-left:var(--zn-spacing-small)}.remarkd-editor__conditional-label{display:inline-flex;align-items:center;gap:4px;margin-bottom:var(--zn-spacing-x-small);color:rgb(var(--zn-primary));font-size:0.75rem;text-transform:uppercase;letter-spacing:0.04em}.remarkd-editor__meta{display:flex;flex-wrap:wrap;gap:var(--zn-spacing-x-small)}.remarkd-editor__variable{display:inline-flex;align-items:center;gap:var(--zn-spacing-x-small);padding:2px var(--zn-spacing-x-small);border:1px dashed rgb(var(--zn-border-color));border-radius:var(--zn-border-radius);font-size:0.875rem}.remarkd-editor__variable-name{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.remarkd-editor__variable-state{color:rgb(var(--zn-text-body));font-style:italic}.remarkd-editor__var{padding:0 2px;border-radius:3px;background:rgba(var(--zn-primary),0.12);color:rgb(var(--zn-primary));font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.remarkd-editor__include-picker{display:flex;flex-direction:column;gap:var(--zn-spacing-x-small);padding:var(--zn-spacing-small);border:1px solid rgb(var(--zn-border-color));border-radius:var(--zn-border-radius);background:var(--zn-color-neutral-0,white)}.remarkd-editor__include-picker-head{display:flex;align-items:center;gap:var(--zn-spacing-x-small)}.remarkd-editor__include-filter{flex:1 1 auto}.remarkd-editor__include-option{display:flex;justify-content:space-between;gap:var(--zn-spacing-small);padding:var(--zn-spacing-x-small) var(--zn-spacing-small);border:0;border-radius:var(--zn-border-radius);background:none;cursor:pointer;text-align:left}.remarkd-editor__include-option:hover:not(:disabled){background:var(--zn-color-neutral-100)}.remarkd-editor__include-option:disabled{cursor:default;opacity:0.6}.remarkd-editor__include-option-meta,.remarkd-editor__include-picker-empty{color:var(--zn-color-neutral-400,#9aa4b2);font-size:var(--zn-font-size-small)}.remarkd-editor__image-controls{display:flex;flex-direction:column;gap:var(--zn-spacing-small);border:1px solid rgb(var(--zn-primary));border-radius:var(--zn-border-radius);background:var(--zn-color-neutral-0,white);padding:var(--zn-spacing-small)}.remarkd-editor__image-controls-preview{text-align:left}.remarkd-editor__image-controls-preview--center{text-align:center}.remarkd-editor__image-controls-preview--right{text-align:right}.remarkd-editor__image-controls-preview img{max-width:100%;max-height:240px}.remarkd-editor__image-row{display:flex;align-items:flex-end;gap:var(--zn-spacing-small);flex-wrap:wrap}.remarkd-editor__image-field{display:flex;flex-direction:column;gap:2px}.remarkd-editor__image-field span{font-size:var(--zn-input-label-font-size-small);color:var(--zn-input-label-color);font-weight:var(--zn-font-weight-semibold)}.remarkd-editor__image-field input{border:1px solid rgb(var(--zn-border-color));border-radius:var(--zn-border-radius);background:var(--zn-color-neutral-0,white);color:inherit;font:inherit;font-size:0.875rem;padding:4px 8px;outline:none}.remarkd-editor__image-field input:focus{border-color:rgb(var(--zn-primary))}.remarkd-editor__image-field:first-child input{width:100%}.remarkd-editor__image-buttons{display:flex;align-items:center;gap:var(--zn-spacing-x-small)}.remarkd-editor__image-buttons-spacer{margin-left:auto}.remarkd-editor__image-picker{display:flex;align-items:flex-start;gap:var(--zn-spacing-x-small);margin:var(--zn-spacing-x-small) 0}.remarkd-editor__image-picker zn-file{flex:1}.remarkd-editor__add{padding:var(--zn-spacing-x-small);min-height:1.8em;color:var(--zn-color-neutral-400,#9aa4b2);cursor:text}.remarkd-editor__edit-wrap{position:relative}.remarkd-editor__validation{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;border:0;padding:0}.remarkd-editor__link-picker{display:flex;flex-direction:column;gap:var(--zn-spacing-x-small);margin-top:var(--zn-spacing-x-small);padding:var(--zn-spacing-small);border:1px solid rgb(var(--zn-border-color));border-radius:var(--zn-border-radius);background:var(--zn-color-neutral-0,white)}.remarkd-editor__link-picker-head{display:flex;align-items:center;gap:var(--zn-spacing-x-small)}.remarkd-editor__link-filter{flex:1 1 auto}.remarkd-editor__link-option{display:flex;justify-content:space-between;gap:var(--zn-spacing-small);padding:var(--zn-spacing-x-small) var(--zn-spacing-small);border:0;border-radius:var(--zn-border-radius);background:none;cursor:pointer;text-align:left}.remarkd-editor__link-option:hover{background:var(--zn-color-neutral-100)}.remarkd-editor__link-option-meta,.remarkd-editor__link-picker-empty{color:var(--zn-color-neutral-400,#9aa4b2);font-size:var(--zn-font-size-small)}.remarkd-editor__link--missing{text-decoration-line:underline;text-decoration-style:wavy;text-decoration-color:rgb(var(--zn-color-error))}`;var W2=/^include::([^[]+)\[(.*)]\s*$/,Q2="kb:(?:document|category|page)\\/[A-Za-z0-9_-]+",rq=new RegExp(`^${Q2}$`),iq=new RegExp(Q2,"g"),nq=/^:([A-Za-z0-9_-]+)(!)?:\s*(.*)$/,oq=/^\.([^.\s].*)$/,aq=/^\[.+]$/;function sq(o){let i=nq.exec(o);if(i)return{kind:"attribute",name:i[1],value:i[3],unset:!!i[2]};let t=oq.exec(o);return t?{kind:"title",text:t[1]}:aq.test(o)?{kind:"bracket",text:o}:null}function lq(o){let i=o.split(`
|
|
4401
|
+
`+r:i.push(r)}return i}function fg(o,i){let t=new F2(o,!1,i.options);return t.attrs=i.attrs,t.parse().replace(/^<div class="remarkd-section section--level0 section--with-content">/,"").replace(/<\/div>$/,"")}function U2(o,i,t=0){if(t>10)return o;let r=[];for(let n of o){let a=n.match(/^t::partial::(.*)$/);if(!a){r.push(n);continue}let[s,l]=KL(a[1]??""),p=j2(i,s);if(p===null){r.push(`File not found: ${s}`);continue}let h=V2(p);for(YL(l,"strip-title")&&(h[0]??"").startsWith("=")&&(h=h.slice(1));h.length&&h[h.length-1].trim()==="";)h.pop();let m=Number.parseInt(l["drop-last"]??"0",10);m>0&&h.splice(-m),r.push(...U2(h,i,t+1))}return r}function KL(o){let i=o.trim(),t={},r=i.match(/^(.*?)\[([^\]]*)]$/);if(r){i=r[1].trim();for(let n of r[2].split(",")){let a=n.trim();if(!a)continue;let s=a.indexOf("=");s===-1?t[a]="true":t[a.slice(0,s).trim()]=a.slice(s+1).trim().replace(/^["']|["']$/g,"")}}return[i,t]}function YL(o,i){return i in o?!["0","false","no"].includes(o[i].toLowerCase()):!1}function j2(o,i){if(o.partials&&Object.prototype.hasOwnProperty.call(o.partials,i))return o.partials[i];let t=globalThis.process,r=t?.getBuiltinModule?.("node:fs");if(!r?.existsSync||!r?.readFileSync)return null;let n=QL(o.projectRoot||t?.cwd?.()||"",i);return r.existsSync(n)?r.readFileSync(n,"utf8"):null}function QL(o,i){return/^(\/|[A-Za-z]:[\\/])/.test(i)||!o?i:`${o.replace(/[\\/]+$/,"")}/${i.replace(/^[\\/]+/,"")}`}function ol(o){let i=o.trim().replace(/^\[/,"").replace(/]$/,""),t=[],r={},n=/(^|[\s,]+)([^, =}]+)(=(("([^"]*)")|([^\s,}]*)))?/g,a;for(;a=n.exec(i);){let s=a[2],l=a[6]||a[7]||"";t.push(s),r[s]=l}return{raw:i,pos:t,named:r}}function XL(o){return!!o&&(o.pos[0]==="pros-cons"||o.pos[0]==="proscons"||"pros-cons"in o.named||"proscons"in o.named)}function Ua(o,i,t){return!o||!(i in o.named)?t:!["0","false","no","off"].includes((o.named[i]||"").toLowerCase())}function JL(o,i){let t=i===0?o?.named["con-icon"]||"\u274C":o?.named["pro-icon"]||"\u2705";return`<span class="pros-cons-icon">${jc(t)}</span>`}var ZL={"+1":"\u{1F44D}",thumbsup:"\u{1F44D}","-1":"\u{1F44E}",thumbsdown:"\u{1F44E}",eyes:"\u{1F440}",grinning:"\u{1F600}",grin:"\u{1F601}",joy:"\u{1F602}",smiley:"\u{1F603}",smile:"\u{1F604}",sweat_smile:"\u{1F605}",satisfied:"\u{1F606}",laughing:"\u{1F606}",innocent:"\u{1F607}",smiling_imp:"\u{1F608}",wink:"\u{1F609}",blush:"\u{1F60A}",yum:"\u{1F60B}",relieved:"\u{1F60C}",heart_eyes:"\u{1F60D}",sunglasses:"\u{1F60E}",smirk:"\u{1F60F}",neutral_face:"\u{1F610}",expressionless:"\u{1F611}",unamused:"\u{1F612}",sweat:"\u{1F613}",pensive:"\u{1F614}",confused:"\u{1F615}",confounded:"\u{1F616}",kissing:"\u{1F617}",kissing_heart:"\u{1F618}",kissing_smiling_eyes:"\u{1F619}",kissing_closed_eyes:"\u{1F61A}",stuck_out_tongue:"\u{1F61B}",stuck_out_tongue_winking_eye:"\u{1F61C}",stuck_out_tongue_closed_eyes:"\u{1F61D}",disappointed:"\u{1F61E}",worried:"\u{1F61F}",angry:"\u{1F620}",rage:"\u{1F621}",cry:"\u{1F622}",persevere:"\u{1F623}",triumph:"\u{1F624}",disappointed_relieved:"\u{1F625}",frowning:"\u{1F626}",anguished:"\u{1F627}",fearful:"\u{1F628}",weary:"\u{1F629}",sleepy:"\u{1F62A}",tired_face:"\u{1F62B}"};function Uc(o){return o.replace(/[-_]+/g," ").replace(/\b\w/g,i=>i.toUpperCase())}function eq(o){return o.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}function tq(o){let i=o.trim().match(/^(.+?)\s*(===|==|!=|<=|<|>=|>|in|nin)\s*(.+)$/);if(!i)return!1;let t=i[1].trim(),r=i[2],n=i[3].trim();switch(r){case"===":return t===n;case"==":return t==n;case"!=":return t!=n;case"<=":return t<=n;case"<":return t<n;case">=":return t>=n;case">":return t>n;case"in":return n.split(",").map(a=>a.trim()).includes(t);case"nin":return!n.split(",").map(a=>a.trim()).includes(t);default:return!1}}function jc(o){return o.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}var $h=class{constructor(i,t){this.visibleCount=1/0;this.resizeRafId=0;this.host=i,this.options=t,i.addController(this),new ut(i,{callback:()=>{this.resizeRafId||(this.resizeRafId=requestAnimationFrame(()=>{this.resizeRafId=0,this.measure()}))}})}hostUpdated(){this.measure()}measure(){let i=this.options.groups(),t=this.options.container();if(!i.length||!t)return;let r=getComputedStyle(t),n=parseFloat(r.paddingLeft)+parseFloat(r.paddingRight),a=[...t.children].filter(m=>!m.classList.contains("toolbar__group")).reduce((m,f)=>m+f.getBoundingClientRect().width,0),s=t.clientWidth-n-a;if(s<=0)return;i.forEach(m=>m.style.display="");let l=i.map(m=>m.getBoundingClientRect().width),h=l.reduce((m,f)=>m+f,0)<=s?i.length:this.countThatFit(l,s-(this.options.reserve??44));i.forEach((m,f)=>m.style.display=f<h?"":"none"),h!==this.visibleCount&&(this.visibleCount=h,this.host.requestUpdate())}countThatFit(i,t){let r=0,n=0;for(let a of i){if(r+a>t)break;r+=a,n++}return n}};var G2=_`@charset "UTF-8";@keyframes rotate-gradient{from{--rotate:0deg}to{--rotate:360deg}}:host{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-transform:none}*,*::before,*::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:rgb(var(--zn-border-color))}[hidden]{display:none !important}.width-container,.form-container,.wide-form-container{height:100%;width:100%;margin:var(--zn-default-margin,0 auto)}.width-container{max-width:var(--zn-container)}.form-container{max-width:var(--zn-container-ph)}.wide-form-container{max-width:var(--zn-container-lg)}.remarkd-rendered{--rmd-accent:#2367c8;--rmd-border:#d9dee7;--rmd-muted:#5f6d80;--rmd-soft:#eef5ff;--rmd-code-bg:#0f1626;--rmd-code-text:#f5f8ff;color:#18202f;font:15px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;word-wrap:break-word}.remarkd-rendered>.remarkd-section>:first-child,.remarkd-rendered>:first-child{margin-top:0}.remarkd-rendered p{margin:0 0 12px}.remarkd-rendered h1,.remarkd-rendered h2,.remarkd-rendered h3,.remarkd-rendered h4{line-height:1.2;margin:18px 0 10px}.remarkd-rendered h1{font-size:26px}.remarkd-rendered h2{font-size:21px}.remarkd-rendered h3{font-size:17px}.remarkd-rendered a{color:var(--rmd-accent)}.remarkd-rendered .btn{align-items:center;background:#f4f6f8;border:1px solid #cfd6df;border-radius:6px;color:#263241;cursor:pointer;display:inline-flex;font-weight:600;gap:6px;justify-content:center;line-height:1.2;margin:2px 4px 2px 0;min-height:36px;padding:8px 14px;text-align:center;text-decoration:none;transition:background-color 160ms ease,border-color 160ms ease,box-shadow 160ms ease,color 160ms ease;vertical-align:middle}.remarkd-rendered .btn:hover,.remarkd-rendered .btn:focus{background:#e9edf2;border-color:#b9c3cf;color:#182230;text-decoration:none}.remarkd-rendered .btn:focus{box-shadow:0 0 0 3px rgba(35,103,200,0.22);outline:none}.remarkd-rendered .btn--primary{background:#2367c8;border-color:#2367c8;color:#fff}.remarkd-rendered .btn--primary:hover,.remarkd-rendered .btn--primary:focus{background:#1d58ad;border-color:#1d58ad;color:#fff}.remarkd-rendered .btn--secondary{background:#263241;border-color:#263241;color:#fff}.remarkd-rendered .btn--secondary:hover,.remarkd-rendered .btn--secondary:focus{background:#1a2430;border-color:#1a2430;color:#fff}.remarkd-rendered .btn--success{background:#177245;border-color:#177245;color:#fff}.remarkd-rendered .btn--success:hover,.remarkd-rendered .btn--success:focus{background:#105d37;border-color:#105d37;color:#fff}.remarkd-rendered .btn--danger{background:#b42318;border-color:#b42318;color:#fff}.remarkd-rendered .btn--danger:hover,.remarkd-rendered .btn--danger:focus{background:#971b12;border-color:#971b12;color:#fff}.remarkd-rendered .monospace,.remarkd-rendered kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:0.9em}.remarkd-rendered .monospace{background:#eef2f7;border-radius:4px;padding:1px 5px}.remarkd-rendered kbd{background:#f6f8fb;border:1px solid var(--rmd-border);border-bottom-width:2px;border-radius:5px;padding:1px 6px}.remarkd-rendered mark.highlight{background:#fff3bf;border-radius:3px;padding:0 3px}.remarkd-rendered .tooltip{border-bottom:1px dotted var(--rmd-muted);cursor:help}.remarkd-rendered sup.footnote,.remarkd-rendered sup.reference{color:var(--rmd-accent);font-size:0.75em}.remarkd-rendered ul,.remarkd-rendered ol{margin:0 0 12px;padding-left:24px}.remarkd-rendered li>p{margin:0 0 4px}.remarkd-rendered input[type=checkbox]{margin-right:4px;vertical-align:middle}.remarkd-rendered dl{margin:0 0 12px}.remarkd-rendered dt{font-weight:700}.remarkd-rendered dd{margin:0 0 8px 18px;color:var(--rmd-muted)}.remarkd-rendered blockquote{margin:0 0 12px;padding:4px 16px;border-left:4px solid var(--rmd-border);color:var(--rmd-muted)}.remarkd-rendered .hint-note{margin:0 0 12px;padding:12px 14px;border-left:4px solid var(--rmd-accent);background:var(--rmd-soft);border-radius:0 6px 6px 0}.remarkd-rendered .hint-caption{color:var(--rmd-accent)}.remarkd-rendered .hint-tip,.remarkd-rendered .hint-warning,.remarkd-rendered .hint-important,.remarkd-rendered .hint-caution,.remarkd-rendered .hint-danger,.remarkd-rendered .hint-success,.remarkd-rendered .hint-notice{margin:0 0 12px;padding:12px 14px;border-left:4px solid var(--rmd-accent);background:#f6f8fb;border-radius:0 6px 6px 0}.remarkd-rendered .hint-tip,.remarkd-rendered .hint-success{border-left-color:#1f9d57;background:#eafaf1}.remarkd-rendered .hint-tip .hint-caption,.remarkd-rendered .hint-success .hint-caption{color:#1f7a47}.remarkd-rendered .hint-warning,.remarkd-rendered .hint-caution{border-left-color:#b7791f;background:#fdf6e3}.remarkd-rendered .hint-warning .hint-caption,.remarkd-rendered .hint-caution .hint-caption{color:#8a5a07}.remarkd-rendered .hint-danger{border-left-color:#c0392b;background:#fdecea}.remarkd-rendered .hint-danger .hint-caption{color:#a02b1f}.remarkd-rendered .verse-block{margin:0 0 12px;padding:12px 14px;background:#f6f8fb;border-radius:6px;font-family:inherit;white-space:pre-wrap}.remarkd-rendered code{display:block;margin:0 0 12px;padding:14px 16px;border-radius:8px;background:var(--rmd-code-bg);color:var(--rmd-code-text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.5;white-space:pre;overflow-x:auto}.remarkd-rendered .listing-block{margin:0 0 12px;border:1px solid var(--rmd-border);border-radius:8px;overflow:hidden}.remarkd-rendered .listing-block .content{padding:14px 16px;background:#f6f8fb;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;white-space:pre-wrap}.remarkd-rendered .callout{list-style:none;margin:0 0 6px;padding-left:28px;position:relative;color:var(--rmd-muted)}.remarkd-rendered .callout::before{content:attr(data-marker);position:absolute;left:0;top:0;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--rmd-accent);color:#fff;font-size:12px;font-weight:700}.remarkd-rendered .example-block,.remarkd-rendered .sidebar-block{margin:0 0 12px;border:1px solid var(--rmd-border);border-radius:8px}.remarkd-rendered .example-block .content,.remarkd-rendered .sidebar-block .content{padding:14px 16px}.remarkd-rendered .sidebar-block{background:#f6f8fb}.remarkd-rendered .title{display:block;font-weight:700;color:var(--rmd-muted);margin-bottom:6px}.remarkd-rendered .accordion-container{margin:0 0 12px;border:1px solid var(--rmd-border);border-radius:8px;overflow:hidden}.remarkd-rendered button.accordion{display:block;width:100%;text-align:left;padding:11px 14px;border:0;border-top:1px solid var(--rmd-border);background:#f6f8fb;font:inherit;font-weight:650;cursor:pointer}.remarkd-rendered button.accordion:first-child{border-top:0}.remarkd-rendered .accordion-container .panel{padding:12px 14px}.remarkd-rendered .tab-group{margin:0 0 12px;border:1px solid var(--rmd-border);border-radius:8px;overflow:hidden}.remarkd-rendered .tab-header{display:flex;flex-wrap:wrap;gap:4px;margin:0;padding:6px 6px 0;list-style:none;background:#f6f8fb;border-bottom:1px solid var(--rmd-border)}.remarkd-rendered .tab-header a{display:block;padding:7px 12px;border-radius:6px 6px 0 0;text-decoration:none;color:var(--rmd-muted);font-weight:650}.remarkd-rendered .tab-header a.active{background:#fff;color:var(--rmd-accent)}.remarkd-rendered .tabs .tab{padding:14px}.remarkd-rendered .tabs .tab+.tab{border-top:1px dashed var(--rmd-border)}.remarkd-rendered .steps-container{margin:0 0 12px;counter-reset:rmd-step}.remarkd-rendered .step{display:flex;gap:14px;padding:12px 0;border-top:1px solid var(--rmd-border)}.remarkd-rendered .step:first-child{border-top:0}.remarkd-rendered .step-content{flex:1}.remarkd-rendered .step-content h3{margin:0 0 6px;counter-increment:rmd-step}.remarkd-rendered .step-content h3::before{content:counter(rmd-step) ". ";color:var(--rmd-accent)}.remarkd-rendered .step-image img{max-width:120px;border-radius:6px}.remarkd-rendered .table-block{margin:0 0 12px}.remarkd-rendered .remarkd-table{border-collapse:collapse;width:100%}.remarkd-rendered .remarkd-table th,.remarkd-rendered .remarkd-table td{border:1px solid var(--rmd-border);padding:8px 10px;text-align:left}.remarkd-rendered .remarkd-table th{background:#eef2f7}.remarkd-rendered .remarkd-table--striped tbody tr:nth-child(even) td{background:#f8fafc}.remarkd-rendered .pros-cons-table th{background:#2367a6;color:#fff;font-size:1rem}.remarkd-rendered .pros-cons-table{table-layout:fixed}.remarkd-rendered .pros-cons-table .pros-cons-cell{width:50%}.remarkd-rendered .pros-cons-table--background .pros-cons-cell--con{background:#fae9e7}.remarkd-rendered .pros-cons-table--background .pros-cons-cell--pro{background:#e8f4ec}.remarkd-rendered .pros-cons-table--background.remarkd-table--striped tbody tr:nth-child(even) .pros-cons-cell--con{background:#f5d8d5}.remarkd-rendered .pros-cons-table--background.remarkd-table--striped tbody tr:nth-child(even) .pros-cons-cell--pro{background:#d4eadb}.remarkd-rendered .pros-cons-table--text-color .pros-cons-cell--con{color:#a62b25}.remarkd-rendered .pros-cons-table--text-color .pros-cons-cell--pro{color:#155d30}.remarkd-rendered .pros-cons-table .pros-cons-icon{display:inline-block;margin-right:8px}.remarkd-rendered img{max-width:100%}.remarkd-rendered img.block{display:block;margin:0 0 12px}.remarkd-rendered .align-center{text-align:center}.remarkd-rendered .align-right{text-align:right}.remarkd-rendered .align-center img.block{margin-left:auto;margin-right:auto}.remarkd-rendered .align-right img.block{margin-left:auto}.remarkd-rendered .video-container{position:relative;width:100%;margin:0 0 12px;background:#000;border-radius:8px;overflow:hidden}.remarkd-rendered .video-container iframe,.remarkd-rendered .video-container video{position:absolute;inset:0;width:100%;height:100%;border:0}.remarkd-rendered ol.reference{font-size:0.9em;color:var(--rmd-muted)}.remarkd-rendered .reference-tobody{text-decoration:none;margin-right:4px}.remarkd-rendered .remarkd-meter-label{display:block;font-size:0.85em;color:var(--rmd-muted)}.remarkd-rendered .remarkd-meter{width:180px;max-width:100%}.remarkd-rendered hr{border:0;border-top:1px solid var(--rmd-border);margin:18px 0}:host{display:block;overflow:hidden}.remarkd-editor{position:relative;display:flex;flex-direction:column;max-height:var(--remarkd-editor-max-height,100dvh);border:1px solid rgb(var(--zn-border-color));border-radius:var(--zn-border-radius);background-color:rgba(var(--zn-panel),var(--zn-panel-opacity))}.remarkd-editor__toolbar{display:flex;flex:none;gap:2px;flex-wrap:nowrap;padding:var(--zn-spacing-x-small);border-bottom:1px solid rgb(var(--zn-border-color))}.toolbar__group{display:flex;flex-shrink:0;gap:2px;align-items:center}.toolbar__group+.toolbar__group::before{content:"";align-self:stretch;margin-inline:4px;border-left:1px solid rgb(var(--zn-border-color))}.remarkd-editor__toolbar-more zn-menu{--zn-menu-max-height:var(--auto-size-available-height,60dvh)}.remarkd-editor__body{padding:var(--zn-spacing-large) var(--zn-spacing-large) var(--zn-spacing-large) 52px;min-height:var(--remarkd-editor-min-height,10rem);overflow-y:auto}.remarkd-editor__body--raw{display:flex;padding-left:var(--zn-spacing-large)}.remarkd-editor__raw-toggle{margin-left:auto}.remarkd-editor__raw{flex:1;min-height:var(--remarkd-editor-min-height,10rem);resize:vertical;border:0;background:transparent;color:inherit;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:0.875rem;line-height:1.5;padding:0;outline:none}.remarkd-editor--disabled{opacity:0.6;pointer-events:none}.remarkd-editor__block{position:relative;border-radius:var(--zn-border-radius)}.remarkd-editor__actions{position:absolute;left:-40px;top:4px;display:flex;flex-direction:column;align-items:center;gap:2px;opacity:0;transition:opacity 0.15s ease}.remarkd-editor__block:hover .remarkd-editor__actions,.remarkd-editor__actions:focus-within{opacity:1}.remarkd-editor__delete{position:absolute;top:2px;right:2px;z-index:5;opacity:0;transition:opacity 0.15s ease}.remarkd-editor__block:hover .remarkd-editor__delete,.remarkd-editor__delete:focus-within{opacity:1}.remarkd-editor__drag-handle{display:inline-flex;align-items:center;padding:2px;color:var(--zn-color-neutral-400,#9aa4b2);cursor:grab;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.remarkd-editor__drag-handle:active{cursor:grabbing}.remarkd-editor__ghost{position:fixed;top:0;left:0;z-index:20;pointer-events:none;opacity:0.9;background:var(--zn-color-neutral-0,white);border-radius:var(--zn-border-radius);box-shadow:0 8px 24px rgba(0,0,0,0.15);max-width:50%;max-height:160px;overflow:hidden}.remarkd-editor__block--dragging{opacity:0.4}.remarkd-editor__block--drop-before::before,.remarkd-editor__block--drop-after::after{content:"";position:absolute;left:0;right:0;height:6px;border-radius:3px;background:rgba(var(--zn-primary),0.6);pointer-events:none}.remarkd-editor__block--drop-before::before{top:-4px}.remarkd-editor__block--drop-after::after{bottom:-4px}.remarkd-editor__rendered{padding:var(--zn-spacing-x-small);border-radius:var(--zn-border-radius);cursor:text}.remarkd-editor__rendered:hover{background:var(--zn-color-neutral-100)}.remarkd-editor__edit-shell{border:1px solid rgb(var(--zn-border-color));border-radius:var(--zn-border-radius);background:var(--zn-color-neutral-0,white);padding:var(--zn-spacing-x-small)}.remarkd-editor__edit-shell:focus-within{border-top-color:rgb(var(--zn-primary));border-right-color:rgb(var(--zn-primary));border-bottom-color:rgb(var(--zn-primary))}.remarkd-editor__edit-shell:not([class*=hint-]):focus-within{border-left-color:rgb(var(--zn-primary))}.remarkd-editor__input{display:block;width:100%;resize:none;overflow:hidden;border:0;background:transparent;color:inherit;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:0.875rem;line-height:1.5;padding:0;outline:none}.remarkd-editor__edit-shell[class*=hint-] .remarkd-editor__input{font:inherit}.remarkd-editor__edit-shell--h1 .remarkd-editor__input,.remarkd-editor__edit-shell--h2 .remarkd-editor__input,.remarkd-editor__edit-shell--h3 .remarkd-editor__input{font-family:inherit;font-weight:700;line-height:1.2}.remarkd-editor__edit-shell--h1 .remarkd-editor__input{font-size:26px}.remarkd-editor__edit-shell--h2 .remarkd-editor__input{font-size:21px}.remarkd-editor__edit-shell--h3 .remarkd-editor__input{font-size:17px}.remarkd-editor__edit-shell--code{background:var(--rmd-code-bg,#0f1626)}.remarkd-editor__edit-shell--code .remarkd-editor__input{color:var(--rmd-code-text,#f5f8ff)}.remarkd-editor__include{display:flex;align-items:center;gap:var(--zn-spacing-small);padding:var(--zn-spacing-small);border:1px dashed rgb(var(--zn-border-color));border-radius:var(--zn-border-radius);background:var(--zn-color-neutral-0,white)}.remarkd-editor__include-title{font-weight:600}.remarkd-editor__include-meta{color:var(--zn-color-neutral-400,#9aa4b2);font-size:var(--zn-font-size-small)}.remarkd-editor__include--missing{border-style:solid;border-color:rgb(var(--zn-color-error))}.remarkd-editor__include-scope{color:var(--zn-color-neutral-400,#9aa4b2);font-size:var(--zn-font-size-small)}.remarkd-editor__include-link{margin-left:auto;font-size:var(--zn-font-size-small)}.remarkd-editor__conditional{border-left:3px solid rgba(var(--zn-primary),0.5);padding-left:var(--zn-spacing-small)}.remarkd-editor__conditional-label{display:inline-flex;align-items:center;gap:4px;margin-bottom:var(--zn-spacing-x-small);color:rgb(var(--zn-primary));font-size:0.75rem;text-transform:uppercase;letter-spacing:0.04em}.remarkd-editor__meta{display:flex;flex-wrap:wrap;gap:var(--zn-spacing-x-small)}.remarkd-editor__variable{display:inline-flex;align-items:center;gap:var(--zn-spacing-x-small);padding:2px var(--zn-spacing-x-small);border:1px dashed rgb(var(--zn-border-color));border-radius:var(--zn-border-radius);font-size:0.875rem}.remarkd-editor__variable-name{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.remarkd-editor__variable-state{color:rgb(var(--zn-text-body));font-style:italic}.remarkd-editor__var{padding:0 2px;border-radius:3px;background:rgba(var(--zn-primary),0.12);color:rgb(var(--zn-primary));font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.remarkd-editor__include-picker{display:flex;flex-direction:column;gap:var(--zn-spacing-x-small);padding:var(--zn-spacing-small);border:1px solid rgb(var(--zn-border-color));border-radius:var(--zn-border-radius);background:var(--zn-color-neutral-0,white)}.remarkd-editor__include-picker-head{display:flex;align-items:center;gap:var(--zn-spacing-x-small)}.remarkd-editor__include-filter{flex:1 1 auto}.remarkd-editor__include-option{display:flex;justify-content:space-between;gap:var(--zn-spacing-small);padding:var(--zn-spacing-x-small) var(--zn-spacing-small);border:0;border-radius:var(--zn-border-radius);background:none;cursor:pointer;text-align:left}.remarkd-editor__include-option:hover:not(:disabled){background:var(--zn-color-neutral-100)}.remarkd-editor__include-option:disabled{cursor:default;opacity:0.6}.remarkd-editor__include-option-meta,.remarkd-editor__include-picker-empty{color:var(--zn-color-neutral-400,#9aa4b2);font-size:var(--zn-font-size-small)}.remarkd-editor__image-controls{display:flex;flex-direction:column;gap:var(--zn-spacing-small);border:1px solid rgb(var(--zn-primary));border-radius:var(--zn-border-radius);background:var(--zn-color-neutral-0,white);padding:var(--zn-spacing-small)}.remarkd-editor__image-controls-preview{text-align:left}.remarkd-editor__image-controls-preview--center{text-align:center}.remarkd-editor__image-controls-preview--right{text-align:right}.remarkd-editor__image-controls-preview img{max-width:100%;max-height:240px}.remarkd-editor__image-row{display:flex;align-items:flex-end;gap:var(--zn-spacing-small);flex-wrap:wrap}.remarkd-editor__image-field{display:flex;flex-direction:column;gap:2px}.remarkd-editor__image-field span{font-size:var(--zn-input-label-font-size-small);color:var(--zn-input-label-color);font-weight:var(--zn-font-weight-semibold)}.remarkd-editor__image-field input{border:1px solid rgb(var(--zn-border-color));border-radius:var(--zn-border-radius);background:var(--zn-color-neutral-0,white);color:inherit;font:inherit;font-size:0.875rem;padding:4px 8px;outline:none}.remarkd-editor__image-field input:focus{border-color:rgb(var(--zn-primary))}.remarkd-editor__image-field:first-child input{width:100%}.remarkd-editor__image-buttons{display:flex;align-items:center;gap:var(--zn-spacing-x-small)}.remarkd-editor__image-buttons-spacer{margin-left:auto}.remarkd-editor__image-picker{display:flex;align-items:flex-start;gap:var(--zn-spacing-x-small);margin:var(--zn-spacing-x-small) 0}.remarkd-editor__image-picker zn-file{flex:1}.remarkd-editor__add{padding:var(--zn-spacing-x-small);min-height:1.8em;color:var(--zn-color-neutral-400,#9aa4b2);cursor:text}.remarkd-editor__edit-wrap{position:relative}.remarkd-editor__validation{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;border:0;padding:0}.remarkd-editor__link-picker{display:flex;flex-direction:column;gap:var(--zn-spacing-x-small);margin-top:var(--zn-spacing-x-small);padding:var(--zn-spacing-small);border:1px solid rgb(var(--zn-border-color));border-radius:var(--zn-border-radius);background:var(--zn-color-neutral-0,white)}.remarkd-editor__link-picker-head{display:flex;align-items:center;gap:var(--zn-spacing-x-small)}.remarkd-editor__link-filter{flex:1 1 auto}.remarkd-editor__link-option{display:flex;justify-content:space-between;gap:var(--zn-spacing-small);padding:var(--zn-spacing-x-small) var(--zn-spacing-small);border:0;border-radius:var(--zn-border-radius);background:none;cursor:pointer;text-align:left}.remarkd-editor__link-option:hover{background:var(--zn-color-neutral-100)}.remarkd-editor__link-option-meta,.remarkd-editor__link-picker-empty{color:var(--zn-color-neutral-400,#9aa4b2);font-size:var(--zn-font-size-small)}.remarkd-editor__link--missing{text-decoration-line:underline;text-decoration-style:wavy;text-decoration-color:rgb(var(--zn-color-error))}`;var W2=/^include::([^[]+)\[(.*)]\s*$/,Q2="kb:(?:document|category|page)\\/[A-Za-z0-9_-]+",rq=new RegExp(`^${Q2}$`),iq=new RegExp(Q2,"g"),nq=/^:([A-Za-z0-9_-]+)(!)?:\s*(.*)$/,oq=/^\.([^.\s].*)$/,aq=/^\[.+]$/;function sq(o){let i=nq.exec(o);if(i)return{kind:"attribute",name:i[1],value:i[3],unset:!!i[2]};let t=oq.exec(o);return t?{kind:"title",text:t[1]}:aq.test(o)?{kind:"bracket",text:o}:null}function lq(o){let i=o.split(`
|
|
4402
4402
|
`).map(r=>r.trim()).filter(r=>r!=="");if(!i.length)return null;let t=[];for(let r of i){let n=sq(r);if(!n)return null;t.push(n)}return t}var K2="|===",Y2=/^\|={3,}$/,Gc=/^(?:ifdef|ifndef)::[^[]*\[]$/,al=/^ifeval::\[[^\]]*]$/,X2=/^endif::\[]$/,cq=/^(ifdef|ifndef|iftrue|iffalse|ifempty|ifnempty)::([^[]+)\[([^\]]+)]\s*$/;function dq(o,i){let t=i.replace(/[\r\n]+/g," ").replace(/\[/g,"(").replace(/]/g,")").trim();return`include::${o}[${t}]`}function pq(o,i){return`[${i.replace(/[\r\n]/g," ").replace(/\[/g,"(").replace(/]/g,")").trim()}](${o})`}var hq=P2(mg),uq=200;function mq(o){let i=o.indexOf("(");if(i===-1||!o.endsWith(")"))return null;let t=o.slice(0,i).replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(`^${t}\\([^)]*\\)`)}function gg(o){try{return H2(o)}catch{return`<pre class="remarkd-editor__unparsed">${o.replace(/[&<>]/g,i=>({"&":"&","<":"<",">":">"})[i])}</pre>`}}function J2(o,i){let t=1;for(let r=i;r<o.length;r++){let n=o[r].trimEnd();if(Gc.test(n)||al.test(n))t++;else if(X2.test(n)&&--t===0)return r}return-1}var Z2={ifdef:"is defined",ifndef:"is not defined",iftrue:"is true",iffalse:"is false",ifempty:"is empty",ifnempty:"is not empty"};function ek(o){if(al.test(o))return`shown when ${o.slice(9,-1)}`;let i=o.slice(0,o.indexOf("::"));return`shown when ${o.slice(o.indexOf("::")+2,o.indexOf("["))} ${Z2[i]??"is defined"}`}function fq(o,i){return`shown when ${i} ${Z2[o]??"is defined"}`}function tk(o){let i=[],t=[],r=()=>{t.length&&i.push({kind:"content",lines:t}),t=[]};for(let n=0;n<o.length;n++){let a=o[n].trimEnd();if(Gc.test(a)||al.test(a)){r();let s=J2(o,n+1),l=o.slice(n+1,s===-1?void 0:s);i.push({kind:"nested",label:ek(a),parts:tk(l)}),n=s===-1?o.length:s;continue}t.push(o[n])}return r(),i}function gq(o){let i=o.length===1&&o[0].kind==="content"?o[0]:void 0;if(o.length===0||i){let t=i?.lines.join(`
|
|
4403
4403
|
`).trim()??"";return u`
|
|
4404
4404
|
<div class="remarkd-editor__conditional-body remarkd-rendered remarkd-editor__rendered--parsed">
|
package/package.json
CHANGED
|
@@ -342,6 +342,7 @@ function renderInlineConditional(block: string): TemplateResult | null {
|
|
|
342
342
|
* @csspart include-picker - The inline Include picker opened from the toolbar or "/include".
|
|
343
343
|
*
|
|
344
344
|
* @cssproperty --remarkd-editor-max-height - The tallest the editor grows before its body scrolls. Defaults to `100dvh`.
|
|
345
|
+
* @cssproperty --remarkd-editor-min-height - The shortest the body renders while empty. Defaults to `10rem`.
|
|
345
346
|
*/
|
|
346
347
|
export default class ZnRemarkdEditor extends ZincElement implements ZincFormControl {
|
|
347
348
|
static styles: CSSResultGroup = unsafeCSS(styles);
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
|
|
55
55
|
.remarkd-editor__body {
|
|
56
56
|
padding: var(--zn-spacing-large) var(--zn-spacing-large) var(--zn-spacing-large) 52px;
|
|
57
|
-
min-height: 10rem;
|
|
57
|
+
min-height: var(--remarkd-editor-min-height, 10rem);
|
|
58
58
|
overflow-y: auto;
|
|
59
59
|
}
|
|
60
60
|
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
|
|
71
71
|
.remarkd-editor__raw {
|
|
72
72
|
flex: 1;
|
|
73
|
-
min-height: 10rem;
|
|
73
|
+
min-height: var(--remarkd-editor-min-height, 10rem);
|
|
74
74
|
resize: vertical;
|
|
75
75
|
border: 0;
|
|
76
76
|
background: transparent;
|