@maxhealth.tech/prefab 0.3.10 → 0.3.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # prefab
2
2
 
3
3
  [![CI](https://github.com/Max-Health-Inc/prefab/actions/workflows/ci.yml/badge.svg)](https://github.com/Max-Health-Inc/prefab/actions/workflows/ci.yml)
4
- [![tests](https://img.shields.io/badge/tests-2009%20passing%20(100%25)-brightgreen)](https://github.com/Max-Health-Inc/prefab/actions/workflows/ci.yml)
4
+ [![tests](https://img.shields.io/badge/tests-2110%20passing%20(100%25)-brightgreen)](https://github.com/Max-Health-Inc/prefab/actions/workflows/ci.yml)
5
5
  [![@maxhealth.tech/prefab](https://img.shields.io/npm/v/@maxhealth.tech/prefab?label=%40maxhealth.tech%2Fprefab)](https://www.npmjs.com/package/@maxhealth.tech/prefab)
6
6
  [![prefab-protocol](https://img.shields.io/badge/prefab--protocol-v0.3-brightgreen)](https://maxhealth.tech/prefab/reference/wire-format.html)
7
7
  [![A2UI](https://img.shields.io/badge/A2UI-v1.0-4285F4)](https://maxhealth.tech/prefab/guide/a2ui.html)
@@ -15,7 +15,8 @@
15
15
  * expansion.
16
16
  */
17
17
  import type { ComponentJSON } from '../core/component.js';
18
- import type { A2uiComponentProps, A2uiAction, A2uiDiagnosticKind } from './types.js';
18
+ import type { A2uiComponentProps, A2uiAction, A2uiDiagnosticKind, A2uiDynamicString } from './types.js';
19
+ import type { BindingResult } from './expr.js';
19
20
  /** A2UI properties for one component, before the emitter assigns its id. */
20
21
  export type A2uiProps = A2uiComponentProps;
21
22
  /** Services the emitter lends to a mapper. */
@@ -34,6 +35,26 @@ export interface EmitContext {
34
35
  action(value: unknown, subject: string): A2uiAction | undefined;
35
36
  /** Seed a literal value into the surface data model, returning its JSON Pointer. */
36
37
  bindData(key: string, value: unknown): string;
38
+ /**
39
+ * Convert a `{{ }}` value with the current scope applied.
40
+ *
41
+ * Mappers go through the context rather than calling `./expr.js` directly, so
42
+ * the scope in force — a list-template item, an inlined definition's
43
+ * overrides — is applied at one seam instead of at every call site.
44
+ */
45
+ bind(value: string): BindingResult;
46
+ /** Resolve to a dynamic string under the current scope, or `undefined`. */
47
+ dyn(value: string | undefined): A2uiDynamicString | undefined;
48
+ /** Emit `fn`'s children with `names` added to the binding scope. */
49
+ inScope<T>(names: Record<string, string>, fn: () => T): T;
50
+ /** The body of a named definition, if one was declared and is not already expanding. */
51
+ definition(name: string): ComponentJSON[] | undefined;
52
+ /** Run `fn` with `name` marked as expanding, so a self-reference is caught. */
53
+ expand<T>(name: string, fn: () => T): T;
54
+ /** Emit `fn`'s children with slot content available to any `Slot` inside. */
55
+ withSlots<T>(slots: Record<string, ComponentJSON[]>, fn: () => T): T;
56
+ /** Content for a named slot, from the nearest enclosing `Use`. */
57
+ slotContent(name: string): ComponentJSON[] | undefined;
37
58
  }
38
59
  export type Mapper = (node: ComponentJSON, ctx: EmitContext) => A2uiProps | undefined;
39
60
  export declare function mapperFor(type: string): Mapper | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/a2ui/catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAKpF,4EAA4E;AAC5E,MAAM,MAAM,SAAS,GAAG,kBAAkB,CAAA;AAE1C,8CAA8C;AAC9C,MAAM,WAAW,WAAW;IAC1B,kFAAkF;IAClF,KAAK,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAAA;IAC9C,oEAAoE;IACpE,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAAA;IAClC,wFAAwF;IACxF,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAA;IAC1C,gEAAgE;IAChE,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAAA;IAC9B,iCAAiC;IACjC,IAAI,CAAC,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrE,8DAA8D;IAC9D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;IAC/D,oFAAoF;IACpF,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAAA;CAC9C;AAED,MAAM,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,WAAW,KAAK,SAAS,GAAG,SAAS,CAAA;AAybrF,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE1D;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,wEAAwE;AACxE,wBAAgB,WAAW,IAAI,MAAM,EAAE,CAEtC;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS,CAsB3F"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/a2ui/catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,kBAAkB,EAAE,iBAAiB,EAAoB,MAAM,YAAY,CAAA;AACzH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAK9C,4EAA4E;AAC5E,MAAM,MAAM,SAAS,GAAG,kBAAkB,CAAA;AAE1C,8CAA8C;AAC9C,MAAM,WAAW,WAAW;IAC1B,kFAAkF;IAClF,KAAK,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAAA;IAC9C,oEAAoE;IACpE,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAAA;IAClC,wFAAwF;IACxF,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAA;IAC1C,gEAAgE;IAChE,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAAA;IAC9B,iCAAiC;IACjC,IAAI,CAAC,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrE,8DAA8D;IAC9D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;IAC/D,oFAAoF;IACpF,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAAA;IAC7C;;;;;;OAMG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAA;IAClC,2EAA2E;IAC3E,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,iBAAiB,GAAG,SAAS,CAAA;IAC7D,oEAAoE;IACpE,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAA;IACzD,wFAAwF;IACxF,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE,GAAG,SAAS,CAAA;IACrD,+EAA+E;IAC/E,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAA;IACvC,6EAA6E;IAC7E,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAA;IACpE,kEAAkE;IAClE,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE,GAAG,SAAS,CAAA;CACvD;AAED,MAAM,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,WAAW,KAAK,SAAS,GAAG,SAAS,CAAA;AAkfrF,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE1D;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,wEAAwE;AACxE,wBAAgB,WAAW,IAAI,MAAM,EAAE,CAEtC;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS,CAsB3F"}
@@ -14,8 +14,8 @@
14
14
  * `./table.ts`) push the extras through `ctx.push` and return the root of the
15
15
  * expansion.
16
16
  */
17
- import { dynamicString, toBinding } from './expr.js';
18
17
  import { a2uiIconName } from './icons.js';
18
+ import { CONTROL_MAPPERS } from './control.js';
19
19
  import { mapTable, mapDataTable, TABLE_PART_TYPES } from './table.js';
20
20
  // ── Helpers ──────────────────────────────────────────────────────────────────
21
21
  /** Read the first present scalar prop from a node. */
@@ -34,15 +34,18 @@ function text(node, ctx, opts) {
34
34
  ctx.note('unsupported', node.type, 'no text content to render');
35
35
  return undefined;
36
36
  }
37
- const bound = toBinding(raw);
37
+ const bound = ctx.bind(raw);
38
38
  if (bound.kind === 'unbindable') {
39
39
  ctx.note('expression', node.type, `"${bound.expression}" is richer than a JSON Pointer; the text was left as written`);
40
40
  }
41
41
  const prefix = opts?.prefix ?? '';
42
42
  const suffix = opts?.suffix ?? '';
43
- // Markdown decoration can only wrap a literal. A bound value is handed over
44
- // undecorated rather than emitting syntax the renderer would show as data.
45
- if (bound.kind === 'binding') {
43
+ // Markdown decoration can only wrap a literal. A bound or interpolated value
44
+ // is handed over undecorated rather than emitting syntax the renderer would
45
+ // show as data.
46
+ if (bound.kind === 'format' && bound.note != null)
47
+ ctx.note('degraded', node.type, bound.note);
48
+ if (bound.kind === 'binding' || bound.kind === 'format' || bound.kind === 'index') {
46
49
  if (prefix !== '' || suffix !== '') {
47
50
  ctx.note('degraded', node.type, 'Markdown emphasis dropped: the text is a data binding');
48
51
  }
@@ -111,6 +114,12 @@ const TEXT_MAPPERS = {
111
114
  Kbd: (node, ctx) => text(node, ctx, { prefix: '`', suffix: '`' }),
112
115
  Markdown: (node, ctx) => text(node, ctx),
113
116
  Badge: (node, ctx) => text(node, ctx, { keys: ['label', 'content'], variant: 'caption' }),
117
+ // Card slots that carry text rather than children. Without these they fall to
118
+ // the generic fallback, which renders the same Text but reports a degradation
119
+ // for what is actually an exact mapping.
120
+ CardTitle: (node, ctx) => text(node, ctx, { prefix: '**', suffix: '**' }),
121
+ CardDescription: (node, ctx) => text(node, ctx, { variant: 'caption' }),
122
+ Tooltip: (node, ctx) => text(node, ctx, { variant: 'caption' }),
114
123
  AlertTitle: (node, ctx) => text(node, ctx, { prefix: '**', suffix: '**' }),
115
124
  AlertDescription: (node, ctx) => text(node, ctx),
116
125
  };
@@ -120,14 +129,14 @@ for (const [type, prefix] of Object.entries(HEADING_PREFIX)) {
120
129
  // ── Media ────────────────────────────────────────────────────────────────────
121
130
  function media(component) {
122
131
  return (node, ctx) => {
123
- const url = dynamicString(textOf(node, 'src', 'url'));
132
+ const url = ctx.dyn(textOf(node, 'src', 'url'));
124
133
  if (url == null) {
125
134
  ctx.note('unsupported', node.type, 'no resolvable source URL');
126
135
  return undefined;
127
136
  }
128
137
  // Only Image and AudioPlayer take a description; Video carries a poster instead.
129
- const description = component === 'Video' ? undefined : dynamicString(textOf(node, 'alt', 'description'));
130
- const poster = component === 'Video' ? dynamicString(textOf(node, 'poster', 'posterUrl')) : undefined;
138
+ const description = component === 'Video' ? undefined : ctx.dyn(textOf(node, 'alt', 'description'));
139
+ const poster = component === 'Video' ? ctx.dyn(textOf(node, 'poster', 'posterUrl')) : undefined;
131
140
  return {
132
141
  component,
133
142
  url,
@@ -148,13 +157,40 @@ const TEXTFIELD_VARIANT = {
148
157
  * prefab addresses form state by `name`, a key at the root of the state object,
149
158
  * so the pointer is that name as a single escaped token.
150
159
  */
151
- function valueBinding(node) {
160
+ function valueBinding(node, ctx) {
152
161
  const name = typeof node.name === 'string' ? node.name : undefined;
153
162
  if (name == null)
154
163
  return undefined;
155
- const bound = toBinding(`{{ ${name} }}`);
164
+ const bound = ctx.bind(`{{ ${name} }}`);
156
165
  return bound.kind === 'binding' ? bound.value : undefined;
157
166
  }
167
+ /**
168
+ * Renderer-side validation for a stateful control.
169
+ *
170
+ * Every A2UI input is `Checkable` and takes a list of check rules, which is the
171
+ * same job prefab's `required` and `inputType` do. Dropping them made a form
172
+ * cross over without its validation: a required field stopped being required,
173
+ * which is a functional regression rather than a cosmetic one.
174
+ *
175
+ * No `message` is emitted. The rule already says which check failed, and the
176
+ * renderer is better placed to word and localize that than a hardcoded English
177
+ * string from here.
178
+ */
179
+ function checksOf(node, ctx) {
180
+ const value = valueBinding(node, ctx);
181
+ if (value == null)
182
+ return undefined;
183
+ const checks = [];
184
+ if (node.required === true)
185
+ checks.push({ condition: { call: 'required', args: { value } } });
186
+ // `numeric` is deliberately absent. The catalog requires it to carry a `min`
187
+ // or a `max` — it is a range check, not a type check — and prefab's number
188
+ // inputs carry no range to supply. Emitting a bare one fails validation, and
189
+ // `variant: 'number'` on the field already says the value is numeric.
190
+ if (node.inputType === 'email')
191
+ checks.push({ condition: { call: 'email', args: { value } } });
192
+ return checks.length > 0 ? checks : undefined;
193
+ }
158
194
  function optionsOf(node, ctx) {
159
195
  const children = Array.isArray(node.children) ? node.children : [];
160
196
  const options = [];
@@ -175,13 +211,13 @@ function dateTime(node, ctx, flags) {
175
211
  return {
176
212
  component: 'DateTimeInput',
177
213
  // The catalog asks for an empty string while the value is unset.
178
- value: valueBinding(node) ?? '',
214
+ value: valueBinding(node, ctx) ?? '',
179
215
  ...flags,
180
216
  };
181
217
  }
182
218
  function choicePicker(variant) {
183
219
  return (node, ctx) => {
184
- const label = dynamicString(textOf(node, 'label', 'name'));
220
+ const label = ctx.dyn(textOf(node, 'label', 'name'));
185
221
  if (label == null) {
186
222
  ctx.note('unsupported', node.type, 'ChoicePicker requires a label and none could be derived');
187
223
  return undefined;
@@ -191,24 +227,34 @@ function choicePicker(variant) {
191
227
  ctx.note('unsupported', node.type, 'no options to choose from');
192
228
  return undefined;
193
229
  }
194
- const value = valueBinding(node);
195
- return { component: 'ChoicePicker', label, variant, options, ...(value != null && { value }) };
230
+ const value = valueBinding(node, ctx);
231
+ const checks = checksOf(node, ctx);
232
+ return {
233
+ component: 'ChoicePicker',
234
+ label,
235
+ variant,
236
+ options,
237
+ ...(value != null && { value }),
238
+ ...(checks != null && { checks }),
239
+ };
196
240
  };
197
241
  }
198
242
  function textField(node, ctx, variant) {
199
- const label = dynamicString(textOf(node, 'label', 'name'));
243
+ const label = ctx.dyn(textOf(node, 'label', 'name'));
200
244
  if (label == null) {
201
245
  ctx.note('unsupported', node.type, 'TextField requires a label and none could be derived');
202
246
  return undefined;
203
247
  }
204
- const value = valueBinding(node);
205
- const placeholder = dynamicString(textOf(node, 'placeholder'));
248
+ const value = valueBinding(node, ctx);
249
+ const placeholder = ctx.dyn(textOf(node, 'placeholder'));
250
+ const checks = checksOf(node, ctx);
206
251
  return {
207
252
  component: 'TextField',
208
253
  label,
209
254
  variant,
210
255
  ...(value != null && { value }),
211
256
  ...(placeholder != null && { placeholder }),
257
+ ...(checks != null && { checks }),
212
258
  };
213
259
  }
214
260
  const FORM_MAPPERS = {
@@ -222,13 +268,19 @@ const FORM_MAPPERS = {
222
268
  },
223
269
  Textarea: (node, ctx) => textField(node, ctx, 'longText'),
224
270
  Checkbox: (node, ctx) => {
225
- const label = dynamicString(textOf(node, 'label', 'name'));
271
+ const label = ctx.dyn(textOf(node, 'label', 'name'));
226
272
  if (label == null) {
227
273
  ctx.note('unsupported', node.type, 'CheckBox requires a label and none could be derived');
228
274
  return undefined;
229
275
  }
276
+ const checks = checksOf(node, ctx);
230
277
  // `value` is required by the catalog; an unbound checkbox starts unchecked.
231
- return { component: 'CheckBox', label, value: valueBinding(node) ?? false };
278
+ return {
279
+ component: 'CheckBox',
280
+ label,
281
+ value: valueBinding(node, ctx) ?? false,
282
+ ...(checks != null && { checks }),
283
+ };
232
284
  },
233
285
  Slider: (node, ctx) => {
234
286
  const max = typeof node.max === 'number' ? node.max : undefined;
@@ -236,7 +288,7 @@ const FORM_MAPPERS = {
236
288
  ctx.note('unsupported', node.type, 'Slider requires a max and prefab left it open');
237
289
  return undefined;
238
290
  }
239
- const label = dynamicString(textOf(node, 'label', 'name'));
291
+ const label = ctx.dyn(textOf(node, 'label', 'name'));
240
292
  const min = typeof node.min === 'number' ? node.min : undefined;
241
293
  const step = typeof node.step === 'number' ? node.step : undefined;
242
294
  // A2UI counts divisions where prefab counts increment size.
@@ -244,7 +296,7 @@ const FORM_MAPPERS = {
244
296
  return {
245
297
  component: 'Slider',
246
298
  max,
247
- value: valueBinding(node) ?? min ?? 0,
299
+ value: valueBinding(node, ctx) ?? min ?? 0,
248
300
  ...(label != null && { label }),
249
301
  ...(min != null && { min }),
250
302
  ...(steps != null && { steps }),
@@ -258,7 +310,7 @@ const FORM_MAPPERS = {
258
310
  ctx.note('unsupported', node.type, 'Button requires an action and none could be derived');
259
311
  return undefined;
260
312
  }
261
- const child = ctx.push({ component: 'Text', text: dynamicString(label) ?? label });
313
+ const child = ctx.push({ component: 'Text', text: ctx.dyn(label) ?? label });
262
314
  const variant = node.variant === 'link' || node.variant === 'ghost'
263
315
  ? 'borderless'
264
316
  : node.variant === 'default' ? 'primary' : 'default';
@@ -271,7 +323,7 @@ const FORM_MAPPERS = {
271
323
  return undefined;
272
324
  }
273
325
  const label = textOf(node, 'content', 'label') ?? href;
274
- const child = ctx.push({ component: 'Text', text: dynamicString(label) ?? label });
326
+ const child = ctx.push({ component: 'Text', text: ctx.dyn(label) ?? label });
275
327
  // A2UI Basic renders links as a borderless Button running the openUrl function.
276
328
  return {
277
329
  component: 'Button',
@@ -333,11 +385,11 @@ const COMPOSITE_MAPPERS = {
333
385
  const parts = [];
334
386
  const label = textOf(node, 'label', 'title');
335
387
  if (label != null) {
336
- parts.push(ctx.push({ component: 'Text', text: dynamicString(label) ?? label, variant: 'caption' }));
388
+ parts.push(ctx.push({ component: 'Text', text: ctx.dyn(label) ?? label, variant: 'caption' }));
337
389
  }
338
390
  const value = textOf(node, 'value');
339
391
  if (value != null) {
340
- parts.push(ctx.push({ component: 'Text', text: dynamicString(value) ?? value }));
392
+ parts.push(ctx.push({ component: 'Text', text: ctx.dyn(value) ?? value }));
341
393
  }
342
394
  if (parts.length === 0) {
343
395
  ctx.note('unsupported', 'Metric', 'neither a label nor a value to render');
@@ -367,14 +419,17 @@ const COMPOSITE_MAPPERS = {
367
419
  ctx.note('unsupported', 'Dialog', 'no dialog body to render');
368
420
  return undefined;
369
421
  }
422
+ // A2UI's Modal takes any component as its trigger, so a prefab trigger that
423
+ // will not map on its own does not have to cost the dialog. prefab's own
424
+ // trigger is usually a Button with no onClick — opening the dialog is
425
+ // implicit — which the Button mapper rightly refuses, so falling back to the
426
+ // label as Text is the difference between a working Modal and none at all.
370
427
  const triggerNode = node.trigger;
371
- const trigger = triggerNode != null
372
- ? ctx.child(triggerNode)
373
- : ctx.push({ component: 'Text', text: textOf(node, 'title') ?? 'Open' });
374
- if (trigger == null) {
375
- ctx.note('unsupported', 'Dialog', 'Modal requires a trigger and none could be emitted');
376
- return undefined;
377
- }
428
+ const label = triggerNode != null
429
+ ? textOf(triggerNode, 'label', 'content') ?? textOf(node, 'title') ?? 'Open'
430
+ : textOf(node, 'title') ?? 'Open';
431
+ const trigger = (triggerNode != null ? ctx.child(triggerNode) : undefined)
432
+ ?? ctx.push({ component: 'Text', text: ctx.dyn(label) ?? label });
378
433
  return { component: 'Modal', trigger, content };
379
434
  },
380
435
  AccordionItem: (node, ctx) => {
@@ -398,6 +453,7 @@ const MAPPERS = {
398
453
  ...TEXT_MAPPERS,
399
454
  ...FORM_MAPPERS,
400
455
  ...COMPOSITE_MAPPERS,
456
+ ...CONTROL_MAPPERS,
401
457
  Image: media('Image'),
402
458
  Video: media('Video'),
403
459
  Audio: media('AudioPlayer'),
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/a2ui/catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/a2ui/catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Control-flow mappers — `ForEach`, `Define`/`Use`/`Slot`, and the conditionals.
3
+ *
4
+ * These are the prefab components with no A2UI component of their own, and they
5
+ * split three ways. `ForEach` has an A2UI *mechanism* rather than a component:
6
+ * the child template, the same construct `./table.ts` uses for `DataTable`.
7
+ * `Define`/`Use`/`Slot` need no A2UI concept at all, because a definition can be
8
+ * expanded before the payload is sent.
9
+ *
10
+ * Conditionals are the exception, and the one genuine capability gap between the
11
+ * two protocols. A2UI has no declarative `if`: the renderer draws what the
12
+ * adjacency list says, and the agent sends a fresh `updateComponents` when the
13
+ * shape should change. prefab runs a reactive client that re-shapes itself
14
+ * without a round trip. Faking it — emitting a one-item list template as a
15
+ * pretend conditional — would produce a UI that is wrong in a way nothing
16
+ * reports, so it is diagnosed instead.
17
+ */
18
+ import type { Mapper } from './catalog.js';
19
+ export declare const CONTROL_MAPPERS: Record<string, Mapper>;
20
+ //# sourceMappingURL=control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control.d.ts","sourceRoot":"","sources":["../../src/a2ui/control.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAgB1C,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA+ElD,CAAA"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Control-flow mappers — `ForEach`, `Define`/`Use`/`Slot`, and the conditionals.
3
+ *
4
+ * These are the prefab components with no A2UI component of their own, and they
5
+ * split three ways. `ForEach` has an A2UI *mechanism* rather than a component:
6
+ * the child template, the same construct `./table.ts` uses for `DataTable`.
7
+ * `Define`/`Use`/`Slot` need no A2UI concept at all, because a definition can be
8
+ * expanded before the payload is sent.
9
+ *
10
+ * Conditionals are the exception, and the one genuine capability gap between the
11
+ * two protocols. A2UI has no declarative `if`: the renderer draws what the
12
+ * adjacency list says, and the agent sends a fresh `updateComponents` when the
13
+ * shape should change. prefab runs a reactive client that re-shapes itself
14
+ * without a round trip. Faking it — emitting a one-item list template as a
15
+ * pretend conditional — would produce a UI that is wrong in a way nothing
16
+ * reports, so it is diagnosed instead.
17
+ */
18
+ import { escapePointerToken } from './expr.js';
19
+ /** Read the first present scalar prop from a node. */
20
+ function textOf(node, ...keys) {
21
+ for (const k of keys) {
22
+ const v = node[k];
23
+ if (typeof v === 'string' || typeof v === 'number' || typeof v === 'boolean')
24
+ return String(v);
25
+ }
26
+ return undefined;
27
+ }
28
+ /** Narrow an unknown `slots` prop to the shape the renderer expects. */
29
+ function isNodeMap(value) {
30
+ return value != null && typeof value === 'object' && !Array.isArray(value);
31
+ }
32
+ export const CONTROL_MAPPERS = {
33
+ ForEach: (node, ctx) => {
34
+ const expression = textOf(node, 'expression');
35
+ if (expression == null) {
36
+ ctx.note('unsupported', 'ForEach', 'no expression to iterate');
37
+ return undefined;
38
+ }
39
+ const bound = ctx.bind(expression);
40
+ if (bound.kind !== 'binding') {
41
+ ctx.note('expression', 'ForEach', `"${expression}" is not a plain path, so there is no list to bind`);
42
+ return undefined;
43
+ }
44
+ // Inside the template, `$item` is the current row and paths are relative to
45
+ // it, which is exactly how A2UI resolves a template's bindings.
46
+ const template = ctx.inScope({ $item: '', $index: '' }, () => ctx.single(node.children));
47
+ if (template == null) {
48
+ ctx.note('unsupported', 'ForEach', 'the loop body had nothing to render');
49
+ return undefined;
50
+ }
51
+ return { component: 'Column', children: { path: bound.value.path, componentId: template } };
52
+ },
53
+ // A definition is a template, not content. The renderer draws nothing at the
54
+ // point of definition, and neither does this.
55
+ Define: () => undefined,
56
+ Use: (node, ctx) => {
57
+ const name = textOf(node, 'def', 'name');
58
+ if (name == null) {
59
+ ctx.note('unsupported', 'Use', 'no definition name');
60
+ return undefined;
61
+ }
62
+ const body = ctx.definition(name);
63
+ if (body == null) {
64
+ ctx.note('unsupported', 'Use', `no definition named "${name}" was declared`);
65
+ return undefined;
66
+ }
67
+ // Overrides are the definition's parameters. They are seeded into the data
68
+ // model and brought into scope by name, so a `{{ title }}` inside the body
69
+ // reads this call's value rather than whatever sits at the model root.
70
+ const overrides = node.overrides;
71
+ const scope = {};
72
+ if (overrides != null && typeof overrides === 'object' && !Array.isArray(overrides)) {
73
+ const root = ctx.bindData(`use_${name}`, overrides);
74
+ for (const key of Object.keys(overrides)) {
75
+ scope[key] = `${root}/${escapePointerToken(key)}`;
76
+ }
77
+ }
78
+ const slots = {
79
+ ...(isNodeMap(node.slots) ? node.slots : {}),
80
+ ...(Array.isArray(node.children) && node.children.length > 0 ? { default: node.children } : {}),
81
+ };
82
+ const inlined = ctx.expand(name, () => ctx.inScope(scope, () => ctx.withSlots(slots, () => ctx.single(body))));
83
+ if (inlined == null) {
84
+ ctx.note('unsupported', 'Use', `definition "${name}" rendered nothing`);
85
+ return undefined;
86
+ }
87
+ return { component: 'Column', children: [inlined] };
88
+ },
89
+ Slot: (node, ctx) => {
90
+ const name = textOf(node, 'name') ?? 'default';
91
+ // Slot content from the enclosing Use, or the slot's own fallback children.
92
+ const content = ctx.slotContent(name) ?? (Array.isArray(node.children) ? node.children : undefined);
93
+ const inlined = content != null ? ctx.single(content) : undefined;
94
+ if (inlined == null) {
95
+ ctx.note('unsupported', 'Slot', `slot "${name}" had neither content nor a fallback`);
96
+ return undefined;
97
+ }
98
+ return { component: 'Column', children: [inlined] };
99
+ },
100
+ };
101
+ for (const type of ['If', 'Elif', 'Else', 'Condition', 'Match', 'Case']) {
102
+ CONTROL_MAPPERS[type] = (node, ctx) => {
103
+ ctx.note('unsupported', node.type, 'A2UI has no declarative conditional; the agent re-sends updateComponents when the shape changes');
104
+ return undefined;
105
+ };
106
+ }
107
+ //# sourceMappingURL=control.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control.js","sourceRoot":"","sources":["../../src/a2ui/control.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"emit.d.ts","sourceRoot":"","sources":["../../src/a2ui/emit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAIjD,OAAO,EAML,KAAK,cAAc,EAGnB,KAAK,WAAW,EACjB,MAAM,YAAY,CAAA;AAInB,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,kFAAkF;IAClF,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,uEAAuE;IACvE,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAED,uDAAuD;AACvD,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,WAAW,EAAE,cAAc,EAAE,CAAA;CAC9B;AAkPD;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,cAAc,CAG1F"}
1
+ {"version":3,"file":"emit.d.ts","sourceRoot":"","sources":["../../src/a2ui/emit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAIjD,OAAO,EAML,KAAK,cAAc,EAInB,KAAK,WAAW,EACjB,MAAM,YAAY,CAAA;AAInB,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,kFAAkF;IAClF,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,uEAAuE;IACvE,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAED,uDAAuD;AACvD,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,WAAW,EAAE,cAAc,EAAE,CAAA;CAC9B;AAiWD;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,cAAc,CAG1F"}