@maxhealth.tech/prefab 0.3.23 → 0.3.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/a2ui.min.js +1 -1
  3. package/dist/auto/chart.js +1 -1
  4. package/dist/auto/chart.js.map +1 -1
  5. package/dist/auto/comparison.js +1 -1
  6. package/dist/auto/comparison.js.map +1 -1
  7. package/dist/auto/form.d.ts +1 -1
  8. package/dist/auto/form.d.ts.map +1 -1
  9. package/dist/auto/form.js +15 -2
  10. package/dist/auto/form.js.map +1 -1
  11. package/dist/auto/index.d.ts +2 -10
  12. package/dist/auto/index.d.ts.map +1 -1
  13. package/dist/auto/index.js +5 -61
  14. package/dist/auto/index.js.map +1 -1
  15. package/dist/auto/metrics.js +1 -1
  16. package/dist/auto/metrics.js.map +1 -1
  17. package/dist/auto/progress.d.ts.map +1 -1
  18. package/dist/auto/progress.js +8 -7
  19. package/dist/auto/progress.js.map +1 -1
  20. package/dist/auto/status.d.ts +17 -0
  21. package/dist/auto/status.d.ts.map +1 -0
  22. package/dist/auto/status.js +79 -0
  23. package/dist/auto/status.js.map +1 -0
  24. package/dist/auto/timeline.d.ts.map +1 -1
  25. package/dist/auto/timeline.js +3 -14
  26. package/dist/auto/timeline.js.map +1 -1
  27. package/dist/components/form/index.d.ts +1 -1
  28. package/dist/components/form/index.d.ts.map +1 -1
  29. package/dist/components/form/index.js +7 -1
  30. package/dist/components/form/index.js.map +1 -1
  31. package/dist/components/layout/index.d.ts +7 -1
  32. package/dist/components/layout/index.d.ts.map +1 -1
  33. package/dist/components/layout/index.js +6 -2
  34. package/dist/components/layout/index.js.map +1 -1
  35. package/dist/core/version.d.ts +1 -1
  36. package/dist/core/version.js +1 -1
  37. package/dist/prefab.css +85 -2
  38. package/dist/renderer/cdn.d.ts +5 -0
  39. package/dist/renderer/cdn.d.ts.map +1 -0
  40. package/dist/renderer/cdn.js +19 -0
  41. package/dist/renderer/cdn.js.map +1 -0
  42. package/dist/renderer/components/alert.d.ts.map +1 -1
  43. package/dist/renderer/components/alert.js +2 -1
  44. package/dist/renderer/components/alert.js.map +1 -1
  45. package/dist/renderer/components/charts/helpers.d.ts.map +1 -1
  46. package/dist/renderer/components/charts/helpers.js +21 -6
  47. package/dist/renderer/components/charts/helpers.js.map +1 -1
  48. package/dist/renderer/components/charts/scatter.d.ts.map +1 -1
  49. package/dist/renderer/components/charts/scatter.js +23 -4
  50. package/dist/renderer/components/charts/scatter.js.map +1 -1
  51. package/dist/renderer/components/data.d.ts.map +1 -1
  52. package/dist/renderer/components/data.js +2 -1
  53. package/dist/renderer/components/data.js.map +1 -1
  54. package/dist/renderer/components/form.d.ts.map +1 -1
  55. package/dist/renderer/components/form.js +3 -0
  56. package/dist/renderer/components/form.js.map +1 -1
  57. package/dist/renderer/components/layout.js +28 -7
  58. package/dist/renderer/components/layout.js.map +1 -1
  59. package/dist/renderer/components/media.d.ts.map +1 -1
  60. package/dist/renderer/components/media.js +23 -8
  61. package/dist/renderer/components/media.js.map +1 -1
  62. package/dist/renderer/components/pdf.d.ts +38 -0
  63. package/dist/renderer/components/pdf.d.ts.map +1 -1
  64. package/dist/renderer/components/pdf.js +152 -174
  65. package/dist/renderer/components/pdf.js.map +1 -1
  66. package/dist/renderer/icons.d.ts +5 -0
  67. package/dist/renderer/icons.d.ts.map +1 -0
  68. package/dist/renderer/icons.generated.d.ts +3 -0
  69. package/dist/renderer/icons.generated.d.ts.map +1 -0
  70. package/dist/renderer/icons.generated.js +64 -0
  71. package/dist/renderer/icons.generated.js.map +1 -0
  72. package/dist/renderer/icons.js +23 -0
  73. package/dist/renderer/icons.js.map +1 -0
  74. package/dist/renderer.auto.min.js +9 -9
  75. package/dist/renderer.min.js +9 -9
  76. package/package.json +3 -1
package/CHANGELOG.md CHANGED
@@ -6,6 +6,29 @@ All notable changes to this project will be documented in this file.
6
6
 
7
7
  <!-- Add new entries directly below. Keep this line: it makes a release merge conflict rather than file them under a published version. -->
8
8
 
9
+ ## [0.3.24] — 2026-11-15
10
+
11
+ ### Added
12
+
13
+ - **`statusColor(status)` and `variantColor(variant)`** return the theme color for a status or Badge variant, next to `statusVariant` in `@maxhealth.tech/prefab/auto`.
14
+ - **`Pages({ name, value })`** declares the state key and initial page, and **`Switch({ checked })`** matches `Checkbox`.
15
+
16
+ ### Fixed
17
+
18
+ - **`PdfViewer` loads.** PDF.js 4 exports `GlobalWorkerOptions` as a class, which the module check rejected, so every viewer showed an error. Pages also render sharp on HiDPI screens, refit on resize in the fit modes, and stay upright when a resize lands mid-render. The toolbar adds zoom out, zoom in and a fit toggle, disables the arrows at either end, and its buttons no longer submit a surrounding `Form`. It follows the theme tokens.
19
+ - **`Mermaid` draws the diagram.** It printed the source text; it now loads mermaid.js from the CDN and renders an SVG in the current color scheme, keeping the source visible until then or when the CDN is blocked.
20
+ - **`Pages` shows one page.** Only the active `Page` renders: the one the `name` state key holds, else `value`, else the first, so `SetState` navigates. Upstream's `Page` `value`/`title` fields work too.
21
+ - **`Dashboard` honors `rowHeight` and `DashboardItem` `col`/`row`**, and a lone Card fills its tile.
22
+ - **`Histogram` draws its axes and tooltips** and honors `showXAxis`/`showYAxis`.
23
+ - **`autoForm` renders `switch`, `checkbox` and `textarea` fields as those controls.** They rendered as text inputs, including the `checkbox` that `fieldsFromJsonSchema` produces for a boolean.
24
+ - **A `Form` submits checkboxes and switches as booleans**, unchecked ones included. They submitted `"on"` or nothing.
25
+ - **Auto-renderer section titles are level-3 headings**, and autoTimeline and autoProgress dots take their color from the theme through `statusColor`.
26
+ - **Crowded x-axis labels are thinned** so they no longer overlap.
27
+ - **Responsive charts redraw on the next frame**, which stops the `ResizeObserver loop` error.
28
+ - **Examples use the spacing scale for `gap`.** Six examples and the getting-started guide passed pixel values, so `gap: 16` rendered 64px apart.
29
+
30
+ - **`Icon` and the Alert `icon` prop draw their glyph.** Both only set a `data-icon` attribute and rendered nothing. The renderer now ships inline SVGs for the 59 A2UI icon names, and Lucide spellings such as `CheckCircle` or `alert-triangle` resolve through the existing A2UI aliases. The glyphs come from Lucide (ISC) through `bun run gen:icons`, and the generated module is committed, so the renderer still has no runtime dependencies.
31
+
9
32
  ## [0.3.23] — 2026-11-15
10
33
 
11
34
  ### Added
