@vpxa/aikit 0.1.156 → 0.1.158
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/package.json +2 -1
- package/packages/blocks-core/dist/index.d.ts +114 -3
- package/packages/blocks-core/dist/index.js +797 -120
- package/packages/chunker/dist/index.js +1 -1
- package/packages/indexer/dist/index.js +1 -1
- package/packages/present/dist/index.html +607 -46
- package/packages/server/dist/index.js +1 -1
- package/packages/server/dist/{server-DZKflziG.js → server-6dN0AdIQ.js} +218 -134
- package/packages/tools/dist/index.js +68 -66
- package/scaffold/dist/definitions/bodies.mjs +42 -4
- package/scaffold/dist/definitions/flows.mjs +14 -0
- package/scaffold/dist/definitions/prompts.mjs +88 -1
- package/scaffold/dist/definitions/protocols.mjs +72 -40
- package/scaffold/dist/definitions/skills/aikit.mjs +1 -1
- package/scaffold/dist/definitions/skills/brainstorming.mjs +3 -3
- package/scaffold/dist/definitions/skills/c4-architecture.mjs +64 -2
- package/scaffold/dist/definitions/skills/docs.mjs +78 -1
- package/scaffold/dist/definitions/skills/present.mjs +1 -603
- package/scaffold/general/viewers/README.md +797 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
function e(e){return e.kind===`result`}function t(e){return e.kind===`error`}function n(e){return String(e??``).replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`)}function r(e){let t=String(e??``).trim();return/^(https?:|mailto:|#)/i.test(t)?t:`#`}function i(e){return String(e??``).replace(/[^a-zA-Z0-9_-]/g,`_`)}function a(e){if(e==null)return``;if(Array.isArray(e))return e.map(a).join(`, `);if(typeof e==`object`)try{return JSON.stringify(e)}catch{return String(e)}return String(e)}function o(e){if(typeof e!=`string`)return e;let t=e.trim();if(t.startsWith(`[`)&&t.endsWith(`]`)||t.startsWith(`{`)&&t.endsWith(`}`))try{return JSON.parse(t)}catch{return e}return e}function s(e){return n(String(e??``)).replace(/\*\*(.+?)\*\*/g,`<strong>$1</strong>`).replace(/`(.+?)`/g,`<code>$1</code>`).replace(/\[([^\]]+)\]\(([^)]+)\)/g,(e,t,n)=>`<a href="${r(n)}">${t}</a>`)}const c={ok:`success`,pass:`success`,passed:`success`,good:`success`,error:`danger`,fail:`danger`,failed:`danger`,critical:`danger`,high:`danger`,warn:`warning`,caution:`warning`,medium:`warning`,info:`accent`,low:`accent`,note:`accent`},l=new Set([`success`,`danger`,`warning`,`accent`]);function u(e){if(!e)return`accent`;let t=String(e).toLowerCase(),n=c[t]??t;return l.has(n)?n:`accent`}function d(e,t=`fg`){return`var(--dt-${u(e)}-${t})`}function f(e){let t=e.value;return Array.isArray(t)?t:t&&typeof t==`object`&&`items`in t&&Array.isArray(t.items)?t.items:[]}function p(e){let t=o(e);return Array.isArray(t)?t:[]}function m(e,t){return`<div class="bk-actions">${p(e.value).map(e=>{let t=i(e.id);if(e.type===`select`){let r=(e.options??[]).map(e=>{let t=typeof e==`string`?e:e.value,r=typeof e==`string`?e:e.label;return`<option value="${n(t)}">${n(r)}</option>`}).join(``);return`<label class="bk-select-wrap"><span class="bk-visually-hidden">${n(e.label)}</span><select class="bk-select" data-action-id="${t}"><option value="" selected disabled>${n(e.label)}</option>${r}</select></label>`}return`<button type="button" class="bk-action bk-action--${n(e.variant??`default`)}" data-action-id="${t}">${n(e.label)}</button>`}).join(``)}</div>`}function ee(e,t){return`<div class="bk-cards">${f(e).map(e=>{let t=e.badge?`<span class="bk-card-badge">${n(e.badge)}</span>`:``,r=e.body?`<div class="bk-card-body">${n(e.body)}</div>`:``,i=e.description?`<div class="bk-card-description">${n(e.description)}</div>`:``;return`<article class="bk-card" data-tone="${u(e.status)}"><div class="bk-card-header"><div class="bk-card-title">${n(e.title)}</div>${t}</div>${r}${i}</article>`}).join(``)}</div>`}function te(e,t){let r=o(e.value),i=Array.isArray(r?.data)?r.data:[],s=[String(r?.xKey??`label`),...Array.isArray(r?.yKeys)&&r.yKeys.length>0?r.yKeys:[`value`]],c=s.map(e=>`<th>${n(e)}</th>`).join(``),l=i.map(e=>`<tr>${s.map(t=>`<td>${n(a(e[t]))}</td>`).join(``)}</tr>`).join(``);return`<div class="bk-chart"><div class="bk-chart-note">Chart fallback (${n(String(r?.chartType??e.chartType??`chart`))}) rendered as a data table.</div><div class="bk-chart-table-wrap"><table class="bk-chart-table"><thead><tr>${c}</tr></thead><tbody>${l}</tbody></table></div></div>`}function ne(e,t){return`<ul class="bk-checklist">${f(e).map(e=>{let t=!!e.checked;return`<li class="bk-checklist-item" data-checked="${String(t)}"><span class="bk-checklist-icon">${t?`✓`:`×`}</span><span class="bk-checklist-label">${n(e.label)}</span></li>`}).join(``)}</ul>`}function re(e,t){let r=e.language?` language-${i(String(e.language))}`:``,a=e.value??``,o=typeof a==`object`&&a?JSON.stringify(a,null,2):String(a);return`<pre class="bk-code"><code class="${r.trim()}">${n(o)}</code></pre>`}function ie(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.columns)?t.columns:[]}function ae(e,t){return`<div class="bk-comparison">${ie(e.value).map(e=>{let t=e.items.map(e=>`<li>${n(e)}</li>`).join(``);return`<section class="bk-comparison-column"><div class="bk-comparison-title">${n(e.title)}</div><ul class="bk-comparison-items">${t}</ul></section>`}).join(``)}</div>`}function oe(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.files)?t.files:[]}function se(e,t){return`<div class="bk-docs-browser">${oe(e.value).map(e=>{let t=u(e.status),r=e.title?`<div class="bk-doc-title">${n(e.title)}</div>`:``,i=e.content?`<pre class="bk-doc-content">${n(e.content)}</pre>`:``;return`<article class="bk-doc-entry"><div class="bk-doc-header"><div>${r}<div class="bk-doc-path">${n(e.path)}</div></div><span class="bk-doc-status" style="background:var(--dt-${t}-subtle);color:var(--dt-${t}-fg);">${n(e.status??`current`)}</span></div>${i}</article>`}).join(``)}</div>`}function ce(e){let t=o(e.value);if(t&&typeof t==`object`){let n=t;return{title:String(n.title??e.title??``),severity:n.severity?String(n.severity):e.severity?String(e.severity):void 0,detail:n.detail??n.value}}return{title:String(e.title??`Finding`),severity:e.severity?String(e.severity):void 0,detail:t}}function le(e,t){let r=ce(e),i=u(r.severity),a=r.detail===void 0?``:s(String(r.detail)).replace(/\n/g,`<br>`);return`<article class="bk-finding" data-tone="${i}"><div class="bk-finding-header"><div class="bk-finding-title">${n(r.title)}</div><span class="bk-finding-severity" style="background:var(--dt-${i}-subtle);color:var(--dt-${i}-fg);">${n(r.severity??`info`)}</span></div><div class="bk-finding-detail">${a}</div></article>`}function h(e){return String(e??``).replace(/"/g,`\\"`)}function ue(e,t){let r=o(e.value),a=[`graph ${[`TD`,`LR`,`RL`,`BT`].includes(String(e.direction??`TD`))?String(e.direction??`TD`):`TD`}`];for(let e of r?.nodes??[]){let t=i(String(e.id??e.name??`node`)),n=h(e.label??e.name??t);a.push(` ${t}["${n}"]`)}for(let e of r?.edges??[]){let t=i(String(e.from??e.source??`from`)),n=i(String(e.to??e.target??`to`)),r=e.label?`|${h(e.label)}|`:``;a.push(` ${t} -->${r} ${n}`)}return`<pre class="bk-graph mermaid">${n(a.join(`
|
|
2
|
-
`))}</pre>`}const
|
|
1
|
+
function e(e){return e.kind===`result`}function t(e){return e.kind===`error`}function n(e){return String(e??``).replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`)}function r(e){let t=String(e??``).trim();return/^(https?:|mailto:|#)/i.test(t)?t:`#`}function i(e){return String(e??``).replace(/[^a-zA-Z0-9_-]/g,`_`)}function a(e){if(e==null)return``;if(Array.isArray(e))return e.map(a).join(`, `);if(typeof e==`object`)try{return JSON.stringify(e)}catch{return String(e)}return String(e)}function o(e){if(typeof e!=`string`)return e;let t=e.trim();if(t.startsWith(`[`)&&t.endsWith(`]`)||t.startsWith(`{`)&&t.endsWith(`}`))try{return JSON.parse(t)}catch{return e}return e}function s(e){return n(String(e??``)).replace(/\*\*(.+?)\*\*/g,`<strong>$1</strong>`).replace(/`(.+?)`/g,`<code>$1</code>`).replace(/\[([^\]]+)\]\(([^)]+)\)/g,(e,t,n)=>`<a href="${r(n)}">${t}</a>`)}const c={ok:`success`,pass:`success`,passed:`success`,good:`success`,error:`danger`,fail:`danger`,failed:`danger`,critical:`danger`,high:`danger`,warn:`warning`,caution:`warning`,medium:`warning`,info:`accent`,low:`accent`,note:`accent`},l=new Set([`success`,`danger`,`warning`,`accent`]);function u(e){if(!e)return`accent`;let t=String(e).toLowerCase(),n=c[t]??t;return l.has(n)?n:`accent`}function d(e,t=`fg`){return`var(--dt-${u(e)}-${t})`}function f(e){let t=e.value;return Array.isArray(t)?t:t&&typeof t==`object`&&`items`in t&&Array.isArray(t.items)?t.items:[]}function ee(e){let t=o(e);return Array.isArray(t)?t:[]}function p(e,t){return`<div class="bk-actions">${ee(e.value).map(e=>{let t=i(e.id);if(e.type===`select`){let r=(e.options??[]).map(e=>{let t=typeof e==`string`?e:e.value,r=typeof e==`string`?e:e.label;return`<option value="${n(t)}">${n(r)}</option>`}).join(``);return`<label class="bk-select-wrap"><span class="bk-visually-hidden">${n(e.label)}</span><select class="bk-select" data-action-id="${t}"><option value="" selected disabled>${n(e.label)}</option>${r}</select></label>`}return`<button type="button" class="bk-action bk-action--${n(e.variant??`default`)}" data-action-id="${t}">${n(e.label)}</button>`}).join(``)}</div>`}function te(e,t){return`<div class="bk-cards">${f(e).map(e=>{let t=e.badge?`<span class="bk-card-badge">${n(e.badge)}</span>`:``,r=e.body?`<div class="bk-card-body">${n(e.body)}</div>`:``,i=e.description?`<div class="bk-card-description">${n(e.description)}</div>`:``;return`<article class="bk-card" data-tone="${u(e.status)}"><div class="bk-card-header"><div class="bk-card-title">${n(e.title)}</div>${t}</div>${r}${i}</article>`}).join(``)}</div>`}function ne(e,t){let r=o(e.value),i=Array.isArray(r?.data)?r.data:[],s=String(r?.xKey??`label`);if(i.length>0&&!(s in i[0])){let e=i[0],t=Object.keys(e).find(t=>typeof e[t]==`string`);t&&(s=t)}let c=Array.isArray(r?.yKeys)&&r.yKeys.length>0?r.yKeys:[`value`],l=[s,...c],u=l.map(e=>`<th>${n(e)}</th>`).join(``),d=i.map(e=>`<tr>${l.map(t=>`<td>${n(a(e[t]))}</td>`).join(``)}</tr>`).join(``);return`<div class="bk-chart"><div class="bk-chart-note">Chart fallback (${n(String(r?.chartType??e.chartType??`chart`))}) rendered as a data table.</div><div class="bk-chart-table-wrap"><table class="bk-chart-table"><thead><tr>${u}</tr></thead><tbody>${d}</tbody></table></div></div>`}function re(e,t){return`<ul class="bk-checklist">${f(e).map(e=>{let t=!!e.checked;return`<li class="bk-checklist-item" data-checked="${String(t)}"><span class="bk-checklist-icon">${t?`✓`:`×`}</span><span class="bk-checklist-label">${n(e.label)}</span></li>`}).join(``)}</ul>`}function ie(e,t){let r=e.language?` language-${i(String(e.language))}`:``,a=e.value??``,o=typeof a==`object`&&a?JSON.stringify(a,null,2):String(a);return`<pre class="bk-code"><code class="${r.trim()}">${n(o)}</code></pre>`}function ae(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.columns)?t.columns:[]}function oe(e,t){return`<div class="bk-comparison">${ae(e.value).map(e=>{let t=e.items.map(e=>`<li>${n(e)}</li>`).join(``);return`<section class="bk-comparison-column"><div class="bk-comparison-title">${n(e.title)}</div><ul class="bk-comparison-items">${t}</ul></section>`}).join(``)}</div>`}function se(e){let t=o(e);if(t&&typeof t==`object`){let e=t;return{name:typeof e.name==`string`?e.name:`Untitled component`,description:typeof e.description==`string`?e.description:void 0,type:typeof e.type==`string`?e.type:void 0,technology:typeof e.technology==`string`?e.technology:void 0,responsibilities:Array.isArray(e.responsibilities)?e.responsibilities.map(String).filter(Boolean):[],interfaces:Array.isArray(e.interfaces)?e.interfaces:[],dependencies:Array.isArray(e.dependencies)?e.dependencies:[],metrics:e.metrics&&typeof e.metrics==`object`?e.metrics:void 0,codeLinks:Array.isArray(e.codeLinks)?e.codeLinks:[]}}return{name:`Untitled component`}}function ce(e){return e.length===0?``:`<details class="bk-component-detail-section" open><summary class="bk-component-detail-summary">Responsibilities</summary><ul class="bk-component-detail-list">${e.map(e=>`<li>${n(e)}</li>`).join(``)}</ul></details>`}function le(e){return e.length===0?``:`<details class="bk-component-detail-section" open><summary class="bk-component-detail-summary">Interfaces</summary><div class="bk-component-detail-table-wrap"><table class="bk-component-detail-table"><thead><tr><th>Name</th><th>Type</th><th>Description</th></tr></thead><tbody>${e.map(e=>`<tr><td class="bk-component-detail-code">${n(e.name)}</td><td class="bk-component-detail-code">${n(e.type)}</td><td>${n(e.description??``)}</td></tr>`).join(``)}</tbody></table></div></details>`}function ue(e){return e.length===0?``:`<details class="bk-component-detail-section" open><summary class="bk-component-detail-summary">Dependencies</summary><ul class="bk-component-detail-dependencies">${e.map(e=>`<li class="bk-component-detail-dependency"><span class="bk-component-detail-dependency-name">${n(e.name)}</span>${e.relationship?`<span class="bk-component-detail-dependency-relationship">${n(e.relationship)}</span>`:``}</li>`).join(``)}</ul></details>`}function de(e){let t=Object.entries(e??{});return t.length===0?``:`<details class="bk-component-detail-section" open><summary class="bk-component-detail-summary">Metrics</summary><div class="bk-component-detail-metrics">${t.map(([e,t])=>`<div class="bk-component-detail-metric"><span class="bk-component-detail-metric-label">${n(e)}</span><strong class="bk-component-detail-metric-value">${n(String(t))}</strong></div>`).join(``)}</div></details>`}function fe(e){let t=Array.isArray(e.codeLinks)?e.codeLinks:[];return t.length===0?``:`<details class="bk-component-detail-section" open><summary class="bk-component-detail-summary">Code Links</summary><div class="bk-component-detail-links">${t.map(e=>`<a class="bk-component-detail-link" href="${r(e.href)}">${n(e.label)}</a>`).join(``)}</div></details>`}function pe(e,t){let r=se(e.value),i=r.description?`<p class="bk-component-detail-description">${n(r.description)}</p>`:``,a=r.type?`<span class="bk-component-detail-badge">${n(r.type)}</span>`:``,o=r.technology?`<span class="bk-component-detail-tech">${n(r.technology)}</span>`:``,s=[ce(r.responsibilities??[]),le(r.interfaces??[]),ue(r.dependencies??[]),de(r.metrics),fe(r)].join(``);return`<article class="bk-component-detail"><header class="bk-component-detail-header"><div class="bk-component-detail-heading"><h4 class="bk-component-detail-name">${n(r.name)}</h4>${a}${o}</div>${i}</header><div class="bk-component-detail-body">${s}</div></article>`}function me(e){let t=o(e);if(t&&typeof t==`object`){let e=t;return{name:typeof e.name==`string`?e.name:`unnamed_schema`,description:typeof e.description==`string`?e.description:void 0,fields:Array.isArray(e.fields)?e.fields:[],indexes:Array.isArray(e.indexes)?e.indexes:[]}}return{name:`unnamed_schema`,fields:[]}}function he(e){return Array.isArray(e.constraints)&&e.constraints.includes(`primary-key`)}function ge(e){return e.startsWith(`foreign-key:`)?`<a class="bk-data-table-schema-badge bk-data-table-schema-badge--link" href="${r(`#${i(e.slice(12).replace(/\./g,`_`))}`)}">${n(e)}</a>`:`<span class="bk-data-table-schema-badge${e===`primary-key`?` bk-data-table-schema-badge--primary`:``}">${n(e)}</span>`}function _e(e){return e.length===0?``:`<section class="bk-data-table-schema-indexes"><h5 class="bk-data-table-schema-subtitle">Indexes</h5><div class="bk-data-table-schema-index-grid">${e.map(e=>`<article class="bk-data-table-schema-index"><div class="bk-data-table-schema-index-name">${n(e.name)}</div><div class="bk-data-table-schema-index-columns">${n(e.columns.join(`, `))}</div><div class="bk-data-table-schema-index-meta">${e.unique?`Unique`:`Standard`}</div></article>`).join(``)}</div></section>`}function ve(e,t){let r=me(e.value),a=r.description?`<p class="bk-data-table-schema-description">${n(r.description)}</p>`:``;if(!Array.isArray(r.fields)||r.fields.length===0)return`<section class="bk-data-table-schema"><header class="bk-data-table-schema-header"><h4 class="bk-data-table-schema-title">${n(r.name)}</h4>${a}</header><p class="bk-data-table-schema-empty">No schema fields available.</p></section>`;let o=r.fields.map(e=>{let t=Array.isArray(e.constraints)?e.constraints:[],a=t.length>0?t.map(e=>ge(e)).join(``):`<span class="bk-data-table-schema-badge">none</span>`;return`<tr class="bk-data-table-schema-row${he(e)?` bk-data-table-schema-row--primary`:``}" id="${i(`${r.name}_${e.name}`)}"><td class="bk-data-table-schema-code">${n(e.name)}</td><td class="bk-data-table-schema-code">${n(e.type)}</td><td class="bk-data-table-schema-required">${e.required?`✓`:`—`}</td><td><div class="bk-data-table-schema-constraints">${a}</div></td><td class="bk-data-table-schema-code">${n(e.default??`—`)}</td><td>${n(e.description??``)}</td></tr>`}).join(``);return`<section class="bk-data-table-schema"><header class="bk-data-table-schema-header"><h4 class="bk-data-table-schema-title">${n(r.name)}</h4>${a}</header><div class="bk-data-table-schema-wrap"><table class="bk-data-table-schema-table"><thead><tr><th>Field Name</th><th>Type</th><th>Required</th><th>Constraints</th><th>Default</th><th>Description</th></tr></thead><tbody>${o}</tbody></table></div>${_e(r.indexes??[])}</section>`}function ye(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.files)?t.files:[]}function be(e,t){return`<div class="bk-docs-browser">${ye(e.value).map(e=>{let t=u(e.status),r=e.title?`<div class="bk-doc-title">${n(e.title)}</div>`:``,i=e.content?`<pre class="bk-doc-content">${n(e.content)}</pre>`:``;return`<article class="bk-doc-entry"><div class="bk-doc-header"><div>${r}<div class="bk-doc-path">${n(e.path)}</div></div><span class="bk-doc-status" style="background:var(--dt-${t}-subtle);color:var(--dt-${t}-fg);">${n(e.status??`current`)}</span></div>${i}</article>`}).join(``)}</div>`}function xe(e){let t=o(e);if(t&&typeof t==`object`){let e=t;return{title:typeof e.title==`string`?e.title:void 0,description:typeof e.description==`string`?e.description:void 0,pages:Array.isArray(e.pages)?e.pages:[]}}return{pages:[]}}function Se(e){switch(e){case`draft`:return`warning`;case`deprecated`:return`danger`;default:return`accent`}}function Ce(e){let t=e.href?`a`:`article`,i=e.href?` href="${r(e.href)}"`:``,a=e.icon?`<span class="bk-docs-hub-card-icon" aria-hidden="true">${n(e.icon)}</span>`:``,o=e.description?`<p class="bk-docs-hub-card-description">${n(e.description)}</p>`:``,s=e.category?`<span class="bk-docs-hub-card-category">${n(e.category)}</span>`:``,c=e.status?`<span class="bk-docs-hub-card-status" data-tone="${Se(e.status)}"><span class="bk-docs-hub-card-status-dot" aria-hidden="true"></span>${n(e.status)}</span>`:``;return`<${t} class="bk-docs-hub-card"${i}><div class="bk-docs-hub-card-head">${a}<div class="bk-docs-hub-card-copy"><div class="bk-docs-hub-card-title">${n(e.title)}</div>${o}</div></div><div class="bk-docs-hub-card-meta">${s}${c}</div></${t}>`}function we(e,t){let r=xe(e.value),i=r.title?`<h4 class="bk-docs-hub-title">${n(r.title)}</h4>`:``,a=r.description?`<p class="bk-docs-hub-description">${n(r.description)}</p>`:``,o=Array.isArray(r.pages)?r.pages:[];return`<section class="bk-docs-hub"><div class="bk-docs-hub-header">${i}${a}</div>${o.length>0?`<div class="bk-docs-hub-grid">${o.map(e=>Ce(e)).join(``)}</div>`:`<p class="bk-docs-hub-empty">No documentation pages available.</p>`}</section>`}function Te(e){let t=o(e.value);if(t&&typeof t==`object`){let n=t;return{title:String(n.title??e.title??``),severity:n.severity?String(n.severity):e.severity?String(e.severity):void 0,detail:n.detail??n.value}}return{title:String(e.title??`Finding`),severity:e.severity?String(e.severity):void 0,detail:t}}function Ee(e,t){let r=Te(e),i=u(r.severity),a=r.detail===void 0?``:s(String(r.detail)).replace(/\n/g,`<br>`);return`<article class="bk-finding" data-tone="${i}"><div class="bk-finding-header"><div class="bk-finding-title">${n(r.title)}</div><span class="bk-finding-severity" style="background:var(--dt-${i}-subtle);color:var(--dt-${i}-fg);">${n(r.severity??`info`)}</span></div><div class="bk-finding-detail">${a}</div></article>`}function m(e){return String(e??``).replace(/"/g,`\\"`)}function De(e,t){let r=o(e.value),a=[`graph ${[`TD`,`LR`,`RL`,`BT`].includes(String(e.direction??`TD`))?String(e.direction??`TD`):`TD`}`];for(let e of r?.nodes??[]){let t=i(String(e.id??e.name??`node`)),n=m(e.label??e.name??t);a.push(` ${t}["${n}"]`)}for(let e of r?.edges??[]){let t=i(String(e.from??e.source??`from`)),n=i(String(e.to??e.target??`to`)),r=e.label?`|${m(e.label)}|`:``;a.push(` ${t} -->${r} ${n}`)}return`<pre class="bk-graph mermaid">${n(a.join(`
|
|
2
|
+
`))}</pre>`}const h=`
|
|
3
3
|
.bk-heading {
|
|
4
4
|
margin: 0;
|
|
5
5
|
color: var(--dt-text-primary);
|
|
@@ -13,16 +13,16 @@ function e(e){return e.kind===`result`}function t(e){return e.kind===`error`}fun
|
|
|
13
13
|
.bk-heading--4 { font-size: var(--dt-font-size-lg); }
|
|
14
14
|
.bk-heading--5,
|
|
15
15
|
.bk-heading--6 { font-size: var(--dt-font-size-base); }
|
|
16
|
-
`;function
|
|
17
|
-
${
|
|
16
|
+
`;function Oe(e,t){let r=Number(e.level??2),i=Number.isFinite(r)?Math.max(1,Math.min(r,6)):2;return`<h${i} class="bk-heading bk-heading--${i}">${n(String(e.value??e.title??``))}</h${i}>`}function ke(e){let t=o(e);if(t&&typeof t==`object`){let e=t;return{title:typeof e.title==`string`?e.title:void 0,steps:Array.isArray(e.steps)?e.steps:[],edges:Array.isArray(e.edges)?e.edges:[]}}return{steps:[],edges:[]}}function Ae(e){switch(e){case`completed`:return`success`;case`error`:return`danger`;case`pending`:return`slate`;default:return`accent`}}function g(e,t){let n=e.trim().split(/\s+/).filter(Boolean);if(n.length===0)return[``];let r=[],i=``;for(let e of n){let n=i?`${i} ${e}`:e;if(n.length<=t||i.length===0){i=n;continue}if(r.push(i),i=e,r.length===1)break}return i&&r.push(i),r.length>2?r.slice(0,2):(r.length===2&&n.join(` `).length>r[0].length+r[1].length&&(r[1]=`${r[1].slice(0,Math.max(0,t-1))}…`),r)}function je(e){return e.type===`decision`?{width:112,height:112}:{width:164,height:84}}function Me(e){let t=32;return e.map(e=>{let{width:n,height:r}=je(e),i={step:e,x:t,y:28,width:n,height:r,centerX:t+n/2,centerY:28+r/2};return t+=n+44,i})}function Ne(e){let t=g(e.step.label,e.step.type===`decision`?12:16),r=e.step.description?g(e.step.description,e.step.type===`decision`?12:18).slice(0,1):[],a=e.centerY-(t.length+r.length-1)*18/2,o=[...t.map((t,r)=>`<text class="bk-lifecycle-flow-label" x="${e.centerX}" y="${a+r*18}">${n(t)}</text>`),...r.map((r,i)=>`<text class="bk-lifecycle-flow-description" x="${e.centerX}" y="${a+(t.length+i)*18}">${n(r)}</text>`)].join(``),s=`<rect class="bk-lifecycle-flow-shape" x="${e.x}" y="${e.y}" width="${e.width}" height="${e.height}" rx="18" ry="18" />`;e.step.type===`start`||e.step.type===`end`?s=`<rect class="bk-lifecycle-flow-shape" x="${e.x}" y="${e.y}" width="${e.width}" height="${e.height}" rx="40" ry="40" />`:e.step.type===`decision`&&(s=`<polygon class="bk-lifecycle-flow-shape" points="${`${e.centerX},${e.y}`} ${`${e.x+e.width},${e.centerY}`} ${`${e.centerX},${e.y+e.height}`} ${`${e.x},${e.centerY}`}" />`);let c=e.step.type===`parallel`?`<g class="bk-lifecycle-flow-parallel-mark"><line x1="${e.x+18}" y1="${e.y+18}" x2="${e.x+18}" y2="${e.y+e.height-18}" /><line x1="${e.x+e.width-18}" y1="${e.y+18}" x2="${e.x+e.width-18}" y2="${e.y+e.height-18}" /></g>`:``;return`<g class="bk-lifecycle-flow-node bk-lifecycle-flow-node--${e.step.type??`step`} bk-lifecycle-flow-node--${Ae(e.step.status)}" id="${i(e.step.id)}">${s}${c}${o}</g>`}function Pe(e,t){let r=t.get(e.from),i=t.get(e.to);if(!r||!i)return``;let a=r.x+r.width,o=r.centerY,s=i.x,c=i.centerY,l=Math.round((a+s)/2);return`${`<path class="bk-lifecycle-flow-edge" d="M ${a} ${o} C ${l} ${o} ${l} ${c} ${s} ${c}" marker-end="url(#bk-lifecycle-flow-arrow)" />`}${e.label?`<text class="bk-lifecycle-flow-edge-label" x="${l}" y="${Math.min(o,c)-12}">${n(e.label)}</text>`:``}`}function Fe(e,t){return Array.isArray(t)&&t.length>0?t:e.slice(1).map((t,n)=>({from:e[n].id,to:t.id}))}function Ie(e,t){let r=ke(e.value),i=Array.isArray(r.steps)?r.steps.filter(e=>e?.id):[];if(i.length===0)return`<div class="bk-lifecycle-flow"><p class="bk-docs-hub-empty">No lifecycle steps available.</p></div>`;let a=Me(i),o=new Map(a.map(e=>[e.step.id,e])),s=Fe(i,r.edges),c=Math.max(320,(a.at(-1)?.x??0)+(a.at(-1)?.width??0)+32);return`<figure class="bk-lifecycle-flow">${r.title?`<figcaption class="bk-lifecycle-flow-title">${n(r.title)}</figcaption>`:``}<div class="bk-lifecycle-flow-frame"><svg class="bk-lifecycle-flow-svg" viewBox="0 0 ${c} 172" role="img" aria-label="${n(r.title??`Lifecycle flow`)}"><defs><marker id="bk-lifecycle-flow-arrow" markerWidth="10" markerHeight="10" refX="9" refY="5" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" fill="var(--dt-border-default)" /></marker></defs><g class="bk-lifecycle-flow-edges">${s.map(e=>Pe(e,o)).join(``)}</g><g class="bk-lifecycle-flow-nodes">${a.map(e=>Ne(e)).join(``)}</g></svg></div></figure>`}const Le=`
|
|
17
|
+
${h}
|
|
18
18
|
.bk-markdown {
|
|
19
19
|
color: var(--dt-text-primary);
|
|
20
20
|
font-size: var(--dt-font-size-base);
|
|
21
21
|
line-height: 1.7;
|
|
22
22
|
}
|
|
23
|
-
`,
|
|
24
|
-
`))}</code></pre>`),o=!1,s=[],c=``}continue}if(o){s.push(e);continue}if(!t){l();continue}let r=t.match(
|
|
25
|
-
`))}</code></pre>`)}return`<div class="bk-markdown">${i.join(``)}</div>`}function _e(e,t){return`<pre class="bk-mermaid mermaid">${n(String(e.value??``))}</pre>`}function ve(e){if(e==null||e===``)return``;let t=a(e),r=Number(String(e).replace(/[^0-9.-]/g,``));return`<span class="bk-metric-trend">${Number.isNaN(r)?``:r>0?`↑ `:r<0?`↓ `:`→ `}${n(t)}</span>`}function ye(e,t){return`<div class="bk-metrics">${f(e).map(e=>`<article class="bk-metric" data-tone="${u(e.status)}"><div class="bk-metric-label">${n(e.label)}</div><div class="bk-metric-value">${n(a(e.value))}</div>${ve(e.trend)}</article>`).join(``)}</div>`}function be(e,t){return`<p class="bk-paragraph">${n(String(e.value??e.text??``))}</p>`}function xe(e){let t=o(e);if(Array.isArray(t))return t;if(t&&typeof t==`object`){if(Array.isArray(t.items))return t.items;if(`value`in t)return[t]}return[]}function Se(e,t){return`<div class="bk-progress">${xe(e.value).map(e=>{let t=Math.max(1,Number(e.max)||100),r=Math.max(0,Number(e.value)||0),i=Math.round(Math.min(r/t*100,100)),a=u(e.color);return`<div class="bk-progress-item"><div class="bk-progress-meta"><span>${n(e.label)}</span><span>${i}%</span></div><div class="bk-progress-track"><span class="bk-progress-bar" style="width:${i}%;background:var(--dt-${a}-emphasis);box-shadow:0 0 16px var(--dt-glow-${a});"></span></div></div>`}).join(``)}</div>`}function Ce(e){if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e??``)}}function we(e,t){return`<pre class="bk-prompt">${n(Ce(e.value))}</pre>`}function Te(e,t){return`<hr class="bk-separator">`}function Ee(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.items)?t.items:[]}function De(e,t){return`<div class="bk-status-board">${Ee(e.value).map(e=>{let t=e.items.map(e=>{let t=u(e.status),r=e.description?`<div class="bk-status-description">${n(e.description)}</div>`:``;return`<div class="bk-status-item"><span class="bk-status-pill" style="background:var(--dt-${t}-subtle);color:var(--dt-${t}-fg);">${n(e.status??`pending`)}</span><div class="bk-status-copy"><div class="bk-status-label">${n(e.label)}</div>${r}</div></div>`}).join(``);return`<section class="bk-status-category"><div class="bk-status-category-title">${n(e.category)}</div><div class="bk-status-items">${t}</div></section>`}).join(``)}</div>`}function Oe(e){if(Array.isArray(e.columns)){let t=e.columns.map(String),n=Array.isArray(e.rows)?e.rows:[];return n.length>0&&Array.isArray(n[0])?{headers:t,rows:n.map(e=>Object.fromEntries(t.map((t,n)=>[t,e[n]??``])))}:n.length>0&&typeof n[0]==`object`&&n[0]!==null?{headers:t,rows:n}:{headers:t,rows:[]}}let t=o(e.value);if(Array.isArray(t)){if(t.length>0&&typeof t[0]==`object`&&t[0]!==null&&!Array.isArray(t[0])){let n=t;return{headers:Array.isArray(e.headers)?e.headers.map(String):Object.keys(n[0]??{}),rows:n}}if(t.length>0&&Array.isArray(t[0])){let[n,...r]=t,i=Array.isArray(e.headers)?e.headers.map(String):n.map(String);return{headers:i,rows:r.map(e=>Object.fromEntries(i.map((t,n)=>[t,e[n]])))}}}if(t&&typeof t==`object`){let n=Array.isArray(e.headers)?e.headers.map(String):Array.isArray(t.headers)?t.headers.map(String):[],r=Array.isArray(t.rows)?t.rows:[];if(r.length>0&&Array.isArray(r[0]))return{headers:n,rows:r.map(e=>Object.fromEntries(n.map((t,n)=>[t,e[n]])))};if(r.length>0&&typeof r[0]==`object`&&r[0]!==null)return{headers:n,rows:r}}return{headers:(Array.isArray(e.headers)?e.headers:Array.isArray(e.columns)?e.columns:[]).map(String),rows:[]}}function ke(e,t){let{headers:r,rows:i}=Oe(e);return r.length===0?`<div class="bk-table-wrap"><table class="bk-table"><tbody></tbody></table></div>`:`<div class="bk-table-wrap"><table class="bk-table">${`<thead><tr>${r.map(e=>`<th>${n(e)}</th>`).join(``)}</tr></thead>`}<tbody>${i.map(e=>`<tr>${r.map(t=>`<td>${n(a(e[t]))}</td>`).join(``)}</tr>`).join(``)}</tbody></table></div>`}function Ae(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.items)?t.items:[]}function je(e,t){return`<div class="bk-tags">${Ae(e.value).map(e=>{let t=typeof e==`string`?e:String(e.text??e.label??``),r=u(typeof e==`string`?void 0:e.status??e.tone??e.color);return`<span class="bk-tag" style="background:var(--dt-${r}-subtle);color:var(--dt-${r}-fg);">${n(t)}</span>`}).join(``)}</div>`}function Me(e,t){return`<div class="bk-text">${s(String(e.value??``)).replace(/\n/g,`<br>`)}</div>`}function Ne(e,t){return`<div class="bk-timeline">${f(e).map(e=>{let t=u(e.status),r=e.description?`<div class="bk-timeline-description">${n(e.description)}</div>`:``,i=e.timestamp?`<div class="bk-timeline-timestamp">${n(e.timestamp)}</div>`:``;return`<article class="bk-timeline-item" data-tone="${t}"><span class="bk-timeline-dot" style="background:${`var(--dt-${t}-emphasis)`};box-shadow:0 0 0 6px var(--dt-glow-${t});"></span><div class="bk-timeline-title">${n(e.title)}</div>${r}${i}</article>`}).join(``)}</div>`}function _(e,t){if(Array.isArray(e)){let r=e.map(e=>_(e)).join(``);return t?`<details class="bk-tree-node" open><summary>${n(t)}</summary><div class="bk-tree-children">${r}</div></details>`:`<div class="bk-tree-children">${r}</div>`}if(e&&typeof e==`object`){let r=e;if(typeof r.name==`string`)return _(r.children??[],r.name);let i=Object.entries(r).map(([e,t])=>_(t,e)).join(``);return t?`<details class="bk-tree-node" open><summary>${n(t)}</summary><div class="bk-tree-children">${i}</div></details>`:`<div class="bk-tree-children">${i}</div>`}let r=n(a(e));return t?`<div class="bk-tree-leaf"><span class="bk-tree-key">${n(t)}</span><span class="bk-tree-value">${r}</span></div>`:`<div class="bk-tree-leaf">${r}</div>`}function Pe(e,t){return`<div class="bk-tree">${_(o(e.value))}</div>`}const v={"--dt-bg-primary":`#ffffff`,"--dt-bg-secondary":`#f6f8fa`,"--dt-bg-tertiary":`#eaeef2`,"--dt-bg-canvas":`#f0f0f0`,"--dt-text-primary":`#1f2328`,"--dt-text-secondary":`#656d76`,"--dt-text-tertiary":`#8b949e`,"--dt-border-default":`#d0d7de`,"--dt-border-muted":`#d8dee4`,"--dt-border-subtle":`#eaeef2`,"--dt-accent-fg":`#0969da`,"--dt-accent-emphasis":`#0550ae`,"--dt-accent-muted":`rgba(9, 105, 218, 0.4)`,"--dt-accent-subtle":`rgba(9, 105, 218, 0.1)`,"--dt-success-fg":`#1a7f37`,"--dt-success-emphasis":`#116329`,"--dt-success-muted":`rgba(26, 127, 55, 0.4)`,"--dt-success-subtle":`rgba(26, 127, 55, 0.1)`,"--dt-danger-fg":`#cf222e`,"--dt-danger-emphasis":`#a40e26`,"--dt-danger-muted":`rgba(207, 34, 46, 0.4)`,"--dt-danger-subtle":`rgba(207, 34, 46, 0.1)`,"--dt-warning-fg":`#9a6700`,"--dt-warning-emphasis":`#7d4e00`,"--dt-warning-muted":`rgba(154, 103, 0, 0.4)`,"--dt-warning-subtle":`rgba(154, 103, 0, 0.1)`,"--dt-purple-fg":`#8250df`,"--dt-purple-emphasis":`#6639ba`,"--dt-purple-muted":`rgba(130, 80, 223, 0.4)`,"--dt-purple-subtle":`rgba(130, 80, 223, 0.1)`,"--dt-font-sans":`'Segoe UI', system-ui, -apple-system, sans-serif`,"--dt-font-mono":`'JetBrains Mono', 'Fira Code', 'SF Mono', Consolas, monospace`,"--dt-font-size-xs":`0.75rem`,"--dt-font-size-sm":`0.8125rem`,"--dt-font-size-base":`0.875rem`,"--dt-font-size-lg":`1rem`,"--dt-font-size-xl":`1.25rem`,"--dt-font-size-2xl":`1.5rem`,"--dt-font-size-3xl":`2rem`,"--dt-space-1":`0.25rem`,"--dt-space-2":`0.5rem`,"--dt-space-3":`0.75rem`,"--dt-space-4":`1rem`,"--dt-space-6":`1.5rem`,"--dt-space-8":`2rem`,"--dt-space-12":`3rem`,"--dt-space-16":`4rem`,"--dt-radius-sm":`6px`,"--dt-radius-md":`8px`,"--dt-radius-lg":`12px`,"--dt-radius-xl":`16px`,"--dt-shadow-sm":`0 1px 2px rgba(0, 0, 0, 0.07)`,"--dt-shadow-md":`0 3px 6px rgba(0, 0, 0, 0.1)`,"--dt-shadow-lg":`0 8px 24px rgba(0, 0, 0, 0.12)`,"--dt-glow-accent":`rgba(9, 105, 218, 0.08)`,"--dt-glow-success":`rgba(26, 127, 55, 0.08)`,"--dt-glow-danger":`rgba(207, 34, 46, 0.08)`,"--dt-glow-warning":`rgba(154, 103, 0, 0.08)`,"--dt-glow-purple":`rgba(130, 80, 223, 0.08)`,"--dt-transition-fast":`150ms ease`,"--dt-transition-normal":`200ms ease`},y={"--dt-bg-primary":`#0d1117`,"--dt-bg-secondary":`#161b22`,"--dt-bg-tertiary":`#21262d`,"--dt-bg-canvas":`#010409`,"--dt-text-primary":`#f0f6fc`,"--dt-text-secondary":`#9198a1`,"--dt-text-tertiary":`#656d76`,"--dt-border-default":`#30363d`,"--dt-border-muted":`#21262d`,"--dt-border-subtle":`#1f242d`,"--dt-accent-fg":`#58a6ff`,"--dt-accent-emphasis":`#1f6feb`,"--dt-accent-muted":`rgba(56, 139, 253, 0.4)`,"--dt-accent-subtle":`rgba(56, 139, 253, 0.15)`,"--dt-success-fg":`#3fb950`,"--dt-success-emphasis":`#238636`,"--dt-success-muted":`rgba(63, 185, 80, 0.4)`,"--dt-success-subtle":`rgba(63, 185, 80, 0.15)`,"--dt-danger-fg":`#f85149`,"--dt-danger-emphasis":`#da3633`,"--dt-danger-muted":`rgba(248, 81, 73, 0.4)`,"--dt-danger-subtle":`rgba(248, 81, 73, 0.15)`,"--dt-warning-fg":`#d29922`,"--dt-warning-emphasis":`#bb8009`,"--dt-warning-muted":`rgba(210, 153, 34, 0.4)`,"--dt-warning-subtle":`rgba(210, 153, 34, 0.15)`,"--dt-purple-fg":`#bc8cff`,"--dt-purple-emphasis":`#a371f7`,"--dt-purple-muted":`rgba(188, 140, 255, 0.4)`,"--dt-purple-subtle":`rgba(188, 140, 255, 0.15)`,"--dt-shadow-sm":`0 1px 2px rgba(1, 4, 9, 0.35)`,"--dt-shadow-md":`0 3px 6px rgba(1, 4, 9, 0.4)`,"--dt-shadow-lg":`0 8px 24px rgba(1, 4, 9, 0.45)`,"--dt-glow-accent":`rgba(56, 139, 253, 0.14)`,"--dt-glow-success":`rgba(63, 185, 80, 0.14)`,"--dt-glow-danger":`rgba(248, 81, 73, 0.14)`,"--dt-glow-warning":`rgba(210, 153, 34, 0.14)`,"--dt-glow-purple":`rgba(188, 140, 255, 0.14)`},Fe=`--dt-bg-primary.--dt-bg-secondary.--dt-bg-tertiary.--dt-bg-canvas.--dt-text-primary.--dt-text-secondary.--dt-text-tertiary.--dt-border-default.--dt-border-muted.--dt-border-subtle.--dt-accent-fg.--dt-accent-emphasis.--dt-accent-muted.--dt-accent-subtle.--dt-success-fg.--dt-success-emphasis.--dt-success-muted.--dt-success-subtle.--dt-danger-fg.--dt-danger-emphasis.--dt-danger-muted.--dt-danger-subtle.--dt-warning-fg.--dt-warning-emphasis.--dt-warning-muted.--dt-warning-subtle.--dt-purple-fg.--dt-purple-emphasis.--dt-purple-muted.--dt-purple-subtle.--dt-font-sans.--dt-font-mono.--dt-font-size-xs.--dt-font-size-sm.--dt-font-size-base.--dt-font-size-lg.--dt-font-size-xl.--dt-font-size-2xl.--dt-font-size-3xl.--dt-space-1.--dt-space-2.--dt-space-3.--dt-space-4.--dt-space-6.--dt-space-8.--dt-space-12.--dt-space-16.--dt-radius-sm.--dt-radius-md.--dt-radius-lg.--dt-radius-xl.--dt-shadow-sm.--dt-shadow-md.--dt-shadow-lg.--dt-glow-accent.--dt-glow-success.--dt-glow-danger.--dt-glow-warning.--dt-glow-purple.--dt-transition-fast.--dt-transition-normal`.split(`.`),Ie=`--dt-bg-primary.--dt-bg-secondary.--dt-bg-tertiary.--dt-bg-canvas.--dt-text-primary.--dt-text-secondary.--dt-text-tertiary.--dt-border-default.--dt-border-muted.--dt-border-subtle.--dt-accent-fg.--dt-accent-emphasis.--dt-accent-muted.--dt-accent-subtle.--dt-success-fg.--dt-success-emphasis.--dt-success-muted.--dt-success-subtle.--dt-danger-fg.--dt-danger-emphasis.--dt-danger-muted.--dt-danger-subtle.--dt-warning-fg.--dt-warning-emphasis.--dt-warning-muted.--dt-warning-subtle.--dt-purple-fg.--dt-purple-emphasis.--dt-purple-muted.--dt-purple-subtle.--dt-shadow-sm.--dt-shadow-md.--dt-shadow-lg.--dt-glow-accent.--dt-glow-success.--dt-glow-danger.--dt-glow-warning.--dt-glow-purple`.split(`.`),b={actions:`
|
|
23
|
+
`,Re=/^(#{1,6})\s+(.+)$/,ze=/^(?:(?:-\s*){3,}|(?:\*\s*){3,}|(?:_\s*){3,})$/;function Be(e){return e.length?`<p>${e.map(e=>s(e)).join(`<br>`)}</p>`:``}function Ve(e,t){let r=String(e.value??``);if(r.trimStart().startsWith(`<`))return`<div class="bk-markdown">${r}</div>`;let i=[],a=[],o=!1,s=[],c=``,l=()=>{let e=Be(a);e&&(i.push(e),a.length=0)};for(let e of r.split(/\r?\n/)){let t=e.trim();if(t.startsWith("```")){if(!o)l(),o=!0,c=t.slice(3).trim(),s=[];else{let e=c?` class="${n(c)}"`:``;i.push(`<pre class="bk-code"><code${e}>${n(s.join(`
|
|
24
|
+
`))}</code></pre>`),o=!1,s=[],c=``}continue}if(o){s.push(e);continue}if(!t){l();continue}let r=t.match(Re);if(r){l();let[,e,t]=r,a=e.length;i.push(`<h${a} class="bk-heading bk-heading--${a}">${n(t)}</h${a}>`);continue}if(ze.test(t)){l(),i.push(`<hr>`);continue}a.push(e)}if(l(),o&&s.length>0){let e=c?` class="${n(c)}"`:``;i.push(`<pre class="bk-code"><code${e}>${n(s.join(`
|
|
25
|
+
`))}</code></pre>`)}return`<div class="bk-markdown">${i.join(``)}</div>`}function He(e,t){return`<pre class="bk-mermaid mermaid">${n(String(e.value??``))}</pre>`}function Ue(e){if(e==null||e===``)return``;let t=a(e),r=Number(String(e).replace(/[^0-9.-]/g,``));return`<span class="bk-metric-trend">${Number.isNaN(r)?``:r>0?`↑ `:r<0?`↓ `:`→ `}${n(t)}</span>`}function We(e,t){return`<div class="bk-metrics">${f(e).map(e=>`<article class="bk-metric" data-tone="${u(e.status)}"><div class="bk-metric-label">${n(e.label)}</div><div class="bk-metric-value">${n(a(e.value))}</div>${Ue(e.trend)}</article>`).join(``)}</div>`}function Ge(e,t){return`<p class="bk-paragraph">${n(String(e.value??e.text??``))}</p>`}function Ke(e){let t=o(e);if(Array.isArray(t))return t;if(t&&typeof t==`object`){if(Array.isArray(t.items))return t.items;if(`value`in t)return[t]}return[]}function qe(e,t){return`<div class="bk-progress">${Ke(e.value).map(e=>{let t=Math.max(1,Number(e.max)||100),r=Math.max(0,Number(e.value)||0),i=Math.round(Math.min(r/t*100,100)),a=u(e.color);return`<div class="bk-progress-item"><div class="bk-progress-meta"><span>${n(e.label)}</span><span>${i}%</span></div><div class="bk-progress-track"><span class="bk-progress-bar" style="width:${i}%;background:var(--dt-${a}-emphasis);box-shadow:0 0 16px var(--dt-glow-${a});"></span></div></div>`}).join(``)}</div>`}function Je(e){if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e??``)}}function Ye(e,t){return`<pre class="bk-prompt">${n(Je(e.value))}</pre>`}function Xe(e,t){return`<hr class="bk-separator">`}function Ze(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.items)?t.items:[]}function Qe(e,t){return`<div class="bk-status-board">${Ze(e.value).map(e=>{let t=e.items.map(e=>{let t=u(e.status),r=e.description?`<div class="bk-status-description">${n(e.description)}</div>`:``;return`<div class="bk-status-item"><span class="bk-status-pill" style="background:var(--dt-${t}-subtle);color:var(--dt-${t}-fg);">${n(e.status??`pending`)}</span><div class="bk-status-copy"><div class="bk-status-label">${n(e.label)}</div>${r}</div></div>`}).join(``);return`<section class="bk-status-category"><div class="bk-status-category-title">${n(e.category)}</div><div class="bk-status-items">${t}</div></section>`}).join(``)}</div>`}function $e(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function _(e){let t=(e??[]).map(e=>{if($e(e)){let t=typeof e.key==`string`?e.key:String(e.label??``);return{key:t,label:typeof e.label==`string`?e.label:t}}let t=String(e);return{key:t,label:t}});return{headers:t.map(e=>e.label),keys:t.map(e=>e.key)}}function et(e){if(Array.isArray(e.columns)){let{headers:t,keys:n}=_(e.columns),r=Array.isArray(e.rows)?e.rows:[];return r.length>0&&Array.isArray(r[0])?{headers:t,keys:n,rows:r.map(e=>Object.fromEntries(n.map((t,n)=>[t,e[n]??``])))}:r.length>0&&typeof r[0]==`object`&&r[0]!==null?{headers:t,keys:n,rows:r}:{headers:t,keys:n,rows:[]}}let t=o(e.value);if(Array.isArray(t)){if(t.length>0&&typeof t[0]==`object`&&t[0]!==null&&!Array.isArray(t[0])){let n=t,r=Array.isArray(e.headers)?e.headers.map(String):Object.keys(n[0]??{});return{headers:r,keys:r,rows:n}}if(t.length>0&&Array.isArray(t[0])){let[n,...r]=t,i=Array.isArray(e.headers)?e.headers.map(String):n.map(String);return{headers:i,keys:i,rows:r.map(e=>Object.fromEntries(i.map((t,n)=>[t,e[n]])))}}}if(t&&typeof t==`object`){let n=Array.isArray(e.headers)?e.headers.map(String):Array.isArray(t.headers)?t.headers.map(String):[],r=Array.isArray(t.rows)?t.rows:[];if(r.length>0&&Array.isArray(r[0]))return{headers:n,keys:n,rows:r.map(e=>Object.fromEntries(n.map((t,n)=>[t,e[n]])))};if(r.length>0&&typeof r[0]==`object`&&r[0]!==null)return{headers:n,keys:n,rows:r}}if(Array.isArray(e.headers)){let t=e.headers.map(String);return{headers:t,keys:t,rows:[]}}if(Array.isArray(e.columns)){let{headers:t,keys:n}=_(e.columns);return{headers:t,keys:n,rows:[]}}return{headers:[],keys:[],rows:[]}}function tt(e,t){let{headers:r,keys:i,rows:o}=et(e);return r.length===0?`<div class="bk-table-wrap"><table class="bk-table"><tbody></tbody></table></div>`:`<div class="bk-table-wrap"><table class="bk-table">${`<thead><tr>${r.map(e=>`<th>${n(e)}</th>`).join(``)}</tr></thead>`}<tbody>${o.map(e=>`<tr>${i.map(t=>`<td>${n(a(e[t]))}</td>`).join(``)}</tr>`).join(``)}</tbody></table></div>`}function nt(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.items)?t.items:[]}function rt(e,t){return`<div class="bk-tags">${nt(e.value).map(e=>{let t=typeof e==`string`?e:String(e.text??e.label??``),r=u(typeof e==`string`?void 0:e.status??e.tone??e.color);return`<span class="bk-tag" style="background:var(--dt-${r}-subtle);color:var(--dt-${r}-fg);">${n(t)}</span>`}).join(``)}</div>`}function it(e,t){return`<div class="bk-text">${s(String(e.value??``)).replace(/\n/g,`<br>`)}</div>`}function at(e,t){return`<div class="bk-timeline">${f(e).map(e=>{let t=u(e.status),r=e.description?`<div class="bk-timeline-description">${n(e.description)}</div>`:``,i=e.timestamp?`<div class="bk-timeline-timestamp">${n(e.timestamp)}</div>`:``;return`<article class="bk-timeline-item" data-tone="${t}"><span class="bk-timeline-dot" style="background:${`var(--dt-${t}-emphasis)`};box-shadow:0 0 0 6px var(--dt-glow-${t});"></span><div class="bk-timeline-title">${n(e.title)}</div>${r}${i}</article>`}).join(``)}</div>`}function v(e,t){if(Array.isArray(e)){let r=e.map(e=>v(e)).join(``);return t?`<details class="bk-tree-node" open><summary>${n(t)}</summary><div class="bk-tree-children">${r}</div></details>`:`<div class="bk-tree-children">${r}</div>`}if(e&&typeof e==`object`){let r=e;if(typeof r.name==`string`)return v(r.children??[],r.name);let i=Object.entries(r).map(([e,t])=>v(t,e)).join(``);return t?`<details class="bk-tree-node" open><summary>${n(t)}</summary><div class="bk-tree-children">${i}</div></details>`:`<div class="bk-tree-children">${i}</div>`}let r=n(a(e));return t?`<div class="bk-tree-leaf"><span class="bk-tree-key">${n(t)}</span><span class="bk-tree-value">${r}</span></div>`:`<div class="bk-tree-leaf">${r}</div>`}function ot(e,t){return`<div class="bk-tree">${v(o(e.value))}</div>`}const y={"--dt-bg-primary":`#ffffff`,"--dt-bg-secondary":`#f6f8fa`,"--dt-bg-tertiary":`#eaeef2`,"--dt-bg-canvas":`#f0f0f0`,"--dt-text-primary":`#1f2328`,"--dt-text-secondary":`#656d76`,"--dt-text-tertiary":`#8b949e`,"--dt-border-default":`#d0d7de`,"--dt-border-muted":`#d8dee4`,"--dt-border-subtle":`#eaeef2`,"--dt-accent-fg":`#0969da`,"--dt-accent-emphasis":`#0550ae`,"--dt-accent-muted":`rgba(9, 105, 218, 0.4)`,"--dt-accent-subtle":`rgba(9, 105, 218, 0.1)`,"--dt-success-fg":`#1a7f37`,"--dt-success-emphasis":`#116329`,"--dt-success-muted":`rgba(26, 127, 55, 0.4)`,"--dt-success-subtle":`rgba(26, 127, 55, 0.1)`,"--dt-danger-fg":`#cf222e`,"--dt-danger-emphasis":`#a40e26`,"--dt-danger-muted":`rgba(207, 34, 46, 0.4)`,"--dt-danger-subtle":`rgba(207, 34, 46, 0.1)`,"--dt-warning-fg":`#9a6700`,"--dt-warning-emphasis":`#7d4e00`,"--dt-warning-muted":`rgba(154, 103, 0, 0.4)`,"--dt-warning-subtle":`rgba(154, 103, 0, 0.1)`,"--dt-purple-fg":`#8250df`,"--dt-purple-emphasis":`#6639ba`,"--dt-purple-muted":`rgba(130, 80, 223, 0.4)`,"--dt-purple-subtle":`rgba(130, 80, 223, 0.1)`,"--dt-font-sans":`'Segoe UI', system-ui, -apple-system, sans-serif`,"--dt-font-mono":`'JetBrains Mono', 'Fira Code', 'SF Mono', Consolas, monospace`,"--dt-font-size-xs":`0.75rem`,"--dt-font-size-sm":`0.8125rem`,"--dt-font-size-base":`0.875rem`,"--dt-font-size-lg":`1rem`,"--dt-font-size-xl":`1.25rem`,"--dt-font-size-2xl":`1.5rem`,"--dt-font-size-3xl":`2rem`,"--dt-space-1":`0.25rem`,"--dt-space-2":`0.5rem`,"--dt-space-3":`0.75rem`,"--dt-space-4":`1rem`,"--dt-space-6":`1.5rem`,"--dt-space-8":`2rem`,"--dt-space-12":`3rem`,"--dt-space-16":`4rem`,"--dt-radius-sm":`6px`,"--dt-radius-md":`8px`,"--dt-radius-lg":`12px`,"--dt-radius-xl":`16px`,"--dt-shadow-sm":`0 1px 2px rgba(0, 0, 0, 0.07)`,"--dt-shadow-md":`0 3px 6px rgba(0, 0, 0, 0.1)`,"--dt-shadow-lg":`0 8px 24px rgba(0, 0, 0, 0.12)`,"--dt-glow-accent":`rgba(9, 105, 218, 0.08)`,"--dt-glow-success":`rgba(26, 127, 55, 0.08)`,"--dt-glow-danger":`rgba(207, 34, 46, 0.08)`,"--dt-glow-warning":`rgba(154, 103, 0, 0.08)`,"--dt-glow-purple":`rgba(130, 80, 223, 0.08)`,"--dt-transition-fast":`150ms ease`,"--dt-transition-normal":`200ms ease`},b={"--dt-bg-primary":`#0d1117`,"--dt-bg-secondary":`#161b22`,"--dt-bg-tertiary":`#21262d`,"--dt-bg-canvas":`#010409`,"--dt-text-primary":`#f0f6fc`,"--dt-text-secondary":`#9198a1`,"--dt-text-tertiary":`#656d76`,"--dt-border-default":`#30363d`,"--dt-border-muted":`#21262d`,"--dt-border-subtle":`#1f242d`,"--dt-accent-fg":`#58a6ff`,"--dt-accent-emphasis":`#1f6feb`,"--dt-accent-muted":`rgba(56, 139, 253, 0.4)`,"--dt-accent-subtle":`rgba(56, 139, 253, 0.15)`,"--dt-success-fg":`#3fb950`,"--dt-success-emphasis":`#238636`,"--dt-success-muted":`rgba(63, 185, 80, 0.4)`,"--dt-success-subtle":`rgba(63, 185, 80, 0.15)`,"--dt-danger-fg":`#f85149`,"--dt-danger-emphasis":`#da3633`,"--dt-danger-muted":`rgba(248, 81, 73, 0.4)`,"--dt-danger-subtle":`rgba(248, 81, 73, 0.15)`,"--dt-warning-fg":`#d29922`,"--dt-warning-emphasis":`#bb8009`,"--dt-warning-muted":`rgba(210, 153, 34, 0.4)`,"--dt-warning-subtle":`rgba(210, 153, 34, 0.15)`,"--dt-purple-fg":`#bc8cff`,"--dt-purple-emphasis":`#a371f7`,"--dt-purple-muted":`rgba(188, 140, 255, 0.4)`,"--dt-purple-subtle":`rgba(188, 140, 255, 0.15)`,"--dt-shadow-sm":`0 1px 2px rgba(1, 4, 9, 0.35)`,"--dt-shadow-md":`0 3px 6px rgba(1, 4, 9, 0.4)`,"--dt-shadow-lg":`0 8px 24px rgba(1, 4, 9, 0.45)`,"--dt-glow-accent":`rgba(56, 139, 253, 0.14)`,"--dt-glow-success":`rgba(63, 185, 80, 0.14)`,"--dt-glow-danger":`rgba(248, 81, 73, 0.14)`,"--dt-glow-warning":`rgba(210, 153, 34, 0.14)`,"--dt-glow-purple":`rgba(188, 140, 255, 0.14)`},st=`--dt-bg-primary.--dt-bg-secondary.--dt-bg-tertiary.--dt-bg-canvas.--dt-text-primary.--dt-text-secondary.--dt-text-tertiary.--dt-border-default.--dt-border-muted.--dt-border-subtle.--dt-accent-fg.--dt-accent-emphasis.--dt-accent-muted.--dt-accent-subtle.--dt-success-fg.--dt-success-emphasis.--dt-success-muted.--dt-success-subtle.--dt-danger-fg.--dt-danger-emphasis.--dt-danger-muted.--dt-danger-subtle.--dt-warning-fg.--dt-warning-emphasis.--dt-warning-muted.--dt-warning-subtle.--dt-purple-fg.--dt-purple-emphasis.--dt-purple-muted.--dt-purple-subtle.--dt-font-sans.--dt-font-mono.--dt-font-size-xs.--dt-font-size-sm.--dt-font-size-base.--dt-font-size-lg.--dt-font-size-xl.--dt-font-size-2xl.--dt-font-size-3xl.--dt-space-1.--dt-space-2.--dt-space-3.--dt-space-4.--dt-space-6.--dt-space-8.--dt-space-12.--dt-space-16.--dt-radius-sm.--dt-radius-md.--dt-radius-lg.--dt-radius-xl.--dt-shadow-sm.--dt-shadow-md.--dt-shadow-lg.--dt-glow-accent.--dt-glow-success.--dt-glow-danger.--dt-glow-warning.--dt-glow-purple.--dt-transition-fast.--dt-transition-normal`.split(`.`),ct=`--dt-bg-primary.--dt-bg-secondary.--dt-bg-tertiary.--dt-bg-canvas.--dt-text-primary.--dt-text-secondary.--dt-text-tertiary.--dt-border-default.--dt-border-muted.--dt-border-subtle.--dt-accent-fg.--dt-accent-emphasis.--dt-accent-muted.--dt-accent-subtle.--dt-success-fg.--dt-success-emphasis.--dt-success-muted.--dt-success-subtle.--dt-danger-fg.--dt-danger-emphasis.--dt-danger-muted.--dt-danger-subtle.--dt-warning-fg.--dt-warning-emphasis.--dt-warning-muted.--dt-warning-subtle.--dt-purple-fg.--dt-purple-emphasis.--dt-purple-muted.--dt-purple-subtle.--dt-shadow-sm.--dt-shadow-md.--dt-shadow-lg.--dt-glow-accent.--dt-glow-success.--dt-glow-danger.--dt-glow-warning.--dt-glow-purple`.split(`.`),x={actions:`
|
|
26
26
|
.bk-actions {
|
|
27
27
|
display: flex;
|
|
28
28
|
flex-wrap: wrap;
|
|
@@ -230,50 +230,513 @@ ${g}
|
|
|
230
230
|
padding-left: var(--dt-space-4);
|
|
231
231
|
color: var(--dt-text-secondary);
|
|
232
232
|
}
|
|
233
|
+
`,"component-detail":`
|
|
234
|
+
.bk-component-detail {
|
|
235
|
+
display: grid;
|
|
236
|
+
gap: var(--dt-space-4);
|
|
237
|
+
padding: var(--dt-space-5);
|
|
238
|
+
border: 1px solid var(--dt-border-default);
|
|
239
|
+
border-radius: var(--dt-radius-xl);
|
|
240
|
+
background: linear-gradient(180deg, var(--dt-bg-secondary), var(--dt-bg-primary));
|
|
241
|
+
box-shadow: var(--dt-shadow-sm);
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
.bk-component-detail-header {
|
|
245
|
+
display: grid;
|
|
246
|
+
gap: var(--dt-space-3);
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
.bk-component-detail-heading {
|
|
250
|
+
display: flex;
|
|
251
|
+
flex-wrap: wrap;
|
|
252
|
+
align-items: center;
|
|
253
|
+
gap: var(--dt-space-2);
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
.bk-component-detail-name {
|
|
257
|
+
margin: 0;
|
|
258
|
+
color: var(--dt-text-primary);
|
|
259
|
+
font-size: clamp(var(--dt-font-size-xl), 3vw, var(--dt-font-size-2xl));
|
|
260
|
+
font-weight: 800;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
.bk-component-detail-badge,
|
|
264
|
+
.bk-component-detail-tech,
|
|
265
|
+
.bk-component-detail-link {
|
|
266
|
+
display: inline-flex;
|
|
267
|
+
align-items: center;
|
|
268
|
+
justify-content: center;
|
|
269
|
+
min-height: calc(var(--dt-space-5) + var(--dt-space-1));
|
|
270
|
+
padding: 0 var(--dt-space-2);
|
|
271
|
+
border-radius: 999px;
|
|
272
|
+
font-size: var(--dt-font-size-xs);
|
|
273
|
+
font-weight: 700;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
.bk-component-detail-badge {
|
|
277
|
+
background: var(--dt-accent-subtle);
|
|
278
|
+
color: var(--dt-accent-fg);
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
.bk-component-detail-tech {
|
|
282
|
+
background: var(--dt-bg-tertiary);
|
|
283
|
+
color: var(--dt-text-secondary);
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
.bk-component-detail-description {
|
|
287
|
+
margin: 0;
|
|
288
|
+
color: var(--dt-text-secondary);
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
.bk-component-detail-body {
|
|
292
|
+
display: grid;
|
|
293
|
+
gap: var(--dt-space-3);
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
.bk-component-detail-section {
|
|
297
|
+
border: 1px solid var(--dt-border-muted);
|
|
298
|
+
border-radius: var(--dt-radius-lg);
|
|
299
|
+
background: color-mix(in srgb, var(--dt-bg-secondary) 92%, var(--dt-bg-primary));
|
|
300
|
+
overflow: hidden;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
.bk-component-detail-summary {
|
|
304
|
+
cursor: pointer;
|
|
305
|
+
list-style: none;
|
|
306
|
+
padding: var(--dt-space-3) var(--dt-space-4);
|
|
307
|
+
color: var(--dt-text-primary);
|
|
308
|
+
font-weight: 700;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
.bk-component-detail-summary::-webkit-details-marker {
|
|
312
|
+
display: none;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
.bk-component-detail-list,
|
|
316
|
+
.bk-component-detail-dependencies,
|
|
317
|
+
.bk-component-detail-links {
|
|
318
|
+
display: grid;
|
|
319
|
+
gap: var(--dt-space-2);
|
|
320
|
+
margin: 0;
|
|
321
|
+
padding: 0 var(--dt-space-4) var(--dt-space-4) var(--dt-space-6);
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
.bk-component-detail-dependencies,
|
|
325
|
+
.bk-component-detail-links {
|
|
326
|
+
padding-left: var(--dt-space-4);
|
|
327
|
+
list-style: none;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
.bk-component-detail-dependency {
|
|
331
|
+
display: flex;
|
|
332
|
+
flex-wrap: wrap;
|
|
333
|
+
gap: var(--dt-space-2);
|
|
334
|
+
align-items: center;
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
.bk-component-detail-dependency-name {
|
|
338
|
+
color: var(--dt-text-primary);
|
|
339
|
+
font-weight: 600;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
.bk-component-detail-dependency-relationship {
|
|
343
|
+
color: var(--dt-text-secondary);
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
.bk-component-detail-table-wrap {
|
|
347
|
+
overflow-x: auto;
|
|
348
|
+
padding: 0 var(--dt-space-4) var(--dt-space-4);
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
.bk-component-detail-table {
|
|
352
|
+
width: 100%;
|
|
353
|
+
border-collapse: collapse;
|
|
354
|
+
font-size: var(--dt-font-size-sm);
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
.bk-component-detail-table th,
|
|
358
|
+
.bk-component-detail-table td {
|
|
359
|
+
padding: var(--dt-space-3);
|
|
360
|
+
border-bottom: 1px solid var(--dt-border-muted);
|
|
361
|
+
text-align: left;
|
|
362
|
+
vertical-align: top;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
.bk-component-detail-table th {
|
|
366
|
+
color: var(--dt-text-primary);
|
|
367
|
+
font-weight: 700;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
.bk-component-detail-code {
|
|
371
|
+
font-family: var(--dt-font-mono);
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
.bk-component-detail-metrics {
|
|
375
|
+
display: grid;
|
|
376
|
+
grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
|
|
377
|
+
gap: var(--dt-space-3);
|
|
378
|
+
padding: 0 var(--dt-space-4) var(--dt-space-4);
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
.bk-component-detail-metric {
|
|
382
|
+
display: grid;
|
|
383
|
+
gap: var(--dt-space-1);
|
|
384
|
+
padding: var(--dt-space-3);
|
|
385
|
+
border: 1px solid var(--dt-border-default);
|
|
386
|
+
border-radius: var(--dt-radius-lg);
|
|
387
|
+
background: var(--dt-bg-primary);
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
.bk-component-detail-metric-label {
|
|
391
|
+
color: var(--dt-text-secondary);
|
|
392
|
+
font-size: var(--dt-font-size-xs);
|
|
393
|
+
text-transform: uppercase;
|
|
394
|
+
letter-spacing: 0.08em;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
.bk-component-detail-metric-value {
|
|
398
|
+
color: var(--dt-text-primary);
|
|
399
|
+
font-size: var(--dt-font-size-lg);
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
.bk-component-detail-links {
|
|
403
|
+
grid-template-columns: repeat(auto-fit, minmax(9rem, max-content));
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
.bk-component-detail-link {
|
|
407
|
+
border: 1px solid var(--dt-border-default);
|
|
408
|
+
background: var(--dt-bg-primary);
|
|
409
|
+
color: var(--dt-accent-fg);
|
|
410
|
+
text-decoration: none;
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
.bk-component-detail-link:hover {
|
|
414
|
+
border-color: var(--dt-accent-muted);
|
|
415
|
+
text-decoration: none;
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
@media (max-width: 720px) {
|
|
419
|
+
.bk-component-detail {
|
|
420
|
+
padding: var(--dt-space-4);
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
.bk-component-detail-summary {
|
|
424
|
+
padding-inline: var(--dt-space-3);
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
.bk-component-detail-list,
|
|
428
|
+
.bk-component-detail-dependencies,
|
|
429
|
+
.bk-component-detail-links,
|
|
430
|
+
.bk-component-detail-table-wrap,
|
|
431
|
+
.bk-component-detail-metrics {
|
|
432
|
+
padding-left: var(--dt-space-3);
|
|
433
|
+
padding-right: var(--dt-space-3);
|
|
434
|
+
padding-bottom: var(--dt-space-3);
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
`,"data-table-schema":`
|
|
438
|
+
.bk-data-table-schema {
|
|
439
|
+
display: grid;
|
|
440
|
+
gap: var(--dt-space-4);
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
.bk-data-table-schema-header {
|
|
444
|
+
display: grid;
|
|
445
|
+
gap: var(--dt-space-2);
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
.bk-data-table-schema-title,
|
|
449
|
+
.bk-data-table-schema-subtitle {
|
|
450
|
+
margin: 0;
|
|
451
|
+
color: var(--dt-text-primary);
|
|
452
|
+
font-weight: 700;
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
.bk-data-table-schema-title {
|
|
456
|
+
font-size: var(--dt-font-size-xl);
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
.bk-data-table-schema-description,
|
|
460
|
+
.bk-data-table-schema-empty,
|
|
461
|
+
.bk-data-table-schema-index-columns,
|
|
462
|
+
.bk-data-table-schema-index-meta {
|
|
463
|
+
margin: 0;
|
|
464
|
+
color: var(--dt-text-secondary);
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
.bk-data-table-schema-wrap {
|
|
468
|
+
overflow-x: auto;
|
|
469
|
+
border: 1px solid var(--dt-border-default);
|
|
470
|
+
border-radius: var(--dt-radius-xl);
|
|
471
|
+
background: linear-gradient(180deg, var(--dt-bg-secondary), var(--dt-bg-primary));
|
|
472
|
+
box-shadow: var(--dt-shadow-sm);
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
.bk-data-table-schema-table {
|
|
476
|
+
width: 100%;
|
|
477
|
+
border-collapse: collapse;
|
|
478
|
+
font-size: var(--dt-font-size-sm);
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
.bk-data-table-schema-table th,
|
|
482
|
+
.bk-data-table-schema-table td {
|
|
483
|
+
padding: var(--dt-space-3) var(--dt-space-4);
|
|
484
|
+
border-bottom: 1px solid var(--dt-border-muted);
|
|
485
|
+
text-align: left;
|
|
486
|
+
vertical-align: top;
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
.bk-data-table-schema-table th {
|
|
490
|
+
color: var(--dt-text-primary);
|
|
491
|
+
font-weight: 700;
|
|
492
|
+
background: var(--dt-bg-tertiary);
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
.bk-data-table-schema-row--primary {
|
|
496
|
+
background: color-mix(in srgb, var(--dt-success-subtle) 72%, var(--dt-bg-secondary));
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
.bk-data-table-schema-code {
|
|
500
|
+
font-family: var(--dt-font-mono);
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
.bk-data-table-schema-required {
|
|
504
|
+
font-weight: 700;
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
.bk-data-table-schema-constraints {
|
|
508
|
+
display: flex;
|
|
509
|
+
flex-wrap: wrap;
|
|
510
|
+
gap: var(--dt-space-2);
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
.bk-data-table-schema-badge {
|
|
514
|
+
display: inline-flex;
|
|
515
|
+
align-items: center;
|
|
516
|
+
min-height: calc(var(--dt-space-5) + var(--dt-space-1));
|
|
517
|
+
padding: 0 var(--dt-space-2);
|
|
518
|
+
border-radius: 999px;
|
|
519
|
+
background: var(--dt-bg-tertiary);
|
|
520
|
+
color: var(--dt-text-secondary);
|
|
521
|
+
font-size: var(--dt-font-size-xs);
|
|
522
|
+
font-weight: 700;
|
|
523
|
+
text-decoration: none;
|
|
524
|
+
}
|
|
525
|
+
|
|
526
|
+
.bk-data-table-schema-badge--primary {
|
|
527
|
+
background: var(--dt-success-subtle);
|
|
528
|
+
color: var(--dt-success-fg);
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
.bk-data-table-schema-badge--link {
|
|
532
|
+
background: var(--dt-accent-subtle);
|
|
533
|
+
color: var(--dt-accent-fg);
|
|
534
|
+
}
|
|
535
|
+
|
|
536
|
+
.bk-data-table-schema-indexes {
|
|
537
|
+
display: grid;
|
|
538
|
+
gap: var(--dt-space-3);
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
.bk-data-table-schema-index-grid {
|
|
542
|
+
display: grid;
|
|
543
|
+
grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
|
|
544
|
+
gap: var(--dt-space-3);
|
|
545
|
+
}
|
|
546
|
+
|
|
547
|
+
.bk-data-table-schema-index {
|
|
548
|
+
display: grid;
|
|
549
|
+
gap: var(--dt-space-2);
|
|
550
|
+
padding: var(--dt-space-4);
|
|
551
|
+
border: 1px solid var(--dt-border-default);
|
|
552
|
+
border-radius: var(--dt-radius-lg);
|
|
553
|
+
background: var(--dt-bg-secondary);
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
.bk-data-table-schema-index-name {
|
|
557
|
+
color: var(--dt-text-primary);
|
|
558
|
+
font-weight: 700;
|
|
559
|
+
}
|
|
233
560
|
`,"docs-browser":`
|
|
234
561
|
.bk-docs-browser {
|
|
235
562
|
display: grid;
|
|
236
563
|
gap: var(--dt-space-3);
|
|
237
564
|
}
|
|
238
565
|
|
|
239
|
-
.bk-doc-entry {
|
|
566
|
+
.bk-doc-entry {
|
|
567
|
+
display: grid;
|
|
568
|
+
gap: var(--dt-space-2);
|
|
569
|
+
padding: var(--dt-space-4);
|
|
570
|
+
border: 1px solid var(--dt-border-default);
|
|
571
|
+
border-radius: var(--dt-radius-lg);
|
|
572
|
+
background: var(--dt-bg-secondary);
|
|
573
|
+
}
|
|
574
|
+
|
|
575
|
+
.bk-doc-header {
|
|
576
|
+
display: flex;
|
|
577
|
+
align-items: center;
|
|
578
|
+
justify-content: space-between;
|
|
579
|
+
gap: var(--dt-space-3);
|
|
580
|
+
}
|
|
581
|
+
|
|
582
|
+
.bk-doc-title {
|
|
583
|
+
color: var(--dt-text-primary);
|
|
584
|
+
font-weight: 600;
|
|
585
|
+
}
|
|
586
|
+
|
|
587
|
+
.bk-doc-path,
|
|
588
|
+
.bk-doc-content {
|
|
589
|
+
color: var(--dt-text-secondary);
|
|
590
|
+
}
|
|
591
|
+
|
|
592
|
+
.bk-doc-content {
|
|
593
|
+
margin: 0;
|
|
594
|
+
font-family: var(--dt-font-mono);
|
|
595
|
+
font-size: var(--dt-font-size-sm);
|
|
596
|
+
white-space: pre-wrap;
|
|
597
|
+
}
|
|
598
|
+
|
|
599
|
+
.bk-doc-status {
|
|
600
|
+
padding: var(--dt-space-1) var(--dt-space-2);
|
|
601
|
+
border-radius: 999px;
|
|
602
|
+
font-size: var(--dt-font-size-xs);
|
|
603
|
+
font-weight: 700;
|
|
604
|
+
}
|
|
605
|
+
`,"docs-hub":`
|
|
606
|
+
.bk-docs-hub {
|
|
607
|
+
display: grid;
|
|
608
|
+
gap: var(--dt-space-4);
|
|
609
|
+
}
|
|
610
|
+
|
|
611
|
+
.bk-docs-hub-header {
|
|
612
|
+
display: grid;
|
|
613
|
+
gap: var(--dt-space-2);
|
|
614
|
+
}
|
|
615
|
+
|
|
616
|
+
.bk-docs-hub-title {
|
|
617
|
+
margin: 0;
|
|
618
|
+
color: var(--dt-text-primary);
|
|
619
|
+
font-size: var(--dt-font-size-xl);
|
|
620
|
+
font-weight: 700;
|
|
621
|
+
}
|
|
622
|
+
|
|
623
|
+
.bk-docs-hub-description,
|
|
624
|
+
.bk-docs-hub-empty {
|
|
625
|
+
margin: 0;
|
|
626
|
+
color: var(--dt-text-secondary);
|
|
627
|
+
}
|
|
628
|
+
|
|
629
|
+
.bk-docs-hub-grid {
|
|
630
|
+
display: grid;
|
|
631
|
+
grid-template-columns: repeat(auto-fit, minmax(17.5rem, 1fr));
|
|
632
|
+
gap: var(--dt-space-4);
|
|
633
|
+
}
|
|
634
|
+
|
|
635
|
+
.bk-docs-hub-card {
|
|
636
|
+
display: grid;
|
|
637
|
+
gap: var(--dt-space-4);
|
|
638
|
+
min-height: 100%;
|
|
639
|
+
padding: var(--dt-space-4);
|
|
640
|
+
border: 1px solid var(--dt-border-default);
|
|
641
|
+
border-radius: var(--dt-radius-xl);
|
|
642
|
+
background: linear-gradient(180deg, var(--dt-bg-secondary), var(--dt-bg-primary));
|
|
643
|
+
box-shadow: var(--dt-shadow-sm);
|
|
644
|
+
color: inherit;
|
|
645
|
+
text-decoration: none;
|
|
646
|
+
transition: transform var(--dt-transition-fast), box-shadow var(--dt-transition-fast), border-color var(--dt-transition-fast);
|
|
647
|
+
}
|
|
648
|
+
|
|
649
|
+
.bk-docs-hub-card:hover {
|
|
650
|
+
transform: translateY(-2px);
|
|
651
|
+
border-color: var(--dt-accent-muted);
|
|
652
|
+
box-shadow: var(--dt-shadow-lg);
|
|
653
|
+
text-decoration: none;
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
.bk-docs-hub-card-head {
|
|
657
|
+
display: grid;
|
|
658
|
+
grid-template-columns: auto minmax(0, 1fr);
|
|
659
|
+
align-items: start;
|
|
660
|
+
gap: var(--dt-space-3);
|
|
661
|
+
}
|
|
662
|
+
|
|
663
|
+
.bk-docs-hub-card-icon {
|
|
664
|
+
display: inline-flex;
|
|
665
|
+
align-items: center;
|
|
666
|
+
justify-content: center;
|
|
667
|
+
width: calc(var(--dt-space-8) + var(--dt-space-2));
|
|
668
|
+
height: calc(var(--dt-space-8) + var(--dt-space-2));
|
|
669
|
+
border-radius: var(--dt-radius-lg);
|
|
670
|
+
background: var(--dt-accent-subtle);
|
|
671
|
+
font-size: var(--dt-font-size-xl);
|
|
672
|
+
}
|
|
673
|
+
|
|
674
|
+
.bk-docs-hub-card-copy {
|
|
240
675
|
display: grid;
|
|
241
676
|
gap: var(--dt-space-2);
|
|
242
|
-
padding: var(--dt-space-4);
|
|
243
|
-
border: 1px solid var(--dt-border-default);
|
|
244
|
-
border-radius: var(--dt-radius-lg);
|
|
245
|
-
background: var(--dt-bg-secondary);
|
|
246
677
|
}
|
|
247
678
|
|
|
248
|
-
.bk-
|
|
679
|
+
.bk-docs-hub-card-title {
|
|
680
|
+
color: var(--dt-text-primary);
|
|
681
|
+
font-size: var(--dt-font-size-lg);
|
|
682
|
+
font-weight: 700;
|
|
683
|
+
}
|
|
684
|
+
|
|
685
|
+
.bk-docs-hub-card-description {
|
|
686
|
+
margin: 0;
|
|
687
|
+
color: var(--dt-text-secondary);
|
|
688
|
+
}
|
|
689
|
+
|
|
690
|
+
.bk-docs-hub-card-meta {
|
|
249
691
|
display: flex;
|
|
692
|
+
flex-wrap: wrap;
|
|
250
693
|
align-items: center;
|
|
251
|
-
|
|
252
|
-
gap: var(--dt-space-3);
|
|
694
|
+
gap: var(--dt-space-2);
|
|
253
695
|
}
|
|
254
696
|
|
|
255
|
-
.bk-
|
|
256
|
-
|
|
257
|
-
|
|
697
|
+
.bk-docs-hub-card-category,
|
|
698
|
+
.bk-docs-hub-card-status {
|
|
699
|
+
display: inline-flex;
|
|
700
|
+
align-items: center;
|
|
701
|
+
gap: var(--dt-space-1);
|
|
702
|
+
min-height: calc(var(--dt-space-5) + var(--dt-space-1));
|
|
703
|
+
padding: 0 var(--dt-space-2);
|
|
704
|
+
border-radius: 999px;
|
|
705
|
+
font-size: var(--dt-font-size-xs);
|
|
706
|
+
font-weight: 700;
|
|
258
707
|
}
|
|
259
708
|
|
|
260
|
-
.bk-
|
|
261
|
-
|
|
709
|
+
.bk-docs-hub-card-category {
|
|
710
|
+
background: var(--dt-bg-tertiary);
|
|
262
711
|
color: var(--dt-text-secondary);
|
|
263
712
|
}
|
|
264
713
|
|
|
265
|
-
.bk-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
font-size: var(--dt-font-size-sm);
|
|
269
|
-
white-space: pre-wrap;
|
|
714
|
+
.bk-docs-hub-card-status {
|
|
715
|
+
background: var(--dt-accent-subtle);
|
|
716
|
+
color: var(--dt-accent-fg);
|
|
270
717
|
}
|
|
271
718
|
|
|
272
|
-
.bk-
|
|
273
|
-
|
|
719
|
+
.bk-docs-hub-card-status[data-tone='warning'] {
|
|
720
|
+
background: var(--dt-warning-subtle);
|
|
721
|
+
color: var(--dt-warning-fg);
|
|
722
|
+
}
|
|
723
|
+
|
|
724
|
+
.bk-docs-hub-card-status[data-tone='danger'] {
|
|
725
|
+
background: var(--dt-danger-subtle);
|
|
726
|
+
color: var(--dt-danger-fg);
|
|
727
|
+
}
|
|
728
|
+
|
|
729
|
+
.bk-docs-hub-card-status-dot {
|
|
730
|
+
width: 0.55rem;
|
|
731
|
+
height: 0.55rem;
|
|
274
732
|
border-radius: 999px;
|
|
275
|
-
|
|
276
|
-
|
|
733
|
+
background: currentColor;
|
|
734
|
+
}
|
|
735
|
+
|
|
736
|
+
@media (max-width: 720px) {
|
|
737
|
+
.bk-docs-hub-grid {
|
|
738
|
+
grid-template-columns: minmax(0, 1fr);
|
|
739
|
+
}
|
|
277
740
|
}
|
|
278
741
|
`,finding:`
|
|
279
742
|
.bk-finding {
|
|
@@ -324,7 +787,101 @@ ${g}
|
|
|
324
787
|
font-size: var(--dt-font-size-sm);
|
|
325
788
|
line-height: 1.6;
|
|
326
789
|
}
|
|
327
|
-
`,heading:
|
|
790
|
+
`,heading:h,"lifecycle-flow":`
|
|
791
|
+
.bk-lifecycle-flow {
|
|
792
|
+
display: grid;
|
|
793
|
+
gap: var(--dt-space-3);
|
|
794
|
+
}
|
|
795
|
+
|
|
796
|
+
.bk-lifecycle-flow-title {
|
|
797
|
+
margin: 0;
|
|
798
|
+
color: var(--dt-text-primary);
|
|
799
|
+
font-size: var(--dt-font-size-lg);
|
|
800
|
+
font-weight: 700;
|
|
801
|
+
}
|
|
802
|
+
|
|
803
|
+
.bk-lifecycle-flow-svg {
|
|
804
|
+
width: 100%;
|
|
805
|
+
height: auto;
|
|
806
|
+
overflow: visible;
|
|
807
|
+
}
|
|
808
|
+
|
|
809
|
+
.bk-lifecycle-flow-frame {
|
|
810
|
+
overflow-x: auto;
|
|
811
|
+
padding: var(--dt-space-2);
|
|
812
|
+
border: 1px solid var(--dt-border-default);
|
|
813
|
+
border-radius: var(--dt-radius-xl);
|
|
814
|
+
background: linear-gradient(180deg, var(--dt-bg-secondary), var(--dt-bg-primary));
|
|
815
|
+
box-shadow: var(--dt-shadow-sm);
|
|
816
|
+
}
|
|
817
|
+
|
|
818
|
+
.bk-lifecycle-flow-edge {
|
|
819
|
+
fill: none;
|
|
820
|
+
stroke: var(--dt-border-default);
|
|
821
|
+
stroke-width: 3;
|
|
822
|
+
}
|
|
823
|
+
|
|
824
|
+
.bk-lifecycle-flow-edge-label,
|
|
825
|
+
.bk-lifecycle-flow-label,
|
|
826
|
+
.bk-lifecycle-flow-description {
|
|
827
|
+
fill: var(--dt-text-primary);
|
|
828
|
+
font-family: var(--dt-font-sans);
|
|
829
|
+
text-anchor: middle;
|
|
830
|
+
}
|
|
831
|
+
|
|
832
|
+
.bk-lifecycle-flow-label {
|
|
833
|
+
font-size: 13px;
|
|
834
|
+
font-weight: 700;
|
|
835
|
+
}
|
|
836
|
+
|
|
837
|
+
.bk-lifecycle-flow-description,
|
|
838
|
+
.bk-lifecycle-flow-edge-label {
|
|
839
|
+
fill: var(--dt-text-secondary);
|
|
840
|
+
font-size: 11px;
|
|
841
|
+
}
|
|
842
|
+
|
|
843
|
+
.bk-lifecycle-flow-shape {
|
|
844
|
+
fill: var(--dt-accent-subtle);
|
|
845
|
+
stroke: var(--dt-accent-emphasis);
|
|
846
|
+
stroke-width: 2.5;
|
|
847
|
+
}
|
|
848
|
+
|
|
849
|
+
.bk-lifecycle-flow-node--success .bk-lifecycle-flow-shape {
|
|
850
|
+
fill: var(--dt-success-subtle);
|
|
851
|
+
stroke: var(--dt-success-emphasis);
|
|
852
|
+
}
|
|
853
|
+
|
|
854
|
+
.bk-lifecycle-flow-node--danger .bk-lifecycle-flow-shape {
|
|
855
|
+
fill: var(--dt-danger-subtle);
|
|
856
|
+
stroke: var(--dt-danger-emphasis);
|
|
857
|
+
}
|
|
858
|
+
|
|
859
|
+
.bk-lifecycle-flow-node--slate .bk-lifecycle-flow-shape {
|
|
860
|
+
fill: var(--dt-bg-tertiary);
|
|
861
|
+
stroke: var(--dt-border-default);
|
|
862
|
+
}
|
|
863
|
+
|
|
864
|
+
.bk-lifecycle-flow-parallel-mark line {
|
|
865
|
+
stroke: currentColor;
|
|
866
|
+
stroke-width: 3;
|
|
867
|
+
}
|
|
868
|
+
|
|
869
|
+
.bk-lifecycle-flow-node--accent {
|
|
870
|
+
color: var(--dt-accent-emphasis);
|
|
871
|
+
}
|
|
872
|
+
|
|
873
|
+
.bk-lifecycle-flow-node--success {
|
|
874
|
+
color: var(--dt-success-emphasis);
|
|
875
|
+
}
|
|
876
|
+
|
|
877
|
+
.bk-lifecycle-flow-node--danger {
|
|
878
|
+
color: var(--dt-danger-emphasis);
|
|
879
|
+
}
|
|
880
|
+
|
|
881
|
+
.bk-lifecycle-flow-node--slate {
|
|
882
|
+
color: var(--dt-text-secondary);
|
|
883
|
+
}
|
|
884
|
+
`,markdown:Le,mermaid:`
|
|
328
885
|
.bk-mermaid {
|
|
329
886
|
margin: 0;
|
|
330
887
|
padding: var(--dt-space-4);
|
|
@@ -621,7 +1178,7 @@ ${g}
|
|
|
621
1178
|
.bk-tree-key {
|
|
622
1179
|
color: var(--dt-text-primary);
|
|
623
1180
|
}
|
|
624
|
-
`},
|
|
1181
|
+
`},S=`
|
|
625
1182
|
.bk-section {
|
|
626
1183
|
display: grid;
|
|
627
1184
|
gap: var(--dt-space-3);
|
|
@@ -643,11 +1200,15 @@ ${g}
|
|
|
643
1200
|
.bk-prompt,
|
|
644
1201
|
.bk-heading,
|
|
645
1202
|
.bk-table,
|
|
1203
|
+
.bk-data-table-schema,
|
|
646
1204
|
.bk-docs-browser,
|
|
1205
|
+
.bk-docs-hub,
|
|
647
1206
|
.bk-actions,
|
|
648
1207
|
.bk-comparison,
|
|
1208
|
+
.bk-component-detail,
|
|
649
1209
|
.bk-status-board,
|
|
650
1210
|
.bk-progress,
|
|
1211
|
+
.bk-lifecycle-flow,
|
|
651
1212
|
.bk-timeline,
|
|
652
1213
|
.bk-tree,
|
|
653
1214
|
.bk-tags,
|
|
@@ -703,35 +1264,33 @@ ${g}
|
|
|
703
1264
|
white-space: nowrap;
|
|
704
1265
|
border: 0;
|
|
705
1266
|
}
|
|
706
|
-
`;function
|
|
707
|
-
`)}function
|
|
708
|
-
`)}function
|
|
1267
|
+
`;function C(e){let t=[S],n=new Set;for(let r of e)!n.has(r)&&x[r]&&(n.add(r),t.push(x[r]));return t.join(`
|
|
1268
|
+
`)}function lt(){return C(Object.keys(x))}function w(e){return Object.entries(e).map(([e,t])=>` ${e}: ${t};`).join(`
|
|
1269
|
+
`)}function ut(e,t){let n=` `.repeat(t);return e.split(`
|
|
709
1270
|
`).map(e=>`${n}${e}`).join(`
|
|
710
|
-
`)}function
|
|
1271
|
+
`)}function dt(e){return e===`dark`?{...y,...b}:{...y}}function T(){return w(b)}function E(e=`auto`){let t=`:root {\n${w(dt(e===`dark`?`dark`:`light`))}\n}`;return e===`light`?`${t}\n\nhtml {\n color-scheme: light;\n}`:e===`dark`?`${t}\n\nhtml {\n color-scheme: dark;\n}`:[t,`html {
|
|
711
1272
|
color-scheme: light;
|
|
712
|
-
}`,[`@media (prefers-color-scheme: dark) {`,` :root {`,
|
|
1273
|
+
}`,[`@media (prefers-color-scheme: dark) {`,` :root {`,ut(T(),4),` }`,``,` html {`,` color-scheme: dark;`,` }`,`}`].join(`
|
|
713
1274
|
`)].join(`
|
|
714
1275
|
|
|
715
|
-
`)}const
|
|
716
|
-
`)}function
|
|
717
|
-
`)
|
|
718
|
-
`)}const L={id:`form@1`,label:`Form`,description:`Browser-only form template rendered as a heading and markdown field table.`,inputSchema:{type:`object`,properties:{title:{type:`string`},fields:{type:`array`,items:{type:`object`,required:[`name`,`label`],properties:{name:{type:`string`},label:{type:`string`},type:{type:`string`},options:{type:`array`,items:{type:`string`}},value:{type:`string`}},additionalProperties:!1}}},required:[`fields`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t={title:F(e)&&typeof e.title==`string`?e.title:`Form`,fields:F(e)?ft(e.fields):[]};return[{type:`heading`,value:t.title},{type:`markdown`,value:pt(t.fields)}]},hydration:[`form`],supportedTransports:[`browser`]},mt=[`mcp-app`,`browser`];function R(e){return typeof e==`object`&&!!e}function ht(e){if(!Array.isArray(e))return;let t=e.flatMap(e=>!R(e)||typeof e.id!=`string`||typeof e.label!=`string`?[]:[{id:e.id,label:e.label}]);return t.length>0?t:void 0}function gt(e){return Array.isArray(e)?e.flatMap(e=>!R(e)||typeof e.id!=`string`||typeof e.label!=`string`?[]:[{id:e.id,label:e.label,category:typeof e.category==`string`?e.category:void 0,tags:Array.isArray(e.tags)?e.tags.filter(e=>typeof e==`string`):void 0}]):[]}function _t(e){return R(e)?{categories:ht(e.categories),items:gt(e.items)}:{items:[]}}function z(e){return{title:e.label,body:e.id,description:e.tags&&e.tags.length>0?e.tags.join(`, `):void 0}}function B(e,t){return t.length===0?[]:[{type:`heading`,value:e},{type:`cards`,value:t.map(z)}]}const V={id:`picker@1`,label:`Picker`,description:`Grouped item picker rendered as cards with picker hydration metadata.`,inputSchema:{type:`object`,properties:{categories:{type:`array`,items:{type:`object`,required:[`id`,`label`],properties:{id:{type:`string`},label:{type:`string`}},additionalProperties:!1}},items:{type:`array`,items:{type:`object`,required:[`id`,`label`],properties:{id:{type:`string`},label:{type:`string`},category:{type:`string`},tags:{type:`array`,items:{type:`string`}}},additionalProperties:!1}}},required:[`items`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=_t(e),n=[];if(t.categories&&t.categories.length>0){let e=new Set(t.categories.map(e=>e.id));for(let e of t.categories)n.push(...B(e.label,t.items.filter(t=>t.category===e.id)));let r=t.items.filter(t=>!t.category||!e.has(t.category));return n.push(...B(`Other`,r)),n}return t.items.length>0&&n.push({type:`cards`,value:t.items.map(z)}),n},hydration:[`picker`],supportedTransports:mt},vt=[`mcp-app`,`browser`,`export`];function H(e){return typeof e==`object`&&!!e}function yt(e){return H(e)&&typeof e.type==`string`}function bt(e){return Array.isArray(e)&&e.every(yt)}function xt(e){return H(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function St(e){return Array.isArray(e)?e.flatMap(e=>{if(!H(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||bt(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[]}function Ct(e){return Array.isArray(e)?e.flatMap(e=>H(e)?[{title:typeof e.title==`string`?e.title:void 0,value:e.value,headers:Array.isArray(e.headers)?e.headers.filter(e=>typeof e==`string`):void 0,rows:Array.isArray(e.rows)?e.rows.filter(e=>Array.isArray(e)):void 0}]:[]):[]}function wt(e){let t=[{type:`heading`,value:e.heading}];return typeof e.content==`string`?(t.push({type:`paragraph`,value:e.content}),t):(t.push(...e.content),t)}function Tt(e){let t={type:`table`};return e.title&&(t.title=e.title),e.value!==void 0&&(t.value=e.value),e.headers&&(t.headers=e.headers),e.rows&&(t.rows=e.rows),t}const U={id:`report@1`,label:`Report`,description:`Static report with title, optional metrics, narrative sections, and tables.`,inputSchema:{type:`object`,properties:{title:{type:`string`},metrics:{type:`array`,items:{type:`object`,required:[`label`,`value`],properties:{label:{type:`string`},value:{type:[`string`,`number`]},trend:{type:[`string`,`number`]},status:{type:`string`}},additionalProperties:!1}},sections:{type:`array`,items:{type:`object`,required:[`heading`,`content`],properties:{heading:{type:`string`},content:{oneOf:[{type:`string`},{type:`array`,items:{type:`object`}}]}},additionalProperties:!1}},tables:{type:`array`,items:{type:`object`,properties:{title:{type:`string`},value:{},headers:{type:`array`,items:{type:`string`}},rows:{type:`array`,items:{type:`array`,items:{}}}},additionalProperties:!1}}},required:[`title`,`sections`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t={title:H(e)&&typeof e.title==`string`?e.title:`Report`,metrics:H(e)&&Array.isArray(e.metrics)?e.metrics.filter(xt):void 0,sections:H(e)?St(e.sections):[],tables:H(e)?Ct(e.tables):void 0},n=[{type:`heading`,value:t.title}];t.metrics&&t.metrics.length>0&&n.push({type:`metrics`,value:t.metrics});for(let e of t.sections)n.push(...wt(e));for(let e of t.tables??[])n.push(Tt(e));return n},hydration:[],supportedTransports:vt},Et=[`mcp-app`,`browser`,`export`];function W(e){return typeof e==`object`&&!!e}function Dt(e){return Array.isArray(e)?e.flatMap(e=>{if(!W(e)||typeof e.category!=`string`||!Array.isArray(e.items))return[];let t=e.items.flatMap(e=>!W(e)||typeof e.label!=`string`||typeof e.status!=`string`?[]:[{label:e.label,status:e.status,badge:typeof e.badge==`string`?e.badge:void 0}]);return[{category:e.category,items:t}]}):[]}function Ot(e){return e.map(e=>({title:e.label,status:e.status,badge:e.badge}))}const G={id:`status-board@1`,label:`Status Board`,description:`Static status board grouped into category headings and card collections.`,inputSchema:{type:`object`,properties:{categories:{type:`array`,items:{type:`object`,required:[`category`,`items`],properties:{category:{type:`string`},items:{type:`array`,items:{type:`object`,required:[`label`,`status`],properties:{label:{type:`string`},status:{type:`string`},badge:{type:`string`}},additionalProperties:!1}}},additionalProperties:!1}}},required:[`categories`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=W(e)?Dt(e.categories):[],n=[];for(let e of t)n.push({type:`heading`,value:e.category}),n.push({type:`cards`,value:Ot(e.items)});return n},hydration:[],supportedTransports:Et},kt=[`mcp-app`,`browser`,`export`];function At(e){return typeof e==`object`&&!!e}function jt(e){return Array.isArray(e)?e.flatMap(e=>!At(e)||typeof e.title!=`string`?[]:[{title:e.title,description:typeof e.description==`string`?e.description:void 0,timestamp:typeof e.timestamp==`string`?e.timestamp:void 0,status:typeof e.status==`string`?e.status:void 0}]):[]}const K={id:`timeline@1`,label:`Timeline`,description:`Static timeline events rendered as a timeline block.`,inputSchema:{type:`array`,items:{type:`object`,required:[`title`],properties:{title:{type:`string`},description:{type:`string`},timestamp:{type:`string`},status:{type:`string`}},additionalProperties:!1}},defaultLayout:{},blocksFromData:e=>[{type:`timeline`,value:jt(e)}],hydration:[],supportedTransports:kt},Mt=[`mcp-app`,`browser`,`export`];function q(e){return typeof e==`object`&&!!e}function J(e){return q(e)&&typeof e.label==`string`}function Y(e){return{name:e.label,children:Array.isArray(e.children)?e.children.filter(J).map(Y):[]}}function Nt(e){if(!q(e))return{};let t=e.root;return J(t)?Y(t):q(t)?t:e}const X={id:`tree@1`,label:`Tree`,description:`Static tree view data with optional tree hydration metadata.`,inputSchema:{oneOf:[{type:`object`,properties:{root:{type:`object`}},required:[`root`],additionalProperties:!0},{type:`object`,additionalProperties:!0}]},defaultLayout:{},blocksFromData:e=>[{type:`tree`,value:Nt(e)}],hydration:[`tree`],supportedTransports:Mt},Z=new E;Z.register(O),Z.register(rt),Z.register(N),Z.register(V),Z.register(U),Z.register(K),Z.register(X),Z.register(A),Z.register(P),Z.register(L),Z.register(G);let Q=0;function Pt(){return Q=(Q+1)%(2**53-1),`${Date.now().toString(16).padStart(12,`0`).slice(-12)}${Q.toString(16).padStart(4,`0`).slice(-4)}${Array.from({length:8},()=>Math.floor(Math.random()*256).toString(16).padStart(2,`0`)).join(``)}`}function Ft(e){return{id:e,version:1,entry:`@aikit/blocks-interactive/dist/islands/${e}.js`,selector:`[data-island="${e}"]`,needsData:!0}}function It(e,t){let n=new TextEncoder;return n.encode(e).byteLength+t.reduce((e,t)=>e+n.encode(t).byteLength,0)}function Lt(e,t){let n=[],r=t.registry??Z,i={colorScheme:e.colorScheme??t.colorScheme??`auto`,transport:t.transport,lang:e.lang,dir:e.dir},a=[...e.blocks??[]],o=[...a],s=[],c=[...e.actions??[]];if(e.template){let t=r.get(e.template);if(t)try{o=t.blocksFromData(e.data,i),t.actionsFromData&&(c=[...c,...t.actionsFromData(e.data)]),s=t.hydration.map(e=>Ft(e))}catch(t){let r=t instanceof Error?t.message:String(t);n.push({level:`error`,message:`Template ${e.template} failed: ${r}`}),o=a.length===0?P.blocksFromData({code:`TEMPLATE_RENDER_ERROR`,message:`Failed to render template ${e.template}`,details:r},i):[...a]}else n.push({level:`warn`,message:`Template not found: ${e.template}`})}let l=He(o,i),u=[S(o.map(e=>e.type))],d=t.nonce??Pt(),f=e.metadata?.surfaceId??`surface-${d}`,p=s.length>0?JSON.stringify({data:e.data,blocks:o}):void 0,m=t.blockVendorScripts?[...new Set(o.flatMap(e=>t.blockVendorScripts?.[e.type]??[]))]:void 0;return{surfaceId:f,nonce:d,html:l,css:u,vendorScripts:m&&m.length>0?m:void 0,islands:s,actions:c,payload:p,estimatedBytes:It(l,u),exportPolicy:s.length>0?`local-interactive`:`static-only`,diagnostics:n.length>0?n:void 0}}function Rt(e){return e===`up`||e===`down`||e===`neutral`}function $(e){return typeof e==`object`&&!!e}function zt(e){return!$(e)||!Array.isArray(e.metrics)?{metrics:[]}:{metrics:e.metrics.flatMap(e=>{if(!$(e)||typeof e.label!=`string`||typeof e.value!=`string`&&typeof e.value!=`number`)return[];let t=$(e.trend)&&typeof e.trend.value==`string`&&Rt(e.trend.direction)?{value:e.trend.value,direction:e.trend.direction}:void 0,n=Array.isArray(e.items)?e.items.flatMap(e=>!$(e)||typeof e.label!=`string`||typeof e.value!=`string`?[]:[{label:e.label,value:e.value}]):void 0;return[{id:typeof e.id==`string`?e.id:void 0,label:e.label,value:e.value,trend:t,status:e.status===`success`||e.status===`warning`||e.status===`error`||e.status===`info`?e.status:void 0,type:e.type===`progress`||e.type===`list`||e.type===`stat`?e.type:void 0,progress:typeof e.progress==`number`?qt(e.progress):void 0,items:n}]})}}function Bt(e){let t=e.type===`progress`&&typeof e.progress==`number`?`${e.progress}%`:void 0;return{label:e.label,value:e.value,trend:e.trend?.value??t,status:e.status}}function Vt(e){return e.type!==`progress`||typeof e.progress!=`number`?null:{label:e.label,value:qt(e.progress),max:100}}function Ht(e){return $(e)?{columns:Array.isArray(e.columns)?e.columns.flatMap(e=>!$(e)||typeof e.id!=`string`||typeof e.label!=`string`?[]:[{id:e.id,label:e.label}]):[],cards:Array.isArray(e.cards)?e.cards.flatMap(e=>!$(e)||typeof e.id!=`string`||typeof e.title!=`string`||typeof e.column!=`string`?[]:[{id:e.id,title:e.title,description:typeof e.description==`string`?e.description:void 0,column:e.column,tags:Array.isArray(e.tags)?e.tags.filter(e=>typeof e==`string`):void 0,priority:e.priority===`high`||e.priority===`medium`||e.priority===`low`?e.priority:void 0}]):[]}:{columns:[],cards:[]}}function Ut(e){return{title:e.title,description:e.description,badge:e.priority,body:e.tags?.join(`, `),status:e.priority}}function Wt(e){return!$(e)||!Array.isArray(e.items)?[]:e.items.flatMap(e=>!$(e)||typeof e.id!=`string`||typeof e.label!=`string`?[]:[{id:e.id,label:e.label}])}function Gt(e){return $(e)?{name:typeof e.name==`string`?e.name:``,total:typeof e.total==`number`?e.total:typeof e.value==`number`?e.value:0,self:typeof e.self==`number`?e.self:void 0,children:Array.isArray(e.children)?e.children.map(e=>Gt(e)):[]}:{name:``,total:0,children:[]}}function Kt(e){return{name:e.self==null?`${e.name} (${e.total})`:`${e.name} (${e.total} total / ${e.self} self)`,children:(e.children??[]).map(Kt)}}function qt(e){return Math.max(0,Math.min(100,e))}function Jt(e){let t=zt(e),n=[];t.metrics.length>0&&n.push({type:`metrics`,value:t.metrics.map(Bt)});let r=t.metrics.map(Vt).filter(e=>e!==null);r.length>0&&n.push({type:`progress`,value:r});for(let e of t.metrics)e.type===`list`&&e.items&&e.items.length>0&&(n.push({type:`heading`,value:e.label}),n.push({type:`table`,value:e.items}));return n}function Yt(e){let t=Ht(e),n=[];for(let e of t.columns){let r=t.cards.filter(t=>t.column===e.id);n.push({type:`heading`,value:e.label}),n.push({type:`cards`,value:r.map(Ut)})}return n}function Xt(e){let t=Wt(e);return t.length===0?[]:[{type:`cards`,value:t.map((e,t)=>({title:e.label,body:e.id,badge:`#${t+1}`}))}]}function Zt(e){return!$(e)||!$(e.profile)?[]:[{type:`tree`,value:Kt(Gt(e.profile))}]}const Qt={id:`dashboard@1`,label:`Dashboard`,description:`Metric cards grid with optional charts.`,inputSchema:{type:`object`,properties:{metrics:{type:`array`,items:{type:`object`,required:[`label`,`value`],properties:{id:{type:`string`},label:{type:`string`},value:{type:[`string`,`number`]},trend:{type:`object`,properties:{value:{type:`string`},direction:{enum:[`up`,`down`,`neutral`]}},required:[`value`,`direction`],additionalProperties:!1},status:{enum:[`success`,`warning`,`error`,`info`]},type:{enum:[`stat`,`progress`,`list`]},progress:{type:`number`},items:{type:`array`,items:{type:`object`,required:[`label`,`value`],properties:{label:{type:`string`},value:{type:`string`}},additionalProperties:!1}}},additionalProperties:!1}}},required:[`metrics`],additionalProperties:!1},defaultLayout:{maxWidth:`1200px`},blocksFromData:e=>Jt(e),hydration:[],supportedTransports:[`mcp-app`,`browser`]},$t={id:`kanban@1`,label:`Kanban`,description:`Drag-and-drop task board grouped by columns.`,inputSchema:{type:`object`,properties:{columns:{type:`array`,items:{type:`object`,required:[`id`,`label`],properties:{id:{type:`string`},label:{type:`string`},color:{type:`string`}},additionalProperties:!1}},cards:{type:`array`,items:{type:`object`,required:[`id`,`title`,`column`],properties:{id:{type:`string`},title:{type:`string`},description:{type:`string`},column:{type:`string`},tags:{type:`array`,items:{type:`string`}},priority:{enum:[`high`,`medium`,`low`]}},additionalProperties:!1}}},required:[`columns`,`cards`],additionalProperties:!1},defaultLayout:{maxWidth:`1400px`},blocksFromData:e=>Yt(e),hydration:[],supportedTransports:[`browser`]},en={id:`list-sort@1`,label:`Sortable List`,description:`Reorderable list of items with browser drag-and-drop interactions.`,inputSchema:{type:`object`,properties:{items:{type:`array`,items:{type:`object`,required:[`id`,`label`],properties:{id:{type:`string`},label:{type:`string`}},additionalProperties:!1}}},required:[`items`],additionalProperties:!1},defaultLayout:{maxWidth:`720px`},blocksFromData:e=>Xt(e),hydration:[],supportedTransports:[`browser`]},tn={id:`flame-graph@1`,label:`Flame Graph`,description:`Hierarchical performance profile with interactive zoom state.`,inputSchema:{type:`object`,properties:{profile:{type:`object`}},required:[`profile`],additionalProperties:!1},defaultLayout:{maxWidth:`1200px`},blocksFromData:e=>Zt(e),hydration:[],supportedTransports:[`browser`]};function nn(e){return e.replace(/</g,`\\u003c`).replace(/>/g,`\\u003e`).replace(/&/g,`\\u0026`).replace(/\u2028/g,`\\u2028`).replace(/\u2029/g,`\\u2029`)}function rn(e,t){let n=[`
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
color: var(--dt-text-primary);
|
|
734
|
-
font-family: var(--dt-font-sans);
|
|
1276
|
+
`)}const D={header:`aikit-header`,brand:`aikit-header-brand`,title:`aikit-header-title`,titleText:`aikit-header-title-text`,subtitle:`aikit-header-subtitle`,actions:`aikit-header-actions`,themeToggle:`aikit-theme-toggle`,themeToggleIcon:`aikit-theme-toggle-icon`,themeToggleIconSun:`aikit-theme-toggle-icon--sun`,themeToggleIconMoon:`aikit-theme-toggle-icon--moon`,toolbox:`aikit-toolbox`,toolboxToggle:`aikit-toolbox-toggle`,toolboxMenu:`aikit-toolbox-menu`,toolboxItem:`aikit-toolbox-item`,footer:`aikit-footer`,footerMeta:`aikit-footer-meta`,footerText:`aikit-footer-text`,footerBrand:`aikit-footer-brand`,footerTimestamp:`aikit-footer-timestamp`,footerSlot:`aikit-footer-slot`,footerBadge:`aikit-footer-badge`};function ft(e){return e===`browser`?[` <div class="${D.toolbox}">`,` <button type="button" class="${D.toolboxToggle}" aria-label="Open tools menu" aria-haspopup="menu" aria-expanded="false" aria-controls="aikit-toolbox-menu" onclick="toggleToolbox()">`,` <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"/></svg>`,` </button>`,` <div id="aikit-toolbox-menu" class="${D.toolboxMenu}" role="menu" hidden>`,` <button type="button" class="${D.toolboxItem}" role="menuitem" onclick="screenshotPage()">`,` <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"/><circle cx="12" cy="13" r="4"/></svg>`,` <span>Screenshot</span>`,` </button>`,` </div>`,` </div>`].join(`
|
|
1277
|
+
`):``}function O(e){return e?.trim()?e.trim():``}function pt(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?{display:e}:{dateTime:t.toISOString(),display:new Intl.DateTimeFormat(void 0,{month:`long`,day:`numeric`,year:`numeric`,hour:`numeric`,minute:`2-digit`}).format(t)}}function mt(e){let t=e.brand??`AI KIT`,r=[O(e.actionsHtml),ft(e.transport),e.showThemeToggle===!1?``:[` <button type="button" class="${D.themeToggle}" aria-label="Switch to dark theme" aria-pressed="false" onclick="toggleTheme()">`,` <span class="${D.themeToggleIcon} ${D.themeToggleIconSun}" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></span>`,` <span class="${D.themeToggleIcon} ${D.themeToggleIconMoon}" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/></svg></span>`,` </button>`].join(`
|
|
1278
|
+
`)].filter(Boolean).join(`
|
|
1279
|
+
`);return[` <header class="${D.header}">`,` <div class="${D.brand}">${n(t)}</div>`,` <div class="${D.title}">`,` <span class="${D.titleText}">${n(e.title)}</span>`,...e.subtitle?[` <span class="${D.subtitle}">${n(e.subtitle)}</span>`]:[],` </div>`,` <div class="${D.actions}">`,r,` </div>`,` </header>`].join(`
|
|
1280
|
+
`)}function ht(e={}){let t=pt(e.generatedAt),r=t?[`Generated by `,`<span class="${D.footerBrand}">AI KIT</span>`,` at `,t.dateTime?`<time class="${D.footerTimestamp}" datetime="${n(t.dateTime)}">${n(t.display)}</time>`:`<span class="${D.footerTimestamp}">${n(t.display)}</span>`].join(``):`Generated by <span class="${D.footerBrand}">AI KIT</span>`,i=O(e.contentHtml);return[` <footer class="${D.footer}">`,` <div class="${D.footerMeta}">`,` <span class="${D.footerText}">${r}</span>`,...i?[` <span class="${D.footerSlot}">${i}</span>`]:[],` </div>`,` </footer>`].join(`
|
|
1281
|
+
`)}const gt=`
|
|
1282
|
+
.aikit-header,
|
|
1283
|
+
.aikit-toolbox-menu,
|
|
1284
|
+
.aikit-footer {
|
|
1285
|
+
--aikit-background: var(--background, var(--dt-bg-primary));
|
|
1286
|
+
--aikit-foreground: var(--foreground, var(--dt-text-primary));
|
|
1287
|
+
--aikit-muted: var(--muted, var(--dt-bg-secondary));
|
|
1288
|
+
--aikit-muted-foreground: var(--muted-foreground, var(--dt-text-secondary));
|
|
1289
|
+
--aikit-border: var(--border, var(--dt-border-default));
|
|
1290
|
+
--aikit-accent: var(--accent, var(--dt-accent-subtle));
|
|
1291
|
+
--aikit-accent-foreground: var(--accent-foreground, var(--dt-accent-fg));
|
|
1292
|
+
--aikit-card: var(--card, var(--dt-bg-secondary));
|
|
1293
|
+
--aikit-card-foreground: var(--card-foreground, var(--dt-text-primary));
|
|
735
1294
|
}
|
|
736
1295
|
|
|
737
1296
|
.aikit-header {
|
|
@@ -742,32 +1301,58 @@ body {
|
|
|
742
1301
|
align-items: center;
|
|
743
1302
|
justify-content: space-between;
|
|
744
1303
|
gap: var(--dt-space-4);
|
|
1304
|
+
min-height: 3.5rem;
|
|
745
1305
|
padding: var(--dt-space-2) var(--dt-space-4);
|
|
746
|
-
border-bottom: 1px solid var(--
|
|
747
|
-
background: color-mix(in srgb, var(--
|
|
748
|
-
backdrop-filter: blur(
|
|
1306
|
+
border-bottom: 1px solid var(--aikit-border);
|
|
1307
|
+
background: color-mix(in srgb, var(--aikit-background) 88%, transparent);
|
|
1308
|
+
backdrop-filter: blur(8px);
|
|
749
1309
|
}
|
|
750
1310
|
|
|
751
1311
|
.aikit-header-brand,
|
|
752
1312
|
.aikit-header-actions {
|
|
753
|
-
flex: 0 0
|
|
1313
|
+
flex: 0 0 auto;
|
|
1314
|
+
min-width: 0;
|
|
754
1315
|
}
|
|
755
1316
|
|
|
756
1317
|
.aikit-header-brand {
|
|
757
|
-
|
|
1318
|
+
display: flex;
|
|
1319
|
+
align-items: center;
|
|
1320
|
+
color: var(--aikit-muted-foreground);
|
|
1321
|
+
font-family: var(--dt-font-mono);
|
|
758
1322
|
font-size: var(--dt-font-size-sm);
|
|
759
|
-
font-weight:
|
|
760
|
-
letter-spacing: 0.
|
|
1323
|
+
font-weight: 600;
|
|
1324
|
+
letter-spacing: 0.12em;
|
|
761
1325
|
text-transform: uppercase;
|
|
762
1326
|
}
|
|
763
1327
|
|
|
764
1328
|
.aikit-header-title {
|
|
765
1329
|
flex: 1 1 auto;
|
|
766
1330
|
min-width: 0;
|
|
767
|
-
|
|
1331
|
+
display: flex;
|
|
1332
|
+
align-items: baseline;
|
|
1333
|
+
gap: var(--dt-space-2);
|
|
1334
|
+
justify-content: flex-start;
|
|
1335
|
+
min-height: 0;
|
|
1336
|
+
}
|
|
1337
|
+
|
|
1338
|
+
.aikit-header-title-text {
|
|
1339
|
+
min-width: 0;
|
|
1340
|
+
flex: 1 1 auto;
|
|
1341
|
+
color: var(--aikit-foreground);
|
|
768
1342
|
font-size: var(--dt-font-size-lg);
|
|
769
1343
|
font-weight: 600;
|
|
770
|
-
|
|
1344
|
+
line-height: 1.2;
|
|
1345
|
+
white-space: nowrap;
|
|
1346
|
+
overflow: hidden;
|
|
1347
|
+
text-overflow: ellipsis;
|
|
1348
|
+
}
|
|
1349
|
+
|
|
1350
|
+
.aikit-header-subtitle {
|
|
1351
|
+
flex: 0 1 auto;
|
|
1352
|
+
min-width: 0;
|
|
1353
|
+
color: var(--aikit-muted-foreground);
|
|
1354
|
+
font-size: var(--dt-font-size-sm);
|
|
1355
|
+
line-height: 1.2;
|
|
771
1356
|
white-space: nowrap;
|
|
772
1357
|
overflow: hidden;
|
|
773
1358
|
text-overflow: ellipsis;
|
|
@@ -776,8 +1361,13 @@ body {
|
|
|
776
1361
|
.aikit-header-actions {
|
|
777
1362
|
display: flex;
|
|
778
1363
|
align-items: center;
|
|
779
|
-
gap: var(--dt-space-2);
|
|
780
1364
|
justify-content: flex-end;
|
|
1365
|
+
gap: var(--dt-space-2);
|
|
1366
|
+
min-width: max-content;
|
|
1367
|
+
}
|
|
1368
|
+
|
|
1369
|
+
.aikit-header-actions > * {
|
|
1370
|
+
flex: 0 0 auto;
|
|
781
1371
|
}
|
|
782
1372
|
|
|
783
1373
|
.aikit-toolbox {
|
|
@@ -789,35 +1379,66 @@ body {
|
|
|
789
1379
|
display: inline-flex;
|
|
790
1380
|
align-items: center;
|
|
791
1381
|
justify-content: center;
|
|
792
|
-
|
|
793
|
-
|
|
1382
|
+
position: relative;
|
|
1383
|
+
width: 2.5rem;
|
|
1384
|
+
height: 2.5rem;
|
|
794
1385
|
padding: 0;
|
|
795
|
-
border: 1px solid var(--
|
|
796
|
-
border-radius:
|
|
797
|
-
background: var(--
|
|
798
|
-
color: var(--
|
|
799
|
-
box-shadow: var(--dt-shadow-sm);
|
|
1386
|
+
border: 1px solid var(--aikit-border);
|
|
1387
|
+
border-radius: 999px;
|
|
1388
|
+
background: var(--aikit-card);
|
|
1389
|
+
color: var(--aikit-card-foreground);
|
|
800
1390
|
cursor: pointer;
|
|
801
1391
|
font: inherit;
|
|
802
1392
|
transition:
|
|
803
1393
|
background var(--dt-transition-fast),
|
|
804
1394
|
border-color var(--dt-transition-fast),
|
|
805
1395
|
color var(--dt-transition-fast),
|
|
806
|
-
|
|
1396
|
+
transform var(--dt-transition-fast);
|
|
807
1397
|
}
|
|
808
1398
|
|
|
809
1399
|
.aikit-theme-toggle:hover,
|
|
810
1400
|
.aikit-toolbox-toggle:hover {
|
|
811
|
-
background: var(--
|
|
1401
|
+
background: var(--aikit-muted);
|
|
812
1402
|
}
|
|
813
1403
|
|
|
814
1404
|
.aikit-theme-toggle:focus-visible,
|
|
815
1405
|
.aikit-toolbox-toggle:focus-visible,
|
|
816
1406
|
.aikit-toolbox-item:focus-visible {
|
|
817
|
-
outline: 2px solid var(--
|
|
1407
|
+
outline: 2px solid var(--aikit-accent-foreground);
|
|
818
1408
|
outline-offset: 2px;
|
|
819
1409
|
}
|
|
820
1410
|
|
|
1411
|
+
.aikit-theme-toggle-icon {
|
|
1412
|
+
position: absolute;
|
|
1413
|
+
inset: 0;
|
|
1414
|
+
display: inline-flex;
|
|
1415
|
+
align-items: center;
|
|
1416
|
+
justify-content: center;
|
|
1417
|
+
transition:
|
|
1418
|
+
opacity var(--dt-transition-normal),
|
|
1419
|
+
transform var(--dt-transition-normal);
|
|
1420
|
+
}
|
|
1421
|
+
|
|
1422
|
+
.aikit-theme-toggle-icon--sun {
|
|
1423
|
+
opacity: 1;
|
|
1424
|
+
transform: scale(1) rotate(0deg);
|
|
1425
|
+
}
|
|
1426
|
+
|
|
1427
|
+
.aikit-theme-toggle-icon--moon {
|
|
1428
|
+
opacity: 0;
|
|
1429
|
+
transform: scale(0.65) rotate(-40deg);
|
|
1430
|
+
}
|
|
1431
|
+
|
|
1432
|
+
html[data-theme='dark'] .aikit-theme-toggle-icon--sun {
|
|
1433
|
+
opacity: 0;
|
|
1434
|
+
transform: scale(0.65) rotate(40deg);
|
|
1435
|
+
}
|
|
1436
|
+
|
|
1437
|
+
html[data-theme='dark'] .aikit-theme-toggle-icon--moon {
|
|
1438
|
+
opacity: 1;
|
|
1439
|
+
transform: scale(1) rotate(0deg);
|
|
1440
|
+
}
|
|
1441
|
+
|
|
821
1442
|
.aikit-toolbox-menu {
|
|
822
1443
|
position: absolute;
|
|
823
1444
|
top: calc(100% + var(--dt-space-2));
|
|
@@ -826,9 +1447,9 @@ body {
|
|
|
826
1447
|
display: grid;
|
|
827
1448
|
gap: var(--dt-space-1);
|
|
828
1449
|
padding: var(--dt-space-2);
|
|
829
|
-
border: 1px solid var(--
|
|
830
|
-
border-radius: var(--dt-radius-
|
|
831
|
-
background: var(--
|
|
1450
|
+
border: 1px solid var(--aikit-border);
|
|
1451
|
+
border-radius: var(--dt-radius-lg);
|
|
1452
|
+
background: var(--aikit-background);
|
|
832
1453
|
box-shadow: var(--dt-shadow-lg);
|
|
833
1454
|
z-index: 120;
|
|
834
1455
|
}
|
|
@@ -842,66 +1463,88 @@ body {
|
|
|
842
1463
|
align-items: center;
|
|
843
1464
|
gap: var(--dt-space-2);
|
|
844
1465
|
width: 100%;
|
|
845
|
-
min-height: 2.
|
|
1466
|
+
min-height: 2.5rem;
|
|
846
1467
|
padding: 0 var(--dt-space-3);
|
|
847
1468
|
border: 1px solid transparent;
|
|
848
1469
|
border-radius: var(--dt-radius-sm);
|
|
849
1470
|
background: transparent;
|
|
850
|
-
color: var(--
|
|
1471
|
+
color: var(--aikit-foreground);
|
|
851
1472
|
cursor: pointer;
|
|
852
1473
|
font: inherit;
|
|
853
1474
|
text-align: left;
|
|
854
1475
|
}
|
|
855
1476
|
|
|
856
1477
|
.aikit-toolbox-item:hover {
|
|
857
|
-
background: var(--
|
|
858
|
-
border-color: var(--
|
|
1478
|
+
background: var(--aikit-muted);
|
|
1479
|
+
border-color: var(--aikit-border);
|
|
859
1480
|
}
|
|
860
1481
|
|
|
861
1482
|
.aikit-toolbox-item svg {
|
|
862
1483
|
flex: 0 0 auto;
|
|
863
1484
|
}
|
|
864
1485
|
|
|
865
|
-
main {
|
|
866
|
-
flex: 1;
|
|
867
|
-
width: 100%;
|
|
868
|
-
max-width: 100%;
|
|
869
|
-
padding: var(--dt-space-8) var(--dt-space-4);
|
|
870
|
-
}
|
|
871
|
-
|
|
872
1486
|
.aikit-footer {
|
|
873
1487
|
margin-top: auto;
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
1488
|
+
display: flex;
|
|
1489
|
+
align-items: center;
|
|
1490
|
+
justify-content: center;
|
|
1491
|
+
padding: var(--dt-space-4) var(--dt-space-4) var(--dt-space-6);
|
|
1492
|
+
border-top: 1px solid var(--aikit-border);
|
|
1493
|
+
color: var(--aikit-muted-foreground);
|
|
877
1494
|
font-size: var(--dt-font-size-xs);
|
|
1495
|
+
}
|
|
1496
|
+
|
|
1497
|
+
.aikit-footer-meta {
|
|
1498
|
+
display: inline-flex;
|
|
1499
|
+
align-items: center;
|
|
1500
|
+
justify-content: center;
|
|
1501
|
+
gap: var(--dt-space-2);
|
|
1502
|
+
flex-wrap: wrap;
|
|
878
1503
|
text-align: center;
|
|
879
1504
|
}
|
|
880
1505
|
|
|
1506
|
+
.aikit-footer-text {
|
|
1507
|
+
display: inline-flex;
|
|
1508
|
+
align-items: center;
|
|
1509
|
+
justify-content: center;
|
|
1510
|
+
gap: 0.35rem;
|
|
1511
|
+
min-width: 0;
|
|
1512
|
+
}
|
|
1513
|
+
|
|
1514
|
+
.aikit-footer-brand {
|
|
1515
|
+
color: var(--aikit-foreground);
|
|
1516
|
+
font-family: var(--dt-font-mono);
|
|
1517
|
+
font-weight: 600;
|
|
1518
|
+
letter-spacing: 0.08em;
|
|
1519
|
+
text-transform: uppercase;
|
|
1520
|
+
}
|
|
1521
|
+
|
|
1522
|
+
.aikit-footer-timestamp,
|
|
1523
|
+
.aikit-footer-slot {
|
|
1524
|
+
min-width: 0;
|
|
1525
|
+
}
|
|
1526
|
+
|
|
1527
|
+
.aikit-footer-slot {
|
|
1528
|
+
display: inline-flex;
|
|
1529
|
+
align-items: center;
|
|
1530
|
+
gap: 0.35rem;
|
|
1531
|
+
}
|
|
1532
|
+
|
|
881
1533
|
@supports not (background: color-mix(in srgb, white 50%, transparent)) {
|
|
882
1534
|
.aikit-header {
|
|
883
|
-
background: var(--
|
|
1535
|
+
background: var(--aikit-background);
|
|
884
1536
|
}
|
|
885
1537
|
}
|
|
886
1538
|
|
|
887
1539
|
@media (max-width: 640px) {
|
|
888
|
-
.aikit-header {
|
|
889
|
-
|
|
890
|
-
}
|
|
891
|
-
|
|
892
|
-
.aikit-header-brand,
|
|
893
|
-
.aikit-header-actions,
|
|
894
|
-
.aikit-header-title {
|
|
895
|
-
flex: 1 1 100%;
|
|
896
|
-
}
|
|
897
|
-
|
|
898
|
-
.aikit-header-title {
|
|
899
|
-
order: 3;
|
|
900
|
-
text-align: left;
|
|
1540
|
+
.aikit-header-brand {
|
|
1541
|
+
display: none;
|
|
901
1542
|
}
|
|
902
1543
|
|
|
903
|
-
.aikit-header
|
|
904
|
-
|
|
1544
|
+
.aikit-header {
|
|
1545
|
+
gap: var(--dt-space-2);
|
|
1546
|
+
padding-left: var(--dt-space-3);
|
|
1547
|
+
padding-right: var(--dt-space-3);
|
|
905
1548
|
}
|
|
906
1549
|
|
|
907
1550
|
.aikit-toolbox-menu {
|
|
@@ -913,6 +1556,15 @@ main {
|
|
|
913
1556
|
}
|
|
914
1557
|
|
|
915
1558
|
@media (max-width: 400px) {
|
|
1559
|
+
.aikit-header-actions {
|
|
1560
|
+
gap: var(--dt-space-1);
|
|
1561
|
+
}
|
|
1562
|
+
|
|
1563
|
+
.aikit-footer {
|
|
1564
|
+
padding-left: var(--dt-space-3);
|
|
1565
|
+
padding-right: var(--dt-space-3);
|
|
1566
|
+
}
|
|
1567
|
+
|
|
916
1568
|
.aikit-toolbox-menu {
|
|
917
1569
|
position: fixed;
|
|
918
1570
|
top: auto;
|
|
@@ -925,19 +1577,44 @@ main {
|
|
|
925
1577
|
box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.15);
|
|
926
1578
|
}
|
|
927
1579
|
}
|
|
928
|
-
|
|
1580
|
+
`,_t={actions:p,cards:te,chart:ne,checklist:re,code:ie,comparison:oe,"component-detail":pe,"data-table-schema":ve,"docs-browser":be,"docs-hub":we,finding:Ee,graph:De,heading:Oe,"lifecycle-flow":Ie,markdown:Ve,mermaid:He,metrics:We,paragraph:Ge,progress:qe,prompt:Ye,separator:Xe,"status-board":Qe,table:tt,tags:rt,text:it,timeline:at,tree:ot};function vt(e,t){let r={...e,value:o(e.value)},i=_t[r.type],a=i?i(r,t):bt(r);return r.title&&![`heading`,`finding`].includes(r.type)?`<section class="bk-section bk-section--${n(r.type)}"><h3 class="bk-section-title">${n(r.title)}</h3>${a}</section>`:a}function yt(e,t){return e.map(e=>vt(e,t)).join(`
|
|
1581
|
+
`)}function bt(e){if(e.value===void 0||e.value===null)return``;if(typeof e.value==`string`)return`<p class="bk-paragraph">${n(e.value)}</p>`;try{return`<pre class="bk-fallback">${n(JSON.stringify(e.value,null,2))}</pre>`}catch{return`<pre class="bk-fallback">${n(String(e.value))}</pre>`}}var xt=class{templates=new Map;register(e){this.templates.set(e.id,e)}get(e){let t=this.templates.get(e);if(t)return t;let n=e.includes(`@`)?e:`${e}@`,r,i=-1;for(let[e,t]of this.templates){if(!e.startsWith(n))continue;let a=Number.parseInt(e.split(`@`)[1]??`0`,10);a>i&&(i=a,r=t)}return r}has(e){return this.get(e)!==void 0}list(){return[...this.templates.values()]}};const St=[`mcp-app`,`browser`];function k(e){return typeof e==`object`&&!!e}function Ct(e){return Array.isArray(e)?e.flatMap(e=>!k(e)||typeof e.label!=`string`?[]:[{label:e.label,checked:!!e.checked}]):[]}const A={id:`checklist@1`,label:`Checklist`,description:`Checklist with optional title and form hydration metadata.`,inputSchema:{type:`object`,properties:{title:{type:`string`},items:{type:`array`,items:{type:`object`,required:[`label`,`checked`],properties:{label:{type:`string`},checked:{type:`boolean`}},additionalProperties:!1}}},required:[`items`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=[],n=k(e)&&typeof e.title==`string`?e.title:void 0,r=k(e)?Ct(e.items):[];return n&&t.push({type:`heading`,value:n}),t.push({type:`checklist`,value:r}),t},hydration:[`form`],supportedTransports:St},wt=[`mcp-app`,`browser`,`export`];function j(e){return typeof e==`object`&&!!e}function Tt(e){return j(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function Et(e){return j(e)&&typeof e.key==`string`&&typeof e.label==`string`}function Dt(e){return Array.isArray(e)?e.filter(j):[]}function Ot(e,t){if(Array.isArray(e)){let t=e.filter(Et);if(t.length>0)return t}return Object.keys(t[0]??{}).map(e=>({key:e,label:e}))}const M={id:`data-table@1`,label:`Data Table`,description:`Static data table with optional metrics and sortable table hydration.`,inputSchema:{type:`object`,properties:{columns:{type:`array`,items:{type:`object`,required:[`key`,`label`],properties:{key:{type:`string`},label:{type:`string`}},additionalProperties:!1}},rows:{type:`array`,items:{type:`object`}},stats:{type:`array`,items:{type:`object`,required:[`label`,`value`],properties:{label:{type:`string`},value:{type:[`string`,`number`]},trend:{type:[`string`,`number`]},status:{type:`string`}},additionalProperties:!1}}},required:[`rows`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=j(e)?Dt(e.rows):[],n=j(e)?Ot(e.columns,t):[],r=n.map(e=>e.label),i=t.map(e=>n.map(t=>e[t.key])),a=[];if(j(e)&&Array.isArray(e.stats)){let t=e.stats.filter(Tt);t.length>0&&a.push({type:`metrics`,value:t})}return a.push({type:`table`,columns:n,headers:r,rows:i,value:{headers:r,rows:i}}),a},hydration:[`table`],supportedTransports:wt},kt=[`mcp-app`,`browser`,`export`];function N(e){return typeof e==`object`&&!!e}function At(e){return Array.isArray(e)?e.flatMap(e=>!N(e)||typeof e.type!=`string`||typeof e.content!=`string`?[]:[{type:e.type,content:e.content}]):[]}function jt(e){return Array.isArray(e)?e.flatMap(e=>!N(e)||typeof e.header!=`string`?[]:[{header:e.header,changes:At(e.changes)}]):[]}function Mt(e){return!N(e)||!Array.isArray(e.files)?[]:e.files.flatMap(e=>!N(e)||typeof e.path!=`string`||typeof e.status!=`string`?[]:[{path:e.path,status:e.status,additions:typeof e.additions==`number`?e.additions:0,deletions:typeof e.deletions==`number`?e.deletions:0,hunks:jt(e.hunks)}])}function Nt(e){return e===`add`?`+`:e===`delete`?`-`:` `}function Pt(e){let t=e.hunks.flatMap(e=>[e.header,...e.changes.map(e=>`${Nt(e.type)}${e.content}`)]).join(`
|
|
1582
|
+
`);return[{type:`heading`,value:e.path},{type:`paragraph`,value:`${e.status} | +${e.additions} / -${e.deletions}`},{type:`code`,language:`diff`,value:t}]}const P={id:`diff-view@1`,label:`Diff View`,description:`Static diff summary rendered as per-file diff code blocks.`,inputSchema:{type:`object`,properties:{files:{type:`array`,items:{type:`object`,required:[`path`,`status`,`additions`,`deletions`,`hunks`],properties:{path:{type:`string`},status:{type:`string`},additions:{type:`number`},deletions:{type:`number`},hunks:{type:`array`,items:{type:`object`,required:[`header`,`changes`],properties:{header:{type:`string`},changes:{type:`array`,items:{type:`object`,required:[`type`,`content`],properties:{type:{type:`string`},content:{type:`string`}},additionalProperties:!1}}},additionalProperties:!1}}},additionalProperties:!1}}},required:[`files`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>Mt(e).flatMap(Pt),hydration:[],supportedTransports:kt},Ft=[`mcp-app`,`browser`,`export`];function F(e){return typeof e==`object`&&!!e}function It(e){return F(e)&&typeof e.type==`string`}function Lt(e){return Array.isArray(e)&&e.every(It)}function Rt(e){if(!F(e))return{sections:[]};let t=Array.isArray(e.sections)?e.sections.flatMap(e=>{if(!F(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||Lt(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[];return{title:typeof e.title==`string`?e.title:void 0,sections:t}}function zt(e){let t=[{type:`heading`,value:e.heading}];return typeof e.content==`string`?(t.push({type:`paragraph`,value:e.content}),t):(t.push(...e.content),t)}const I={id:`document@1`,label:`Document`,description:`Structured document with optional title and section content blocks.`,inputSchema:{type:`object`,properties:{title:{type:`string`},sections:{type:`array`,items:{type:`object`,additionalProperties:!1,required:[`heading`,`content`],properties:{heading:{type:`string`},content:{oneOf:[{type:`string`},{type:`array`,items:{type:`object`}}]}}}}},required:[`sections`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=Rt(e),n=[];t.title&&n.push({type:`heading`,value:t.title});for(let e of t.sections)n.push(...zt(e));return n},hydration:[],supportedTransports:Ft},Bt=[`mcp-app`,`browser`,`export`];function Vt(e){return typeof e==`object`&&!!e}function Ht(e){return Vt(e)?{code:typeof e.code==`string`?e.code:`ERROR`,message:typeof e.message==`string`?e.message:`Unknown error`,details:typeof e.details==`string`?e.details:void 0,stack:typeof e.stack==`string`?e.stack:void 0}:{code:`ERROR`,message:`Unknown error`}}const L={id:`error@1`,label:`Error`,description:`Static error view with message and optional stack trace.`,inputSchema:{type:`object`,properties:{code:{type:`string`},message:{type:`string`},details:{type:`string`},stack:{type:`string`}},required:[`code`,`message`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=Ht(e),n=[{type:`heading`,value:`Error`},{type:`code`,title:t.code,language:`text`,value:t.details?`${t.message}\n\n${t.details}`:t.message}];return t.stack&&n.push({type:`code`,title:`Stack Trace`,language:`text`,value:t.stack}),n},hydration:[],supportedTransports:Bt};function R(e){return typeof e==`object`&&!!e}function z(e){return e.replace(/\|/g,`\\|`).replace(/\r?\n/g,` `)}function Ut(e){return Array.isArray(e)?e.flatMap(e=>!R(e)||typeof e.name!=`string`||typeof e.label!=`string`?[]:[{name:e.name,label:e.label,type:typeof e.type==`string`?e.type:void 0,options:Array.isArray(e.options)?e.options.filter(e=>typeof e==`string`):void 0,value:typeof e.value==`string`?e.value:void 0}]):[]}function Wt(e){let t=[`| Label | Name | Type | Options | Value |`,`| --- | --- | --- | --- | --- |`];for(let n of e)t.push(`| ${z(n.label)} | ${z(n.name)} | ${z(n.type??`text`)} | ${z((n.options??[]).join(`, `))} | ${z(n.value??``)} |`);return t.join(`
|
|
1583
|
+
`)}const B={id:`form@1`,label:`Form`,description:`Browser-only form template rendered as a heading and markdown field table.`,inputSchema:{type:`object`,properties:{title:{type:`string`},fields:{type:`array`,items:{type:`object`,required:[`name`,`label`],properties:{name:{type:`string`},label:{type:`string`},type:{type:`string`},options:{type:`array`,items:{type:`string`}},value:{type:`string`}},additionalProperties:!1}}},required:[`fields`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t={title:R(e)&&typeof e.title==`string`?e.title:`Form`,fields:R(e)?Ut(e.fields):[]};return[{type:`heading`,value:t.title},{type:`markdown`,value:Wt(t.fields)}]},hydration:[`form`],supportedTransports:[`browser`]},Gt=[`mcp-app`,`browser`];function V(e){return typeof e==`object`&&!!e}function Kt(e){if(!Array.isArray(e))return;let t=e.flatMap(e=>!V(e)||typeof e.id!=`string`||typeof e.label!=`string`?[]:[{id:e.id,label:e.label}]);return t.length>0?t:void 0}function qt(e){return Array.isArray(e)?e.flatMap(e=>!V(e)||typeof e.id!=`string`||typeof e.label!=`string`?[]:[{id:e.id,label:e.label,category:typeof e.category==`string`?e.category:void 0,tags:Array.isArray(e.tags)?e.tags.filter(e=>typeof e==`string`):void 0}]):[]}function Jt(e){return V(e)?{categories:Kt(e.categories),items:qt(e.items)}:{items:[]}}function H(e){return{title:e.label,body:e.id,description:e.tags&&e.tags.length>0?e.tags.join(`, `):void 0}}function U(e,t){return t.length===0?[]:[{type:`heading`,value:e},{type:`cards`,value:t.map(H)}]}const W={id:`picker@1`,label:`Picker`,description:`Grouped item picker rendered as cards with picker hydration metadata.`,inputSchema:{type:`object`,properties:{categories:{type:`array`,items:{type:`object`,required:[`id`,`label`],properties:{id:{type:`string`},label:{type:`string`}},additionalProperties:!1}},items:{type:`array`,items:{type:`object`,required:[`id`,`label`],properties:{id:{type:`string`},label:{type:`string`},category:{type:`string`},tags:{type:`array`,items:{type:`string`}}},additionalProperties:!1}}},required:[`items`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=Jt(e),n=[];if(t.categories&&t.categories.length>0){let e=new Set(t.categories.map(e=>e.id));for(let e of t.categories)n.push(...U(e.label,t.items.filter(t=>t.category===e.id)));let r=t.items.filter(t=>!t.category||!e.has(t.category));return n.push(...U(`Other`,r)),n}return t.items.length>0&&n.push({type:`cards`,value:t.items.map(H)}),n},hydration:[`picker`],supportedTransports:Gt},Yt=[`mcp-app`,`browser`,`export`];function G(e){return typeof e==`object`&&!!e}function Xt(e){return G(e)&&typeof e.type==`string`}function Zt(e){return Array.isArray(e)&&e.every(Xt)}function Qt(e){return G(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function $t(e){return Array.isArray(e)?e.flatMap(e=>{if(!G(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||Zt(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[]}function en(e){return Array.isArray(e)?e.flatMap(e=>G(e)?[{title:typeof e.title==`string`?e.title:void 0,value:e.value,headers:Array.isArray(e.headers)?e.headers.filter(e=>typeof e==`string`):void 0,rows:Array.isArray(e.rows)?e.rows.filter(e=>Array.isArray(e)):void 0}]:[]):[]}function tn(e){let t=[{type:`heading`,value:e.heading}];return typeof e.content==`string`?(t.push({type:`paragraph`,value:e.content}),t):(t.push(...e.content),t)}function nn(e){let t={type:`table`};return e.title&&(t.title=e.title),e.value!==void 0&&(t.value=e.value),e.headers&&(t.headers=e.headers),e.rows&&(t.rows=e.rows),t}const K={id:`report@1`,label:`Report`,description:`Static report with title, optional metrics, narrative sections, and tables.`,inputSchema:{type:`object`,properties:{title:{type:`string`},metrics:{type:`array`,items:{type:`object`,required:[`label`,`value`],properties:{label:{type:`string`},value:{type:[`string`,`number`]},trend:{type:[`string`,`number`]},status:{type:`string`}},additionalProperties:!1}},sections:{type:`array`,items:{type:`object`,required:[`heading`,`content`],properties:{heading:{type:`string`},content:{oneOf:[{type:`string`},{type:`array`,items:{type:`object`}}]}},additionalProperties:!1}},tables:{type:`array`,items:{type:`object`,properties:{title:{type:`string`},value:{},headers:{type:`array`,items:{type:`string`}},rows:{type:`array`,items:{type:`array`,items:{}}}},additionalProperties:!1}}},required:[`title`,`sections`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t={title:G(e)&&typeof e.title==`string`?e.title:`Report`,metrics:G(e)&&Array.isArray(e.metrics)?e.metrics.filter(Qt):void 0,sections:G(e)?$t(e.sections):[],tables:G(e)?en(e.tables):void 0},n=[{type:`heading`,value:t.title}];t.metrics&&t.metrics.length>0&&n.push({type:`metrics`,value:t.metrics});for(let e of t.sections)n.push(...tn(e));for(let e of t.tables??[])n.push(nn(e));return n},hydration:[],supportedTransports:Yt},rn=[`mcp-app`,`browser`,`export`];function q(e){return typeof e==`object`&&!!e}function an(e){return Array.isArray(e)?e.flatMap(e=>{if(!q(e)||typeof e.category!=`string`||!Array.isArray(e.items))return[];let t=e.items.flatMap(e=>!q(e)||typeof e.label!=`string`||typeof e.status!=`string`?[]:[{label:e.label,status:e.status,badge:typeof e.badge==`string`?e.badge:void 0}]);return[{category:e.category,items:t}]}):[]}function on(e){return e.map(e=>({title:e.label,status:e.status,badge:e.badge}))}const J={id:`status-board@1`,label:`Status Board`,description:`Static status board grouped into category headings and card collections.`,inputSchema:{type:`object`,properties:{categories:{type:`array`,items:{type:`object`,required:[`category`,`items`],properties:{category:{type:`string`},items:{type:`array`,items:{type:`object`,required:[`label`,`status`],properties:{label:{type:`string`},status:{type:`string`},badge:{type:`string`}},additionalProperties:!1}}},additionalProperties:!1}}},required:[`categories`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=q(e)?an(e.categories):[],n=[];for(let e of t)n.push({type:`heading`,value:e.category}),n.push({type:`cards`,value:on(e.items)});return n},hydration:[],supportedTransports:rn},sn=[`mcp-app`,`browser`,`export`];function cn(e){return typeof e==`object`&&!!e}function ln(e){return Array.isArray(e)?e.flatMap(e=>!cn(e)||typeof e.title!=`string`?[]:[{title:e.title,description:typeof e.description==`string`?e.description:void 0,timestamp:typeof e.timestamp==`string`?e.timestamp:void 0,status:typeof e.status==`string`?e.status:void 0}]):[]}function un(e){return Array.isArray(e)?{entries:ln(e)}:cn(e)?{entries:ln(e.entries),title:typeof e.title==`string`?e.title:void 0}:{entries:[]}}const dn={type:`array`,items:{type:`object`,required:[`title`],properties:{title:{type:`string`},description:{type:`string`},timestamp:{type:`string`},status:{type:`string`}},additionalProperties:!1}},fn={id:`timeline@1`,label:`Timeline`,description:`Static timeline events rendered as a timeline block.`,inputSchema:{oneOf:[dn,{type:`object`,properties:{title:{type:`string`},entries:dn},required:[`entries`],additionalProperties:!1}]},defaultLayout:{},blocksFromData:e=>{let{entries:t,title:n}=un(e),r=[];return n&&r.push({type:`heading`,value:n}),r.push({type:`timeline`,value:t}),r},hydration:[],supportedTransports:sn},pn=[`mcp-app`,`browser`,`export`];function Y(e){return typeof e==`object`&&!!e}function X(e){return Y(e)&&typeof e.label==`string`}function mn(e){return{name:e.label,children:Array.isArray(e.children)?e.children.filter(X).map(mn):[]}}function hn(e){if(!Y(e))return{};let t=e.root;return X(t)?mn(t):Y(t)?t:e}const gn={id:`tree@1`,label:`Tree`,description:`Static tree view data with optional tree hydration metadata.`,inputSchema:{oneOf:[{type:`object`,properties:{root:{type:`object`}},required:[`root`],additionalProperties:!0},{type:`object`,additionalProperties:!0}]},defaultLayout:{},blocksFromData:e=>[{type:`tree`,value:hn(e)}],hydration:[`tree`],supportedTransports:pn},Z=new xt;Z.register(A),Z.register(P),Z.register(I),Z.register(W),Z.register(K),Z.register(fn),Z.register(gn),Z.register(M),Z.register(L),Z.register(B),Z.register(J);let Q=0;function _n(){return Q=(Q+1)%(2**53-1),`${Date.now().toString(16).padStart(12,`0`).slice(-12)}${Q.toString(16).padStart(4,`0`).slice(-4)}${Array.from({length:8},()=>Math.floor(Math.random()*256).toString(16).padStart(2,`0`)).join(``)}`}function vn(e){return{id:e,version:1,entry:`@aikit/blocks-interactive/dist/islands/${e}.js`,selector:`[data-island="${e}"]`,needsData:!0}}function yn(e,t){let n=new TextEncoder;return n.encode(e).byteLength+t.reduce((e,t)=>e+n.encode(t).byteLength,0)}function bn(e,t){let n=[],r=t.registry??Z,i={colorScheme:e.colorScheme??t.colorScheme??`auto`,transport:t.transport,lang:e.lang,dir:e.dir},a=[...e.blocks??[]],o=[...a],s=[],c=[...e.actions??[]];if(e.template){let t=r.get(e.template);if(t)try{o=t.blocksFromData(e.data,i),t.actionsFromData&&(c=[...c,...t.actionsFromData(e.data)]),s=t.hydration.map(e=>vn(e))}catch(t){let r=t instanceof Error?t.message:String(t);n.push({level:`error`,message:`Template ${e.template} failed: ${r}`}),o=a.length===0?L.blocksFromData({code:`TEMPLATE_RENDER_ERROR`,message:`Failed to render template ${e.template}`,details:r},i):[...a]}else n.push({level:`warn`,message:`Template not found: ${e.template}`})}let l=yt(o,i),u=[C(o.map(e=>e.type))],d=t.nonce??_n(),f=e.metadata?.surfaceId??`surface-${d}`,ee=s.length>0?JSON.stringify({data:e.data,blocks:o}):void 0,p=t.blockVendorScripts?[...new Set(o.flatMap(e=>t.blockVendorScripts?.[e.type]??[]))]:void 0;return{surfaceId:f,nonce:d,html:l,css:u,vendorScripts:p&&p.length>0?p:void 0,islands:s,actions:c,payload:ee,estimatedBytes:yn(l,u),exportPolicy:s.length>0?`local-interactive`:`static-only`,diagnostics:n.length>0?n:void 0}}function xn(e){return e===`up`||e===`down`||e===`neutral`}function $(e){return typeof e==`object`&&!!e}function Sn(e){return!$(e)||!Array.isArray(e.metrics)?{metrics:[]}:{metrics:e.metrics.flatMap(e=>{if(!$(e)||typeof e.label!=`string`||typeof e.value!=`string`&&typeof e.value!=`number`)return[];let t=$(e.trend)&&typeof e.trend.value==`string`&&xn(e.trend.direction)?{value:e.trend.value,direction:e.trend.direction}:void 0,n=Array.isArray(e.items)?e.items.flatMap(e=>!$(e)||typeof e.label!=`string`||typeof e.value!=`string`?[]:[{label:e.label,value:e.value}]):void 0;return[{id:typeof e.id==`string`?e.id:void 0,label:e.label,value:e.value,trend:t,status:e.status===`success`||e.status===`warning`||e.status===`error`||e.status===`info`?e.status:void 0,type:e.type===`progress`||e.type===`list`||e.type===`stat`?e.type:void 0,progress:typeof e.progress==`number`?An(e.progress):void 0,items:n}]})}}function Cn(e){let t=e.type===`progress`&&typeof e.progress==`number`?`${e.progress}%`:void 0;return{label:e.label,value:e.value,trend:e.trend?.value??t,status:e.status}}function wn(e){return e.type!==`progress`||typeof e.progress!=`number`?null:{label:e.label,value:An(e.progress),max:100}}function Tn(e){return $(e)?{columns:Array.isArray(e.columns)?e.columns.flatMap(e=>!$(e)||typeof e.id!=`string`||typeof e.label!=`string`?[]:[{id:e.id,label:e.label}]):[],cards:Array.isArray(e.cards)?e.cards.flatMap(e=>!$(e)||typeof e.id!=`string`||typeof e.title!=`string`||typeof e.column!=`string`?[]:[{id:e.id,title:e.title,description:typeof e.description==`string`?e.description:void 0,column:e.column,tags:Array.isArray(e.tags)?e.tags.filter(e=>typeof e==`string`):void 0,priority:e.priority===`high`||e.priority===`medium`||e.priority===`low`?e.priority:void 0}]):[]}:{columns:[],cards:[]}}function En(e){return{title:e.title,description:e.description,badge:e.priority,body:e.tags?.join(`, `),status:e.priority}}function Dn(e){return!$(e)||!Array.isArray(e.items)?[]:e.items.flatMap(e=>!$(e)||typeof e.id!=`string`||typeof e.label!=`string`?[]:[{id:e.id,label:e.label}])}function On(e){return $(e)?{name:typeof e.name==`string`?e.name:``,total:typeof e.total==`number`?e.total:typeof e.value==`number`?e.value:0,self:typeof e.self==`number`?e.self:void 0,children:Array.isArray(e.children)?e.children.map(e=>On(e)):[]}:{name:``,total:0,children:[]}}function kn(e){return{name:e.self==null?`${e.name} (${e.total})`:`${e.name} (${e.total} total / ${e.self} self)`,children:(e.children??[]).map(kn)}}function An(e){return Math.max(0,Math.min(100,e))}function jn(e){let t=Sn(e),n=[];t.metrics.length>0&&n.push({type:`metrics`,value:t.metrics.map(Cn)});let r=t.metrics.map(wn).filter(e=>e!==null);r.length>0&&n.push({type:`progress`,value:r});for(let e of t.metrics)e.type===`list`&&e.items&&e.items.length>0&&(n.push({type:`heading`,value:e.label}),n.push({type:`table`,value:e.items}));return n}function Mn(e){let t=Tn(e),n=[];for(let e of t.columns){let r=t.cards.filter(t=>t.column===e.id);n.push({type:`heading`,value:e.label}),n.push({type:`cards`,value:r.map(En)})}return n}function Nn(e){let t=Dn(e);return t.length===0?[]:[{type:`cards`,value:t.map((e,t)=>({title:e.label,body:e.id,badge:`#${t+1}`}))}]}function Pn(e){return!$(e)||!$(e.profile)?[]:[{type:`tree`,value:kn(On(e.profile))}]}const Fn={id:`dashboard@1`,label:`Dashboard`,description:`Metric cards grid with optional charts.`,inputSchema:{type:`object`,properties:{metrics:{type:`array`,items:{type:`object`,required:[`label`,`value`],properties:{id:{type:`string`},label:{type:`string`},value:{type:[`string`,`number`]},trend:{type:`object`,properties:{value:{type:`string`},direction:{enum:[`up`,`down`,`neutral`]}},required:[`value`,`direction`],additionalProperties:!1},status:{enum:[`success`,`warning`,`error`,`info`]},type:{enum:[`stat`,`progress`,`list`]},progress:{type:`number`},items:{type:`array`,items:{type:`object`,required:[`label`,`value`],properties:{label:{type:`string`},value:{type:`string`}},additionalProperties:!1}}},additionalProperties:!1}}},required:[`metrics`],additionalProperties:!1},defaultLayout:{maxWidth:`1200px`},blocksFromData:e=>jn(e),hydration:[],supportedTransports:[`mcp-app`,`browser`]},In={id:`kanban@1`,label:`Kanban`,description:`Drag-and-drop task board grouped by columns.`,inputSchema:{type:`object`,properties:{columns:{type:`array`,items:{type:`object`,required:[`id`,`label`],properties:{id:{type:`string`},label:{type:`string`},color:{type:`string`}},additionalProperties:!1}},cards:{type:`array`,items:{type:`object`,required:[`id`,`title`,`column`],properties:{id:{type:`string`},title:{type:`string`},description:{type:`string`},column:{type:`string`},tags:{type:`array`,items:{type:`string`}},priority:{enum:[`high`,`medium`,`low`]}},additionalProperties:!1}}},required:[`columns`,`cards`],additionalProperties:!1},defaultLayout:{maxWidth:`1400px`},blocksFromData:e=>Mn(e),hydration:[],supportedTransports:[`browser`]},Ln={id:`list-sort@1`,label:`Sortable List`,description:`Reorderable list of items with browser drag-and-drop interactions.`,inputSchema:{type:`object`,properties:{items:{type:`array`,items:{type:`object`,required:[`id`,`label`],properties:{id:{type:`string`},label:{type:`string`}},additionalProperties:!1}}},required:[`items`],additionalProperties:!1},defaultLayout:{maxWidth:`720px`},blocksFromData:e=>Nn(e),hydration:[],supportedTransports:[`browser`]},Rn={id:`flame-graph@1`,label:`Flame Graph`,description:`Hierarchical performance profile with interactive zoom state.`,inputSchema:{type:`object`,properties:{profile:{type:`object`}},required:[`profile`],additionalProperties:!1},defaultLayout:{maxWidth:`1200px`},blocksFromData:e=>Pn(e),hydration:[],supportedTransports:[`browser`]};function zn(e){return e.replace(/</g,`\\u003c`).replace(/>/g,`\\u003e`).replace(/&/g,`\\u0026`).replace(/\u2028/g,`\\u2028`).replace(/\u2029/g,`\\u2029`)}function Bn(e,t){let n=[`
|
|
1584
|
+
* {
|
|
1585
|
+
box-sizing: border-box;
|
|
1586
|
+
}
|
|
1587
|
+
|
|
1588
|
+
html {
|
|
1589
|
+
font-size: 16px;
|
|
1590
|
+
}
|
|
1591
|
+
|
|
1592
|
+
body {
|
|
1593
|
+
margin: 0;
|
|
1594
|
+
display: flex;
|
|
1595
|
+
flex-direction: column;
|
|
1596
|
+
min-height: 100vh;
|
|
1597
|
+
background: var(--dt-bg-canvas, var(--dt-bg-primary));
|
|
1598
|
+
color: var(--dt-text-primary);
|
|
1599
|
+
font-family: var(--dt-font-sans);
|
|
1600
|
+
}
|
|
1601
|
+
|
|
1602
|
+
main {
|
|
1603
|
+
flex: 1;
|
|
1604
|
+
width: 100%;
|
|
1605
|
+
max-width: 100%;
|
|
1606
|
+
padding: var(--dt-space-8) var(--dt-space-4);
|
|
1607
|
+
}
|
|
1608
|
+
`,gt,...(Array.isArray(t)?t:typeof t==`string`?[t]:[]).filter(e=>e.trim().length>0)].join(`
|
|
929
1609
|
`);return[` <style>${e}</style>`,` <style>${n}</style>`].join(`
|
|
930
|
-
`)}function
|
|
1610
|
+
`)}function Vn(e){let t=Object.entries(b).map(([e,t])=>` ${e}: ${t};`).join(`
|
|
931
1611
|
`);return[e,`html[data-theme="light"] {
|
|
932
1612
|
color-scheme: light;
|
|
933
1613
|
}`,`html[data-theme="dark"] {\n color-scheme: dark;\n${t}\n}`,`@media (prefers-color-scheme: dark) {\n html:not([data-theme]) {\n color-scheme: dark;\n${t}\n }\n}`].join(`
|
|
934
1614
|
|
|
935
|
-
`)}function
|
|
936
|
-
`)}function
|
|
937
|
-
`)}function
|
|
938
|
-
`)}function
|
|
939
|
-
`)
|
|
940
|
-
`)}
|
|
941
|
-
`),f=[ln(i),l,u,d].filter(Boolean).join(`
|
|
942
|
-
`);return[`<!DOCTYPE html>`,`<html ${o.join(` `)}>`,`<head>`,` <meta charset="utf-8">`,` <meta name="viewport" content="width=device-width, initial-scale=1">`,` <title>${n(e.title)}</title>`,rn(s,e.css),c,`</head>`,`<body data-surface-nonce="${n(e.nonce)}">`,sn(e.title,{exportPolicy:e.exportPolicy,transport:e.transport}),` <main>${e.html}</main>`,cn(a),f,`</body>`,`</html>`].filter(Boolean).join(`
|
|
943
|
-
`)}export{E as TemplateRegistry,Le as allCss,x as baseCss,f as blockItems,dn as buildShell,O as checklistTemplate,S as collectCss,Ie as darkTokenNames,y as darkTokens,Qt as dashboardTemplateDefinition,A as dataTableTemplate,Z as defaultRegistry,rt as diffViewTemplate,N as documentTemplate,P as errorTemplate,n as escapeHtml,tn as flameGraphTemplateDefinition,L as formTemplate,a as formatValue,C as generateDarkTokenCss,w as generateTokenCss,s as inlineMarkdown,t as isError,e as isResult,$t as kanbanTemplateDefinition,en as listSortTemplateDefinition,V as pickerTemplate,T as renderBlock,He as renderBlocks,Lt as renderSurface,U as reportTemplate,i as sanitizeId,r as sanitizeUrl,G as statusBoardTemplate,K as timelineTemplate,Fe as tokenNames,v as tokens,u as toneName,d as toneVar,X as treeTemplate,o as tryParseJson};
|
|
1615
|
+
`)}function Hn(e){return e.length===0?``:e.map(e=>{let t=e.initScript?` <script>\n${e.initScript}\n <\/script>\n`:``,r=e.onload?` onload="${e.onload}"`:``;if(!e.fallback)return`${t} <script src="${n(e.src)}"${r}><\/script>`;let i=e.onload?`f.onload=function(){${e.onload}};`:``;return`${t} <script src="${n(e.src)}"${r} onerror="(function(el){var f=document.createElement('script');f.src='${n(e.fallback)}';${i}document.head.appendChild(f);el.remove()})(this)"><\/script>`}).join(`
|
|
1616
|
+
`)}function Un(e){return[` <script>`,` (() => {`,` const preferredTheme = ${JSON.stringify(e)};`,` const storageKey = "aikit-theme-mode";`,` const html = document.documentElement;`,` const toolbox = {`,` container: () => document.querySelector(".aikit-toolbox"),`,` button: () => document.querySelector(".aikit-toolbox-toggle"),`,` menu: () => document.querySelector(".aikit-toolbox-menu"),`,` firstItem: () => document.querySelector(".aikit-toolbox-item"),`,` };`,` const systemTheme = () =>`,` window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches`,` ? "dark"`,` : "light";`,` const readStoredTheme = () => {`,` try {`,` const stored = localStorage.getItem("aikit-theme-mode");`,` return stored === "light" || stored === "dark" ? stored : null;`,` } catch (_error) {`,` return null;`,` }`,` };`,` const resolvedTheme = () => html.getAttribute("data-theme") || readStoredTheme() || systemTheme();`,` const setToolboxOpen = (open, options = {}) => {`,` const button = toolbox.button();`,` const menu = toolbox.menu();`,` if (!button || !menu) return;`,` menu.hidden = !open;`,` button.setAttribute("aria-expanded", String(open));`,` if (open) {`,` if (options.focusItem) toolbox.firstItem()?.focus();`,` } else if (options.restoreFocus) {`,` button.focus();`,` }`,` };`,` const inlineComputedStyles = (source, clone) => {`,` if (!(source instanceof Element) || !(clone instanceof Element)) return;`,` const computed = window.getComputedStyle(source);`,` const cssText = Array.from(computed)`,` .map((name) => {`,` const value = computed.getPropertyValue(name);`,` const priority = computed.getPropertyPriority(name);`,' return `${name}:${value}${priority ? " !important" : ""};`;',` })`,` .join("");`,` clone.setAttribute("style", cssText);`,` for (let index = 0; index < source.children.length; index += 1) {`,` inlineComputedStyles(source.children[index], clone.children[index]);`,` }`,` };`,` const captureDocumentAsPng = async () => {`,` const width = Math.max(`,` document.documentElement.scrollWidth,`,` document.documentElement.clientWidth,`,` document.body ? document.body.scrollWidth : 0,`,` );`,` const height = Math.max(`,` document.documentElement.scrollHeight,`,` document.documentElement.clientHeight,`,` document.body ? document.body.scrollHeight : 0,`,` );`,` const scale = window.devicePixelRatio || 1;`,` const canvas = document.createElement("canvas");`,` canvas.width = Math.max(1, Math.ceil(width * scale));`,` canvas.height = Math.max(1, Math.ceil(height * scale));`,` const context = canvas.getContext("2d");`,` if (!context) throw new Error("Canvas context unavailable");`,` context.scale(scale, scale);`,` const clone = document.documentElement.cloneNode(true);`,` if (!(clone instanceof Element)) throw new Error("Document clone failed");`,` clone.setAttribute("xmlns", "http://www.w3.org/1999/xhtml");`,` clone.querySelectorAll("script").forEach((node) => node.remove());`,` inlineComputedStyles(document.documentElement, clone);`,' const svgMarkup = [`<svg xmlns="http://www.w3.org/2000/svg" width="${width}" height="${height}" viewBox="0 0 ${width} ${height}">`, `<foreignObject width="100%" height="100%">${new XMLSerializer().serializeToString(clone)}</foreignObject>`, "</svg>"].join("");',` const svgBlob = new Blob([svgMarkup], { type: "image/svg+xml;charset=utf-8" });`,` const objectUrl = URL.createObjectURL(svgBlob);`,` try {`,` await new Promise((resolve, reject) => {`,` const image = new Image();`,` image.onload = () => {`,` context.drawImage(image, 0, 0, width, height);`,` resolve(undefined);`,` };`,` image.onerror = () => reject(new Error("ForeignObject render failed"));`,` image.src = objectUrl;`,` });`,` } finally {`,` URL.revokeObjectURL(objectUrl);`,` }`,` const blob = await new Promise((resolve) => canvas.toBlob(resolve, "image/png"));`,` if (!blob) throw new Error("PNG export failed");`,` const downloadUrl = URL.createObjectURL(blob);`,` const link = document.createElement("a");`,` const timestamp = new Date().toISOString().replace(/[.:]/g, "-");`,` link.href = downloadUrl;`," link.download = `aikit-screenshot-${timestamp}.png`;",` document.body.appendChild(link);`,` link.click();`,` link.remove();`,` URL.revokeObjectURL(downloadUrl);`,` };`,` const updateToggle = (theme) => {`,` const button = document.querySelector(".aikit-theme-toggle");`,` const nextTheme = theme === "dark" ? "light" : "dark";`,` if (button) {`,` button.setAttribute("aria-label", "Switch to " + nextTheme + " theme");`,` button.setAttribute("aria-pressed", String(theme === "dark"));`,` }`,` };`,` const applyTheme = (theme, persist = true) => {`,` html.setAttribute("data-theme", theme);`,` if (persist) {`,` try {`,` localStorage.setItem("aikit-theme-mode", theme);`,` } catch (_error) {`,` // Ignore storage failures.`,` }`,` }`,` updateToggle(theme);`,` };`,` if (preferredTheme === "light" || preferredTheme === "dark") {`,` applyTheme(preferredTheme, false);`,` } else {`,` applyTheme(readStoredTheme() || systemTheme(), false);`,` }`,` window.toggleTheme = () => {`,` applyTheme(resolvedTheme() === "dark" ? "light" : "dark");`,` };`,` window.toggleToolbox = () => {`,` const menu = toolbox.menu();`,` setToolboxOpen(Boolean(menu?.hidden), { focusItem: Boolean(menu?.hidden) });`,` };`,` window.screenshotPage = async () => {`,` const scrollX = window.scrollX;`,` const scrollY = window.scrollY;`,` setToolboxOpen(false);`,` window.scrollTo(0, 0);`,` await new Promise((resolve) => window.requestAnimationFrame(() => resolve(undefined)));`,` try {`,` await captureDocumentAsPng();`,` } catch (_error) {`,` window.print();`,` } finally {`,` window.scrollTo(scrollX, scrollY);`,` }`,` };`,` document.addEventListener("click", (event) => {`,` const container = toolbox.container();`,` if (!container) return;`,` const target = event.target;`,` if (target instanceof Node && container.contains(target)) return;`,` setToolboxOpen(false);`,` });`,` document.addEventListener("keydown", (event) => {`,` if (event.key === "Escape") {`,` setToolboxOpen(false, { restoreFocus: true });`,` return;`,` }`,` if ((event.key === "ArrowDown" || event.key === "Enter" || event.key === " ") && event.target === toolbox.button()) {`,` event.preventDefault();`,` setToolboxOpen(true, { focusItem: true });`,` }`,` });`,` if (preferredTheme === "auto" && window.matchMedia) {`,` const mediaQuery = window.matchMedia("(prefers-color-scheme: dark)");`,` mediaQuery.addEventListener("change", () => {`,` if (readStoredTheme()) return;`,` applyTheme(systemTheme(), false);`,` });`,` }`,` })();`,` <\/script>`].join(`
|
|
1617
|
+
`)}function Wn(e,t){if(t!==`local-interactive`)return``;let r=new Set,i=[];for(let t of e)r.has(t.entry)||(r.add(t.entry),i.push(` <script type="module" src="${n(t.entry)}"><\/script>`));return i.join(`
|
|
1618
|
+
`)}function Gn(e){let t=n(e.lang??`en`),r=n(e.dir??`ltr`),i=e.colorScheme??`auto`,a=e.generatedAt??new Date().toISOString(),o=[`lang="${t}"`,`dir="${r}"`];i!==`auto`&&o.push(`data-theme="${i}"`);let s=Vn(e.tokenCss??E(`light`)),c=Hn(e.headScripts??[]),l=e.islands.length>0&&e.payload?` <script type="application/json" id="surface-payload">${zn(e.payload)}<\/script>`:``,u=Wn(e.islands,e.exportPolicy),d=[Un(i),l,u].filter(Boolean).join(`
|
|
1619
|
+
`);return[`<!DOCTYPE html>`,`<html ${o.join(` `)}>`,`<head>`,` <meta charset="utf-8">`,` <meta name="viewport" content="width=device-width, initial-scale=1">`,` <title>${n(e.title)}</title>`,Bn(s,e.css),c,`</head>`,`<body data-surface-nonce="${n(e.nonce)}">`,mt({title:e.title,transport:e.transport}),` <main>${e.html}</main>`,ht({generatedAt:a}),d,`</body>`,`</html>`].filter(Boolean).join(`
|
|
1620
|
+
`)}export{D as HEADER_CLASS_NAMES,gt as HEADER_CSS,xt as TemplateRegistry,lt as allCss,S as baseCss,f as blockItems,ht as buildFooter,mt as buildHeader,Gn as buildShell,A as checklistTemplate,C as collectCss,ct as darkTokenNames,b as darkTokens,Fn as dashboardTemplateDefinition,M as dataTableTemplate,Z as defaultRegistry,P as diffViewTemplate,I as documentTemplate,L as errorTemplate,n as escapeHtml,Rn as flameGraphTemplateDefinition,B as formTemplate,a as formatValue,T as generateDarkTokenCss,E as generateTokenCss,s as inlineMarkdown,t as isError,e as isResult,In as kanbanTemplateDefinition,Ln as listSortTemplateDefinition,W as pickerTemplate,vt as renderBlock,yt as renderBlocks,bn as renderSurface,K as reportTemplate,i as sanitizeId,r as sanitizeUrl,J as statusBoardTemplate,fn as timelineTemplate,st as tokenNames,y as tokens,u as toneName,d as toneVar,gn as treeTemplate,o as tryParseJson};
|