package/dist/a2ui.min.js CHANGED
@@ -1 +1 @@
1
- (()=>{var{defineProperty:k,getOwnPropertyNames:pe,getOwnPropertyDescriptor:fe}=Object,me=Object.prototype.hasOwnProperty;function ge(e){return this[e]}var he=(e)=>{var n=(B??=new WeakMap).get(e),t;if(n)return n;if(n=k({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function"){for(var i of pe(e))if(!me.call(n,i))k(n,i,{get:ge.bind(e,i),enumerable:!(t=fe(e,i))||t.enumerable})}return B.set(e,n),n},B;var ye=(e)=>e;function Ae(e,n){this[e]=ye.bind(null,n)}var be=(e,n)=>{for(var t in n)k(e,t,{get:n[t],enumerable:!0,configurable:!0,set:Ae.bind(n,t)})};var Ze={};be(Ze,{default:()=>Qe,emit:()=>ue,envelope:()=>le});var L={silent:0,error:1,warn:2,info:3,debug:4},Ce="warn";function O(e){let n=e?`[prefab:${e}]`:"[prefab]",t=(i,r,o)=>{if(L[i]>L[Ce])return;console[i](`${n} ${r}`,...o)};return{error:(i,...r)=>t("error",i,r),warn:(i,...r)=>t("warn",i,r),info:(i,...r)=>t("info",i,r),debug:(i,...r)=>t("debug",i,r)}}var nn=O();function d(e){return e!=null&&typeof e==="object"&&!Array.isArray(e)}function b(e){return typeof e==="string"?e:void 0}function U(e){return d(e)?e:void 0}function F(e){return Array.isArray(e)?e.filter(d):[]}function ve(e){return typeof e==="string"||typeof e==="number"||typeof e==="boolean"}function a(e,...n){for(let t of n){let i=e[t];if(ve(i))return String(i)}return}function J(e){return d(e)&&typeof e.action==="string"}function m(e){if(!d(e)||typeof e.type!=="string")return;let n={type:e.type};for(let[t,i]of Object.entries(e))if(t==="children"){if(Array.isArray(i))n.children=y(i)}else if(t==="onMount"){if(J(i)||Array.isArray(i)&&i.every(J))n.onMount=i}else if(t==="id"||t==="cssClass"){if(typeof i==="string")n[t]=i}else if(t!=="type")n[t]=i;return n}function y(e){if(!Array.isArray(e))return[];let n=[];for(let t of e){let i=m(t);if(i)n.push(i)}return n}var Se=/^(.+?)\s*\|\s*([A-Za-z_][\w]*)\s*(?::\s*(.+))?$/;function _(e){let n=Se.exec(e);if(n==null)return;let t=n[1].trim();if(t.includes("|"))return;let i=n.at(3)?.trim();if(i===void 0)return{base:t,name:n[2]};let r=/^'([^']*)'$|^"([^"]*)"$/.exec(i);if(r!=null){let s=r.at(1)??r.at(2);return{base:t,name:n[2],arg:s??""}}let o=Number(i);if(!Number.isNaN(o))return{base:t,name:n[2],arg:o};return}function T(e,n){return(t)=>({call:{call:"formatDate",args:{value:t,format:e}},note:`the "${n}" pipe renders in the reader's locale; A2UI needs an explicit pattern, so "${e}" was used`})}var xe={currency:(e,n)=>({call:{call:"formatCurrency",args:{value:e,currency:typeof n==="string"?n:"USD"}}}),number:(e,n)=>({call:{call:"formatNumber",args:{value:e,...typeof n==="number"&&{decimals:n}}}}),round:(e,n)=>({call:{call:"formatNumber",args:{value:e,decimals:typeof n==="number"?n:0}}}),pluralize:(e,n)=>{if(typeof n!=="string")return;return{call:{call:"pluralize",args:{value:e,one:n,other:`${n}s`}}}},date:T("y-MM-dd","date"),time:T("HH:mm","time"),datetime:T("y-MM-dd HH:mm","datetime")};function j(e,n){return xe[e.name]?.(n,e.arg)}var we=/^\s*\{\{\s*(.+?)\s*\}\}\s*$/s,ke=/\{\{\s*(.+?)\s*\}\}/g,Oe=/^\$?[A-Za-z_][\w$]*(?:\.(?:[A-Za-z_$][\w$]*|\d+))*$/,V="$index";function p(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function Te(e){return"/"+e.map(p).join("/")}function De(e){return e.startsWith("state.")?e.slice(6):e}function D(e,n){if(!Oe.test(e))return;let t=De(e).split("."),i=t[0],r=Object.hasOwn(n,i)?n[i]:void 0;if(r===void 0){if(i.startsWith("$"))return;return Te(t)}let o=t.slice(1);if(r==="")return o.length===0?void 0:o.map(p).join("/");return o.length===0?r:`${r}/${o.map(p).join("/")}`}function H(e){return e.replace(/\$\{/g,"\\${")}function Re(e,n){let t,i="",r=0;for(let o of e.matchAll(ke)){let s=o[1].trim(),u=D(s,n);if(u==null){t=s;break}i+=H(e.slice(r,o.index)),i+=`\${${u}}`,r=o.index+o[0].length}if(t!=null)return;return i+=H(e.slice(r)),{call:"formatString",args:{value:i}}}function Me(e,n){let t=_(e);if(t==null)return;let i=D(t.base,n),r=i!=null?{path:i}:/^-?\d+(\.\d+)?$/.test(t.base)?Number(t.base):void 0;if(r===void 0)return;let o=j(t,r);if(o==null)return;return{kind:"format",value:o.call,...o.note!=null&&{note:o.note}}}function g(e,n={}){let t=we.exec(e);if(t!=null&&!t[1].includes("{{")&&!t[1].includes("}}")){let o=t[1].trim();if(o===V&&V in n)return{kind:"index",value:{call:"@index"}};let s=D(o,n);if(s!=null)return{kind:"binding",value:{path:s}};let u=Me(o,n);if(u!=null)return u;return{kind:"unbindable",expression:o}}if(!e.includes("{{"))return{kind:"literal",value:e};let r=Re(e,n);if(r!=null)return{kind:"format",value:r};return{kind:"unbindable",expression:e}}function C(e,n={}){if(e==null)return;let t=g(e,n);switch(t.kind){case"literal":return t.value;case"binding":return t.value;case"format":return t.value;case"index":return t.value;default:return}}var Ie=["accountCircle","add","arrowBack","arrowForward","attachFile","calendarToday","call","camera","check","close","delete","download","edit","event","error","fastForward","favorite","favoriteOff","folder","help","home","info","locationOn","lock","lockOpen","mail","menu","moreVert","moreHoriz","notificationsOff","notifications","pause","payment","person","phone","photo","play","print","refresh","rewind","search","send","settings","share","shoppingCart","skipNext","skipPrevious","star","starHalf","starOff","stop","upload","visibility","visibilityOff","volumeDown","volumeMute","volumeOff","volumeUp","warning"],Ee=new Map(Ie.map((e)=>[q(e),e])),Pe={alertcircle:"error",alerttriangle:"warning",alertoctagon:"error",xcircle:"error",circlex:"error",circlealert:"error",checkcircle:"check",circlecheck:"check",checkcircle2:"check",infocircle:"info",circleinfo:"info",helpcircle:"help",circlehelp:"help",bell:"notifications",belloff:"notificationsOff",arrowleft:"arrowBack",arrowright:"arrowForward",chevronleft:"arrowBack",chevronright:"arrowForward",x:"close",plus:"add",trash:"delete",trash2:"delete",ellipsisvertical:"moreVert",ellipsis:"moreHoriz",morehorizontal:"moreHoriz",morevertical:"moreVert",pencil:"edit",pen:"edit",squarepen:"edit",user:"person",usercircle:"accountCircle",circleuser:"accountCircle",eye:"visibility",eyeoff:"visibilityOff",mappin:"locationOn",map:"locationOn",image:"photo",images:"photo",file:"folder",files:"folder",calendar:"calendarToday",calendardays:"calendarToday",clock:"event",creditcard:"payment",cart:"shoppingCart",shoppingbag:"shoppingCart",phonecall:"call",mailopen:"mail",inbox:"mail",cog:"settings",gear:"settings",sliders:"settings",rotatecw:"refresh",rotateccw:"refresh",refreshcw:"refresh",heart:"favorite",heartoff:"favoriteOff",volume:"volumeUp",volume1:"volumeDown",volume2:"volumeUp",volumex:"volumeOff",skipforward:"skipNext",skipback:"skipPrevious",paperclip:"attachFile",link:"share",share2:"share",magnifyingglass:"search",searchicon:"search"};function q(e){return e.replace(/[\s._-]/g,"").toLowerCase()}function z(e){let n=q(e);return Ee.get(n)??Pe[n]}function Ne(e){if(!d(e))return{};return Object.fromEntries(Object.entries(e).map(([n,t])=>[n,y(t)]))}var R={ForEach:(e,n)=>{let t=a(e,"expression");if(t==null){n.note("unsupported","ForEach","no expression to iterate");return}let i=n.bind(t);if(i.kind!=="binding"){n.note("expression","ForEach",`"${t}" is not a plain path, so there is no list to bind`);return}let r=n.inScope({$item:"",$index:""},()=>n.single(e.children));if(r==null){n.note("unsupported","ForEach","the loop body had nothing to render");return}return{component:"Column",children:{path:i.value.path,componentId:r}}},Define:()=>{return},Use:(e,n)=>{let t=a(e,"def","name");if(t==null){n.note("unsupported","Use","no definition name");return}let i=n.definition(t);if(i==null){n.note("unsupported","Use",`no definition named "${t}" was declared`);return}let r=e.overrides,o={};if(r!=null&&typeof r==="object"&&!Array.isArray(r)){let A=n.bindData(`use_${t}`,r);for(let c of Object.keys(r))o[c]=`${A}/${p(c)}`}let s={...Ne(e.slots),...Array.isArray(e.children)&&e.children.length>0?{default:e.children}:{}},u=n.expand(t,()=>n.inScope(o,()=>n.withSlots(s,()=>n.single(i))));if(u==null){n.note("unsupported","Use",`definition "${t}" rendered nothing`);return}return{component:"Column",children:[u]}},Slot:(e,n)=>{let t=a(e,"name")??"default",i=n.slotContent(t)??(Array.isArray(e.children)?e.children:void 0),r=i!=null?n.single(i):void 0;if(r==null){n.note("unsupported","Slot",`slot "${t}" had neither content nor a fallback`);return}return{component:"Column",children:[r]}}};for(let e of["If","Elif","Else","Condition","Match","Case"])R[e]=(n,t)=>{t.note("unsupported",n.type,"A2UI has no declarative conditional; the agent re-sends updateComponents when the shape changes");return};var G=["TableHead","TableBody","TableFooter","TableRow","TableCell","TableHeader","ExpandableRow"];function Be(e){let n=[];for(let t of F(e.columns)){let i=b(t.accessor)??b(t.key);if(i==null)continue;n.push({key:i,header:b(t.header)??i})}return n}function $e(e,n){let t=e.rows;if(typeof t==="string"){let i=g(t);if(i.kind==="binding")return i.value.path;n.note("expression","DataTable",`rows expression "${t}" is not a plain path; the table has no data source`);return}if(Array.isArray(t))return n.bindData("rows",t);n.note("unsupported","DataTable","no rows to render");return}function K(e,n){let t=Be(e);if(t.length===0){n.note("unsupported","DataTable","no usable column definitions");return}let i=$e(e,n);if(i==null)return;let r=n.push({component:"Row",children:t.map((u)=>n.push({component:"Text",text:u.header,variant:"caption"})),align:"center"}),o=n.push({component:"Row",children:t.map((u)=>n.push({component:"Text",text:{path:u.key.split(".").join("/")}})),align:"center"}),s=n.push({component:"Column",children:{path:i,componentId:o}});if(e.search===!0||e.paginated===!0)n.note("degraded","DataTable","search and pagination dropped; A2UI Basic has no table controls");return{component:"Column",children:[r,s]}}function Le(e){let n=[],t=(i)=>{if(i.type==="TableRow"||i.type==="ExpandableRow"){n.push(i);return}if(Array.isArray(i.children))for(let r of i.children)t(r)};if(Array.isArray(e.children))for(let i of e.children)t(i);return n}function Je(e,n){let t=e.type==="TableHeader";if(Array.isArray(e.children)&&e.children.length>0)return n.single(e.children);let i=e.content??e.text??e.label;if(typeof i!=="string"&&typeof i!=="number"&&typeof i!=="boolean")return;let r=String(i),o=C(r);if(o==null){n.note("expression",e.type,`cell expression "${r}" has no A2UI equivalent`);return}return n.push({component:"Text",text:o,...t&&{variant:"caption"}})}function W(e,n){let t=Le(e),i=[];for(let r of t){let s=(Array.isArray(r.children)?r.children:[]).map((u)=>Je(u,n)).filter((u)=>u!=null);if(s.length===0)continue;i.push(n.push({component:"Row",children:s,align:"center"}))}if(i.length===0){n.note("unsupported","Table","no rows with renderable cells");return}return n.note("degraded","Table","rendered as a Column of Rows; column widths do not align"),{component:"Column",children:i}}function l(e,n,t){let i=a(e,...t?.keys??["content","text","label","title"]);if(i==null){n.note("unsupported",e.type,"no text content to render");return}let r=n.bind(i);if(r.kind==="unbindable")n.note("expression",e.type,`"${r.expression}" is richer than a JSON Pointer; the text was left as written`);let o=t?.prefix??"",s=t?.suffix??"";if(r.kind==="format"&&r.note!=null)n.note("degraded",e.type,r.note);if(r.kind==="binding"||r.kind==="format"||r.kind==="index"){if(o!==""||s!=="")n.note("degraded",e.type,"Markdown emphasis dropped: the text is a data binding");return{component:"Text",text:r.value,...t?.variant!=null&&{variant:t.variant}}}let u=r.kind==="literal"?r.value:i;return{component:"Text",text:`${o}${u}${s}`,...t?.variant!=null&&{variant:t.variant}}}var Ue={start:"start",end:"end",center:"center",between:"spaceBetween",around:"spaceAround",evenly:"spaceEvenly",spaceBetween:"spaceBetween",spaceAround:"spaceAround",spaceEvenly:"spaceEvenly"},Fe={start:"start",end:"end",center:"center",stretch:"stretch",baseline:"baseline"};function v(e){return(n,t)=>{let i=t.children(n.children);if(i.length===0){t.note("unsupported",n.type,`${e} requires at least one child and none survived`);return}let r=typeof n.justify==="string"?Ue[n.justify]:void 0,o=typeof n.align==="string"?Fe[n.align]:void 0;return{component:e,children:i,...r!=null&&{justify:r},...o!=null&&{align:o}}}}var _e=["Div","Container","Stack","Grid","GridItem","Page","Pages","Dashboard","DashboardItem","MasterDetail","Detail","Form","Fieldset","CardContent","CardHeader","CardFooter","Accordion","Carousel","SelectGroup","ComboboxGroup","Section","Article","Aside","Header","Footer","Nav","Span"],je=["ButtonGroup","Toolbar","Inline"],Ve={H1:"# ",H2:"## ",H3:"### ",H4:"#### ",H5:"##### ",H6:"###### "},X={Heading:(e,n)=>{let t=typeof e.level==="number"?Math.min(6,Math.max(1,e.level)):1;return l(e,n,{prefix:`${"#".repeat(t)} `})},Text:(e,n)=>l(e,n),P:(e,n)=>l(e,n),Lead:(e,n)=>l(e,n),Large:(e,n)=>l(e,n),Small:(e,n)=>l(e,n,{variant:"caption"}),Muted:(e,n)=>l(e,n,{variant:"caption"}),Label:(e,n)=>l(e,n,{variant:"caption"}),TableCaption:(e,n)=>l(e,n,{variant:"caption"}),BlockQuote:(e,n)=>l(e,n,{prefix:"> "}),Code:(e,n)=>l(e,n,{prefix:"`",suffix:"`"}),Kbd:(e,n)=>l(e,n,{prefix:"`",suffix:"`"}),Markdown:(e,n)=>l(e,n),Badge:(e,n)=>l(e,n,{keys:["label","content"],variant:"caption"}),CardTitle:(e,n)=>l(e,n,{prefix:"**",suffix:"**"}),CardDescription:(e,n)=>l(e,n,{variant:"caption"}),Tooltip:(e,n)=>l(e,n,{variant:"caption"}),AlertTitle:(e,n)=>l(e,n,{prefix:"**",suffix:"**"}),AlertDescription:(e,n)=>l(e,n)};for(let[e,n]of Object.entries(Ve))X[e]=(t,i)=>l(t,i,{prefix:n});function M(e){return(n,t)=>{let i=t.dyn(a(n,"src","url"));if(i==null){t.note("unsupported",n.type,"no resolvable source URL");return}let r=e==="Video"?void 0:t.dyn(a(n,"alt","description")),o=e==="Video"?t.dyn(a(n,"poster","posterUrl")):void 0;return{component:e,url:i,...r!=null&&{description:r},...o!=null&&{posterUrl:o}}}}var He={text:"shortText",email:"shortText",url:"shortText",tel:"shortText",search:"shortText",password:"obscured",number:"number"};function h(e,n){let t=typeof e.name==="string"?e.name:void 0;if(t==null)return;let i=n.bind(`{{ ${t} }}`);return i.kind==="binding"?i.value:void 0}function N(e,n){let t=h(e,n);if(t==null)return;let i=[];if(e.required===!0)i.push({condition:{call:"required",args:{value:t}}});if(e.inputType==="email")i.push({condition:{call:"email",args:{value:t}}});return i.length>0?i:void 0}function qe(e,n){let t=Array.isArray(e.children)?e.children:[],i=[];for(let r of t){let o=a(r,"value");if(o==null){n.note("degraded",e.type,`dropped a ${r.type} child that carries no option value`);continue}i.push({label:a(r,"label")??o,value:o})}return i}function I(e,n,t){if(a(e,"label","name")==null)n.note("degraded",e.type,"no label available for the DateTimeInput");return{component:"DateTimeInput",value:h(e,n)??"",...t}}function E(e){return(n,t)=>{let i=t.dyn(a(n,"label","name"));if(i==null){t.note("unsupported",n.type,"ChoicePicker requires a label and none could be derived");return}let r=qe(n,t);if(r.length===0){t.note("unsupported",n.type,"no options to choose from");return}let o=h(n,t),s=N(n,t);return{component:"ChoicePicker",label:i,variant:e,options:r,...o!=null&&{value:o},...s!=null&&{checks:s}}}}function Y(e,n,t){let i=n.dyn(a(e,"label","name"));if(i==null){n.note("unsupported",e.type,"TextField requires a label and none could be derived");return}let r=h(e,n),o=n.dyn(a(e,"placeholder")),s=N(e,n);return{component:"TextField",label:i,variant:t,...r!=null&&{value:r},...o!=null&&{placeholder:o},...s!=null&&{checks:s}}}var P={Input:(e,n)=>{let t=typeof e.inputType==="string"?e.inputType:"text",i=He[t];if(i==null)n.note("degraded",e.type,`inputType "${t}" has no A2UI variant; used shortText`);return Y(e,n,i??"shortText")},Textarea:(e,n)=>Y(e,n,"longText"),Checkbox:(e,n)=>{let t=n.dyn(a(e,"label","name"));if(t==null){n.note("unsupported",e.type,"CheckBox requires a label and none could be derived");return}let i=N(e,n);return{component:"CheckBox",label:t,value:h(e,n)??!1,...i!=null&&{checks:i}}},Slider:(e,n)=>{let t=typeof e.max==="number"?e.max:void 0;if(t==null){n.note("unsupported",e.type,"Slider requires a max and prefab left it open");return}let i=n.dyn(a(e,"label","name")),r=typeof e.min==="number"?e.min:void 0,o=typeof e.step==="number"?e.step:void 0,s=o!=null&&o>0?Math.max(1,Math.round((t-(r??0))/o)):void 0;return{component:"Slider",max:t,value:h(e,n)??r??0,...i!=null&&{label:i},...r!=null&&{min:r},...s!=null&&{steps:s}}},Button:(e,n)=>{let t=a(e,"label","content")??"Button",i=n.action(e.onClick,"Button")??(e.submit===!0?{event:{name:"submit"}}:void 0);if(i==null){n.note("unsupported",e.type,"Button requires an action and none could be derived");return}let r=n.push({component:"Text",text:n.dyn(t)??t}),o=e.variant==="link"||e.variant==="ghost"?"borderless":e.variant==="default"?"primary":"default";return{component:"Button",child:r,action:i,variant:o}},Link:(e,n)=>{let t=a(e,"href","url");if(t==null){n.note("unsupported",e.type,"no href to open");return}let i=a(e,"content","label")??t;return{component:"Button",child:n.push({component:"Text",text:n.dyn(i)??i}),variant:"borderless",action:{functionCall:{call:"openUrl",args:{url:t}}}}},DatePicker:(e,n)=>I(e,n,{enableDate:!0}),TimePicker:(e,n)=>I(e,n,{enableTime:!0}),DateTimePicker:(e,n)=>I(e,n,{enableDate:!0,enableTime:!0}),Select:(e,n)=>E(e.multiple===!0?"multipleSelection":"mutuallyExclusive")(e,n),RadioGroup:E("mutuallyExclusive"),Combobox:E("mutuallyExclusive")};P.Switch=P.Checkbox;var ze={Card:(e,n)=>{let t=n.single(e.children);if(t==null){n.note("unsupported","Card","Card requires a child and it had none");return}return{component:"Card",child:t}},Alert:(e,n)=>{let t=n.single(e.children);if(t==null){n.note("unsupported","Alert","no alert body to render");return}let i=typeof e.variant==="string"?e.variant:"default";return n.note("degraded","Alert",`variant "${i}" rendered as a plain Card`),{component:"Card",child:t}},Separator:()=>({component:"Divider"}),Divider:()=>({component:"Divider"}),Icon:(e,n)=>{let t=a(e,"name","icon");if(t==null){n.note("unsupported","Icon","no icon name");return}let i=z(t);if(i==null){n.note("unsupported","Icon",`"${t}" has no equivalent in the A2UI icon set`);return}if(i!==t)n.note("degraded","Icon",`"${t}" mapped to the A2UI icon "${i}"`);return{component:"Icon",name:i}},Metric:(e,n)=>{let t=[],i=a(e,"label","title");if(i!=null)t.push(n.push({component:"Text",text:n.dyn(i)??i,variant:"caption"}));let r=a(e,"value");if(r!=null)t.push(n.push({component:"Text",text:n.dyn(r)??r}));if(t.length===0){n.note("unsupported","Metric","neither a label nor a value to render");return}return n.note("degraded","Metric","rendered as a Column of Text; trend and delta styling dropped"),{component:"Column",children:t}},Tabs:(e,n)=>{let t=Array.isArray(e.children)?e.children:[],i=[];for(let r of t){let o=n.single(r.children);if(o==null)continue;i.push({title:a(r,"title")??"Tab",child:o})}if(i.length===0){n.note("unsupported","Tabs","no tab had renderable content");return}return{component:"Tabs",tabs:i}},Dialog:(e,n)=>{let t=n.single(e.children);if(t==null){n.note("unsupported","Dialog","no dialog body to render");return}let i=m(e.trigger),r=i!=null?a(i,"label","content")??a(e,"title")??"Open":a(e,"title")??"Open";return{component:"Modal",trigger:(i!=null?n.child(i):void 0)??n.push({component:"Text",text:n.dyn(r)??r}),content:t}},AccordionItem:(e,n)=>{let t=[],i=a(e,"title");if(i!=null)t.push(n.push({component:"Text",text:i,variant:"caption"}));if(t.push(...n.children(e.children)),t.length===0){n.note("unsupported","AccordionItem","nothing to render");return}return n.note("degraded","AccordionItem","rendered expanded; A2UI Basic has no disclosure component"),{component:"Column",children:t}}},S={Column:v("Column"),Row:v("Row"),...X,...P,...ze,...R,Image:M("Image"),Video:M("Video"),Audio:M("AudioPlayer"),Table:W,DataTable:K};for(let e of _e)S[e]??=v("Column");for(let e of je)S[e]??=v("Row");var Ge=new Set(["Tab","SelectOption","ComboboxOption","Radio","Option",...G]),Ke={LineChart:"charts",BarChart:"charts",AreaChart:"charts",PieChart:"charts",ScatterChart:"charts",RadarChart:"charts",RadialChart:"charts",Histogram:"charts",Sparkline:"charts",Svg:"inline vector graphics",Mermaid:"diagrams",Embed:"embedded frames",DropZone:"file uploads",Ring:"progress rings",Loader:"loading indicators",Progress:"progress bars"};function Z(e){return S[e]}function Q(e){return Ge.has(e)}function ee(){return Object.keys(S).sort()}function ne(e,n){let t=Ke[e.type];if(t!=null){n.note("unsupported",e.type,`${t} are outside the A2UI Basic catalog`);return}if(Array.isArray(e.children)&&e.children.length>0){let i=n.children(e.children);if(i.length>0)return n.note("degraded",e.type,"no Basic-catalog equivalent; flattened to a Column"),{component:"Column",children:i}}if(a(e,"content","text","label","title")!=null)return n.note("degraded",e.type,"no Basic-catalog equivalent; rendered as Text"),l(e,n);n.note("unsupported",e.type,"no Basic-catalog equivalent and nothing to render");return}var f="v1.0",x="https://a2ui.org/specification/v1_0/catalogs/basic/catalog.json",te="application/a2ui+json",ie="a2ui://",w="root";var We=O("a2ui");function Ye(e){let n=e.children;if(e.type==="Div"&&typeof e.cssClass==="string"&&e.cssClass.startsWith("pf-app-root")&&Array.isArray(n)&&n.length===1)return n[0];return e}function re(e,n){if(e.type==="Define"){let t=typeof e.name==="string"?e.name:void 0;if(t!=null&&Array.isArray(e.children))n.set(t,e.children)}if(Array.isArray(e.children))for(let t of e.children)re(t,n)}class oe{warn;components=new Map;dataModel=new Map;used=new Set([w]);diagnostics=[];definitions=new Map;counter=0;scope={};slots={};expanding=new Set;constructor(e){this.warn=e}bind(e){return g(e,this.scope)}dyn(e){return C(e,this.scope)}inScope(e,n){let t=this.scope;this.scope={...t,...e};try{return n()}finally{this.scope=t}}withSlots(e,n){let t=this.slots;this.slots={...t,...e};try{return n()}finally{this.slots=t}}slotContent(e){return this.slots[e]}definition(e){if(this.expanding.has(e)){this.note("unsupported","Use",`definition "${e}" uses itself; A2UI has no recursive template`);return}return this.definitions.get(e)}expand(e,n){this.expanding.add(e);try{return n()}finally{this.expanding.delete(e)}}note(e,n,t){if(this.diagnostics.push({kind:e,subject:n,detail:t}),this.warn)We.warn(`${e}: ${n} — ${t}`)}allocate(e){let n=typeof e?.id==="string"&&e.id.length>0?e.id:void 0;if(n!=null&&!this.used.has(n))return this.used.add(n),n;let t;do this.counter+=1,t=`c${this.counter}`;while(this.used.has(t));return this.used.add(t),t}push(e){let n=this.allocate();return this.components.set(n,{id:n,...e}),n}bindData(e,n){let t=e,i=0;while(this.dataModel.has(t))i+=1,t=`${e}${i}`;return this.dataModel.set(t,n),`/${p(t)}`}child(e){return this.emit(e,!1)}children(e){let n=[];for(let t of y(e)){let i=this.emit(t,!1);if(i!=null)n.push(i)}return n}single(e){let n=this.children(e);if(n.length===0)return;if(n.length===1)return n[0];return this.push({component:"Column",children:n})}action(e,n){if(e==null)return;if(Array.isArray(e)){if(e.length===0)return;if(e.length>1)this.note("action",n,`${e.length} actions were bound; A2UI carries one, so the rest were dropped`);return this.action(e[0],n)}if(!d(e))return;let t=e,i=typeof t.action==="string"?t.action:void 0;if(i==null)return;switch(i){case"toolCall":case"callTool":{let r=typeof t.tool==="string"?t.tool:void 0;if(r==null)return;let o=this.eventContext(t.arguments,n);return{event:{name:r,...o!=null&&{context:o}}}}case"sendMessage":return{event:{name:"sendMessage",context:{message:typeof t.message==="string"?t.message:""}}};case"openLink":{let r=typeof t.url==="string"?t.url:typeof t.href==="string"?t.href:void 0;if(r==null)return;return{functionCall:{call:"openUrl",args:{url:r}}}}default:{this.note("action",n,`"${i}" has no renderer-side equivalent; emitted as an agent event`);let{action:r,...o}=t,s=this.eventContext(o,n);return{event:{name:i,...s!=null&&{context:s}}}}}}eventContext(e,n){if(!d(e))return;let t={};for(let[i,r]of Object.entries(e)){if(typeof r==="number"||typeof r==="boolean"||r===null){t[i]=r;continue}if(typeof r!=="string"){this.note("action",n,`argument "${i}" is not a scalar and was dropped from the event context`);continue}let o=g(r);if(o.kind==="unbindable"){this.note("action",n,`argument "${i}" uses "${o.expression}", which A2UI cannot bind; it was dropped`);continue}t[i]=o.kind==="binding"?o.value:o.value}return Object.keys(t).length>0?t:void 0}rollback(e,n){let t=[...this.components.keys()];for(let r=e;r<t.length;r++)if(this.components.delete(t[r]),t[r]!==w)this.used.delete(t[r]);let i=[...this.dataModel.keys()];for(let r=n;r<i.length;r++)this.dataModel.delete(i[r])}emit(e,n){if(typeof e.type!=="string")return;if(Q(e.type)){this.note("unsupported",e.type,"only meaningful inside its parent; emitted standalone it has no meaning");return}let t=this.components.size,i=this.dataModel.size,r=n?w:this.allocate(e);this.components.set(r,void 0);let s=(Z(e.type)??ne)(e,this);if(s==null){this.rollback(t,i);return}return this.components.set(r,{id:r,...s}),r}finish(e,n){let t=n.surfaceId??"prefab";for(let[c,ce]of Object.entries(e.defs??{}))this.definitions.set(c,[ce]);if(re(e.view,this.definitions),this.emit(Ye(e.view),!0)==null)this.note("unsupported","view","nothing in the view could be expressed in A2UI; the surface is empty");let r=[];for(let c of this.components.values())if(c!=null)r.push(c);let o={...Object.fromEntries(this.dataModel),...e.state??{}},s=Object.keys(o).length>0,u=[],A=n.catalogId??x;if(n.stream===!0){if(u.push({version:f,createSurface:{surfaceId:t,catalogId:A,...n.sendDataModel===!0&&{sendDataModel:!0}}}),r.length>0)u.push({version:f,updateComponents:{surfaceId:t,components:r}});if(s)u.push({version:f,updateDataModel:{surfaceId:t,value:o}})}else u.push({version:f,createSurface:{surfaceId:t,catalogId:A,...n.sendDataModel===!0&&{sendDataModel:!0},...r.length>0&&{components:r},...s&&{dataModel:o}}});return{messages:u,diagnostics:this.diagnostics}}}function se(e,n){let t=n??{};return new oe(t.warn===!0).finish(e,t)}var ae="0.3.23";function ue(e,n){let t=d(e)?m(e.view):void 0;if(!d(e)||t==null)throw TypeError('PrefabA2UI.emit: expected a $prefab payload with a "view"');return se({view:t,state:U(e.state),defs:Xe(e.defs)},n)}function Xe(e){if(!d(e))return;let n={};for(let[t,i]of Object.entries(e)){let r=m(i);if(r)n[t]=r}return n}function le(e){return{messages:e}}var de={emit:ue,envelope:le,mappedTypes:ee,VERSION:ae,A2UI_VERSION:f,A2UI_BASIC_CATALOG:x,A2UI_MIME:te,A2UI_SCHEME:ie},Qe=de;if(typeof window<"u")Object.assign(window,{PrefabA2UI:de});})();
1
+ (()=>{var{defineProperty:k,getOwnPropertyNames:pe,getOwnPropertyDescriptor:fe}=Object,me=Object.prototype.hasOwnProperty;function ge(e){return this[e]}var he=(e)=>{var n=(B??=new WeakMap).get(e),t;if(n)return n;if(n=k({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function"){for(var i of pe(e))if(!me.call(n,i))k(n,i,{get:ge.bind(e,i),enumerable:!(t=fe(e,i))||t.enumerable})}return B.set(e,n),n},B;var ye=(e)=>e;function Ae(e,n){this[e]=ye.bind(null,n)}var be=(e,n)=>{for(var t in n)k(e,t,{get:n[t],enumerable:!0,configurable:!0,set:Ae.bind(n,t)})};var Ze={};be(Ze,{default:()=>Qe,emit:()=>ue,envelope:()=>le});var L={silent:0,error:1,warn:2,info:3,debug:4},Ce="warn";function O(e){let n=e?`[prefab:${e}]`:"[prefab]",t=(i,r,o)=>{if(L[i]>L[Ce])return;console[i](`${n} ${r}`,...o)};return{error:(i,...r)=>t("error",i,r),warn:(i,...r)=>t("warn",i,r),info:(i,...r)=>t("info",i,r),debug:(i,...r)=>t("debug",i,r)}}var nn=O();function d(e){return e!=null&&typeof e==="object"&&!Array.isArray(e)}function b(e){return typeof e==="string"?e:void 0}function U(e){return d(e)?e:void 0}function F(e){return Array.isArray(e)?e.filter(d):[]}function ve(e){return typeof e==="string"||typeof e==="number"||typeof e==="boolean"}function a(e,...n){for(let t of n){let i=e[t];if(ve(i))return String(i)}return}function J(e){return d(e)&&typeof e.action==="string"}function m(e){if(!d(e)||typeof e.type!=="string")return;let n={type:e.type};for(let[t,i]of Object.entries(e))if(t==="children"){if(Array.isArray(i))n.children=y(i)}else if(t==="onMount"){if(J(i)||Array.isArray(i)&&i.every(J))n.onMount=i}else if(t==="id"||t==="cssClass"){if(typeof i==="string")n[t]=i}else if(t!=="type")n[t]=i;return n}function y(e){if(!Array.isArray(e))return[];let n=[];for(let t of e){let i=m(t);if(i)n.push(i)}return n}var Se=/^(.+?)\s*\|\s*([A-Za-z_][\w]*)\s*(?::\s*(.+))?$/;function _(e){let n=Se.exec(e);if(n==null)return;let t=n[1].trim();if(t.includes("|"))return;let i=n.at(3)?.trim();if(i===void 0)return{base:t,name:n[2]};let r=/^'([^']*)'$|^"([^"]*)"$/.exec(i);if(r!=null){let s=r.at(1)??r.at(2);return{base:t,name:n[2],arg:s??""}}let o=Number(i);if(!Number.isNaN(o))return{base:t,name:n[2],arg:o};return}function T(e,n){return(t)=>({call:{call:"formatDate",args:{value:t,format:e}},note:`the "${n}" pipe renders in the reader's locale; A2UI needs an explicit pattern, so "${e}" was used`})}var xe={currency:(e,n)=>({call:{call:"formatCurrency",args:{value:e,currency:typeof n==="string"?n:"USD"}}}),number:(e,n)=>({call:{call:"formatNumber",args:{value:e,...typeof n==="number"&&{decimals:n}}}}),round:(e,n)=>({call:{call:"formatNumber",args:{value:e,decimals:typeof n==="number"?n:0}}}),pluralize:(e,n)=>{if(typeof n!=="string")return;return{call:{call:"pluralize",args:{value:e,one:n,other:`${n}s`}}}},date:T("y-MM-dd","date"),time:T("HH:mm","time"),datetime:T("y-MM-dd HH:mm","datetime")};function j(e,n){return xe[e.name]?.(n,e.arg)}var we=/^\s*\{\{\s*(.+?)\s*\}\}\s*$/s,ke=/\{\{\s*(.+?)\s*\}\}/g,Oe=/^\$?[A-Za-z_][\w$]*(?:\.(?:[A-Za-z_$][\w$]*|\d+))*$/,V="$index";function p(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function Te(e){return"/"+e.map(p).join("/")}function De(e){return e.startsWith("state.")?e.slice(6):e}function D(e,n){if(!Oe.test(e))return;let t=De(e).split("."),i=t[0],r=Object.hasOwn(n,i)?n[i]:void 0;if(r===void 0){if(i.startsWith("$"))return;return Te(t)}let o=t.slice(1);if(r==="")return o.length===0?void 0:o.map(p).join("/");return o.length===0?r:`${r}/${o.map(p).join("/")}`}function H(e){return e.replace(/\$\{/g,"\\${")}function Re(e,n){let t,i="",r=0;for(let o of e.matchAll(ke)){let s=o[1].trim(),u=D(s,n);if(u==null){t=s;break}i+=H(e.slice(r,o.index)),i+=`\${${u}}`,r=o.index+o[0].length}if(t!=null)return;return i+=H(e.slice(r)),{call:"formatString",args:{value:i}}}function Me(e,n){let t=_(e);if(t==null)return;let i=D(t.base,n),r=i!=null?{path:i}:/^-?\d+(\.\d+)?$/.test(t.base)?Number(t.base):void 0;if(r===void 0)return;let o=j(t,r);if(o==null)return;return{kind:"format",value:o.call,...o.note!=null&&{note:o.note}}}function g(e,n={}){let t=we.exec(e);if(t!=null&&!t[1].includes("{{")&&!t[1].includes("}}")){let o=t[1].trim();if(o===V&&V in n)return{kind:"index",value:{call:"@index"}};let s=D(o,n);if(s!=null)return{kind:"binding",value:{path:s}};let u=Me(o,n);if(u!=null)return u;return{kind:"unbindable",expression:o}}if(!e.includes("{{"))return{kind:"literal",value:e};let r=Re(e,n);if(r!=null)return{kind:"format",value:r};return{kind:"unbindable",expression:e}}function C(e,n={}){if(e==null)return;let t=g(e,n);switch(t.kind){case"literal":return t.value;case"binding":return t.value;case"format":return t.value;case"index":return t.value;default:return}}var Ie=["accountCircle","add","arrowBack","arrowForward","attachFile","calendarToday","call","camera","check","close","delete","download","edit","event","error","fastForward","favorite","favoriteOff","folder","help","home","info","locationOn","lock","lockOpen","mail","menu","moreVert","moreHoriz","notificationsOff","notifications","pause","payment","person","phone","photo","play","print","refresh","rewind","search","send","settings","share","shoppingCart","skipNext","skipPrevious","star","starHalf","starOff","stop","upload","visibility","visibilityOff","volumeDown","volumeMute","volumeOff","volumeUp","warning"],Ee=new Map(Ie.map((e)=>[q(e),e])),Pe={alertcircle:"error",alerttriangle:"warning",alertoctagon:"error",xcircle:"error",circlex:"error",circlealert:"error",checkcircle:"check",circlecheck:"check",checkcircle2:"check",infocircle:"info",circleinfo:"info",helpcircle:"help",circlehelp:"help",bell:"notifications",belloff:"notificationsOff",arrowleft:"arrowBack",arrowright:"arrowForward",chevronleft:"arrowBack",chevronright:"arrowForward",x:"close",plus:"add",trash:"delete",trash2:"delete",ellipsisvertical:"moreVert",ellipsis:"moreHoriz",morehorizontal:"moreHoriz",morevertical:"moreVert",pencil:"edit",pen:"edit",squarepen:"edit",user:"person",usercircle:"accountCircle",circleuser:"accountCircle",eye:"visibility",eyeoff:"visibilityOff",mappin:"locationOn",map:"locationOn",image:"photo",images:"photo",file:"folder",files:"folder",calendar:"calendarToday",calendardays:"calendarToday",clock:"event",creditcard:"payment",cart:"shoppingCart",shoppingbag:"shoppingCart",phonecall:"call",mailopen:"mail",inbox:"mail",cog:"settings",gear:"settings",sliders:"settings",rotatecw:"refresh",rotateccw:"refresh",refreshcw:"refresh",heart:"favorite",heartoff:"favoriteOff",volume:"volumeUp",volume1:"volumeDown",volume2:"volumeUp",volumex:"volumeOff",skipforward:"skipNext",skipback:"skipPrevious",paperclip:"attachFile",link:"share",share2:"share",magnifyingglass:"search",searchicon:"search"};function q(e){return e.replace(/[\s._-]/g,"").toLowerCase()}function z(e){let n=q(e);return Ee.get(n)??Pe[n]}function Ne(e){if(!d(e))return{};return Object.fromEntries(Object.entries(e).map(([n,t])=>[n,y(t)]))}var R={ForEach:(e,n)=>{let t=a(e,"expression");if(t==null){n.note("unsupported","ForEach","no expression to iterate");return}let i=n.bind(t);if(i.kind!=="binding"){n.note("expression","ForEach",`"${t}" is not a plain path, so there is no list to bind`);return}let r=n.inScope({$item:"",$index:""},()=>n.single(e.children));if(r==null){n.note("unsupported","ForEach","the loop body had nothing to render");return}return{component:"Column",children:{path:i.value.path,componentId:r}}},Define:()=>{return},Use:(e,n)=>{let t=a(e,"def","name");if(t==null){n.note("unsupported","Use","no definition name");return}let i=n.definition(t);if(i==null){n.note("unsupported","Use",`no definition named "${t}" was declared`);return}let r=e.overrides,o={};if(r!=null&&typeof r==="object"&&!Array.isArray(r)){let A=n.bindData(`use_${t}`,r);for(let c of Object.keys(r))o[c]=`${A}/${p(c)}`}let s={...Ne(e.slots),...Array.isArray(e.children)&&e.children.length>0?{default:e.children}:{}},u=n.expand(t,()=>n.inScope(o,()=>n.withSlots(s,()=>n.single(i))));if(u==null){n.note("unsupported","Use",`definition "${t}" rendered nothing`);return}return{component:"Column",children:[u]}},Slot:(e,n)=>{let t=a(e,"name")??"default",i=n.slotContent(t)??(Array.isArray(e.children)?e.children:void 0),r=i!=null?n.single(i):void 0;if(r==null){n.note("unsupported","Slot",`slot "${t}" had neither content nor a fallback`);return}return{component:"Column",children:[r]}}};for(let e of["If","Elif","Else","Condition","Match","Case"])R[e]=(n,t)=>{t.note("unsupported",n.type,"A2UI has no declarative conditional; the agent re-sends updateComponents when the shape changes");return};var G=["TableHead","TableBody","TableFooter","TableRow","TableCell","TableHeader","ExpandableRow"];function Be(e){let n=[];for(let t of F(e.columns)){let i=b(t.accessor)??b(t.key);if(i==null)continue;n.push({key:i,header:b(t.header)??i})}return n}function $e(e,n){let t=e.rows;if(typeof t==="string"){let i=g(t);if(i.kind==="binding")return i.value.path;n.note("expression","DataTable",`rows expression "${t}" is not a plain path; the table has no data source`);return}if(Array.isArray(t))return n.bindData("rows",t);n.note("unsupported","DataTable","no rows to render");return}function K(e,n){let t=Be(e);if(t.length===0){n.note("unsupported","DataTable","no usable column definitions");return}let i=$e(e,n);if(i==null)return;let r=n.push({component:"Row",children:t.map((u)=>n.push({component:"Text",text:u.header,variant:"caption"})),align:"center"}),o=n.push({component:"Row",children:t.map((u)=>n.push({component:"Text",text:{path:u.key.split(".").join("/")}})),align:"center"}),s=n.push({component:"Column",children:{path:i,componentId:o}});if(e.search===!0||e.paginated===!0)n.note("degraded","DataTable","search and pagination dropped; A2UI Basic has no table controls");return{component:"Column",children:[r,s]}}function Le(e){let n=[],t=(i)=>{if(i.type==="TableRow"||i.type==="ExpandableRow"){n.push(i);return}if(Array.isArray(i.children))for(let r of i.children)t(r)};if(Array.isArray(e.children))for(let i of e.children)t(i);return n}function Je(e,n){let t=e.type==="TableHeader";if(Array.isArray(e.children)&&e.children.length>0)return n.single(e.children);let i=e.content??e.text??e.label;if(typeof i!=="string"&&typeof i!=="number"&&typeof i!=="boolean")return;let r=String(i),o=C(r);if(o==null){n.note("expression",e.type,`cell expression "${r}" has no A2UI equivalent`);return}return n.push({component:"Text",text:o,...t&&{variant:"caption"}})}function W(e,n){let t=Le(e),i=[];for(let r of t){let s=(Array.isArray(r.children)?r.children:[]).map((u)=>Je(u,n)).filter((u)=>u!=null);if(s.length===0)continue;i.push(n.push({component:"Row",children:s,align:"center"}))}if(i.length===0){n.note("unsupported","Table","no rows with renderable cells");return}return n.note("degraded","Table","rendered as a Column of Rows; column widths do not align"),{component:"Column",children:i}}function l(e,n,t){let i=a(e,...t?.keys??["content","text","label","title"]);if(i==null){n.note("unsupported",e.type,"no text content to render");return}let r=n.bind(i);if(r.kind==="unbindable")n.note("expression",e.type,`"${r.expression}" is richer than a JSON Pointer; the text was left as written`);let o=t?.prefix??"",s=t?.suffix??"";if(r.kind==="format"&&r.note!=null)n.note("degraded",e.type,r.note);if(r.kind==="binding"||r.kind==="format"||r.kind==="index"){if(o!==""||s!=="")n.note("degraded",e.type,"Markdown emphasis dropped: the text is a data binding");return{component:"Text",text:r.value,...t?.variant!=null&&{variant:t.variant}}}let u=r.kind==="literal"?r.value:i;return{component:"Text",text:`${o}${u}${s}`,...t?.variant!=null&&{variant:t.variant}}}var Ue={start:"start",end:"end",center:"center",between:"spaceBetween",around:"spaceAround",evenly:"spaceEvenly",spaceBetween:"spaceBetween",spaceAround:"spaceAround",spaceEvenly:"spaceEvenly"},Fe={start:"start",end:"end",center:"center",stretch:"stretch",baseline:"baseline"};function v(e){return(n,t)=>{let i=t.children(n.children);if(i.length===0){t.note("unsupported",n.type,`${e} requires at least one child and none survived`);return}let r=typeof n.justify==="string"?Ue[n.justify]:void 0,o=typeof n.align==="string"?Fe[n.align]:void 0;return{component:e,children:i,...r!=null&&{justify:r},...o!=null&&{align:o}}}}var _e=["Div","Container","Stack","Grid","GridItem","Page","Pages","Dashboard","DashboardItem","MasterDetail","Detail","Form","Fieldset","CardContent","CardHeader","CardFooter","Accordion","Carousel","SelectGroup","ComboboxGroup","Section","Article","Aside","Header","Footer","Nav","Span"],je=["ButtonGroup","Toolbar","Inline"],Ve={H1:"# ",H2:"## ",H3:"### ",H4:"#### ",H5:"##### ",H6:"###### "},X={Heading:(e,n)=>{let t=typeof e.level==="number"?Math.min(6,Math.max(1,e.level)):1;return l(e,n,{prefix:`${"#".repeat(t)} `})},Text:(e,n)=>l(e,n),P:(e,n)=>l(e,n),Lead:(e,n)=>l(e,n),Large:(e,n)=>l(e,n),Small:(e,n)=>l(e,n,{variant:"caption"}),Muted:(e,n)=>l(e,n,{variant:"caption"}),Label:(e,n)=>l(e,n,{variant:"caption"}),TableCaption:(e,n)=>l(e,n,{variant:"caption"}),BlockQuote:(e,n)=>l(e,n,{prefix:"> "}),Code:(e,n)=>l(e,n,{prefix:"`",suffix:"`"}),Kbd:(e,n)=>l(e,n,{prefix:"`",suffix:"`"}),Markdown:(e,n)=>l(e,n),Badge:(e,n)=>l(e,n,{keys:["label","content"],variant:"caption"}),CardTitle:(e,n)=>l(e,n,{prefix:"**",suffix:"**"}),CardDescription:(e,n)=>l(e,n,{variant:"caption"}),Tooltip:(e,n)=>l(e,n,{variant:"caption"}),AlertTitle:(e,n)=>l(e,n,{prefix:"**",suffix:"**"}),AlertDescription:(e,n)=>l(e,n)};for(let[e,n]of Object.entries(Ve))X[e]=(t,i)=>l(t,i,{prefix:n});function M(e){return(n,t)=>{let i=t.dyn(a(n,"src","url"));if(i==null){t.note("unsupported",n.type,"no resolvable source URL");return}let r=e==="Video"?void 0:t.dyn(a(n,"alt","description")),o=e==="Video"?t.dyn(a(n,"poster","posterUrl")):void 0;return{component:e,url:i,...r!=null&&{description:r},...o!=null&&{posterUrl:o}}}}var He={text:"shortText",email:"shortText",url:"shortText",tel:"shortText",search:"shortText",password:"obscured",number:"number"};function h(e,n){let t=typeof e.name==="string"?e.name:void 0;if(t==null)return;let i=n.bind(`{{ ${t} }}`);return i.kind==="binding"?i.value:void 0}function N(e,n){let t=h(e,n);if(t==null)return;let i=[];if(e.required===!0)i.push({condition:{call:"required",args:{value:t}}});if(e.inputType==="email")i.push({condition:{call:"email",args:{value:t}}});return i.length>0?i:void 0}function qe(e,n){let t=Array.isArray(e.children)?e.children:[],i=[];for(let r of t){let o=a(r,"value");if(o==null){n.note("degraded",e.type,`dropped a ${r.type} child that carries no option value`);continue}i.push({label:a(r,"label")??o,value:o})}return i}function I(e,n,t){if(a(e,"label","name")==null)n.note("degraded",e.type,"no label available for the DateTimeInput");return{component:"DateTimeInput",value:h(e,n)??"",...t}}function E(e){return(n,t)=>{let i=t.dyn(a(n,"label","name"));if(i==null){t.note("unsupported",n.type,"ChoicePicker requires a label and none could be derived");return}let r=qe(n,t);if(r.length===0){t.note("unsupported",n.type,"no options to choose from");return}let o=h(n,t),s=N(n,t);return{component:"ChoicePicker",label:i,variant:e,options:r,...o!=null&&{value:o},...s!=null&&{checks:s}}}}function Y(e,n,t){let i=n.dyn(a(e,"label","name"));if(i==null){n.note("unsupported",e.type,"TextField requires a label and none could be derived");return}let r=h(e,n),o=n.dyn(a(e,"placeholder")),s=N(e,n);return{component:"TextField",label:i,variant:t,...r!=null&&{value:r},...o!=null&&{placeholder:o},...s!=null&&{checks:s}}}var P={Input:(e,n)=>{let t=typeof e.inputType==="string"?e.inputType:"text",i=He[t];if(i==null)n.note("degraded",e.type,`inputType "${t}" has no A2UI variant; used shortText`);return Y(e,n,i??"shortText")},Textarea:(e,n)=>Y(e,n,"longText"),Checkbox:(e,n)=>{let t=n.dyn(a(e,"label","name"));if(t==null){n.note("unsupported",e.type,"CheckBox requires a label and none could be derived");return}let i=N(e,n);return{component:"CheckBox",label:t,value:h(e,n)??!1,...i!=null&&{checks:i}}},Slider:(e,n)=>{let t=typeof e.max==="number"?e.max:void 0;if(t==null){n.note("unsupported",e.type,"Slider requires a max and prefab left it open");return}let i=n.dyn(a(e,"label","name")),r=typeof e.min==="number"?e.min:void 0,o=typeof e.step==="number"?e.step:void 0,s=o!=null&&o>0?Math.max(1,Math.round((t-(r??0))/o)):void 0;return{component:"Slider",max:t,value:h(e,n)??r??0,...i!=null&&{label:i},...r!=null&&{min:r},...s!=null&&{steps:s}}},Button:(e,n)=>{let t=a(e,"label","content")??"Button",i=n.action(e.onClick,"Button")??(e.submit===!0?{event:{name:"submit"}}:void 0);if(i==null){n.note("unsupported",e.type,"Button requires an action and none could be derived");return}let r=n.push({component:"Text",text:n.dyn(t)??t}),o=e.variant==="link"||e.variant==="ghost"?"borderless":e.variant==="default"?"primary":"default";return{component:"Button",child:r,action:i,variant:o}},Link:(e,n)=>{let t=a(e,"href","url");if(t==null){n.note("unsupported",e.type,"no href to open");return}let i=a(e,"content","label")??t;return{component:"Button",child:n.push({component:"Text",text:n.dyn(i)??i}),variant:"borderless",action:{functionCall:{call:"openUrl",args:{url:t}}}}},DatePicker:(e,n)=>I(e,n,{enableDate:!0}),TimePicker:(e,n)=>I(e,n,{enableTime:!0}),DateTimePicker:(e,n)=>I(e,n,{enableDate:!0,enableTime:!0}),Select:(e,n)=>E(e.multiple===!0?"multipleSelection":"mutuallyExclusive")(e,n),RadioGroup:E("mutuallyExclusive"),Combobox:E("mutuallyExclusive")};P.Switch=P.Checkbox;var ze={Card:(e,n)=>{let t=n.single(e.children);if(t==null){n.note("unsupported","Card","Card requires a child and it had none");return}return{component:"Card",child:t}},Alert:(e,n)=>{let t=n.single(e.children);if(t==null){n.note("unsupported","Alert","no alert body to render");return}let i=typeof e.variant==="string"?e.variant:"default";return n.note("degraded","Alert",`variant "${i}" rendered as a plain Card`),{component:"Card",child:t}},Separator:()=>({component:"Divider"}),Divider:()=>({component:"Divider"}),Icon:(e,n)=>{let t=a(e,"name","icon");if(t==null){n.note("unsupported","Icon","no icon name");return}let i=z(t);if(i==null){n.note("unsupported","Icon",`"${t}" has no equivalent in the A2UI icon set`);return}if(i!==t)n.note("degraded","Icon",`"${t}" mapped to the A2UI icon "${i}"`);return{component:"Icon",name:i}},Metric:(e,n)=>{let t=[],i=a(e,"label","title");if(i!=null)t.push(n.push({component:"Text",text:n.dyn(i)??i,variant:"caption"}));let r=a(e,"value");if(r!=null)t.push(n.push({component:"Text",text:n.dyn(r)??r}));if(t.length===0){n.note("unsupported","Metric","neither a label nor a value to render");return}return n.note("degraded","Metric","rendered as a Column of Text; trend and delta styling dropped"),{component:"Column",children:t}},Tabs:(e,n)=>{let t=Array.isArray(e.children)?e.children:[],i=[];for(let r of t){let o=n.single(r.children);if(o==null)continue;i.push({title:a(r,"title")??"Tab",child:o})}if(i.length===0){n.note("unsupported","Tabs","no tab had renderable content");return}return{component:"Tabs",tabs:i}},Dialog:(e,n)=>{let t=n.single(e.children);if(t==null){n.note("unsupported","Dialog","no dialog body to render");return}let i=m(e.trigger),r=i!=null?a(i,"label","content")??a(e,"title")??"Open":a(e,"title")??"Open";return{component:"Modal",trigger:(i!=null?n.child(i):void 0)??n.push({component:"Text",text:n.dyn(r)??r}),content:t}},AccordionItem:(e,n)=>{let t=[],i=a(e,"title");if(i!=null)t.push(n.push({component:"Text",text:i,variant:"caption"}));if(t.push(...n.children(e.children)),t.length===0){n.note("unsupported","AccordionItem","nothing to render");return}return n.note("degraded","AccordionItem","rendered expanded; A2UI Basic has no disclosure component"),{component:"Column",children:t}}},S={Column:v("Column"),Row:v("Row"),...X,...P,...ze,...R,Image:M("Image"),Video:M("Video"),Audio:M("AudioPlayer"),Table:W,DataTable:K};for(let e of _e)S[e]??=v("Column");for(let e of je)S[e]??=v("Row");var Ge=new Set(["Tab","SelectOption","ComboboxOption","Radio","Option",...G]),Ke={LineChart:"charts",BarChart:"charts",AreaChart:"charts",PieChart:"charts",ScatterChart:"charts",RadarChart:"charts",RadialChart:"charts",Histogram:"charts",Sparkline:"charts",Svg:"inline vector graphics",Mermaid:"diagrams",Embed:"embedded frames",DropZone:"file uploads",Ring:"progress rings",Loader:"loading indicators",Progress:"progress bars"};function Z(e){return S[e]}function Q(e){return Ge.has(e)}function ee(){return Object.keys(S).sort()}function ne(e,n){let t=Ke[e.type];if(t!=null){n.note("unsupported",e.type,`${t} are outside the A2UI Basic catalog`);return}if(Array.isArray(e.children)&&e.children.length>0){let i=n.children(e.children);if(i.length>0)return n.note("degraded",e.type,"no Basic-catalog equivalent; flattened to a Column"),{component:"Column",children:i}}if(a(e,"content","text","label","title")!=null)return n.note("degraded",e.type,"no Basic-catalog equivalent; rendered as Text"),l(e,n);n.note("unsupported",e.type,"no Basic-catalog equivalent and nothing to render");return}var f="v1.0",x="https://a2ui.org/specification/v1_0/catalogs/basic/catalog.json",te="application/a2ui+json",ie="a2ui://",w="root";var We=O("a2ui");function Ye(e){let n=e.children;if(e.type==="Div"&&typeof e.cssClass==="string"&&e.cssClass.startsWith("pf-app-root")&&Array.isArray(n)&&n.length===1)return n[0];return e}function re(e,n){if(e.type==="Define"){let t=typeof e.name==="string"?e.name:void 0;if(t!=null&&Array.isArray(e.children))n.set(t,e.children)}if(Array.isArray(e.children))for(let t of e.children)re(t,n)}class oe{warn;components=new Map;dataModel=new Map;used=new Set([w]);diagnostics=[];definitions=new Map;counter=0;scope={};slots={};expanding=new Set;constructor(e){this.warn=e}bind(e){return g(e,this.scope)}dyn(e){return C(e,this.scope)}inScope(e,n){let t=this.scope;this.scope={...t,...e};try{return n()}finally{this.scope=t}}withSlots(e,n){let t=this.slots;this.slots={...t,...e};try{return n()}finally{this.slots=t}}slotContent(e){return this.slots[e]}definition(e){if(this.expanding.has(e)){this.note("unsupported","Use",`definition "${e}" uses itself; A2UI has no recursive template`);return}return this.definitions.get(e)}expand(e,n){this.expanding.add(e);try{return n()}finally{this.expanding.delete(e)}}note(e,n,t){if(this.diagnostics.push({kind:e,subject:n,detail:t}),this.warn)We.warn(`${e}: ${n} — ${t}`)}allocate(e){let n=typeof e?.id==="string"&&e.id.length>0?e.id:void 0;if(n!=null&&!this.used.has(n))return this.used.add(n),n;let t;do this.counter+=1,t=`c${this.counter}`;while(this.used.has(t));return this.used.add(t),t}push(e){let n=this.allocate();return this.components.set(n,{id:n,...e}),n}bindData(e,n){let t=e,i=0;while(this.dataModel.has(t))i+=1,t=`${e}${i}`;return this.dataModel.set(t,n),`/${p(t)}`}child(e){return this.emit(e,!1)}children(e){let n=[];for(let t of y(e)){let i=this.emit(t,!1);if(i!=null)n.push(i)}return n}single(e){let n=this.children(e);if(n.length===0)return;if(n.length===1)return n[0];return this.push({component:"Column",children:n})}action(e,n){if(e==null)return;if(Array.isArray(e)){if(e.length===0)return;if(e.length>1)this.note("action",n,`${e.length} actions were bound; A2UI carries one, so the rest were dropped`);return this.action(e[0],n)}if(!d(e))return;let t=e,i=typeof t.action==="string"?t.action:void 0;if(i==null)return;switch(i){case"toolCall":case"callTool":{let r=typeof t.tool==="string"?t.tool:void 0;if(r==null)return;let o=this.eventContext(t.arguments,n);return{event:{name:r,...o!=null&&{context:o}}}}case"sendMessage":return{event:{name:"sendMessage",context:{message:typeof t.message==="string"?t.message:""}}};case"openLink":{let r=typeof t.url==="string"?t.url:typeof t.href==="string"?t.href:void 0;if(r==null)return;return{functionCall:{call:"openUrl",args:{url:r}}}}default:{this.note("action",n,`"${i}" has no renderer-side equivalent; emitted as an agent event`);let{action:r,...o}=t,s=this.eventContext(o,n);return{event:{name:i,...s!=null&&{context:s}}}}}}eventContext(e,n){if(!d(e))return;let t={};for(let[i,r]of Object.entries(e)){if(typeof r==="number"||typeof r==="boolean"||r===null){t[i]=r;continue}if(typeof r!=="string"){this.note("action",n,`argument "${i}" is not a scalar and was dropped from the event context`);continue}let o=g(r);if(o.kind==="unbindable"){this.note("action",n,`argument "${i}" uses "${o.expression}", which A2UI cannot bind; it was dropped`);continue}t[i]=o.kind==="binding"?o.value:o.value}return Object.keys(t).length>0?t:void 0}rollback(e,n){let t=[...this.components.keys()];for(let r=e;r<t.length;r++)if(this.components.delete(t[r]),t[r]!==w)this.used.delete(t[r]);let i=[...this.dataModel.keys()];for(let r=n;r<i.length;r++)this.dataModel.delete(i[r])}emit(e,n){if(typeof e.type!=="string")return;if(Q(e.type)){this.note("unsupported",e.type,"only meaningful inside its parent; emitted standalone it has no meaning");return}let t=this.components.size,i=this.dataModel.size,r=n?w:this.allocate(e);this.components.set(r,void 0);let s=(Z(e.type)??ne)(e,this);if(s==null){this.rollback(t,i);return}return this.components.set(r,{id:r,...s}),r}finish(e,n){let t=n.surfaceId??"prefab";for(let[c,ce]of Object.entries(e.defs??{}))this.definitions.set(c,[ce]);if(re(e.view,this.definitions),this.emit(Ye(e.view),!0)==null)this.note("unsupported","view","nothing in the view could be expressed in A2UI; the surface is empty");let r=[];for(let c of this.components.values())if(c!=null)r.push(c);let o={...Object.fromEntries(this.dataModel),...e.state??{}},s=Object.keys(o).length>0,u=[],A=n.catalogId??x;if(n.stream===!0){if(u.push({version:f,createSurface:{surfaceId:t,catalogId:A,...n.sendDataModel===!0&&{sendDataModel:!0}}}),r.length>0)u.push({version:f,updateComponents:{surfaceId:t,components:r}});if(s)u.push({version:f,updateDataModel:{surfaceId:t,value:o}})}else u.push({version:f,createSurface:{surfaceId:t,catalogId:A,...n.sendDataModel===!0&&{sendDataModel:!0},...r.length>0&&{components:r},...s&&{dataModel:o}}});return{messages:u,diagnostics:this.diagnostics}}}function se(e,n){let t=n??{};return new oe(t.warn===!0).finish(e,t)}var ae="0.3.24";function ue(e,n){let t=d(e)?m(e.view):void 0;if(!d(e)||t==null)throw TypeError('PrefabA2UI.emit: expected a $prefab payload with a "view"');return se({view:t,state:U(e.state),defs:Xe(e.defs)},n)}function Xe(e){if(!d(e))return;let n={};for(let[t,i]of Object.entries(e)){let r=m(i);if(r)n[t]=r}return n}function le(e){return{messages:e}}var de={emit:ue,envelope:le,mappedTypes:ee,VERSION:ae,A2UI_VERSION:f,A2UI_BASIC_CATALOG:x,A2UI_MIME:te,A2UI_SCHEME:ie},Qe=de;if(typeof window<"u")Object.assign(window,{PrefabA2UI:de});})();
@@ -33,7 +33,7 @@ export function autoChart(data, series, options) {
33
33
  };
34
34
  const children = [];
35
35
  if (options?.title)
36
- children.push(Heading(options.title));
36
+ children.push(Heading(options.title, { level: 3 }));
37
37
  if (options?.subtitle)
38
38
  children.push(Muted(options.subtitle));
39
39
  children.push(Card({ children: [
@@ -1 +1 @@
1
- {"version":3,"file":"chart.js","sourceRoot":"","sources":["../../src/auto/chart.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAA2C,MAAM,sBAAsB,CAAA;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAA;AAClE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAA;AAoBxF;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,SAAS,CACvB,IAA+B,EAC/B,MAAqB,EACrB,OAA0B;IAE1B,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,KAAK,CAAA;IAC7C,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,IAAI,CAAA;IAE9C,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,CAAA;IAEzC,MAAM,UAAU,GAAmB;QACjC,IAAI;QACJ,MAAM;QACN,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;QAC/C,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;QAChE,UAAU;KACX,CAAA;IAED,MAAM,QAAQ,GAAgB,EAAE,CAAA;IAChC,IAAI,OAAO,EAAE,KAAK;QAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;IACzD,IAAI,OAAO,EAAE,QAAQ;QAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;IAE7D,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE;YAC7B,WAAW,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;SACxE,EAAE,CAAC,CAAC,CAAA;IAEL,OAAO,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAA;AAChE,CAAC;AAED,MAAM,SAAS,GAA4D;IACzE,GAAG,EAAE,QAAQ;IACb,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;IACf,GAAG,EAAE,QAAQ;CACd,CAAA"}
1
+ {"version":3,"file":"chart.js","sourceRoot":"","sources":["../../src/auto/chart.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAA2C,MAAM,sBAAsB,CAAA;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAA;AAClE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAA;AAoBxF;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,SAAS,CACvB,IAA+B,EAC/B,MAAqB,EACrB,OAA0B;IAE1B,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,KAAK,CAAA;IAC7C,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,IAAI,CAAA;IAE9C,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,CAAA;IAEzC,MAAM,UAAU,GAAmB;QACjC,IAAI;QACJ,MAAM;QACN,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;QAC/C,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;QAChE,UAAU;KACX,CAAA;IAED,MAAM,QAAQ,GAAgB,EAAE,CAAA;IAChC,IAAI,OAAO,EAAE,KAAK;QAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACvE,IAAI,OAAO,EAAE,QAAQ;QAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;IAE7D,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE;YAC7B,WAAW,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;SACxE,EAAE,CAAC,CAAC,CAAA;IAEL,OAAO,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAA;AAChE,CAAC;AAED,MAAM,SAAS,GAA4D;IACzE,GAAG,EAAE,QAAQ;IACb,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;IACf,GAAG,EAAE,QAAQ;CACd,CAAA"}
@@ -27,7 +27,7 @@ import { Badge } from '../components/data/index.js';
27
27
  export function autoComparison(items, options) {
28
28
  const children = [];
29
29
  if (options?.title)
30
- children.push(Heading(options.title));
30
+ children.push(Heading(options.title, { level: 3 }));
31
31
  if (options?.subtitle)
32
32
  children.push(Muted(options.subtitle));
33
33
  if (items.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"comparison.js","sourceRoot":"","sources":["../../src/auto/comparison.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAA2C,MAAM,sBAAsB,CAAA;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC3E,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAA;AAanD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAgC,EAChC,OAA+B;IAE/B,MAAM,QAAQ,GAAgB,EAAE,CAAA;IAEhC,IAAI,OAAO,EAAE,KAAK;QAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;IACzD,IAAI,OAAO,EAAE,QAAQ;QAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;IAE7D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAA;QAC5C,OAAO,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;IACtD,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAClC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;IACvB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAChC,MAAM,WAAW,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IAEjE,MAAM,KAAK,GAAgB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QAC1C,MAAM,SAAS,GAAgB,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAClD,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;YACrC,MAAM,cAAc,GAAG,GAAG,KAAK,OAAO,EAAE,YAAY;gBAClD,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;gBACpC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAA;YAE1C,OAAO,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE;oBAChE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,uBAAuB,EAAE,CAAC;oBAC9D,cAAc;iBACf,EAAE,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,EAAE,QAAQ,EAAE;gBACtB,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBAChF,WAAW,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;aACrC,EAAE,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IAEtE,OAAO,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;AACtD,CAAC"}
1
+ {"version":3,"file":"comparison.js","sourceRoot":"","sources":["../../src/auto/comparison.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAA2C,MAAM,sBAAsB,CAAA;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC3E,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAA;AAanD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAgC,EAChC,OAA+B;IAE/B,MAAM,QAAQ,GAAgB,EAAE,CAAA;IAEhC,IAAI,OAAO,EAAE,KAAK;QAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACvE,IAAI,OAAO,EAAE,QAAQ;QAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;IAE7D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAA;QAC5C,OAAO,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;IACtD,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAClC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;IACvB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAChC,MAAM,WAAW,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IAEjE,MAAM,KAAK,GAAgB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QAC1C,MAAM,SAAS,GAAgB,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAClD,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;YACrC,MAAM,cAAc,GAAG,GAAG,KAAK,OAAO,EAAE,YAAY;gBAClD,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;gBACpC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAA;YAE1C,OAAO,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE;oBAChE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,uBAAuB,EAAE,CAAC;oBAC9D,cAAc;iBACf,EAAE,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,EAAE,QAAQ,EAAE;gBACtB,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBAChF,WAAW,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;aACrC,EAAE,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IAEtE,OAAO,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;AACtD,CAAC"}
@@ -23,7 +23,7 @@ export interface AutoFormField {
23
23
  name: string;
24
24
  /** Display label. Defaults to humanized name. */
25
25
  label?: string;
26
- /** Input type: 'text', 'email', 'number', 'password', 'url', etc. */
26
+ /** Input type: 'text', 'email', 'number', 'password', 'url', etc., or 'checkbox', 'switch' and 'textarea' for those controls. */
27
27
  type?: string;
28
28
  /** Placeholder text. */
29
29
  placeholder?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../src/auto/form.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../src/auto/form.ts"],"names":[],"mappings":"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"}
package/dist/auto/form.js CHANGED
@@ -8,7 +8,7 @@ import { humanizeKey } from '../core/humanize.js';
8
8
  import { Column } from '../components/layout/index.js';
9
9
  import { Heading, Muted } from '../components/typography/index.js';
10
10
  import { Card, CardContent } from '../components/card/index.js';
11
- import { Form, Input, Button, Select, SelectOption } from '../components/form/index.js';
11
+ import { Form, Input, Button, Select, SelectOption, Checkbox, Switch, Textarea } from '../components/form/index.js';
12
12
  import { CallTool } from '../actions/mcp.js';
13
13
  import { ShowToast } from '../actions/client.js';
14
14
  /**
@@ -50,6 +50,19 @@ export function autoForm(fields, submitTool, options) {
50
50
  children: f.options.map(o => SelectOption(o.value, o.label ?? o.value)),
51
51
  });
52
52
  }
53
+ if (f.type === 'checkbox' || f.type === 'switch') {
54
+ const toggle = f.type === 'switch' ? Switch : Checkbox;
55
+ return toggle({ name: f.name, label, ...(f.default === true && { checked: true }) });
56
+ }
57
+ if (f.type === 'textarea') {
58
+ return Textarea({
59
+ name: f.name,
60
+ label,
61
+ ...(f.placeholder && { placeholder: f.placeholder }),
62
+ ...(f.required && { required: true }),
63
+ ...(f.default !== undefined && { value: f.default }),
64
+ });
65
+ }
53
66
  return Input({
54
67
  name: f.name,
55
68
  label,
@@ -67,7 +80,7 @@ export function autoForm(fields, submitTool, options) {
67
80
  ];
68
81
  const children = [];
69
82
  if (options?.title)
70
- children.push(Heading(options.title));
83
+ children.push(Heading(options.title, { level: 3 }));
71
84
  if (options?.subtitle)
72
85
  children.push(Muted(options.subtitle));
73
86
  children.push(Card({ children: [
@@ -1 +1 @@
1
- {"version":3,"file":"form.js","sourceRoot":"","sources":["../../src/auto/form.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form.js","sourceRoot":"","sources":["../../src/auto/form.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  * manually building component trees.
7
7
  */
8
8
  import { type ContainerComponent } from '../core/component.js';
9
- import type { DataTableColumnDef, BadgeVariant } from '../components/data/index.js';
9
+ import type { DataTableColumnDef } from '../components/data/index.js';
10
10
  export { autoChart } from './chart.js';
11
11
  export type { AutoChartOptions, ChartType } from './chart.js';
12
12
  export { autoForm, QuickForm, QuickFormBuilder } from './form.js';
@@ -21,15 +21,7 @@ export { autoTimeline } from './timeline.js';
21
21
  export type { AutoTimelineEvent, AutoTimelineOptions } from './timeline.js';
22
22
  export { autoProgress } from './progress.js';
23
23
  export type { AutoProgressStep, AutoProgressOptions } from './progress.js';
24
- /**
25
- * Get a Badge variant for a status string.
26
- * Falls back to 'outline' for unknown statuses.
27
- */
28
- export declare function statusVariant(status: string): BadgeVariant;
29
- /**
30
- * Register additional status→variant mappings.
31
- */
32
- export declare function registerStatusVariants(mappings: Record<string, BadgeVariant>): void;
24
+ export { statusVariant, registerStatusVariants, statusColor, variantColor } from './status.js';
33
25
  export interface AutoDetailOptions {
34
26
  /** Title shown at the top of the card. Defaults to auto-detect from data. */
35
27
  title?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auto/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAkB,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAQ9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAInF,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC7D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACjE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAClD,YAAY,EAAE,2BAA2B,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,YAAY,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AA8C1E;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAG1D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,IAAI,CAInF;AAgBD,MAAM,WAAW,iBAAiB;IAChC,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,kBAAkB,CAczG;AAmFD,MAAM,WAAW,gBAAgB;IAC/B,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,6EAA6E;IAC7E,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAA;IAC9B,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,mCAAmC;IACnC,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,kBAAkB,CAoBzG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auto/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAkB,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAQ9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAKrE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC7D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACjE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAClD,YAAY,EAAE,2BAA2B,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,YAAY,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAE1E,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAgB9F,MAAM,WAAW,iBAAiB;IAChC,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,kBAAkB,CAczG;AAmFD,MAAM,WAAW,gBAAgB;IAC/B,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,6EAA6E;IAC7E,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAA;IAC9B,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,mCAAmC;IACnC,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,kBAAkB,CAoBzG"}
@@ -13,6 +13,7 @@ import { Column, Row } from '../components/layout/index.js';
13
13
  import { Heading, Text, Muted } from '../components/typography/index.js';
14
14
  import { Card, CardContent } from '../components/card/index.js';
15
15
  import { DataTable, col, Badge, Separator } from '../components/data/index.js';
16
+ import { statusVariant, isKnownStatus } from './status.js';
16
17
  // ── Re-export sub-modules ───────────────────────────────────────────────────
17
18
  export { autoChart } from './chart.js';
18
19
  export { autoForm, QuickForm, QuickFormBuilder } from './form.js';
@@ -21,64 +22,7 @@ export { autoComparison } from './comparison.js';
21
22
  export { autoMetrics } from './metrics.js';
22
23
  export { autoTimeline } from './timeline.js';
23
24
  export { autoProgress } from './progress.js';
24
- // ── Status → Badge variant mapping ──────────────────────────────────────────
25
- const STATUS_VARIANTS = {
26
- // Success
27
- available: 'success',
28
- active: 'success',
29
- enabled: 'success',
30
- approved: 'success',
31
- delivered: 'success',
32
- complete: 'success',
33
- completed: 'success',
34
- resolved: 'success',
35
- verified: 'success',
36
- published: 'success',
37
- open: 'success',
38
- healthy: 'success',
39
- connected: 'success',
40
- // Warning
41
- pending: 'warning',
42
- processing: 'warning',
43
- in_progress: 'warning',
44
- in_review: 'warning',
45
- placed: 'warning',
46
- waiting: 'warning',
47
- queued: 'warning',
48
- draft: 'warning',
49
- partial: 'warning',
50
- // Destructive / Error
51
- sold: 'destructive',
52
- inactive: 'destructive',
53
- disabled: 'destructive',
54
- deleted: 'destructive',
55
- cancelled: 'destructive',
56
- rejected: 'destructive',
57
- failed: 'destructive',
58
- error: 'destructive',
59
- expired: 'destructive',
60
- blocked: 'destructive',
61
- closed: 'destructive',
62
- revoked: 'destructive',
63
- suspended: 'destructive',
64
- disconnected: 'destructive',
65
- };
66
- /**
67
- * Get a Badge variant for a status string.
68
- * Falls back to 'outline' for unknown statuses.
69
- */
70
- export function statusVariant(status) {
71
- const normalized = status.toLowerCase().replace(/[\s-]/g, '_');
72
- return STATUS_VARIANTS[normalized] ?? 'outline';
73
- }
74
- /**
75
- * Register additional status→variant mappings.
76
- */
77
- export function registerStatusVariants(mappings) {
78
- for (const [key, variant] of Object.entries(mappings)) {
79
- STATUS_VARIANTS[key.toLowerCase().replace(/[\s-]/g, '_')] = variant;
80
- }
81
- }
25
+ export { statusVariant, registerStatusVariants, statusColor, variantColor } from './status.js';
82
26
  // ── Type detection helpers ──────────────────────────────────────────────────
83
27
  function isDateString(value) {
84
28
  return /^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2})?/.test(value);
@@ -86,7 +30,7 @@ function isDateString(value) {
86
30
  function isStatusLike(key, value) {
87
31
  const statusKeys = ['status', 'state', 'phase', 'condition', 'mode'];
88
32
  return statusKeys.some(sk => key.toLowerCase().includes(sk))
89
- || value.toLowerCase().replace(/[\s-]/g, '_') in STATUS_VARIANTS;
33
+ || isKnownStatus(value);
90
34
  }
91
35
  /**
92
36
  * Auto-generate a detail Card from a data object.
@@ -110,7 +54,7 @@ export function autoDetail(data, options) {
110
54
  const maxDepth = options?.maxDepth ?? 1;
111
55
  const fieldRows = buildDetailFields(data, exclude, include, 0, maxDepth);
112
56
  return Column({ gap: 5, cssClass: 'p-6 max-w-2xl', children: [
113
- ...(title ? [Heading(title)] : []),
57
+ ...(title ? [Heading(title, { level: 3 })] : []),
114
58
  Card({ children: [
115
59
  CardContent({ cssClass: 'py-4', children: fieldRows }),
116
60
  ] }),
@@ -206,7 +150,7 @@ export function autoTable(rows, options) {
206
150
  const columns = options?.columns ?? inferColumns(rows, exclude, sortable);
207
151
  const children = [];
208
152
  if (title) {
209
- children.push(Heading(title));
153
+ children.push(Heading(title, { level: 3 }));
210
154
  children.push(Row({ gap: 2, align: 'center', children: [
211
155
  Badge(`${rows.length} records`, { variant: 'outline' }),
212
156
  ] }));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auto/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auto/index.ts"],"names":[],"mappings":"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"}
@@ -46,7 +46,7 @@ export function autoMetrics(metrics, options) {
46
46
  });
47
47
  const children = [];
48
48
  if (options?.title)
49
- children.push(Heading(options.title));
49
+ children.push(Heading(options.title, { level: 3 }));
50
50
  if (options?.subtitle)
51
51
  children.push(Muted(options.subtitle));
52
52
  children.push(Grid({ columns: gridColumns, gap: 4, children: cards }));
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/auto/metrics.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAA2C,MAAM,sBAAsB,CAAA;AAC9E,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAA;AAC5D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAA;AAClE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAA;AA4BzD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,WAAW,CACzB,OAAwB,EACxB,OAA4B;IAE5B,MAAM,WAAW,GAAG,OAAO,EAAE,OAAO,IAAI,CAAC,CAAA;IAEzC,MAAM,KAAK,GAAgB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACzC,MAAM,YAAY,GAAgB;YAChC,MAAM,CAAC;gBACL,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;gBAClC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;gBAClC,GAAG,CAAC,CAAC,CAAC,cAAc,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC;gBAC7D,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;aACrD,CAAC;SACH,CAAA;QAED,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC1B,IAAI,EAAE,CAAC,CAAC,SAAS;gBACjB,OAAO,EAAE,MAAM;gBACf,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,QAAQ;aAChB,CAAC,CAAC,CAAA;QACL,CAAC;QAED,OAAO,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;IACxF,CAAC,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAgB,EAAE,CAAA;IAChC,IAAI,OAAO,EAAE,KAAK;QAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;IACzD,IAAI,OAAO,EAAE,QAAQ;QAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC7D,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IAEtE,OAAO,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;AACtD,CAAC"}
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/auto/metrics.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAA2C,MAAM,sBAAsB,CAAA;AAC9E,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAA;AAC5D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAA;AAClE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAA;AA4BzD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,WAAW,CACzB,OAAwB,EACxB,OAA4B;IAE5B,MAAM,WAAW,GAAG,OAAO,EAAE,OAAO,IAAI,CAAC,CAAA;IAEzC,MAAM,KAAK,GAAgB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACzC,MAAM,YAAY,GAAgB;YAChC,MAAM,CAAC;gBACL,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;gBAClC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;gBAClC,GAAG,CAAC,CAAC,CAAC,cAAc,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC;gBAC7D,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;aACrD,CAAC;SACH,CAAA;QAED,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC1B,IAAI,EAAE,CAAC,CAAC,SAAS;gBACjB,OAAO,EAAE,MAAM;gBACf,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,QAAQ;aAChB,CAAC,CAAC,CAAA;QACL,CAAC;QAED,OAAO,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;IACxF,CAAC,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAgB,EAAE,CAAA;IAChC,IAAI,OAAO,EAAE,KAAK;QAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACvE,IAAI,OAAO,EAAE,QAAQ;QAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC7D,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IAEtE,OAAO,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;AACtD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../src/auto/progress.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAkB,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAa9E,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,wDAAwD;IACxD,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAA;IAC1C,4BAA4B;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,yBAAyB;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,gBAAgB,EAAE,EACzB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,kBAAkB,CA+CpB"}
1
+ {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../src/auto/progress.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAkB,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAc9E,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,wDAAwD;IACxD,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAA;IAC1C,4BAA4B;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,yBAAyB;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,gBAAgB,EAAE,EACzB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,kBAAkB,CA+CpB"}
@@ -5,13 +5,14 @@
5
5
  */
6
6
  import {} from '../core/component.js';
7
7
  import { Column, Row } from '../components/layout/index.js';
8
- import { Heading, Muted } from '../components/typography/index.js';
8
+ import { Heading, Muted, Text } from '../components/typography/index.js';
9
+ import { variantColor } from './status.js';
9
10
  import { Card, CardContent } from '../components/card/index.js';
10
11
  import { Badge, Dot, Progress, Separator } from '../components/data/index.js';
11
12
  const STEP_CONFIG = {
12
- completed: { color: 'green', badgeVariant: 'success', label: 'Done' },
13
- active: { color: 'blue', badgeVariant: 'info', label: 'In Progress' },
14
- pending: { color: 'gray', badgeVariant: 'outline', label: 'Pending' },
13
+ completed: { badgeVariant: 'success', label: 'Done' },
14
+ active: { badgeVariant: 'info', label: 'In Progress' },
15
+ pending: { badgeVariant: 'outline', label: 'Pending' },
15
16
  };
16
17
  /**
17
18
  * Auto-generate a multi-step progress tracker.
@@ -38,7 +39,7 @@ export function autoProgress(steps, options) {
38
39
  : 0;
39
40
  const children = [];
40
41
  if (options?.title)
41
- children.push(Heading(options.title));
42
+ children.push(Heading(options.title, { level: 3 }));
42
43
  if (options?.subtitle)
43
44
  children.push(Muted(options.subtitle));
44
45
  children.push(Progress({ value: progressPct, cssClass: 'h-2' }));
@@ -51,10 +52,10 @@ export function autoProgress(steps, options) {
51
52
  const step = steps[i];
52
53
  const config = STEP_CONFIG[step.status] ?? STEP_CONFIG.pending;
53
54
  const stepContent = [
54
- Dot(config.color, { cssClass: 'shrink-0' }),
55
+ Dot(variantColor(config.badgeVariant), { cssClass: 'shrink-0' }),
55
56
  ];
56
57
  const labelCol = [
57
- Heading(step.label, { cssClass: 'font-medium' }),
58
+ Text(step.label, { cssClass: 'font-medium' }),
58
59
  ];
59
60
  if (step.description) {
60
61
  labelCol.push(Muted(step.description));
@@ -1 +1 @@
1
- {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/auto/progress.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/auto/progress.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAA2C,MAAM,sBAAsB,CAAA;AAC9E,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAG7E,MAAM,WAAW,GAAkE;IACjF,SAAS,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE;IACrD,MAAM,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE;IACtD,OAAO,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;CACvD,CAAA;AAkBD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAyB,EACzB,OAA6B;IAE7B,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAA;IAC1B,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAA;IACzE,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAA;IACnE,MAAM,WAAW,GAAG,KAAK,GAAG,CAAC;QAC3B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,GAAG,WAAW,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC;QAClE,CAAC,CAAC,CAAC,CAAA;IAEL,MAAM,QAAQ,GAAgB,EAAE,CAAA;IAChC,IAAI,OAAO,EAAE,KAAK;QAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACvE,IAAI,OAAO,EAAE,QAAQ;QAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;IAE7D,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IAChE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE;YACrD,KAAK,CAAC,GAAG,cAAc,IAAI,KAAK,QAAQ,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;YACjE,KAAK,CAAC,GAAG,WAAW,YAAY,CAAC;SAClC,EAAE,CAAC,CAAC,CAAA;IAEL,MAAM,QAAQ,GAAgB,EAAE,CAAA;IAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACrB,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,OAAO,CAAA;QAE9D,MAAM,WAAW,GAAgB;YAC/B,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;SACjE,CAAA;QAED,MAAM,QAAQ,GAAgB;YAC5B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;SAC9C,CAAA;QACD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAA;QACxC,CAAC;QAED,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;QAC5E,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAA;QAEvE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,CAAA;QAExF,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAE1F,OAAO,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAA;AAChE,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { BadgeVariant } from '../components/data/index.js';
2
+ /**
3
+ * Get a Badge variant for a status string.
4
+ * Falls back to 'outline' for unknown statuses.
5
+ */
6
+ /** Whether `status` names a known status, so a value column can be shown as badges. */
7
+ export declare function isKnownStatus(status: string): boolean;
8
+ export declare function statusVariant(status: string): BadgeVariant;
9
+ /**
10
+ * Register additional status→variant mappings.
11
+ */
12
+ export declare function registerStatusVariants(mappings: Record<string, BadgeVariant>): void;
13
+ /** The theme color behind a Badge variant. */
14
+ export declare function variantColor(variant: BadgeVariant): string;
15
+ /** The theme color for a status, so dots and badges for the same status agree. */
16
+ export declare function statusColor(status: string): string;
17
+ //# sourceMappingURL=status.d.ts.map