@picteus/extension-sdk 0.18.0 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/generated/backEndIntents.d.ts +216 -0
  2. package/dist/generated/backEndIntents.js +12 -0
  3. package/dist/generated/frontEndIntents.d.ts +1112 -0
  4. package/dist/generated/frontEndIntents.js +97 -0
  5. package/dist/generated/intentValidator.d.ts +49 -0
  6. package/dist/generated/intentValidator.js +363 -0
  7. package/dist/generated/viewKit.d.ts +1689 -366
  8. package/dist/generated/viewKit.js +994 -290
  9. package/dist/index.d.ts +3 -2
  10. package/dist/index.js +3 -2
  11. package/dist/picteusExtension.d.ts +13 -4
  12. package/dist/picteusExtension.js +45 -24
  13. package/package.json +4 -6
  14. package/dist/featureViewGrammar.d.ts +0 -2814
  15. package/dist/featureViewGrammar.js +0 -2612
  16. package/dist/generated/featureViewGrammar.d.ts +0 -3913
  17. package/dist/generated/featureViewGrammar.js +0 -4099
  18. package/dist/intents.d.ts +0 -188
  19. package/dist/intents.js +0 -26
  20. package/dist/picteus-ws-client/models/ExtensionActivityKind.d.ts +0 -26
  21. package/dist/picteus-ws-client/models/ExtensionActivityKind.js +0 -44
  22. package/dist/picteus-ws-client/models/ExtensionStatus.d.ts +0 -25
  23. package/dist/picteus-ws-client/models/ExtensionStatus.js +0 -43
  24. package/dist/picteus-ws-client/models/ImageEmbeddings.d.ts +0 -32
  25. package/dist/picteus-ws-client/models/ImageEmbeddings.js +0 -43
  26. package/dist/picteus-ws-client/models/RepositoryStatus.d.ts +0 -27
  27. package/dist/picteus-ws-client/models/RepositoryStatus.js +0 -45
  28. package/dist/picteus-ws-client/models/Settings.d.ts +0 -32
  29. package/dist/picteus-ws-client/models/Settings.js +0 -41
@@ -1,5 +1,5 @@
1
1
  // ---------------------------------------------------------------------------
2
- // Auto-generated by @picteus/specification-factory emitter. Do not edit directly.
2
+ // Auto-generated by @picteus/specification-factory. Do not edit directly.
3
3
  // ---------------------------------------------------------------------------
4
4
  /** Generic base class providing recursive JSON serialization for all model instances. */
5
5
  export class ViewKitNode {
@@ -41,147 +41,162 @@ export class ViewKitNode {
41
41
  /** Typographic stroke weight styling. */
42
42
  export var TextWeight;
43
43
  (function (TextWeight) {
44
- // Thin / light text weight
44
+ /** Thin / light text weight */
45
45
  TextWeight["thin"] = "thin";
46
- // Standard text weight
46
+ /** Standard text weight */
47
47
  TextWeight["normal"] = "normal";
48
- // Heavy / bold text weight
48
+ /** Heavy / bold text weight */
49
49
  TextWeight["heavy"] = "heavy";
50
50
  })(TextWeight || (TextWeight = {}));
51
51
  /** Visual text color intensity and contrast. */
52
52
  export var TextIntensity;
53
53
  (function (TextIntensity) {
54
- // Low visual contrast / subdued text color
54
+ /** Low visual contrast / subdued text color */
55
55
  TextIntensity["low"] = "low";
56
- // Standard text color
56
+ /** Standard text color */
57
57
  TextIntensity["medium"] = "medium";
58
- // High visual contrast / intense text color
58
+ /** High visual contrast / intense text color */
59
59
  TextIntensity["high"] = "high";
60
60
  })(TextIntensity || (TextIntensity = {}));
61
61
  /** Geometric shape representation for visual containers and indicators. */
62
62
  export var Shape;
63
63
  (function (Shape) {
64
- // Circular container shape
64
+ /** Circular container shape */
65
65
  Shape["circle"] = "circle";
66
- // Square container shape
66
+ /** Square container shape */
67
67
  Shape["square"] = "square";
68
68
  })(Shape || (Shape = {}));
69
69
  /** Relative sizing scale for visual elements and indicators. */
70
70
  export var Size;
71
71
  (function (Size) {
72
- // Compact small size
72
+ /** Compact small size */
73
73
  Size["small"] = "small";
74
- // Standard medium size
74
+ /** Standard medium size */
75
75
  Size["medium"] = "medium";
76
- // Prominent large size
76
+ /** Prominent large size */
77
77
  Size["large"] = "large";
78
78
  })(Size || (Size = {}));
79
79
  /** Visual presentation style for string values. */
80
80
  export var StringRepresentation;
81
81
  (function (StringRepresentation) {
82
- // Standard inline text rendering
82
+ /** Standard inline text rendering */
83
83
  StringRepresentation["plain"] = "plain";
84
- // Visual chip / tag pill representation
84
+ /** Visual chip / tag pill representation */
85
85
  StringRepresentation["chip"] = "chip";
86
- // Multiline text with preserved whitespace and line breaks
86
+ /** Multiline text with preserved whitespace and line breaks */
87
87
  StringRepresentation["multiline"] = "multiline";
88
88
  })(StringRepresentation || (StringRepresentation = {}));
89
89
  /** Visual separator rendered between sequential elements or items. */
90
90
  export var Separator;
91
91
  (function (Separator) {
92
- // Vertical dividing bar
92
+ /** Vertical dividing bar */
93
93
  Separator["bar"] = "bar";
94
- // Comma separator
94
+ /** Comma separator */
95
95
  Separator["comma"] = "comma";
96
- // Bullet dot separator
96
+ /** Bullet dot separator */
97
97
  Separator["dot"] = "dot";
98
- // Forward slash separator
98
+ /** Forward slash separator */
99
99
  Separator["slash"] = "slash";
100
- // Dash separator
100
+ /** Dash separator */
101
101
  Separator["dash"] = "dash";
102
- // Space separator
102
+ /** Space separator */
103
103
  Separator["space"] = "space";
104
104
  })(Separator || (Separator = {}));
105
105
  /** Supported syntax highlighting languages for formatted code blocks. */
106
106
  export var CodeLanguage;
107
107
  (function (CodeLanguage) {
108
- // XML markup syntax
108
+ /** XML markup syntax */
109
109
  CodeLanguage["xml"] = "xml";
110
- // JSON format syntax
110
+ /** JSON format syntax */
111
111
  CodeLanguage["json"] = "json";
112
- // YAML format syntax
112
+ /** YAML format syntax */
113
113
  CodeLanguage["yaml"] = "yaml";
114
114
  })(CodeLanguage || (CodeLanguage = {}));
115
115
  /** Visual presentation style for boolean values. */
116
116
  export var BooleanRepresentation;
117
117
  (function (BooleanRepresentation) {
118
- // Standard inline text rendering (e.g. "true" / "false" or custom labels)
118
+ /** Standard inline text rendering (e.g. "true" / "false" or custom labels) */
119
119
  BooleanRepresentation["plain"] = "plain";
120
- // Visual badge pill representation
120
+ /** Visual badge pill representation */
121
121
  BooleanRepresentation["badge"] = "badge";
122
122
  })(BooleanRepresentation || (BooleanRepresentation = {}));
123
123
  /** Visual color tone variants for badge pill representations. */
124
124
  export var BadgeVariant;
125
125
  (function (BadgeVariant) {
126
- // Neutral gray tone
126
+ /** Neutral gray tone */
127
127
  BadgeVariant["neutral"] = "neutral";
128
- // Success green tone
128
+ /** Success green tone */
129
129
  BadgeVariant["success"] = "success";
130
- // Warning yellow/orange tone
130
+ /** Warning yellow/orange tone */
131
131
  BadgeVariant["warning"] = "warning";
132
- // Danger red tone
132
+ /** Danger red tone */
133
133
  BadgeVariant["danger"] = "danger";
134
134
  })(BadgeVariant || (BadgeVariant = {}));
135
135
  /** Presentation format styles for timestamp elements. */
136
136
  export var TimestampFormat;
137
137
  (function (TimestampFormat) {
138
- // Complete date and time display
138
+ /** Complete date and time display */
139
139
  TimestampFormat["datetime"] = "datetime";
140
- // Date-only display
140
+ /** Date-only display */
141
141
  TimestampFormat["date"] = "date";
142
- // Time-only display
142
+ /** Time-only display */
143
143
  TimestampFormat["time"] = "time";
144
- // Relative time expression (e.g. "5 minutes ago")
144
+ /** Relative time expression (e.g. "5 minutes ago") */
145
145
  TimestampFormat["relative"] = "relative";
146
146
  })(TimestampFormat || (TimestampFormat = {}));
147
147
  /** Visual style variants for interactive button actions. */
148
148
  export var ButtonVariant;
149
149
  (function (ButtonVariant) {
150
- // Primary emphasis button style for default/recommended actions
150
+ /** Primary emphasis button style for default/recommended actions */
151
151
  ButtonVariant["primary"] = "primary";
152
- // Secondary standard button style
152
+ /** Secondary standard button style */
153
153
  ButtonVariant["secondary"] = "secondary";
154
- // Subtle low-contrast button style
154
+ /** Subtle low-contrast button style */
155
155
  ButtonVariant["subtle"] = "subtle";
156
- // Destructive / dangerous action button style
156
+ /** Destructive / dangerous action button style */
157
157
  ButtonVariant["danger"] = "danger";
158
158
  })(ButtonVariant || (ButtonVariant = {}));
159
- /** Text horizontal alignment options for table columns. */
159
+ /**
160
+ * Text horizontal alignment options for table columns.
161
+ *
162
+ * @remarks
163
+ * Horizontal alignment applied within cells of a TableColumn. The alignment is a presentation choice and does not affect the stored cell values.
164
+ */
160
165
  export var TableColumnAlign;
161
166
  (function (TableColumnAlign) {
162
- // Left-aligned text
167
+ /** Left-aligned text */
163
168
  TableColumnAlign["left"] = "left";
164
- // Center-aligned text
169
+ /** Center-aligned text */
165
170
  TableColumnAlign["center"] = "center";
166
- // Right-aligned text
171
+ /** Right-aligned text */
167
172
  TableColumnAlign["right"] = "right";
168
173
  })(TableColumnAlign || (TableColumnAlign = {}));
169
- /** Width mode for table columns. */
174
+ /**
175
+ * Width mode for table columns.
176
+ *
177
+ * @remarks
178
+ * Controls how an optional TableColumn width is interpreted by the table renderer.
179
+ */
170
180
  export var TableColumnWidthMode;
171
181
  (function (TableColumnWidthMode) {
172
- // Fixed width constraint
182
+ /** Fixed width constraint */
173
183
  TableColumnWidthMode["fixed"] = "fixed";
174
- // Maximum width upper bound constraint
184
+ /** Maximum width upper bound constraint */
175
185
  TableColumnWidthMode["maximum"] = "maximum";
176
186
  })(TableColumnWidthMode || (TableColumnWidthMode = {}));
177
- /** Visual styling variants for hairline dividers. */
187
+ /**
188
+ * Visual styling variants for hairline dividers.
189
+ *
190
+ * @remarks
191
+ * Selects the visual stroke treatment used by DividerElement.
192
+ */
178
193
  export var DividerStyle;
179
194
  (function (DividerStyle) {
180
- // Subtle thin hairline border
195
+ /** Subtle thin hairline border */
181
196
  DividerStyle["hairline"] = "hairline";
182
- // Solid standard divider line
197
+ /** Solid standard divider line */
183
198
  DividerStyle["solid"] = "solid";
184
- // Dashed separator line
199
+ /** Dashed separator line */
185
200
  DividerStyle["dashed"] = "dashed";
186
201
  })(DividerStyle || (DividerStyle = {}));
187
202
  /** Abstract base class for all `UiElement` models. */
@@ -195,14 +210,22 @@ export class BaseUiAction extends ViewKitNode {
195
210
  * Class implementation of the `TruncateOptions` interface.
196
211
  *
197
212
  * @remarks
198
- * Truncation configuration for long textual content with optional expand affordance.
213
+ * Controls how a renderer abbreviates long text. The character limit is a presentation threshold rather than a validation limit; showMore lets the user reveal the remaining text.
199
214
  */
200
215
  export class TruncateOptionsClass extends ViewKitNode {
201
- /** Maximum number of characters to display before truncating */
216
+ /**
217
+ * Maximum number of characters to display before truncating
218
+ *
219
+ * @remarks
220
+ * Threshold after which the renderer can shorten the displayed text. This does not constrain the stored string or remove its undisplayed content.
221
+ */
202
222
  characterLimit;
203
223
  /**
204
224
  * Whether to render a "Show more" / "Show less" toggle affordance
205
225
  *
226
+ * @remarks
227
+ * When true, permits an expand/collapse control for text beyond the truncation threshold. Defaults to true.
228
+ *
206
229
  * @defaultValue true
207
230
  */
208
231
  showMore;
@@ -210,6 +233,8 @@ export class TruncateOptionsClass extends ViewKitNode {
210
233
  * Constructs a new `TruncateOptionsClass` instance.
211
234
  *
212
235
  * @param characterLimit - Maximum number of characters to display before truncating
236
+
237
+ Threshold after which the renderer can shorten the displayed text. This does not constrain the stored string or remove its undisplayed content.
213
238
  * @param options - Optional component settings. (showMore (defaults to `true`)).
214
239
  */
215
240
  constructor(characterLimit, options) {
@@ -222,10 +247,15 @@ export class TruncateOptionsClass extends ViewKitNode {
222
247
  * Class implementation of the `BaseModifiers` interface.
223
248
  *
224
249
  * @remarks
225
- * Base modifier traits for elements that support copy affordance.
250
+ * Common optional presentation traits shared by primitive values and content renderers. Modifiers affect how content is displayed or copied; they do not transform the source value.
226
251
  */
227
252
  export class BaseModifiersClass extends ViewKitNode {
228
- /** Adds an interactive copy button/action next to the rendered value */
253
+ /**
254
+ * Adds an interactive copy button/action next to the rendered value
255
+ *
256
+ * @remarks
257
+ * When true, exposes a copy affordance for the associated value where supported by the renderer.
258
+ */
229
259
  copyable;
230
260
  /**
231
261
  * Constructs a new `BaseModifiersClass` instance.
@@ -241,30 +271,49 @@ export class BaseModifiersClass extends ViewKitNode {
241
271
  * Class implementation of the `PrimitiveModifiers` interface.
242
272
  *
243
273
  * @remarks
244
- * Common modifier traits that can be attached to primitive elements.
274
+ * Extends BaseModifiers with text styling controls. Defaults provide normal weight, medium intensity, and proportional text unless a feature explicitly overrides them.
245
275
  */
246
276
  export class PrimitiveModifiersClass extends ViewKitNode {
247
- /** Configures character truncation threshold with show-more affordance */
277
+ /**
278
+ * Configures character truncation threshold with show-more affordance
279
+ *
280
+ * @remarks
281
+ * Optional text abbreviation behavior. The source text remains unchanged, and the renderer may offer expansion according to showMore.
282
+ */
248
283
  truncate;
249
284
  /**
250
285
  * Typographic text weight
251
286
  *
287
+ * @remarks
288
+ * Relative font weight for textual rendering; defaults to normal.
289
+ *
252
290
  * @defaultValue TextWeight.normal
253
291
  */
254
292
  weight;
255
293
  /**
256
294
  * Visual text color intensity
257
295
  *
296
+ * @remarks
297
+ * Relative contrast treatment for the text; defaults to medium.
298
+ *
258
299
  * @defaultValue TextIntensity.medium
259
300
  */
260
301
  intensity;
261
302
  /**
262
303
  * Whether to use monospace font rendering (for hashes, IDs, codes)
263
304
  *
305
+ * @remarks
306
+ * When true, requests a fixed-width font suitable for identifiers and code-like values. Defaults to false.
307
+ *
264
308
  * @defaultValue false
265
309
  */
266
310
  monospace;
267
- /** Adds an interactive copy button/action next to the rendered value */
311
+ /**
312
+ * Adds an interactive copy button/action next to the rendered value
313
+ *
314
+ * @remarks
315
+ * When true, exposes a copy affordance for the associated value where supported by the renderer.
316
+ */
268
317
  copyable;
269
318
  /**
270
319
  * Constructs a new `PrimitiveModifiersClass` instance.
@@ -284,8 +333,7 @@ export class PrimitiveModifiersClass extends ViewKitNode {
284
333
  * Class implementation of the `StringElement` interface.
285
334
  *
286
335
  * @remarks
287
- * Universal textual string primitive element.
288
- * Supports plain text, compact chip pill, or multiline pre-wrapped presentation.
336
+ * Use this primitive for one textual value when a structured label/value row is unnecessary. Choose multiline for content whose line breaks should remain visible; modifiers apply presentation traits without changing the underlying value.
289
337
  */
290
338
  export class StringElementClass extends BaseUiElement {
291
339
  /**
@@ -294,11 +342,19 @@ export class StringElementClass extends BaseUiElement {
294
342
  * @defaultValue "string"
295
343
  */
296
344
  type = "string";
297
- /** Text value */
345
+ /**
346
+ * Text value
347
+ *
348
+ * @remarks
349
+ * Text to render. Supply plain text; this field is not a Markdown or HTML document.
350
+ */
298
351
  value;
299
352
  /**
300
353
  * Display representation mode
301
354
  *
355
+ * @remarks
356
+ * Selects inline, chip, or multiline rendering. The default is plain, so callers can omit this for ordinary text.
357
+ *
302
358
  * @defaultValue StringRepresentation.plain
303
359
  */
304
360
  representation;
@@ -308,6 +364,8 @@ export class StringElementClass extends BaseUiElement {
308
364
  * Constructs a new `StringElementClass` instance.
309
365
  *
310
366
  * @param value - Text value
367
+
368
+ Text to render. Supply plain text; this field is not a Markdown or HTML document.
311
369
  * @param options - Optional component settings. (representation (defaults to `plain`), modifiers).
312
370
  */
313
371
  constructor(value, options) {
@@ -321,8 +379,7 @@ export class StringElementClass extends BaseUiElement {
321
379
  * Class implementation of the `StringsElement` interface.
322
380
  *
323
381
  * @remarks
324
- * Collection of textual string values rendered as a sequence of inline items or chips.
325
- * Supports visual separators (comma, dot, slash, bar, dash, space) and copyable affordance.
382
+ * Use this primitive when several related strings should be rendered as one compact sequence. The client preserves the array order and inserts the selected separator between values.
326
383
  */
327
384
  export class StringsElementClass extends BaseUiElement {
328
385
  /**
@@ -331,15 +388,28 @@ export class StringsElementClass extends BaseUiElement {
331
388
  * @defaultValue "strings"
332
389
  */
333
390
  type = "strings";
334
- /** Array of string values */
391
+ /**
392
+ * Array of string values
393
+ *
394
+ * @remarks
395
+ * Values to render in order. Each array entry remains a distinct item for chip presentation and is not parsed as a delimited string.
396
+ */
335
397
  values;
336
398
  /**
337
399
  * Display representation mode (plain text or visual chips)
338
400
  *
401
+ * @remarks
402
+ * Selects whether values appear as ordinary inline text or as separate visual chips. The default uses the plain representation.
403
+ *
339
404
  * @defaultValue StringRepresentation.plain
340
405
  */
341
406
  representation;
342
- /** Optional visual separator rendered between sequential values */
407
+ /**
408
+ * Optional visual separator rendered between sequential values
409
+ *
410
+ * @remarks
411
+ * Separator inserted between adjacent values in plain representation. It does not become part of any value.
412
+ */
343
413
  separator;
344
414
  /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
345
415
  modifiers;
@@ -347,6 +417,8 @@ export class StringsElementClass extends BaseUiElement {
347
417
  * Constructs a new `StringsElementClass` instance.
348
418
  *
349
419
  * @param values - Array of string values
420
+
421
+ Values to render in order. Each array entry remains a distinct item for chip presentation and is not parsed as a delimited string.
350
422
  * @param options - Optional component settings. (representation (defaults to `plain`), separator, modifiers).
351
423
  */
352
424
  constructor(values, options) {
@@ -361,7 +433,7 @@ export class StringsElementClass extends BaseUiElement {
361
433
  * Class implementation of the `StringCodeElement` interface.
362
434
  *
363
435
  * @remarks
364
- * Monospace code block or formatted code snippet representation.
436
+ * Use for source-like or preformatted textual content that should be rendered in a code-oriented style. The language is a presentation hint; the content is not parsed or validated as code by this contract.
365
437
  */
366
438
  export class StringCodeElementClass extends BaseUiElement {
367
439
  /**
@@ -370,9 +442,19 @@ export class StringCodeElementClass extends BaseUiElement {
370
442
  * @defaultValue "string-code"
371
443
  */
372
444
  type = "string-code";
373
- /** Text value */
445
+ /**
446
+ * Text value
447
+ *
448
+ * @remarks
449
+ * Code or text snippet to display. Include any desired line breaks in this string.
450
+ */
374
451
  value;
375
- /** Optional syntax highlighting language identifier */
452
+ /**
453
+ * Optional syntax highlighting language identifier
454
+ *
455
+ * @remarks
456
+ * Optional syntax hint for the renderer. Supported values describe highlighting modes and do not validate the snippet's syntax.
457
+ */
376
458
  language;
377
459
  /** Optional visual modifiers (copyable) */
378
460
  modifiers;
@@ -380,6 +462,8 @@ export class StringCodeElementClass extends BaseUiElement {
380
462
  * Constructs a new `StringCodeElementClass` instance.
381
463
  *
382
464
  * @param value - Text value
465
+
466
+ Code or text snippet to display. Include any desired line breaks in this string.
383
467
  * @param options - Optional component settings. (language, modifiers).
384
468
  */
385
469
  constructor(value, options) {
@@ -393,7 +477,7 @@ export class StringCodeElementClass extends BaseUiElement {
393
477
  * Class implementation of the `XmlElement` interface.
394
478
  *
395
479
  * @remarks
396
- * XML markup code block element.
480
+ * Specialized code-oriented element for XML content. It uses the custom XML renderer rather than requiring consumers to construct a generic code block.
397
481
  */
398
482
  export class XmlElementClass extends BaseUiElement {
399
483
  /**
@@ -402,7 +486,12 @@ export class XmlElementClass extends BaseUiElement {
402
486
  * @defaultValue "xml"
403
487
  */
404
488
  type = "xml";
405
- /** XML content value */
489
+ /**
490
+ * XML content value
491
+ *
492
+ * @remarks
493
+ * XML markup to render. The contract carries the source text; it does not guarantee that the document is well-formed.
494
+ */
406
495
  value;
407
496
  /** Optional visual modifiers (copyable) */
408
497
  modifiers;
@@ -410,6 +499,8 @@ export class XmlElementClass extends BaseUiElement {
410
499
  * Constructs a new `XmlElementClass` instance.
411
500
  *
412
501
  * @param value - XML content value
502
+
503
+ XML markup to render. The contract carries the source text; it does not guarantee that the document is well-formed.
413
504
  * @param options - Optional component settings. (modifiers).
414
505
  */
415
506
  constructor(value, options) {
@@ -422,7 +513,7 @@ export class XmlElementClass extends BaseUiElement {
422
513
  * Class implementation of the `JsonElement` interface.
423
514
  *
424
515
  * @remarks
425
- * JSON data or structure representation element.
516
+ * Specialized representation for JSON text. Supply serialized JSON when consumers should display a JSON document; this field is a string and is not structurally validated here.
426
517
  */
427
518
  export class JsonElementClass extends BaseUiElement {
428
519
  /**
@@ -431,7 +522,12 @@ export class JsonElementClass extends BaseUiElement {
431
522
  * @defaultValue "json"
432
523
  */
433
524
  type = "json";
434
- /** JSON content value */
525
+ /**
526
+ * JSON content value
527
+ *
528
+ * @remarks
529
+ * Serialized JSON text to render. No parsing or schema validation is implied by this element.
530
+ */
435
531
  value;
436
532
  /** Optional visual modifiers (copyable) */
437
533
  modifiers;
@@ -439,6 +535,8 @@ export class JsonElementClass extends BaseUiElement {
439
535
  * Constructs a new `JsonElementClass` instance.
440
536
  *
441
537
  * @param value - JSON content value
538
+
539
+ Serialized JSON text to render. No parsing or schema validation is implied by this element.
442
540
  * @param options - Optional component settings. (modifiers).
443
541
  */
444
542
  constructor(value, options) {
@@ -451,7 +549,7 @@ export class JsonElementClass extends BaseUiElement {
451
549
  * Class implementation of the `StringUrlElement` interface.
452
550
  *
453
551
  * @remarks
454
- * Hyperlink representation for external or internal URL navigation.
552
+ * Use this element when displayed text should also behave as a link. Unlike StringElement, the value is a navigation destination and may be paired with a separate human-readable label.
455
553
  */
456
554
  export class StringUrlElementClass extends BaseUiElement {
457
555
  /**
@@ -460,7 +558,12 @@ export class StringUrlElementClass extends BaseUiElement {
460
558
  * @defaultValue "string-url"
461
559
  */
462
560
  type = "string-url";
463
- /** Target URL or navigation destination */
561
+ /**
562
+ * Target URL or navigation destination
563
+ *
564
+ * @remarks
565
+ * Destination associated with the link. Supply a URL or client-recognized navigation target supported by the renderer.
566
+ */
464
567
  value;
465
568
  /** Optional custom anchor text label */
466
569
  label;
@@ -470,6 +573,8 @@ export class StringUrlElementClass extends BaseUiElement {
470
573
  * Constructs a new `StringUrlElementClass` instance.
471
574
  *
472
575
  * @param value - Target URL or navigation destination
576
+
577
+ Destination associated with the link. Supply a URL or client-recognized navigation target supported by the renderer.
473
578
  * @param options - Optional component settings. (label, modifiers).
474
579
  */
475
580
  constructor(value, options) {
@@ -483,7 +588,7 @@ export class StringUrlElementClass extends BaseUiElement {
483
588
  * Class implementation of the `IdentifierElement` interface.
484
589
  *
485
590
  * @remarks
486
- * Monospace semantic identifier representation.
591
+ * Use for identifiers, hashes, and other machine-oriented strings that benefit from monospace styling. The value remains text and is not resolved as a Picteus entity.
487
592
  */
488
593
  export class IdentifierElementClass extends BaseUiElement {
489
594
  /**
@@ -492,7 +597,12 @@ export class IdentifierElementClass extends BaseUiElement {
492
597
  * @defaultValue "identifier"
493
598
  */
494
599
  type = "identifier";
495
- /** Identifier string value */
600
+ /**
601
+ * Identifier string value
602
+ *
603
+ * @remarks
604
+ * Identifier text to display, such as an opaque ID or hash. Avoid embedding presentation markup in the value.
605
+ */
496
606
  value;
497
607
  /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
498
608
  modifiers;
@@ -500,6 +610,8 @@ export class IdentifierElementClass extends BaseUiElement {
500
610
  * Constructs a new `IdentifierElementClass` instance.
501
611
  *
502
612
  * @param value - Identifier string value
613
+
614
+ Identifier text to display, such as an opaque ID or hash. Avoid embedding presentation markup in the value.
503
615
  * @param options - Optional component settings. (modifiers).
504
616
  */
505
617
  constructor(value, options) {
@@ -512,7 +624,7 @@ export class IdentifierElementClass extends BaseUiElement {
512
624
  * Class implementation of the `RatioElement` interface.
513
625
  *
514
626
  * @remarks
515
- * Aspect ratio representation (e.g. "16:9", "4:3", "1:1").
627
+ * Displays a numeric aspect ratio as a ratio expression. Provide a positive value meaningful to the surrounding content; this type does not encode the source image dimensions.
516
628
  */
517
629
  export class RatioElementClass extends BaseUiElement {
518
630
  /**
@@ -521,7 +633,12 @@ export class RatioElementClass extends BaseUiElement {
521
633
  * @defaultValue "ratio"
522
634
  */
523
635
  type = "ratio";
524
- /** Aspect ratio numerical expression */
636
+ /**
637
+ * Aspect ratio numerical expression
638
+ *
639
+ * @remarks
640
+ * Numeric ratio value used by the renderer to produce an aspect-ratio display.
641
+ */
525
642
  value;
526
643
  /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
527
644
  modifiers;
@@ -529,6 +646,8 @@ export class RatioElementClass extends BaseUiElement {
529
646
  * Constructs a new `RatioElementClass` instance.
530
647
  *
531
648
  * @param value - Aspect ratio numerical expression
649
+
650
+ Numeric ratio value used by the renderer to produce an aspect-ratio display.
532
651
  * @param options - Optional component settings. (modifiers).
533
652
  */
534
653
  constructor(value, options) {
@@ -541,7 +660,7 @@ export class RatioElementClass extends BaseUiElement {
541
660
  * Class implementation of the `DimensionsElement` interface.
542
661
  *
543
662
  * @remarks
544
- * Image dimensions representation displaying formatted width and height in pixels.
663
+ * Displays a width/height pair as image dimensions. Both values are positive pixel counts; together they describe dimensions, not an aspect ratio or a resize request.
545
664
  */
546
665
  export class DimensionsElementClass extends BaseUiElement {
547
666
  /**
@@ -550,9 +669,19 @@ export class DimensionsElementClass extends BaseUiElement {
550
669
  * @defaultValue "dimensions"
551
670
  */
552
671
  type = "dimensions";
553
- /** Width in pixels */
672
+ /**
673
+ * Width in pixels
674
+ *
675
+ * @remarks
676
+ * Horizontal pixel count. Values below one are rejected by the schema constraint.
677
+ */
554
678
  width;
555
- /** Height in pixels */
679
+ /**
680
+ * Height in pixels
681
+ *
682
+ * @remarks
683
+ * Vertical pixel count. Values below one are rejected by the schema constraint.
684
+ */
556
685
  height;
557
686
  /** Optional visual modifiers (copyable) */
558
687
  modifiers;
@@ -560,7 +689,11 @@ export class DimensionsElementClass extends BaseUiElement {
560
689
  * Constructs a new `DimensionsElementClass` instance.
561
690
  *
562
691
  * @param width - Width in pixels
692
+
693
+ Horizontal pixel count. Values below one are rejected by the schema constraint.
563
694
  * @param height - Height in pixels
695
+
696
+ Vertical pixel count. Values below one are rejected by the schema constraint.
564
697
  * @param options - Optional component settings. (modifiers).
565
698
  */
566
699
  constructor(width, height, options) {
@@ -574,7 +707,7 @@ export class DimensionsElementClass extends BaseUiElement {
574
707
  * Class implementation of the `ColourElement` interface.
575
708
  *
576
709
  * @remarks
577
- * Single color representation with hex value, shape/size styling, text display toggle, and copy affordance.
710
+ * Displays one color swatch with configurable geometry and optional adjacent text. Supply the color as a hexadecimal string; the schema leaves exact accepted hex formats to the renderer.
578
711
  */
579
712
  export class ColourElementClass extends BaseUiElement {
580
713
  /**
@@ -583,25 +716,44 @@ export class ColourElementClass extends BaseUiElement {
583
716
  * @defaultValue "color"
584
717
  */
585
718
  type = "color";
586
- /** Hexadecimal color code */
719
+ /**
720
+ * Hexadecimal color code
721
+ *
722
+ * @remarks
723
+ * Color value used to draw the swatch. Use a hexadecimal representation supported by the client renderer.
724
+ */
587
725
  value;
588
- /** Optional descriptive color name label */
726
+ /**
727
+ * Optional descriptive color name label
728
+ *
729
+ * @remarks
730
+ * Human-readable color name available to the renderer when text is shown.
731
+ */
589
732
  label;
590
733
  /**
591
734
  * Whether to display the textual color code or label next to the swatch
592
735
  *
736
+ * @remarks
737
+ * When true, allows the renderer to show the color's text label alongside the swatch. The default is true.
738
+ *
593
739
  * @defaultValue true
594
740
  */
595
741
  showText;
596
742
  /**
597
743
  * Visual shape of the color indicator
598
744
  *
745
+ * @remarks
746
+ * Geometry used for the swatch; defaults to a circle.
747
+ *
599
748
  * @defaultValue Shape.circle
600
749
  */
601
750
  shape;
602
751
  /**
603
752
  * Visual size of the color indicator
604
753
  *
754
+ * @remarks
755
+ * Relative size class for the swatch; defaults to medium.
756
+ *
605
757
  * @defaultValue Size.medium
606
758
  */
607
759
  size;
@@ -611,6 +763,8 @@ export class ColourElementClass extends BaseUiElement {
611
763
  * Constructs a new `ColourElementClass` instance.
612
764
  *
613
765
  * @param value - Hexadecimal color code
766
+
767
+ Color value used to draw the swatch. Use a hexadecimal representation supported by the client renderer.
614
768
  * @param options - Optional component settings. (label, showText (defaults to `true`), shape (defaults to `circle`), size (defaults to `medium`), modifiers).
615
769
  */
616
770
  constructor(value, options) {
@@ -627,7 +781,7 @@ export class ColourElementClass extends BaseUiElement {
627
781
  * Class implementation of the `NumberUnboundedElement` interface.
628
782
  *
629
783
  * @remarks
630
- * Plain unbounded numeric value primitive element.
784
+ * Displays a numeric value without a progress scale or rating interpretation. Use unit to communicate the measurement context; no range is imposed by this model.
631
785
  */
632
786
  export class NumberUnboundedElementClass extends BaseUiElement {
633
787
  /**
@@ -636,9 +790,19 @@ export class NumberUnboundedElementClass extends BaseUiElement {
636
790
  * @defaultValue "number-unbounded"
637
791
  */
638
792
  type = "number-unbounded";
639
- /** Numeric value */
793
+ /**
794
+ * Numeric value
795
+ *
796
+ * @remarks
797
+ * Number to display. Its meaning and any valid range are defined by the producing feature.
798
+ */
640
799
  value;
641
- /** Optional unit suffix (e.g. "px", "ms", "MB") */
800
+ /**
801
+ * Optional unit suffix (e.g. "px", "ms", "MB")
802
+ *
803
+ * @remarks
804
+ * Short unit label appended or otherwise associated with the displayed value. Include only the unit text, not a second copy of the number.
805
+ */
642
806
  unit;
643
807
  /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
644
808
  modifiers;
@@ -646,6 +810,8 @@ export class NumberUnboundedElementClass extends BaseUiElement {
646
810
  * Constructs a new `NumberUnboundedElementClass` instance.
647
811
  *
648
812
  * @param value - Numeric value
813
+
814
+ Number to display. Its meaning and any valid range are defined by the producing feature.
649
815
  * @param options - Optional component settings. (unit, modifiers).
650
816
  */
651
817
  constructor(value, options) {
@@ -659,7 +825,7 @@ export class NumberUnboundedElementClass extends BaseUiElement {
659
825
  * Class implementation of the `NumberBoundedStarsElement` interface.
660
826
  *
661
827
  * @remarks
662
- * Bounded numeric rating represented as visual stars.
828
+ * Displays a score on a star scale. Keep value within the scale from zero through maximum; this model declares the scale metadata but does not impose a numeric validation bound.
663
829
  */
664
830
  export class NumberBoundedStarsElementClass extends BaseUiElement {
665
831
  /**
@@ -668,9 +834,19 @@ export class NumberBoundedStarsElementClass extends BaseUiElement {
668
834
  * @defaultValue "number-stars"
669
835
  */
670
836
  type = "number-stars";
671
- /** Numeric rating score */
837
+ /**
838
+ * Numeric rating score
839
+ *
840
+ * @remarks
841
+ * Score represented by the filled portion of the star display.
842
+ */
672
843
  value;
673
- /** Maximum rating scale (defaults to 5) */
844
+ /**
845
+ * Maximum rating scale (defaults to 5)
846
+ *
847
+ * @remarks
848
+ * Upper end of the rating scale. When omitted, the scale is five; value should use the same scale.
849
+ */
674
850
  maximum;
675
851
  /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
676
852
  modifiers;
@@ -678,6 +854,8 @@ export class NumberBoundedStarsElementClass extends BaseUiElement {
678
854
  * Constructs a new `NumberBoundedStarsElementClass` instance.
679
855
  *
680
856
  * @param value - Numeric rating score
857
+
858
+ Score represented by the filled portion of the star display.
681
859
  * @param options - Optional component settings. (maximum, modifiers).
682
860
  */
683
861
  constructor(value, options) {
@@ -691,7 +869,7 @@ export class NumberBoundedStarsElementClass extends BaseUiElement {
691
869
  * Class implementation of the `NumberBoundedMeterElement` interface.
692
870
  *
693
871
  * @remarks
694
- * Bounded numeric meter representation (read-only progress / score bar).
872
+ * Displays a scalar value against a minimum-to-maximum range. Supply comparable bounds and a value in that range; optional label and unit customize the textual readout without changing the meter scale.
695
873
  */
696
874
  export class NumberBoundedMeterElementClass extends BaseUiElement {
697
875
  /**
@@ -700,15 +878,40 @@ export class NumberBoundedMeterElementClass extends BaseUiElement {
700
878
  * @defaultValue "number-meter"
701
879
  */
702
880
  type = "number-meter";
703
- /** Numeric value */
881
+ /**
882
+ * Numeric value
883
+ *
884
+ * @remarks
885
+ * Current measurement or score represented by the meter.
886
+ */
704
887
  value;
705
- /** Minimum scale bound (defaults to 0) */
888
+ /**
889
+ * Minimum scale bound (defaults to 0)
890
+ *
891
+ * @remarks
892
+ * Lower end of the meter range. Defaults to zero when omitted.
893
+ */
706
894
  minimum;
707
- /** Maximum scale bound (e.g. 100) */
895
+ /**
896
+ * Maximum scale bound (e.g. 100)
897
+ *
898
+ * @remarks
899
+ * Upper end of the meter range. Choose a bound consistent with value and minimum.
900
+ */
708
901
  maximum;
709
- /** Optional custom text label override (e.g. "68 / 100") */
902
+ /**
903
+ * Optional custom text label override (e.g. "68 / 100")
904
+ *
905
+ * @remarks
906
+ * Optional readout text to use instead of a renderer-generated value and range label.
907
+ */
710
908
  label;
711
- /** Optional unit suffix (e.g. "%") */
909
+ /**
910
+ * Optional unit suffix (e.g. "%")
911
+ *
912
+ * @remarks
913
+ * Unit associated with the value, such as a percent sign. This affects display only and does not convert the numeric value.
914
+ */
712
915
  unit;
713
916
  /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
714
917
  modifiers;
@@ -716,6 +919,8 @@ export class NumberBoundedMeterElementClass extends BaseUiElement {
716
919
  * Constructs a new `NumberBoundedMeterElementClass` instance.
717
920
  *
718
921
  * @param value - Numeric value
922
+
923
+ Current measurement or score represented by the meter.
719
924
  * @param options - Optional component settings. (minimum, maximum, label, unit, modifiers).
720
925
  */
721
926
  constructor(value, options) {
@@ -732,8 +937,7 @@ export class NumberBoundedMeterElementClass extends BaseUiElement {
732
937
  * Class implementation of the `BooleanElement` interface.
733
938
  *
734
939
  * @remarks
735
- * Universal boolean primitive element.
736
- * Supports standard plain text or badge pill presentation with customizable labels and variants.
940
+ * Displays a boolean state using text or a badge. The representation determines whether true/false labels or a colored badge are used; configured labels and variant are presentation choices only.
737
941
  */
738
942
  export class BooleanElementClass extends BaseUiElement {
739
943
  /**
@@ -742,29 +946,46 @@ export class BooleanElementClass extends BaseUiElement {
742
946
  * @defaultValue "boolean"
743
947
  */
744
948
  type = "boolean";
745
- /** Boolean state value */
949
+ /**
950
+ * Boolean state value
951
+ *
952
+ * @remarks
953
+ * State to display. This remains a boolean value in the data model even when the renderer substitutes custom labels.
954
+ */
746
955
  value;
747
956
  /**
748
957
  * Display representation mode
749
958
  *
959
+ * @remarks
960
+ * Selects ordinary text or a badge pill. Badge color applies only to badge presentation.
961
+ *
750
962
  * @defaultValue BooleanRepresentation.plain
751
963
  */
752
964
  representation;
753
965
  /**
754
966
  * Custom display label when true (defaults to "true")
755
967
  *
968
+ * @remarks
969
+ * Text used for the true state in plain representation. Defaults to the literal text true.
970
+ *
756
971
  * @defaultValue "true"
757
972
  */
758
973
  trueLabel;
759
974
  /**
760
975
  * Custom display label when false (defaults to "false")
761
976
  *
977
+ * @remarks
978
+ * Text used for the false state in plain representation. Defaults to the literal text false.
979
+ *
762
980
  * @defaultValue "false"
763
981
  */
764
982
  falseLabel;
765
983
  /**
766
984
  * Badge color tone when rendered as badge
767
985
  *
986
+ * @remarks
987
+ * Semantic color treatment for badge presentation; it has no effect in plain representation.
988
+ *
768
989
  * @defaultValue BadgeVariant.neutral
769
990
  */
770
991
  variant;
@@ -774,6 +995,8 @@ export class BooleanElementClass extends BaseUiElement {
774
995
  * Constructs a new `BooleanElementClass` instance.
775
996
  *
776
997
  * @param value - Boolean state value
998
+
999
+ State to display. This remains a boolean value in the data model even when the renderer substitutes custom labels.
777
1000
  * @param options - Optional component settings. (representation (defaults to `plain`), trueLabel (defaults to `true`), falseLabel (defaults to `false`), variant (defaults to `neutral`), modifiers).
778
1001
  */
779
1002
  constructor(value, options) {
@@ -790,7 +1013,7 @@ export class BooleanElementClass extends BaseUiElement {
790
1013
  * Class implementation of the `TimestampElement` interface.
791
1014
  *
792
1015
  * @remarks
793
- * Formatted date and time representation.
1016
+ * Displays an epoch timestamp using a selected date/time format. The input is a count of milliseconds, not seconds; relative formatting is interpreted by the consumer.
794
1017
  */
795
1018
  export class TimestampElementClass extends BaseUiElement {
796
1019
  /**
@@ -799,11 +1022,19 @@ export class TimestampElementClass extends BaseUiElement {
799
1022
  * @defaultValue "timestamp"
800
1023
  */
801
1024
  type = "timestamp";
802
- /** The timestamp in milliseconds */
1025
+ /**
1026
+ * The timestamp in milliseconds
1027
+ *
1028
+ * @remarks
1029
+ * Unix epoch timestamp measured in milliseconds. Convert seconds-based timestamps before assigning this value.
1030
+ */
803
1031
  value;
804
1032
  /**
805
1033
  * Presentation date/time format
806
1034
  *
1035
+ * @remarks
1036
+ * Controls whether the timestamp is shown as date and time, date only, time only, or relative text. The default is datetime.
1037
+ *
807
1038
  * @defaultValue TimestampFormat.datetime
808
1039
  */
809
1040
  format;
@@ -813,6 +1044,8 @@ export class TimestampElementClass extends BaseUiElement {
813
1044
  * Constructs a new `TimestampElementClass` instance.
814
1045
  *
815
1046
  * @param value - The timestamp in milliseconds
1047
+
1048
+ Unix epoch timestamp measured in milliseconds. Convert seconds-based timestamps before assigning this value.
816
1049
  * @param options - Optional component settings. (format (defaults to `datetime`), modifiers).
817
1050
  */
818
1051
  constructor(value, options) {
@@ -826,7 +1059,7 @@ export class TimestampElementClass extends BaseUiElement {
826
1059
  * Class implementation of the `ImageReferenceElement` interface.
827
1060
  *
828
1061
  * @remarks
829
- * Thumbnail image reference with placeholder fallback handling.
1062
+ * References an image source for thumbnail rendering and provides accessible text and a fallback source. The client determines loading, sizing, and placeholder behavior.
830
1063
  */
831
1064
  export class ImageReferenceElementClass extends BaseUiElement {
832
1065
  /**
@@ -835,22 +1068,42 @@ export class ImageReferenceElementClass extends BaseUiElement {
835
1068
  * @defaultValue "image-ref"
836
1069
  */
837
1070
  type = "image-ref";
838
- /** Image source URI (HTTPS URL, base64 data URI, or asset path) */
1071
+ /**
1072
+ * Image source URI (HTTPS URL, base64 data URI, or asset path)
1073
+ *
1074
+ * @remarks
1075
+ * Source URI understood by the client renderer. Supported forms include HTTPS locations, base64 data URIs, and client asset paths; this field is not raw image bytes.
1076
+ */
839
1077
  src;
840
- /** Accessible alternative description */
1078
+ /**
1079
+ * Accessible alternative description
1080
+ *
1081
+ * @remarks
1082
+ * Alternative text describing the image for assistive technology. Provide meaningful text when the image conveys information; omit it only when it is decorative.
1083
+ */
841
1084
  alt;
842
1085
  /**
843
1086
  * Aspect ratio of the thumbnail container
844
1087
  *
1088
+ * @remarks
1089
+ * Preferred ratio of the rendered thumbnail container, expressed as a ratio string such as 1:1. It controls presentation rather than modifying the source image.
1090
+ *
845
1091
  * @defaultValue "1:1"
846
1092
  */
847
1093
  aspectRatio;
848
- /** Fallback placeholder image URI */
1094
+ /**
1095
+ * Fallback placeholder image URI
1096
+ *
1097
+ * @remarks
1098
+ * Optional source to display when the primary image cannot be loaded. It follows the same URI conventions as src.
1099
+ */
849
1100
  placeholder;
850
1101
  /**
851
1102
  * Constructs a new `ImageReferenceElementClass` instance.
852
1103
  *
853
1104
  * @param src - Image source URI (HTTPS URL, base64 data URI, or asset path)
1105
+
1106
+ Source URI understood by the client renderer. Supported forms include HTTPS locations, base64 data URIs, and client asset paths; this field is not raw image bytes.
854
1107
  * @param options - Optional component settings. (alt, aspectRatio (defaults to `1:1`), placeholder).
855
1108
  */
856
1109
  constructor(src, options) {
@@ -865,7 +1118,7 @@ export class ImageReferenceElementClass extends BaseUiElement {
865
1118
  * Class implementation of the `ButtonActionElement` interface.
866
1119
  *
867
1120
  * @remarks
868
- * Interactive button action triggering an extension command.
1121
+ * When activated, the client dispatches commandId to the specified extension and may include target and parameters as command input. disabled and variant affect presentation and availability, not the command's authorization.
869
1122
  */
870
1123
  export class ButtonActionElementClass extends BaseUiAction {
871
1124
  /**
@@ -874,25 +1127,56 @@ export class ButtonActionElementClass extends BaseUiAction {
874
1127
  * @defaultValue "button"
875
1128
  */
876
1129
  type = "button";
877
- /** Command identifier to invoke */
1130
+ /**
1131
+ * Command identifier to invoke
1132
+ *
1133
+ * @remarks
1134
+ * Identifier of the registered extension command to dispatch when the button is activated.
1135
+ */
878
1136
  commandId;
879
- /** Display label for the action */
1137
+ /**
1138
+ * Display label for the action
1139
+ *
1140
+ * @remarks
1141
+ * User-facing label shown on the control. Keep it short and action-oriented.
1142
+ */
880
1143
  label;
881
- /** Extension identifier owning the target command */
1144
+ /**
1145
+ * Extension identifier owning the target command
1146
+ *
1147
+ * @remarks
1148
+ * Extension that registers commandId. Omit only when the client can resolve the command in the current extension context.
1149
+ */
882
1150
  extensionId;
883
- /** Target entity or context identifier */
1151
+ /**
1152
+ * Target entity or context identifier
1153
+ *
1154
+ * @remarks
1155
+ * Optional entity or context identifier forwarded to the command handler. Its format is determined by the target extension.
1156
+ */
884
1157
  target;
885
- /** Optional arbitrary parameters payload forwarded to the command handler */
1158
+ /**
1159
+ * Optional arbitrary parameters payload forwarded to the command handler
1160
+ *
1161
+ * @remarks
1162
+ * JSON-compatible arguments passed to the extension command. Define and validate their shape in the command implementation.
1163
+ */
886
1164
  parameters;
887
1165
  /**
888
1166
  * Whether the button is disabled / unavailable
889
1167
  *
1168
+ * @remarks
1169
+ * When true, the client renders the action as unavailable and should not dispatch it from user activation.
1170
+ *
890
1171
  * @defaultValue false
891
1172
  */
892
1173
  disabled;
893
1174
  /**
894
1175
  * Button visual style variant
895
1176
  *
1177
+ * @remarks
1178
+ * Selects the button's emphasis style. Use danger for destructive operations and primary for the main recommended action; the variant does not change behavior.
1179
+ *
896
1180
  * @defaultValue ButtonVariant.secondary
897
1181
  */
898
1182
  variant;
@@ -900,7 +1184,11 @@ export class ButtonActionElementClass extends BaseUiAction {
900
1184
  * Constructs a new `ButtonActionElementClass` instance.
901
1185
  *
902
1186
  * @param commandId - Command identifier to invoke
1187
+
1188
+ Identifier of the registered extension command to dispatch when the button is activated.
903
1189
  * @param label - Display label for the action
1190
+
1191
+ User-facing label shown on the control. Keep it short and action-oriented.
904
1192
  * @param options - Optional component settings. (extensionId, target, parameters, disabled (defaults to `false`), variant (defaults to `secondary`)).
905
1193
  */
906
1194
  constructor(commandId, label, options) {
@@ -918,7 +1206,7 @@ export class ButtonActionElementClass extends BaseUiAction {
918
1206
  * Class implementation of the `ExternalLinkActionElement` interface.
919
1207
  *
920
1208
  * @remarks
921
- * External link action distinct from inline URL text values.
1209
+ * Renders a user-invokable action that opens a destination externally. Use StringUrlElement for a link embedded in content rather than an action control.
922
1210
  */
923
1211
  export class ExternalLinkActionElementClass extends BaseUiAction {
924
1212
  /**
@@ -927,15 +1215,29 @@ export class ExternalLinkActionElementClass extends BaseUiAction {
927
1215
  * @defaultValue "external-link"
928
1216
  */
929
1217
  type = "external-link";
930
- /** Target URL destination */
1218
+ /**
1219
+ * Target URL destination
1220
+ *
1221
+ * @remarks
1222
+ * External destination opened when the user activates the link action. The client controls how external navigation is handed to the platform.
1223
+ */
931
1224
  url;
932
- /** Display label for the action */
1225
+ /**
1226
+ * Display label for the action
1227
+ *
1228
+ * @remarks
1229
+ * User-facing label shown on the control. Keep it short and action-oriented.
1230
+ */
933
1231
  label;
934
1232
  /**
935
1233
  * Constructs a new `ExternalLinkActionElementClass` instance.
936
1234
  *
937
1235
  * @param url - Target URL destination
1236
+
1237
+ External destination opened when the user activates the link action. The client controls how external navigation is handed to the platform.
938
1238
  * @param label - Display label for the action
1239
+
1240
+ User-facing label shown on the control. Keep it short and action-oriented.
939
1241
  */
940
1242
  constructor(url, label) {
941
1243
  super();
@@ -947,7 +1249,7 @@ export class ExternalLinkActionElementClass extends BaseUiAction {
947
1249
  * Class implementation of the `MarkdownBlockElement` interface.
948
1250
  *
949
1251
  * @remarks
950
- * Full Markdown fallback block rendered with core typographic hierarchy, spacing, and styling.
1252
+ * Use this custom-renderer escape hatch when the structured ViewKit elements cannot express the required rich text. Markdown rendering is a presentation fallback; prefer typed elements when consumers need to inspect individual values.
951
1253
  */
952
1254
  export class MarkdownBlockElementClass extends BaseUiElement {
953
1255
  /**
@@ -956,7 +1258,12 @@ export class MarkdownBlockElementClass extends BaseUiElement {
956
1258
  * @defaultValue "markdown"
957
1259
  */
958
1260
  type = "markdown";
959
- /** Raw Markdown markup content */
1261
+ /**
1262
+ * Raw Markdown markup content
1263
+ *
1264
+ * @remarks
1265
+ * Markdown source consumed by the client renderer. The schema treats it as an opaque string and does not validate the markup or its links.
1266
+ */
960
1267
  content;
961
1268
  /** Optional visual modifiers (copyable) */
962
1269
  modifiers;
@@ -964,6 +1271,8 @@ export class MarkdownBlockElementClass extends BaseUiElement {
964
1271
  * Constructs a new `MarkdownBlockElementClass` instance.
965
1272
  *
966
1273
  * @param content - Raw Markdown markup content
1274
+
1275
+ Markdown source consumed by the client renderer. The schema treats it as an opaque string and does not validate the markup or its links.
967
1276
  * @param options - Optional component settings. (modifiers).
968
1277
  */
969
1278
  constructor(content, options) {
@@ -976,7 +1285,7 @@ export class MarkdownBlockElementClass extends BaseUiElement {
976
1285
  * Class implementation of the `HtmlBlockElement` interface.
977
1286
  *
978
1287
  * @remarks
979
- * Sandboxed HTML rendering escape hatch.
1288
+ * Use only when structured elements or Markdown cannot represent the required content. Rendering occurs in a sandboxed host context, but callers should still avoid embedding untrusted content and should not assume access to application privileges.
980
1289
  */
981
1290
  export class HtmlBlockElementClass extends BaseUiElement {
982
1291
  /**
@@ -985,7 +1294,12 @@ export class HtmlBlockElementClass extends BaseUiElement {
985
1294
  * @defaultValue "html"
986
1295
  */
987
1296
  type = "html";
988
- /** Raw HTML markup content */
1297
+ /**
1298
+ * Raw HTML markup content
1299
+ *
1300
+ * @remarks
1301
+ * HTML source passed to the custom renderer. This is an opaque string, not a typed or sanitized DOM structure.
1302
+ */
989
1303
  content;
990
1304
  /** Optional visual modifiers (copyable) */
991
1305
  modifiers;
@@ -993,6 +1307,8 @@ export class HtmlBlockElementClass extends BaseUiElement {
993
1307
  * Constructs a new `HtmlBlockElementClass` instance.
994
1308
  *
995
1309
  * @param content - Raw HTML markup content
1310
+
1311
+ HTML source passed to the custom renderer. This is an opaque string, not a typed or sanitized DOM structure.
996
1312
  * @param options - Optional component settings. (modifiers).
997
1313
  */
998
1314
  constructor(content, options) {
@@ -1005,19 +1321,36 @@ export class HtmlBlockElementClass extends BaseUiElement {
1005
1321
  * Class implementation of the `Slot` interface.
1006
1322
  *
1007
1323
  * @remarks
1008
- * Single slot within a multi-slot horizontal row layout.
1324
+ * A slot combines an optional label, a relative width, and one visual child. Slot widths are percentages of the row and should be chosen so the full row's widths form a usable layout.
1009
1325
  */
1010
1326
  export class SlotClass extends ViewKitNode {
1011
- /** Rendered content inside the slot */
1327
+ /**
1328
+ * Rendered content inside the slot
1329
+ *
1330
+ * @remarks
1331
+ * One visual element displayed in this slot. Use a nested layout element when the slot itself needs multiple children.
1332
+ */
1012
1333
  content;
1013
- /** Optional slot label (e.g. "Slot A") */
1334
+ /**
1335
+ * Optional slot label (e.g. "Slot A")
1336
+ *
1337
+ * @remarks
1338
+ * Short text identifying this region of the row. It is independent of the rendered content.
1339
+ */
1014
1340
  label;
1015
- /** Width percentage (1-100) */
1341
+ /**
1342
+ * Width percentage (1-100)
1343
+ *
1344
+ * @remarks
1345
+ * Relative share of the row width. The schema constrains explicit values to the inclusive range 1 through 100.
1346
+ */
1016
1347
  width;
1017
1348
  /**
1018
1349
  * Constructs a new `SlotClass` instance.
1019
1350
  *
1020
1351
  * @param content - Rendered content inside the slot
1352
+
1353
+ One visual element displayed in this slot. Use a nested layout element when the slot itself needs multiple children.
1021
1354
  * @param options - Optional component settings. (label, width).
1022
1355
  */
1023
1356
  constructor(content, options) {
@@ -1031,7 +1364,7 @@ export class SlotClass extends ViewKitNode {
1031
1364
  * Class implementation of the `MultiSlotElement` interface.
1032
1365
  *
1033
1366
  * @remarks
1034
- * Multi-slot horizontal row layout comprising slots with individual widths.
1367
+ * Use this layout when a row needs explicit regions with independently controlled widths. Each slot contains one child element; unlike FlowingElement, the layout does not automatically wrap a sequence of children.
1035
1368
  */
1036
1369
  export class MultiSlotElementClass extends BaseUiElement {
1037
1370
  /**
@@ -1040,12 +1373,19 @@ export class MultiSlotElementClass extends BaseUiElement {
1040
1373
  * @defaultValue "multi-slot"
1041
1374
  */
1042
1375
  type = "multi-slot";
1043
- /** List of slots comprising the row */
1376
+ /**
1377
+ * List of slots comprising the row
1378
+ *
1379
+ * @remarks
1380
+ * Ordered slots in the row. Each slot's width is a percentage; arrange slot definitions in the intended visual order.
1381
+ */
1044
1382
  slots;
1045
1383
  /**
1046
1384
  * Constructs a new `MultiSlotElementClass` instance.
1047
1385
  *
1048
1386
  * @param slots - List of slots comprising the row
1387
+
1388
+ Ordered slots in the row. Each slot's width is a percentage; arrange slot definitions in the intended visual order.
1049
1389
  */
1050
1390
  constructor(slots) {
1051
1391
  super();
@@ -1056,8 +1396,7 @@ export class MultiSlotElementClass extends BaseUiElement {
1056
1396
  * Class implementation of the `FlowingElement` interface.
1057
1397
  *
1058
1398
  * @remarks
1059
- * Flowing inline layout container with automatic line wrapping.
1060
- * Renders child elements horizontally in sequence, automatically wrapping to the next line when space runs out.
1399
+ * Use for compact related values that should flow horizontally and wrap naturally at the available width. Child order is preserved; an optional separator is placed between neighboring children.
1061
1400
  */
1062
1401
  export class FlowingElementClass extends BaseUiElement {
1063
1402
  /**
@@ -1066,14 +1405,26 @@ export class FlowingElementClass extends BaseUiElement {
1066
1405
  * @defaultValue "flowing"
1067
1406
  */
1068
1407
  type = "flowing";
1069
- /** List of child elements rendered sequentially with line wrapping */
1408
+ /**
1409
+ * List of child elements rendered sequentially with line wrapping
1410
+ *
1411
+ * @remarks
1412
+ * Ordered children rendered in the flow. The client wraps them as needed rather than requiring callers to calculate line breaks.
1413
+ */
1070
1414
  elements;
1071
- /** Optional visual separator rendered between sequential child elements */
1415
+ /**
1416
+ * Optional visual separator rendered between sequential child elements
1417
+ *
1418
+ * @remarks
1419
+ * Separator placed between adjacent elements. Omit it when spacing or the child renderers already provide sufficient separation.
1420
+ */
1072
1421
  separator;
1073
1422
  /**
1074
1423
  * Constructs a new `FlowingElementClass` instance.
1075
1424
  *
1076
1425
  * @param elements - List of child elements rendered sequentially with line wrapping
1426
+
1427
+ Ordered children rendered in the flow. The client wraps them as needed rather than requiring callers to calculate line breaks.
1077
1428
  * @param options - Optional component settings. (separator).
1078
1429
  */
1079
1430
  constructor(elements, options) {
@@ -1086,8 +1437,7 @@ export class FlowingElementClass extends BaseUiElement {
1086
1437
  * Class implementation of the `LabelValueElement` interface.
1087
1438
  *
1088
1439
  * @remarks
1089
- * Standard label and value row.
1090
- * Displays a muted label on the left and value representation on the right with a vertical dividing line.
1440
+ * Represents one named value with a muted left-hand label and a right-hand visual element. Use it for a single field; use TableElement for repeated rows or column-aligned data.
1091
1441
  */
1092
1442
  export class LabelValueElementClass extends BaseUiElement {
1093
1443
  /**
@@ -1096,13 +1446,26 @@ export class LabelValueElementClass extends BaseUiElement {
1096
1446
  * @defaultValue "label-value"
1097
1447
  */
1098
1448
  type = "label-value";
1099
- /** Key or descriptive label displayed muted on the left */
1449
+ /**
1450
+ * Key or descriptive label displayed muted on the left
1451
+ *
1452
+ * @remarks
1453
+ * Human-readable name for the value. This text is rendered as the row label rather than as a separate UiElement.
1454
+ */
1100
1455
  label;
1101
- /** Rendered value element on the right */
1456
+ /**
1457
+ * Rendered value element on the right
1458
+ *
1459
+ * @remarks
1460
+ * Value content rendered in the right-hand region. It may be a primitive or a nested structural element.
1461
+ */
1102
1462
  value;
1103
1463
  /**
1104
1464
  * Whether to render a bottom border/hairline divider
1105
1465
  *
1466
+ * @remarks
1467
+ * Enables a horizontal separator beneath this row when true. Defaults to false.
1468
+ *
1106
1469
  * @defaultValue false
1107
1470
  */
1108
1471
  withDivider;
@@ -1110,7 +1473,11 @@ export class LabelValueElementClass extends BaseUiElement {
1110
1473
  * Constructs a new `LabelValueElementClass` instance.
1111
1474
  *
1112
1475
  * @param label - Key or descriptive label displayed muted on the left
1476
+
1477
+ Human-readable name for the value. This text is rendered as the row label rather than as a separate UiElement.
1113
1478
  * @param value - Rendered value element on the right
1479
+
1480
+ Value content rendered in the right-hand region. It may be a primitive or a nested structural element.
1114
1481
  * @param options - Optional component settings. (withDivider (defaults to `false`)).
1115
1482
  */
1116
1483
  constructor(label, value, options) {
@@ -1124,22 +1491,38 @@ export class LabelValueElementClass extends BaseUiElement {
1124
1491
  * Class implementation of the `TableColumn` interface.
1125
1492
  *
1126
1493
  * @remarks
1127
- * Column definition for structured tables.
1494
+ * Describes one table column and its visual sizing. When columns are supplied, their order corresponds to the position of each cell in a row.
1128
1495
  */
1129
1496
  export class TableColumnClass extends ViewKitNode {
1130
- /** Display header text */
1497
+ /**
1498
+ * Display header text
1499
+ *
1500
+ * @remarks
1501
+ * Optional header shown above values in this column. Omit when the table has no header row.
1502
+ */
1131
1503
  header;
1132
1504
  /**
1133
1505
  * Text horizontal alignment
1134
1506
  *
1507
+ * @remarks
1508
+ * Horizontal alignment applied to cell content in the column. Defaults to left.
1509
+ *
1135
1510
  * @defaultValue TableColumnAlign.left
1136
1511
  */
1137
1512
  align;
1138
- /** Width percentage (1-100) */
1513
+ /**
1514
+ * Width percentage (1-100)
1515
+ *
1516
+ * @remarks
1517
+ * Column width percentage used with widthMode. Explicit values are constrained to 1 through 100.
1518
+ */
1139
1519
  width;
1140
1520
  /**
1141
1521
  * Sizing mode for the provided width
1142
1522
  *
1523
+ * @remarks
1524
+ * Determines whether width is a fixed percentage allocation or an upper bound. Defaults to fixed.
1525
+ *
1143
1526
  * @defaultValue TableColumnWidthMode.fixed
1144
1527
  */
1145
1528
  widthMode;
@@ -1160,15 +1543,22 @@ export class TableColumnClass extends ViewKitNode {
1160
1543
  * Class implementation of the `TableRow` interface.
1161
1544
  *
1162
1545
  * @remarks
1163
- * Single table row containing an array of cell values.
1546
+ * A row's cell array is positional: cell at each index corresponds to the column at that index. Keep row lengths aligned with the table's explicit column definitions when present.
1164
1547
  */
1165
1548
  export class TableRowClass extends ViewKitNode {
1166
- /** Array of cell values corresponding to table columns */
1549
+ /**
1550
+ * Array of cell values corresponding to table columns
1551
+ *
1552
+ * @remarks
1553
+ * Ordered contents for this row. Each cell is a UiElement so values can use the same primitive and layout renderers as other ViewKit content.
1554
+ */
1167
1555
  cells;
1168
1556
  /**
1169
1557
  * Constructs a new `TableRowClass` instance.
1170
1558
  *
1171
1559
  * @param cells - Array of cell values corresponding to table columns
1560
+
1561
+ Ordered contents for this row. Each cell is a UiElement so values can use the same primitive and layout renderers as other ViewKit content.
1172
1562
  */
1173
1563
  constructor(cells) {
1174
1564
  super();
@@ -1179,8 +1569,7 @@ export class TableRowClass extends ViewKitNode {
1179
1569
  * Class implementation of the `TableElement` interface.
1180
1570
  *
1181
1571
  * @remarks
1182
- * Structured tabular data representation.
1183
- * Supports header/borderless modes, 2-column key-value tables, and 3-column data tables.
1572
+ * Use for data that benefits from aligned rows and columns, including key/value and multi-column tables. Supply rows in display order; explicit columns are optional, and divider/striping flags independently control visual separators and alternating backgrounds.
1184
1573
  */
1185
1574
  export class TableElementClass extends BaseUiElement {
1186
1575
  /**
@@ -1189,32 +1578,53 @@ export class TableElementClass extends BaseUiElement {
1189
1578
  * @defaultValue "table"
1190
1579
  */
1191
1580
  type = "table";
1192
- /** Tabular data rows */
1581
+ /**
1582
+ * Tabular data rows
1583
+ *
1584
+ * @remarks
1585
+ * Ordered table rows. Each row's cells correspond positionally to the declared columns.
1586
+ */
1193
1587
  rows;
1194
1588
  /**
1195
1589
  * Whether to render alternating row background colors
1196
1590
  *
1591
+ * @remarks
1592
+ * Enables alternating backgrounds across successive rows to improve scanability. Defaults to false.
1593
+ *
1197
1594
  * @defaultValue false
1198
1595
  */
1199
1596
  isStriped;
1200
1597
  /**
1201
1598
  * Whether to render vertical column separators
1202
1599
  *
1600
+ * @remarks
1601
+ * Adds vertical dividers between columns when true. Defaults to false.
1602
+ *
1203
1603
  * @defaultValue false
1204
1604
  */
1205
1605
  withColumnSeparators;
1206
1606
  /**
1207
1607
  * Whether to render horizontal row separators
1208
1608
  *
1609
+ * @remarks
1610
+ * Adds horizontal dividers between rows when true. Defaults to false.
1611
+ *
1209
1612
  * @defaultValue false
1210
1613
  */
1211
1614
  withRowSeparators;
1212
- /** Optional explicit column definitions */
1615
+ /**
1616
+ * Optional explicit column definitions
1617
+ *
1618
+ * @remarks
1619
+ * Optional ordered column metadata defining headers, alignment, and width. When omitted, the renderer may infer a basic layout from row cells.
1620
+ */
1213
1621
  columns;
1214
1622
  /**
1215
1623
  * Constructs a new `TableElementClass` instance.
1216
1624
  *
1217
1625
  * @param rows - Tabular data rows
1626
+
1627
+ Ordered table rows. Each row's cells correspond positionally to the declared columns.
1218
1628
  * @param options - Optional component settings. (isStriped (defaults to `false`), withColumnSeparators (defaults to `false`), withRowSeparators (defaults to `false`), columns).
1219
1629
  */
1220
1630
  constructor(rows, options) {
@@ -1230,19 +1640,36 @@ export class TableElementClass extends BaseUiElement {
1230
1640
  * Class implementation of the `RepeatingGroupEntry` interface.
1231
1641
  *
1232
1642
  * @remarks
1233
- * Single entry within a repeating group.
1643
+ * A repeating entry carries a stable display label and either one primary value or a list of nested elements, depending on the shape needed by the feature.
1234
1644
  */
1235
1645
  export class RepeatingGroupEntryClass extends ViewKitNode {
1236
- /** Entry label */
1646
+ /**
1647
+ * Entry label
1648
+ *
1649
+ * @remarks
1650
+ * Short label identifying this entry within the repeated group.
1651
+ */
1237
1652
  label;
1238
- /** Primary entry value or nested elements */
1653
+ /**
1654
+ * Primary entry value or nested elements
1655
+ *
1656
+ * @remarks
1657
+ * Optional primary visual value for a compact entry. Use elements for a multi-part structured entry.
1658
+ */
1239
1659
  value;
1240
- /** Nested elements for structured entries */
1660
+ /**
1661
+ * Nested elements for structured entries
1662
+ *
1663
+ * @remarks
1664
+ * Optional ordered content for entries that require more than one value element.
1665
+ */
1241
1666
  elements;
1242
1667
  /**
1243
1668
  * Constructs a new `RepeatingGroupEntryClass` instance.
1244
1669
  *
1245
1670
  * @param label - Entry label
1671
+
1672
+ Short label identifying this entry within the repeated group.
1246
1673
  * @param options - Optional component settings. (value, elements).
1247
1674
  */
1248
1675
  constructor(label, options) {
@@ -1256,7 +1683,7 @@ export class RepeatingGroupEntryClass extends ViewKitNode {
1256
1683
  * Class implementation of the `RepeatingGroupElement` interface.
1257
1684
  *
1258
1685
  * @remarks
1259
- * Repeating group container where entries share uniform structure and retain per-entry labels.
1686
+ * Groups a sequence of labeled entries under one optional section title. Use it when records have the same general presentation but need their own labels.
1260
1687
  */
1261
1688
  export class RepeatingGroupElementClass extends BaseUiElement {
1262
1689
  /**
@@ -1265,14 +1692,26 @@ export class RepeatingGroupElementClass extends BaseUiElement {
1265
1692
  * @defaultValue "repeating-group"
1266
1693
  */
1267
1694
  type = "repeating-group";
1268
- /** List of repeated entry records */
1695
+ /**
1696
+ * List of repeated entry records
1697
+ *
1698
+ * @remarks
1699
+ * Entries in display order. Each entry supplies its own label and content.
1700
+ */
1269
1701
  entries;
1270
- /** Optional section header for the group */
1702
+ /**
1703
+ * Optional section header for the group
1704
+ *
1705
+ * @remarks
1706
+ * Heading displayed for the repeated section, separate from the labels of individual entries.
1707
+ */
1271
1708
  title;
1272
1709
  /**
1273
1710
  * Constructs a new `RepeatingGroupElementClass` instance.
1274
1711
  *
1275
1712
  * @param entries - List of repeated entry records
1713
+
1714
+ Entries in display order. Each entry supplies its own label and content.
1276
1715
  * @param options - Optional component settings. (title).
1277
1716
  */
1278
1717
  constructor(entries, options) {
@@ -1285,7 +1724,7 @@ export class RepeatingGroupElementClass extends BaseUiElement {
1285
1724
  * Class implementation of the `CollapsibleGroupElement` interface.
1286
1725
  *
1287
1726
  * @remarks
1288
- * Collapsible disclosure container (accordion) with summary badge.
1727
+ * Groups nested content behind a disclosure control. The title names the group, summary can provide a compact status indicator, and defaultExpanded controls only the initial state.
1289
1728
  */
1290
1729
  export class CollapsibleGroupElementClass extends BaseUiElement {
1291
1730
  /**
@@ -1294,15 +1733,33 @@ export class CollapsibleGroupElementClass extends BaseUiElement {
1294
1733
  * @defaultValue "collapsible-group"
1295
1734
  */
1296
1735
  type = "collapsible-group";
1297
- /** Group title (e.g. "Show specimen details") */
1736
+ /**
1737
+ * Group title (e.g. "Show specimen details")
1738
+ *
1739
+ * @remarks
1740
+ * Text shown on the disclosure control. Use a concise action or section name that remains meaningful while the content is collapsed.
1741
+ */
1298
1742
  title;
1299
- /** Nested content elements revealed when expanded */
1743
+ /**
1744
+ * Nested content elements revealed when expanded
1745
+ *
1746
+ * @remarks
1747
+ * Ordered child elements made visible by expanding the group.
1748
+ */
1300
1749
  elements;
1301
- /** Secondary summary indicator (e.g. "2 neutral values") */
1750
+ /**
1751
+ * Secondary summary indicator (e.g. "2 neutral values")
1752
+ *
1753
+ * @remarks
1754
+ * Compact contextual text shown alongside the title while the group is collapsed or expanded. It does not replace the nested content.
1755
+ */
1302
1756
  summary;
1303
1757
  /**
1304
1758
  * Whether the disclosure is open/expanded by default
1305
1759
  *
1760
+ * @remarks
1761
+ * Initial expanded state requested by the data. Defaults to false; subsequent interaction is managed by the client.
1762
+ *
1306
1763
  * @defaultValue false
1307
1764
  */
1308
1765
  defaultExpanded;
@@ -1310,7 +1767,11 @@ export class CollapsibleGroupElementClass extends BaseUiElement {
1310
1767
  * Constructs a new `CollapsibleGroupElementClass` instance.
1311
1768
  *
1312
1769
  * @param title - Group title (e.g. "Show specimen details")
1770
+
1771
+ Text shown on the disclosure control. Use a concise action or section name that remains meaningful while the content is collapsed.
1313
1772
  * @param elements - Nested content elements revealed when expanded
1773
+
1774
+ Ordered child elements made visible by expanding the group.
1314
1775
  * @param options - Optional component settings. (summary, defaultExpanded (defaults to `false`)).
1315
1776
  */
1316
1777
  constructor(title, elements, options) {
@@ -1325,7 +1786,7 @@ export class CollapsibleGroupElementClass extends BaseUiElement {
1325
1786
  * Class implementation of the `DividerElement` interface.
1326
1787
  *
1327
1788
  * @remarks
1328
- * Visual hairline separator separating sections or element groups.
1789
+ * A standalone visual separator for dividing adjacent sections or element groups. Use the divider flags on tables or rows when the separator is part of that structure.
1329
1790
  */
1330
1791
  export class DividerElementClass extends BaseUiElement {
1331
1792
  /**
@@ -1337,6 +1798,9 @@ export class DividerElementClass extends BaseUiElement {
1337
1798
  /**
1338
1799
  * Line styling
1339
1800
  *
1801
+ * @remarks
1802
+ * Visual stroke treatment for the separator. Defaults to a subtle hairline.
1803
+ *
1340
1804
  * @defaultValue DividerStyle.hairline
1341
1805
  */
1342
1806
  style;
@@ -1354,12 +1818,15 @@ export class DividerElementClass extends BaseUiElement {
1354
1818
  * Class implementation of the `Envelop` interface.
1355
1819
  *
1356
1820
  * @remarks
1357
- * Base envelope container model holding the schema version attribute.
1821
+ * All root ViewKit documents extend this envelope so consumers can identify the schema contract version before processing the root content.
1358
1822
  */
1359
1823
  export class EnvelopClass extends ViewKitNode {
1360
1824
  /**
1361
1825
  * Schema specification version
1362
1826
  *
1827
+ * @remarks
1828
+ * Version of the ViewKit envelope contract. It is a literal value and should be preserved when serializing or forwarding a document.
1829
+ *
1363
1830
  * @defaultValue "1.0"
1364
1831
  */
1365
1832
  schemaVersion;
@@ -1377,14 +1844,22 @@ export class EnvelopClass extends ViewKitNode {
1377
1844
  * Class implementation of the `UiContainer` interface.
1378
1845
  *
1379
1846
  * @remarks
1380
- * Container model representing an ordered list of visual elements.
1847
+ * Provides the shared root content collection inherited by cards and other root models. The order of elements is significant and is preserved by the renderer.
1381
1848
  */
1382
1849
  export class UiContainerClass extends ViewKitNode {
1383
- /** Ordered list of visual elements, structures, and content */
1850
+ /**
1851
+ * Ordered list of visual elements, structures, and content
1852
+ *
1853
+ * @remarks
1854
+ * Top-level visual content in render order. Use a structural element to group related children and primitive elements for individual values.
1855
+ */
1384
1856
  elements;
1385
1857
  /**
1386
1858
  * Schema specification version
1387
1859
  *
1860
+ * @remarks
1861
+ * Version of the ViewKit envelope contract. It is a literal value and should be preserved when serializing or forwarding a document.
1862
+ *
1388
1863
  * @defaultValue "1.0"
1389
1864
  */
1390
1865
  schemaVersion;
@@ -1392,6 +1867,8 @@ export class UiContainerClass extends ViewKitNode {
1392
1867
  * Constructs a new `UiContainerClass` instance.
1393
1868
  *
1394
1869
  * @param elements - Ordered list of visual elements, structures, and content
1870
+
1871
+ Top-level visual content in render order. Use a structural element to group related children and primitive elements for individual values.
1395
1872
  * @param options - Optional component settings. (schemaVersion (defaults to `1.0`)).
1396
1873
  */
1397
1874
  constructor(elements, options) {
@@ -1404,21 +1881,43 @@ export class UiContainerClass extends ViewKitNode {
1404
1881
  * Class implementation of the `UiCard` interface.
1405
1882
  *
1406
1883
  * @remarks
1407
- * Root Card container model.
1408
- * Represents a complete feature card rendered inside the 360px panel.
1884
+ * A complete card has a required title and ordered content inherited from UiContainer. It is designed for the feature-card surface; description and actions supplement the content, with action controls rendered separately from the element list.
1409
1885
  */
1410
1886
  export class UiCardClass extends ViewKitNode {
1411
- /** Human-readable feature title displayed in the card header */
1887
+ /**
1888
+ * Human-readable feature title displayed in the card header
1889
+ *
1890
+ * @remarks
1891
+ * Primary heading for the card. Keep it concise enough for the card header; longer explanatory text belongs in description or elements.
1892
+ */
1412
1893
  title;
1413
- /** Ordered list of visual elements, structures, and content */
1894
+ /**
1895
+ * Ordered list of visual elements, structures, and content
1896
+ *
1897
+ * @remarks
1898
+ * Top-level visual content in render order. Use a structural element to group related children and primitive elements for individual values.
1899
+ */
1414
1900
  elements;
1415
- /** Optional neutral subtitle / description for the feature */
1901
+ /**
1902
+ * Optional neutral subtitle / description for the feature
1903
+ *
1904
+ * @remarks
1905
+ * Brief secondary context shown with the title. Use the content elements for detailed information rather than placing an entire report in this field.
1906
+ */
1416
1907
  description;
1417
- /** Optional card action buttons rendered at the base of the feature card */
1908
+ /**
1909
+ * Optional card action buttons rendered at the base of the feature card
1910
+ *
1911
+ * @remarks
1912
+ * Optional user-invokable actions shown after the card content. Their order is preserved and each action's own fields define its command or link behavior.
1913
+ */
1418
1914
  actions;
1419
1915
  /**
1420
1916
  * Schema specification version
1421
1917
  *
1918
+ * @remarks
1919
+ * Version of the ViewKit envelope contract. It is a literal value and should be preserved when serializing or forwarding a document.
1920
+ *
1422
1921
  * @defaultValue "1.0"
1423
1922
  */
1424
1923
  schemaVersion;
@@ -1426,7 +1925,11 @@ export class UiCardClass extends ViewKitNode {
1426
1925
  * Constructs a new `UiCardClass` instance.
1427
1926
  *
1428
1927
  * @param title - Human-readable feature title displayed in the card header
1928
+
1929
+ Primary heading for the card. Keep it concise enough for the card header; longer explanatory text belongs in description or elements.
1429
1930
  * @param elements - Ordered list of visual elements, structures, and content
1931
+
1932
+ Top-level visual content in render order. Use a structural element to group related children and primitive elements for individual values.
1430
1933
  * @param options - Optional component settings. (description, actions, schemaVersion (defaults to `1.0`)).
1431
1934
  */
1432
1935
  constructor(title, elements, options) {
@@ -1442,7 +1945,7 @@ export class UiCardClass extends ViewKitNode {
1442
1945
  * Fluent builder for constructing strongly-typed `UiContainer` instances.
1443
1946
  *
1444
1947
  * @remarks
1445
- * Container model representing an ordered list of visual elements.
1948
+ * Provides the shared root content collection inherited by cards and other root models. The order of elements is significant and is preserved by the renderer.
1446
1949
  */
1447
1950
  export class UiContainerBuilder {
1448
1951
  _elements = [];
@@ -1473,10 +1976,11 @@ export class UiContainerBuilder {
1473
1976
  * Appends a `StringElement` component.
1474
1977
  *
1475
1978
  * @remarks
1476
- * Universal textual string primitive element.
1477
- * Supports plain text, compact chip pill, or multiline pre-wrapped presentation.
1979
+ * Use this primitive for one textual value when a structured label/value row is unnecessary. Choose multiline for content whose line breaks should remain visible; modifiers apply presentation traits without changing the underlying value.
1478
1980
  *
1479
1981
  * @param value - Text value
1982
+
1983
+ Text to render. Supply plain text; this field is not a Markdown or HTML document.
1480
1984
  * @param options - Optional component settings (representation (defaults to `plain`), modifiers).
1481
1985
  * @returns This builder instance for method chaining.
1482
1986
  */
@@ -1487,10 +1991,11 @@ export class UiContainerBuilder {
1487
1991
  * Appends a `StringsElement` component.
1488
1992
  *
1489
1993
  * @remarks
1490
- * Collection of textual string values rendered as a sequence of inline items or chips.
1491
- * Supports visual separators (comma, dot, slash, bar, dash, space) and copyable affordance.
1994
+ * Use this primitive when several related strings should be rendered as one compact sequence. The client preserves the array order and inserts the selected separator between values.
1492
1995
  *
1493
1996
  * @param values - Array of string values
1997
+
1998
+ Values to render in order. Each array entry remains a distinct item for chip presentation and is not parsed as a delimited string.
1494
1999
  * @param options - Optional component settings (representation (defaults to `plain`), separator, modifiers).
1495
2000
  * @returns This builder instance for method chaining.
1496
2001
  */
@@ -1501,9 +2006,11 @@ export class UiContainerBuilder {
1501
2006
  * Appends a `StringCodeElement` component.
1502
2007
  *
1503
2008
  * @remarks
1504
- * Monospace code block or formatted code snippet representation.
2009
+ * Use for source-like or preformatted textual content that should be rendered in a code-oriented style. The language is a presentation hint; the content is not parsed or validated as code by this contract.
1505
2010
  *
1506
2011
  * @param value - Text value
2012
+
2013
+ Code or text snippet to display. Include any desired line breaks in this string.
1507
2014
  * @param options - Optional component settings (language, modifiers).
1508
2015
  * @returns This builder instance for method chaining.
1509
2016
  */
@@ -1514,9 +2021,11 @@ export class UiContainerBuilder {
1514
2021
  * Appends a `XmlElement` component.
1515
2022
  *
1516
2023
  * @remarks
1517
- * XML markup code block element.
2024
+ * Specialized code-oriented element for XML content. It uses the custom XML renderer rather than requiring consumers to construct a generic code block.
1518
2025
  *
1519
2026
  * @param value - XML content value
2027
+
2028
+ XML markup to render. The contract carries the source text; it does not guarantee that the document is well-formed.
1520
2029
  * @param options - Optional component settings (modifiers).
1521
2030
  * @returns This builder instance for method chaining.
1522
2031
  */
@@ -1527,9 +2036,11 @@ export class UiContainerBuilder {
1527
2036
  * Appends a `JsonElement` component.
1528
2037
  *
1529
2038
  * @remarks
1530
- * JSON data or structure representation element.
2039
+ * Specialized representation for JSON text. Supply serialized JSON when consumers should display a JSON document; this field is a string and is not structurally validated here.
1531
2040
  *
1532
2041
  * @param value - JSON content value
2042
+
2043
+ Serialized JSON text to render. No parsing or schema validation is implied by this element.
1533
2044
  * @param options - Optional component settings (modifiers).
1534
2045
  * @returns This builder instance for method chaining.
1535
2046
  */
@@ -1540,9 +2051,11 @@ export class UiContainerBuilder {
1540
2051
  * Appends a `StringUrlElement` component.
1541
2052
  *
1542
2053
  * @remarks
1543
- * Hyperlink representation for external or internal URL navigation.
2054
+ * Use this element when displayed text should also behave as a link. Unlike StringElement, the value is a navigation destination and may be paired with a separate human-readable label.
1544
2055
  *
1545
2056
  * @param value - Target URL or navigation destination
2057
+
2058
+ Destination associated with the link. Supply a URL or client-recognized navigation target supported by the renderer.
1546
2059
  * @param options - Optional component settings (label, modifiers).
1547
2060
  * @returns This builder instance for method chaining.
1548
2061
  */
@@ -1553,9 +2066,11 @@ export class UiContainerBuilder {
1553
2066
  * Appends a `IdentifierElement` component.
1554
2067
  *
1555
2068
  * @remarks
1556
- * Monospace semantic identifier representation.
2069
+ * Use for identifiers, hashes, and other machine-oriented strings that benefit from monospace styling. The value remains text and is not resolved as a Picteus entity.
1557
2070
  *
1558
2071
  * @param value - Identifier string value
2072
+
2073
+ Identifier text to display, such as an opaque ID or hash. Avoid embedding presentation markup in the value.
1559
2074
  * @param options - Optional component settings (modifiers).
1560
2075
  * @returns This builder instance for method chaining.
1561
2076
  */
@@ -1566,9 +2081,11 @@ export class UiContainerBuilder {
1566
2081
  * Appends a `RatioElement` component.
1567
2082
  *
1568
2083
  * @remarks
1569
- * Aspect ratio representation (e.g. "16:9", "4:3", "1:1").
2084
+ * Displays a numeric aspect ratio as a ratio expression. Provide a positive value meaningful to the surrounding content; this type does not encode the source image dimensions.
1570
2085
  *
1571
2086
  * @param value - Aspect ratio numerical expression
2087
+
2088
+ Numeric ratio value used by the renderer to produce an aspect-ratio display.
1572
2089
  * @param options - Optional component settings (modifiers).
1573
2090
  * @returns This builder instance for method chaining.
1574
2091
  */
@@ -1579,10 +2096,14 @@ export class UiContainerBuilder {
1579
2096
  * Appends a `DimensionsElement` component.
1580
2097
  *
1581
2098
  * @remarks
1582
- * Image dimensions representation displaying formatted width and height in pixels.
2099
+ * Displays a width/height pair as image dimensions. Both values are positive pixel counts; together they describe dimensions, not an aspect ratio or a resize request.
1583
2100
  *
1584
2101
  * @param width - Width in pixels
2102
+
2103
+ Horizontal pixel count. Values below one are rejected by the schema constraint.
1585
2104
  * @param height - Height in pixels
2105
+
2106
+ Vertical pixel count. Values below one are rejected by the schema constraint.
1586
2107
  * @param options - Optional component settings (modifiers).
1587
2108
  * @returns This builder instance for method chaining.
1588
2109
  */
@@ -1593,9 +2114,11 @@ export class UiContainerBuilder {
1593
2114
  * Appends a `ColourElement` component.
1594
2115
  *
1595
2116
  * @remarks
1596
- * Single color representation with hex value, shape/size styling, text display toggle, and copy affordance.
2117
+ * Displays one color swatch with configurable geometry and optional adjacent text. Supply the color as a hexadecimal string; the schema leaves exact accepted hex formats to the renderer.
1597
2118
  *
1598
2119
  * @param value - Hexadecimal color code
2120
+
2121
+ Color value used to draw the swatch. Use a hexadecimal representation supported by the client renderer.
1599
2122
  * @param options - Optional component settings (label, showText (defaults to `true`), shape (defaults to `circle`), size (defaults to `medium`), modifiers).
1600
2123
  * @returns This builder instance for method chaining.
1601
2124
  */
@@ -1606,9 +2129,11 @@ export class UiContainerBuilder {
1606
2129
  * Appends a `ColourElement` component.
1607
2130
  *
1608
2131
  * @remarks
1609
- * Single color representation with hex value, shape/size styling, text display toggle, and copy affordance.
2132
+ * Displays one color swatch with configurable geometry and optional adjacent text. Supply the color as a hexadecimal string; the schema leaves exact accepted hex formats to the renderer.
1610
2133
  *
1611
2134
  * @param value - Hexadecimal color code
2135
+
2136
+ Color value used to draw the swatch. Use a hexadecimal representation supported by the client renderer.
1612
2137
  * @param options - Optional component settings (label, showText (defaults to `true`), shape (defaults to `circle`), size (defaults to `medium`), modifiers).
1613
2138
  * @returns This builder instance for method chaining.
1614
2139
  */
@@ -1619,9 +2144,11 @@ export class UiContainerBuilder {
1619
2144
  * Appends a `NumberUnboundedElement` component.
1620
2145
  *
1621
2146
  * @remarks
1622
- * Plain unbounded numeric value primitive element.
2147
+ * Displays a numeric value without a progress scale or rating interpretation. Use unit to communicate the measurement context; no range is imposed by this model.
1623
2148
  *
1624
2149
  * @param value - Numeric value
2150
+
2151
+ Number to display. Its meaning and any valid range are defined by the producing feature.
1625
2152
  * @param options - Optional component settings (unit, modifiers).
1626
2153
  * @returns This builder instance for method chaining.
1627
2154
  */
@@ -1632,9 +2159,11 @@ export class UiContainerBuilder {
1632
2159
  * Appends a `NumberBoundedStarsElement` component.
1633
2160
  *
1634
2161
  * @remarks
1635
- * Bounded numeric rating represented as visual stars.
2162
+ * Displays a score on a star scale. Keep value within the scale from zero through maximum; this model declares the scale metadata but does not impose a numeric validation bound.
1636
2163
  *
1637
2164
  * @param value - Numeric rating score
2165
+
2166
+ Score represented by the filled portion of the star display.
1638
2167
  * @param options - Optional component settings (maximum, modifiers).
1639
2168
  * @returns This builder instance for method chaining.
1640
2169
  */
@@ -1645,9 +2174,11 @@ export class UiContainerBuilder {
1645
2174
  * Appends a `NumberBoundedStarsElement` component.
1646
2175
  *
1647
2176
  * @remarks
1648
- * Bounded numeric rating represented as visual stars.
2177
+ * Displays a score on a star scale. Keep value within the scale from zero through maximum; this model declares the scale metadata but does not impose a numeric validation bound.
1649
2178
  *
1650
2179
  * @param value - Numeric rating score
2180
+
2181
+ Score represented by the filled portion of the star display.
1651
2182
  * @param options - Optional component settings (maximum, modifiers).
1652
2183
  * @returns This builder instance for method chaining.
1653
2184
  */
@@ -1658,9 +2189,11 @@ export class UiContainerBuilder {
1658
2189
  * Appends a `NumberBoundedMeterElement` component.
1659
2190
  *
1660
2191
  * @remarks
1661
- * Bounded numeric meter representation (read-only progress / score bar).
2192
+ * Displays a scalar value against a minimum-to-maximum range. Supply comparable bounds and a value in that range; optional label and unit customize the textual readout without changing the meter scale.
1662
2193
  *
1663
2194
  * @param value - Numeric value
2195
+
2196
+ Current measurement or score represented by the meter.
1664
2197
  * @param options - Optional component settings (minimum, maximum, label, unit, modifiers).
1665
2198
  * @returns This builder instance for method chaining.
1666
2199
  */
@@ -1671,9 +2204,11 @@ export class UiContainerBuilder {
1671
2204
  * Appends a `NumberBoundedMeterElement` component.
1672
2205
  *
1673
2206
  * @remarks
1674
- * Bounded numeric meter representation (read-only progress / score bar).
2207
+ * Displays a scalar value against a minimum-to-maximum range. Supply comparable bounds and a value in that range; optional label and unit customize the textual readout without changing the meter scale.
1675
2208
  *
1676
2209
  * @param value - Numeric value
2210
+
2211
+ Current measurement or score represented by the meter.
1677
2212
  * @param options - Optional component settings (minimum, maximum, label, unit, modifiers).
1678
2213
  * @returns This builder instance for method chaining.
1679
2214
  */
@@ -1684,10 +2219,11 @@ export class UiContainerBuilder {
1684
2219
  * Appends a `BooleanElement` component.
1685
2220
  *
1686
2221
  * @remarks
1687
- * Universal boolean primitive element.
1688
- * Supports standard plain text or badge pill presentation with customizable labels and variants.
2222
+ * Displays a boolean state using text or a badge. The representation determines whether true/false labels or a colored badge are used; configured labels and variant are presentation choices only.
1689
2223
  *
1690
2224
  * @param value - Boolean state value
2225
+
2226
+ State to display. This remains a boolean value in the data model even when the renderer substitutes custom labels.
1691
2227
  * @param options - Optional component settings (representation (defaults to `plain`), trueLabel (defaults to `true`), falseLabel (defaults to `false`), variant (defaults to `neutral`), modifiers).
1692
2228
  * @returns This builder instance for method chaining.
1693
2229
  */
@@ -1698,9 +2234,11 @@ export class UiContainerBuilder {
1698
2234
  * Appends a `TimestampElement` component.
1699
2235
  *
1700
2236
  * @remarks
1701
- * Formatted date and time representation.
2237
+ * Displays an epoch timestamp using a selected date/time format. The input is a count of milliseconds, not seconds; relative formatting is interpreted by the consumer.
1702
2238
  *
1703
2239
  * @param value - The timestamp in milliseconds
2240
+
2241
+ Unix epoch timestamp measured in milliseconds. Convert seconds-based timestamps before assigning this value.
1704
2242
  * @param options - Optional component settings (format (defaults to `datetime`), modifiers).
1705
2243
  * @returns This builder instance for method chaining.
1706
2244
  */
@@ -1711,9 +2249,11 @@ export class UiContainerBuilder {
1711
2249
  * Appends a `ImageReferenceElement` component.
1712
2250
  *
1713
2251
  * @remarks
1714
- * Thumbnail image reference with placeholder fallback handling.
2252
+ * References an image source for thumbnail rendering and provides accessible text and a fallback source. The client determines loading, sizing, and placeholder behavior.
1715
2253
  *
1716
2254
  * @param src - Image source URI (HTTPS URL, base64 data URI, or asset path)
2255
+
2256
+ Source URI understood by the client renderer. Supported forms include HTTPS locations, base64 data URIs, and client asset paths; this field is not raw image bytes.
1717
2257
  * @param options - Optional component settings (alt, aspectRatio (defaults to `1:1`), placeholder).
1718
2258
  * @returns This builder instance for method chaining.
1719
2259
  */
@@ -1724,9 +2264,11 @@ export class UiContainerBuilder {
1724
2264
  * Appends a `ImageReferenceElement` component.
1725
2265
  *
1726
2266
  * @remarks
1727
- * Thumbnail image reference with placeholder fallback handling.
2267
+ * References an image source for thumbnail rendering and provides accessible text and a fallback source. The client determines loading, sizing, and placeholder behavior.
1728
2268
  *
1729
2269
  * @param src - Image source URI (HTTPS URL, base64 data URI, or asset path)
2270
+
2271
+ Source URI understood by the client renderer. Supported forms include HTTPS locations, base64 data URIs, and client asset paths; this field is not raw image bytes.
1730
2272
  * @param options - Optional component settings (alt, aspectRatio (defaults to `1:1`), placeholder).
1731
2273
  * @returns This builder instance for method chaining.
1732
2274
  */
@@ -1737,9 +2279,11 @@ export class UiContainerBuilder {
1737
2279
  * Appends a `MarkdownBlockElement` component.
1738
2280
  *
1739
2281
  * @remarks
1740
- * Full Markdown fallback block rendered with core typographic hierarchy, spacing, and styling.
2282
+ * Use this custom-renderer escape hatch when the structured ViewKit elements cannot express the required rich text. Markdown rendering is a presentation fallback; prefer typed elements when consumers need to inspect individual values.
1741
2283
  *
1742
2284
  * @param content - Raw Markdown markup content
2285
+
2286
+ Markdown source consumed by the client renderer. The schema treats it as an opaque string and does not validate the markup or its links.
1743
2287
  * @param options - Optional component settings (modifiers).
1744
2288
  * @returns This builder instance for method chaining.
1745
2289
  */
@@ -1750,9 +2294,11 @@ export class UiContainerBuilder {
1750
2294
  * Appends a `MarkdownBlockElement` component.
1751
2295
  *
1752
2296
  * @remarks
1753
- * Full Markdown fallback block rendered with core typographic hierarchy, spacing, and styling.
2297
+ * Use this custom-renderer escape hatch when the structured ViewKit elements cannot express the required rich text. Markdown rendering is a presentation fallback; prefer typed elements when consumers need to inspect individual values.
1754
2298
  *
1755
2299
  * @param content - Raw Markdown markup content
2300
+
2301
+ Markdown source consumed by the client renderer. The schema treats it as an opaque string and does not validate the markup or its links.
1756
2302
  * @param options - Optional component settings (modifiers).
1757
2303
  * @returns This builder instance for method chaining.
1758
2304
  */
@@ -1763,9 +2309,11 @@ export class UiContainerBuilder {
1763
2309
  * Appends a `HtmlBlockElement` component.
1764
2310
  *
1765
2311
  * @remarks
1766
- * Sandboxed HTML rendering escape hatch.
2312
+ * Use only when structured elements or Markdown cannot represent the required content. Rendering occurs in a sandboxed host context, but callers should still avoid embedding untrusted content and should not assume access to application privileges.
1767
2313
  *
1768
2314
  * @param content - Raw HTML markup content
2315
+
2316
+ HTML source passed to the custom renderer. This is an opaque string, not a typed or sanitized DOM structure.
1769
2317
  * @param options - Optional component settings (modifiers).
1770
2318
  * @returns This builder instance for method chaining.
1771
2319
  */
@@ -1776,9 +2324,11 @@ export class UiContainerBuilder {
1776
2324
  * Appends a `HtmlBlockElement` component.
1777
2325
  *
1778
2326
  * @remarks
1779
- * Sandboxed HTML rendering escape hatch.
2327
+ * Use only when structured elements or Markdown cannot represent the required content. Rendering occurs in a sandboxed host context, but callers should still avoid embedding untrusted content and should not assume access to application privileges.
1780
2328
  *
1781
2329
  * @param content - Raw HTML markup content
2330
+
2331
+ HTML source passed to the custom renderer. This is an opaque string, not a typed or sanitized DOM structure.
1782
2332
  * @param options - Optional component settings (modifiers).
1783
2333
  * @returns This builder instance for method chaining.
1784
2334
  */
@@ -1789,9 +2339,11 @@ export class UiContainerBuilder {
1789
2339
  * Appends a `MultiSlotElement` component.
1790
2340
  *
1791
2341
  * @remarks
1792
- * Multi-slot horizontal row layout comprising slots with individual widths.
2342
+ * Use this layout when a row needs explicit regions with independently controlled widths. Each slot contains one child element; unlike FlowingElement, the layout does not automatically wrap a sequence of children.
1793
2343
  *
1794
2344
  * @param slots - List of slots comprising the row
2345
+
2346
+ Ordered slots in the row. Each slot's width is a percentage; arrange slot definitions in the intended visual order.
1795
2347
  * @returns This builder instance for method chaining.
1796
2348
  */
1797
2349
  addMultiSlot(slots) {
@@ -1801,10 +2353,11 @@ export class UiContainerBuilder {
1801
2353
  * Appends a `FlowingElement` component.
1802
2354
  *
1803
2355
  * @remarks
1804
- * Flowing inline layout container with automatic line wrapping.
1805
- * Renders child elements horizontally in sequence, automatically wrapping to the next line when space runs out.
2356
+ * Use for compact related values that should flow horizontally and wrap naturally at the available width. Child order is preserved; an optional separator is placed between neighboring children.
1806
2357
  *
1807
2358
  * @param elements - List of child elements rendered sequentially with line wrapping
2359
+
2360
+ Ordered children rendered in the flow. The client wraps them as needed rather than requiring callers to calculate line breaks.
1808
2361
  * @param options - Optional component settings (separator).
1809
2362
  * @returns This builder instance for method chaining.
1810
2363
  */
@@ -1815,11 +2368,14 @@ export class UiContainerBuilder {
1815
2368
  * Appends a `LabelValueElement` component.
1816
2369
  *
1817
2370
  * @remarks
1818
- * Standard label and value row.
1819
- * Displays a muted label on the left and value representation on the right with a vertical dividing line.
2371
+ * Represents one named value with a muted left-hand label and a right-hand visual element. Use it for a single field; use TableElement for repeated rows or column-aligned data.
1820
2372
  *
1821
2373
  * @param label - Key or descriptive label displayed muted on the left
2374
+
2375
+ Human-readable name for the value. This text is rendered as the row label rather than as a separate UiElement.
1822
2376
  * @param value - Rendered value element on the right
2377
+
2378
+ Value content rendered in the right-hand region. It may be a primitive or a nested structural element.
1823
2379
  * @param options - Optional component settings (withDivider (defaults to `false`)).
1824
2380
  * @returns This builder instance for method chaining.
1825
2381
  */
@@ -1830,10 +2386,11 @@ export class UiContainerBuilder {
1830
2386
  * Appends a `TableElement` component.
1831
2387
  *
1832
2388
  * @remarks
1833
- * Structured tabular data representation.
1834
- * Supports header/borderless modes, 2-column key-value tables, and 3-column data tables.
2389
+ * Use for data that benefits from aligned rows and columns, including key/value and multi-column tables. Supply rows in display order; explicit columns are optional, and divider/striping flags independently control visual separators and alternating backgrounds.
1835
2390
  *
1836
2391
  * @param rows - Tabular data rows
2392
+
2393
+ Ordered table rows. Each row's cells correspond positionally to the declared columns.
1837
2394
  * @param options - Optional component settings (isStriped (defaults to `false`), withColumnSeparators (defaults to `false`), withRowSeparators (defaults to `false`), columns).
1838
2395
  * @returns This builder instance for method chaining.
1839
2396
  */
@@ -1844,9 +2401,11 @@ export class UiContainerBuilder {
1844
2401
  * Appends a `RepeatingGroupElement` component.
1845
2402
  *
1846
2403
  * @remarks
1847
- * Repeating group container where entries share uniform structure and retain per-entry labels.
2404
+ * Groups a sequence of labeled entries under one optional section title. Use it when records have the same general presentation but need their own labels.
1848
2405
  *
1849
2406
  * @param entries - List of repeated entry records
2407
+
2408
+ Entries in display order. Each entry supplies its own label and content.
1850
2409
  * @param options - Optional component settings (title).
1851
2410
  * @returns This builder instance for method chaining.
1852
2411
  */
@@ -1857,10 +2416,14 @@ export class UiContainerBuilder {
1857
2416
  * Appends a `CollapsibleGroupElement` component.
1858
2417
  *
1859
2418
  * @remarks
1860
- * Collapsible disclosure container (accordion) with summary badge.
2419
+ * Groups nested content behind a disclosure control. The title names the group, summary can provide a compact status indicator, and defaultExpanded controls only the initial state.
1861
2420
  *
1862
2421
  * @param title - Group title (e.g. "Show specimen details")
2422
+
2423
+ Text shown on the disclosure control. Use a concise action or section name that remains meaningful while the content is collapsed.
1863
2424
  * @param elements - Nested content elements revealed when expanded
2425
+
2426
+ Ordered child elements made visible by expanding the group.
1864
2427
  * @param options - Optional component settings (summary, defaultExpanded (defaults to `false`)).
1865
2428
  * @returns This builder instance for method chaining.
1866
2429
  */
@@ -1871,7 +2434,7 @@ export class UiContainerBuilder {
1871
2434
  * Appends a `DividerElement` component.
1872
2435
  *
1873
2436
  * @remarks
1874
- * Visual hairline separator separating sections or element groups.
2437
+ * A standalone visual separator for dividing adjacent sections or element groups. Use the divider flags on tables or rows when the separator is part of that structure.
1875
2438
  *
1876
2439
  * @param options - Optional component settings (style (defaults to `hairline`)).
1877
2440
  * @returns This builder instance for method chaining.
@@ -1945,7 +2508,7 @@ export const UiContainer = {
1945
2508
  * Functional helper to create a `UiContainerClass` instance directly.
1946
2509
  *
1947
2510
  * @remarks
1948
- * Container model representing an ordered list of visual elements.
2511
+ * Provides the shared root content collection inherited by cards and other root models. The order of elements is significant and is preserved by the renderer.
1949
2512
  *
1950
2513
  * @param options - Optional configuration properties.
1951
2514
  * @returns A strongly-typed `UiContainerClass` instance.
@@ -1957,7 +2520,7 @@ export function createUiContainer(options) {
1957
2520
  * Parses a JSON string or raw object into a validated `UiContainerClass` instance.
1958
2521
  *
1959
2522
  * @remarks
1960
- * Container model representing an ordered list of visual elements.
2523
+ * Provides the shared root content collection inherited by cards and other root models. The order of elements is significant and is preserved by the renderer.
1961
2524
  *
1962
2525
  * @param json - JSON string or parsed JavaScript object to validate and hydrate.
1963
2526
  * @param withDeepValidation - Whether to recursively validate all nested child entities.
@@ -1970,8 +2533,7 @@ export function parseUiContainer(json, withDeepValidation = true) {
1970
2533
  * Fluent builder for constructing strongly-typed `UiCard` instances.
1971
2534
  *
1972
2535
  * @remarks
1973
- * Root Card container model.
1974
- * Represents a complete feature card rendered inside the 360px panel.
2536
+ * A complete card has a required title and ordered content inherited from UiContainer. It is designed for the feature-card surface; description and actions supplement the content, with action controls rendered separately from the element list.
1975
2537
  */
1976
2538
  export class UiCardBuilder {
1977
2539
  _title;
@@ -1982,6 +2544,8 @@ export class UiCardBuilder {
1982
2544
  * Initializes a new `UiCardBuilder`.
1983
2545
  *
1984
2546
  * @param title - Human-readable feature title displayed in the card header
2547
+
2548
+ Primary heading for the card. Keep it concise enough for the card header; longer explanatory text belongs in description or elements.
1985
2549
  */
1986
2550
  constructor(title) {
1987
2551
  this._title = title;
@@ -1990,6 +2554,8 @@ export class UiCardBuilder {
1990
2554
  * Sets the `description` property on this builder.
1991
2555
  *
1992
2556
  * @param description - Optional neutral subtitle / description for the feature
2557
+
2558
+ Brief secondary context shown with the title. Use the content elements for detailed information rather than placing an entire report in this field.
1993
2559
  * @returns This builder instance for method chaining.
1994
2560
  */
1995
2561
  description(description) {
@@ -2040,10 +2606,11 @@ export class UiCardBuilder {
2040
2606
  * Appends a `StringElement` component.
2041
2607
  *
2042
2608
  * @remarks
2043
- * Universal textual string primitive element.
2044
- * Supports plain text, compact chip pill, or multiline pre-wrapped presentation.
2609
+ * Use this primitive for one textual value when a structured label/value row is unnecessary. Choose multiline for content whose line breaks should remain visible; modifiers apply presentation traits without changing the underlying value.
2045
2610
  *
2046
2611
  * @param value - Text value
2612
+
2613
+ Text to render. Supply plain text; this field is not a Markdown or HTML document.
2047
2614
  * @param options - Optional component settings (representation (defaults to `plain`), modifiers).
2048
2615
  * @returns This builder instance for method chaining.
2049
2616
  */
@@ -2054,10 +2621,11 @@ export class UiCardBuilder {
2054
2621
  * Appends a `StringsElement` component.
2055
2622
  *
2056
2623
  * @remarks
2057
- * Collection of textual string values rendered as a sequence of inline items or chips.
2058
- * Supports visual separators (comma, dot, slash, bar, dash, space) and copyable affordance.
2624
+ * Use this primitive when several related strings should be rendered as one compact sequence. The client preserves the array order and inserts the selected separator between values.
2059
2625
  *
2060
2626
  * @param values - Array of string values
2627
+
2628
+ Values to render in order. Each array entry remains a distinct item for chip presentation and is not parsed as a delimited string.
2061
2629
  * @param options - Optional component settings (representation (defaults to `plain`), separator, modifiers).
2062
2630
  * @returns This builder instance for method chaining.
2063
2631
  */
@@ -2068,9 +2636,11 @@ export class UiCardBuilder {
2068
2636
  * Appends a `StringCodeElement` component.
2069
2637
  *
2070
2638
  * @remarks
2071
- * Monospace code block or formatted code snippet representation.
2639
+ * Use for source-like or preformatted textual content that should be rendered in a code-oriented style. The language is a presentation hint; the content is not parsed or validated as code by this contract.
2072
2640
  *
2073
2641
  * @param value - Text value
2642
+
2643
+ Code or text snippet to display. Include any desired line breaks in this string.
2074
2644
  * @param options - Optional component settings (language, modifiers).
2075
2645
  * @returns This builder instance for method chaining.
2076
2646
  */
@@ -2081,9 +2651,11 @@ export class UiCardBuilder {
2081
2651
  * Appends a `XmlElement` component.
2082
2652
  *
2083
2653
  * @remarks
2084
- * XML markup code block element.
2654
+ * Specialized code-oriented element for XML content. It uses the custom XML renderer rather than requiring consumers to construct a generic code block.
2085
2655
  *
2086
2656
  * @param value - XML content value
2657
+
2658
+ XML markup to render. The contract carries the source text; it does not guarantee that the document is well-formed.
2087
2659
  * @param options - Optional component settings (modifiers).
2088
2660
  * @returns This builder instance for method chaining.
2089
2661
  */
@@ -2094,9 +2666,11 @@ export class UiCardBuilder {
2094
2666
  * Appends a `JsonElement` component.
2095
2667
  *
2096
2668
  * @remarks
2097
- * JSON data or structure representation element.
2669
+ * Specialized representation for JSON text. Supply serialized JSON when consumers should display a JSON document; this field is a string and is not structurally validated here.
2098
2670
  *
2099
2671
  * @param value - JSON content value
2672
+
2673
+ Serialized JSON text to render. No parsing or schema validation is implied by this element.
2100
2674
  * @param options - Optional component settings (modifiers).
2101
2675
  * @returns This builder instance for method chaining.
2102
2676
  */
@@ -2107,9 +2681,11 @@ export class UiCardBuilder {
2107
2681
  * Appends a `StringUrlElement` component.
2108
2682
  *
2109
2683
  * @remarks
2110
- * Hyperlink representation for external or internal URL navigation.
2684
+ * Use this element when displayed text should also behave as a link. Unlike StringElement, the value is a navigation destination and may be paired with a separate human-readable label.
2111
2685
  *
2112
2686
  * @param value - Target URL or navigation destination
2687
+
2688
+ Destination associated with the link. Supply a URL or client-recognized navigation target supported by the renderer.
2113
2689
  * @param options - Optional component settings (label, modifiers).
2114
2690
  * @returns This builder instance for method chaining.
2115
2691
  */
@@ -2120,9 +2696,11 @@ export class UiCardBuilder {
2120
2696
  * Appends a `IdentifierElement` component.
2121
2697
  *
2122
2698
  * @remarks
2123
- * Monospace semantic identifier representation.
2699
+ * Use for identifiers, hashes, and other machine-oriented strings that benefit from monospace styling. The value remains text and is not resolved as a Picteus entity.
2124
2700
  *
2125
2701
  * @param value - Identifier string value
2702
+
2703
+ Identifier text to display, such as an opaque ID or hash. Avoid embedding presentation markup in the value.
2126
2704
  * @param options - Optional component settings (modifiers).
2127
2705
  * @returns This builder instance for method chaining.
2128
2706
  */
@@ -2133,9 +2711,11 @@ export class UiCardBuilder {
2133
2711
  * Appends a `RatioElement` component.
2134
2712
  *
2135
2713
  * @remarks
2136
- * Aspect ratio representation (e.g. "16:9", "4:3", "1:1").
2714
+ * Displays a numeric aspect ratio as a ratio expression. Provide a positive value meaningful to the surrounding content; this type does not encode the source image dimensions.
2137
2715
  *
2138
2716
  * @param value - Aspect ratio numerical expression
2717
+
2718
+ Numeric ratio value used by the renderer to produce an aspect-ratio display.
2139
2719
  * @param options - Optional component settings (modifiers).
2140
2720
  * @returns This builder instance for method chaining.
2141
2721
  */
@@ -2146,10 +2726,14 @@ export class UiCardBuilder {
2146
2726
  * Appends a `DimensionsElement` component.
2147
2727
  *
2148
2728
  * @remarks
2149
- * Image dimensions representation displaying formatted width and height in pixels.
2729
+ * Displays a width/height pair as image dimensions. Both values are positive pixel counts; together they describe dimensions, not an aspect ratio or a resize request.
2150
2730
  *
2151
2731
  * @param width - Width in pixels
2732
+
2733
+ Horizontal pixel count. Values below one are rejected by the schema constraint.
2152
2734
  * @param height - Height in pixels
2735
+
2736
+ Vertical pixel count. Values below one are rejected by the schema constraint.
2153
2737
  * @param options - Optional component settings (modifiers).
2154
2738
  * @returns This builder instance for method chaining.
2155
2739
  */
@@ -2160,9 +2744,11 @@ export class UiCardBuilder {
2160
2744
  * Appends a `ColourElement` component.
2161
2745
  *
2162
2746
  * @remarks
2163
- * Single color representation with hex value, shape/size styling, text display toggle, and copy affordance.
2747
+ * Displays one color swatch with configurable geometry and optional adjacent text. Supply the color as a hexadecimal string; the schema leaves exact accepted hex formats to the renderer.
2164
2748
  *
2165
2749
  * @param value - Hexadecimal color code
2750
+
2751
+ Color value used to draw the swatch. Use a hexadecimal representation supported by the client renderer.
2166
2752
  * @param options - Optional component settings (label, showText (defaults to `true`), shape (defaults to `circle`), size (defaults to `medium`), modifiers).
2167
2753
  * @returns This builder instance for method chaining.
2168
2754
  */
@@ -2173,9 +2759,11 @@ export class UiCardBuilder {
2173
2759
  * Appends a `ColourElement` component.
2174
2760
  *
2175
2761
  * @remarks
2176
- * Single color representation with hex value, shape/size styling, text display toggle, and copy affordance.
2762
+ * Displays one color swatch with configurable geometry and optional adjacent text. Supply the color as a hexadecimal string; the schema leaves exact accepted hex formats to the renderer.
2177
2763
  *
2178
2764
  * @param value - Hexadecimal color code
2765
+
2766
+ Color value used to draw the swatch. Use a hexadecimal representation supported by the client renderer.
2179
2767
  * @param options - Optional component settings (label, showText (defaults to `true`), shape (defaults to `circle`), size (defaults to `medium`), modifiers).
2180
2768
  * @returns This builder instance for method chaining.
2181
2769
  */
@@ -2186,9 +2774,11 @@ export class UiCardBuilder {
2186
2774
  * Appends a `NumberUnboundedElement` component.
2187
2775
  *
2188
2776
  * @remarks
2189
- * Plain unbounded numeric value primitive element.
2777
+ * Displays a numeric value without a progress scale or rating interpretation. Use unit to communicate the measurement context; no range is imposed by this model.
2190
2778
  *
2191
2779
  * @param value - Numeric value
2780
+
2781
+ Number to display. Its meaning and any valid range are defined by the producing feature.
2192
2782
  * @param options - Optional component settings (unit, modifiers).
2193
2783
  * @returns This builder instance for method chaining.
2194
2784
  */
@@ -2199,9 +2789,11 @@ export class UiCardBuilder {
2199
2789
  * Appends a `NumberBoundedStarsElement` component.
2200
2790
  *
2201
2791
  * @remarks
2202
- * Bounded numeric rating represented as visual stars.
2792
+ * Displays a score on a star scale. Keep value within the scale from zero through maximum; this model declares the scale metadata but does not impose a numeric validation bound.
2203
2793
  *
2204
2794
  * @param value - Numeric rating score
2795
+
2796
+ Score represented by the filled portion of the star display.
2205
2797
  * @param options - Optional component settings (maximum, modifiers).
2206
2798
  * @returns This builder instance for method chaining.
2207
2799
  */
@@ -2212,9 +2804,11 @@ export class UiCardBuilder {
2212
2804
  * Appends a `NumberBoundedStarsElement` component.
2213
2805
  *
2214
2806
  * @remarks
2215
- * Bounded numeric rating represented as visual stars.
2807
+ * Displays a score on a star scale. Keep value within the scale from zero through maximum; this model declares the scale metadata but does not impose a numeric validation bound.
2216
2808
  *
2217
2809
  * @param value - Numeric rating score
2810
+
2811
+ Score represented by the filled portion of the star display.
2218
2812
  * @param options - Optional component settings (maximum, modifiers).
2219
2813
  * @returns This builder instance for method chaining.
2220
2814
  */
@@ -2225,9 +2819,11 @@ export class UiCardBuilder {
2225
2819
  * Appends a `NumberBoundedMeterElement` component.
2226
2820
  *
2227
2821
  * @remarks
2228
- * Bounded numeric meter representation (read-only progress / score bar).
2822
+ * Displays a scalar value against a minimum-to-maximum range. Supply comparable bounds and a value in that range; optional label and unit customize the textual readout without changing the meter scale.
2229
2823
  *
2230
2824
  * @param value - Numeric value
2825
+
2826
+ Current measurement or score represented by the meter.
2231
2827
  * @param options - Optional component settings (minimum, maximum, label, unit, modifiers).
2232
2828
  * @returns This builder instance for method chaining.
2233
2829
  */
@@ -2238,9 +2834,11 @@ export class UiCardBuilder {
2238
2834
  * Appends a `NumberBoundedMeterElement` component.
2239
2835
  *
2240
2836
  * @remarks
2241
- * Bounded numeric meter representation (read-only progress / score bar).
2837
+ * Displays a scalar value against a minimum-to-maximum range. Supply comparable bounds and a value in that range; optional label and unit customize the textual readout without changing the meter scale.
2242
2838
  *
2243
2839
  * @param value - Numeric value
2840
+
2841
+ Current measurement or score represented by the meter.
2244
2842
  * @param options - Optional component settings (minimum, maximum, label, unit, modifiers).
2245
2843
  * @returns This builder instance for method chaining.
2246
2844
  */
@@ -2251,10 +2849,11 @@ export class UiCardBuilder {
2251
2849
  * Appends a `BooleanElement` component.
2252
2850
  *
2253
2851
  * @remarks
2254
- * Universal boolean primitive element.
2255
- * Supports standard plain text or badge pill presentation with customizable labels and variants.
2852
+ * Displays a boolean state using text or a badge. The representation determines whether true/false labels or a colored badge are used; configured labels and variant are presentation choices only.
2256
2853
  *
2257
2854
  * @param value - Boolean state value
2855
+
2856
+ State to display. This remains a boolean value in the data model even when the renderer substitutes custom labels.
2258
2857
  * @param options - Optional component settings (representation (defaults to `plain`), trueLabel (defaults to `true`), falseLabel (defaults to `false`), variant (defaults to `neutral`), modifiers).
2259
2858
  * @returns This builder instance for method chaining.
2260
2859
  */
@@ -2265,9 +2864,11 @@ export class UiCardBuilder {
2265
2864
  * Appends a `TimestampElement` component.
2266
2865
  *
2267
2866
  * @remarks
2268
- * Formatted date and time representation.
2867
+ * Displays an epoch timestamp using a selected date/time format. The input is a count of milliseconds, not seconds; relative formatting is interpreted by the consumer.
2269
2868
  *
2270
2869
  * @param value - The timestamp in milliseconds
2870
+
2871
+ Unix epoch timestamp measured in milliseconds. Convert seconds-based timestamps before assigning this value.
2271
2872
  * @param options - Optional component settings (format (defaults to `datetime`), modifiers).
2272
2873
  * @returns This builder instance for method chaining.
2273
2874
  */
@@ -2278,9 +2879,11 @@ export class UiCardBuilder {
2278
2879
  * Appends a `ImageReferenceElement` component.
2279
2880
  *
2280
2881
  * @remarks
2281
- * Thumbnail image reference with placeholder fallback handling.
2882
+ * References an image source for thumbnail rendering and provides accessible text and a fallback source. The client determines loading, sizing, and placeholder behavior.
2282
2883
  *
2283
2884
  * @param src - Image source URI (HTTPS URL, base64 data URI, or asset path)
2885
+
2886
+ Source URI understood by the client renderer. Supported forms include HTTPS locations, base64 data URIs, and client asset paths; this field is not raw image bytes.
2284
2887
  * @param options - Optional component settings (alt, aspectRatio (defaults to `1:1`), placeholder).
2285
2888
  * @returns This builder instance for method chaining.
2286
2889
  */
@@ -2291,9 +2894,11 @@ export class UiCardBuilder {
2291
2894
  * Appends a `ImageReferenceElement` component.
2292
2895
  *
2293
2896
  * @remarks
2294
- * Thumbnail image reference with placeholder fallback handling.
2897
+ * References an image source for thumbnail rendering and provides accessible text and a fallback source. The client determines loading, sizing, and placeholder behavior.
2295
2898
  *
2296
2899
  * @param src - Image source URI (HTTPS URL, base64 data URI, or asset path)
2900
+
2901
+ Source URI understood by the client renderer. Supported forms include HTTPS locations, base64 data URIs, and client asset paths; this field is not raw image bytes.
2297
2902
  * @param options - Optional component settings (alt, aspectRatio (defaults to `1:1`), placeholder).
2298
2903
  * @returns This builder instance for method chaining.
2299
2904
  */
@@ -2304,9 +2909,11 @@ export class UiCardBuilder {
2304
2909
  * Appends a `MarkdownBlockElement` component.
2305
2910
  *
2306
2911
  * @remarks
2307
- * Full Markdown fallback block rendered with core typographic hierarchy, spacing, and styling.
2912
+ * Use this custom-renderer escape hatch when the structured ViewKit elements cannot express the required rich text. Markdown rendering is a presentation fallback; prefer typed elements when consumers need to inspect individual values.
2308
2913
  *
2309
2914
  * @param content - Raw Markdown markup content
2915
+
2916
+ Markdown source consumed by the client renderer. The schema treats it as an opaque string and does not validate the markup or its links.
2310
2917
  * @param options - Optional component settings (modifiers).
2311
2918
  * @returns This builder instance for method chaining.
2312
2919
  */
@@ -2317,9 +2924,11 @@ export class UiCardBuilder {
2317
2924
  * Appends a `MarkdownBlockElement` component.
2318
2925
  *
2319
2926
  * @remarks
2320
- * Full Markdown fallback block rendered with core typographic hierarchy, spacing, and styling.
2927
+ * Use this custom-renderer escape hatch when the structured ViewKit elements cannot express the required rich text. Markdown rendering is a presentation fallback; prefer typed elements when consumers need to inspect individual values.
2321
2928
  *
2322
2929
  * @param content - Raw Markdown markup content
2930
+
2931
+ Markdown source consumed by the client renderer. The schema treats it as an opaque string and does not validate the markup or its links.
2323
2932
  * @param options - Optional component settings (modifiers).
2324
2933
  * @returns This builder instance for method chaining.
2325
2934
  */
@@ -2330,9 +2939,11 @@ export class UiCardBuilder {
2330
2939
  * Appends a `HtmlBlockElement` component.
2331
2940
  *
2332
2941
  * @remarks
2333
- * Sandboxed HTML rendering escape hatch.
2942
+ * Use only when structured elements or Markdown cannot represent the required content. Rendering occurs in a sandboxed host context, but callers should still avoid embedding untrusted content and should not assume access to application privileges.
2334
2943
  *
2335
2944
  * @param content - Raw HTML markup content
2945
+
2946
+ HTML source passed to the custom renderer. This is an opaque string, not a typed or sanitized DOM structure.
2336
2947
  * @param options - Optional component settings (modifiers).
2337
2948
  * @returns This builder instance for method chaining.
2338
2949
  */
@@ -2343,9 +2954,11 @@ export class UiCardBuilder {
2343
2954
  * Appends a `HtmlBlockElement` component.
2344
2955
  *
2345
2956
  * @remarks
2346
- * Sandboxed HTML rendering escape hatch.
2957
+ * Use only when structured elements or Markdown cannot represent the required content. Rendering occurs in a sandboxed host context, but callers should still avoid embedding untrusted content and should not assume access to application privileges.
2347
2958
  *
2348
2959
  * @param content - Raw HTML markup content
2960
+
2961
+ HTML source passed to the custom renderer. This is an opaque string, not a typed or sanitized DOM structure.
2349
2962
  * @param options - Optional component settings (modifiers).
2350
2963
  * @returns This builder instance for method chaining.
2351
2964
  */
@@ -2356,9 +2969,11 @@ export class UiCardBuilder {
2356
2969
  * Appends a `MultiSlotElement` component.
2357
2970
  *
2358
2971
  * @remarks
2359
- * Multi-slot horizontal row layout comprising slots with individual widths.
2972
+ * Use this layout when a row needs explicit regions with independently controlled widths. Each slot contains one child element; unlike FlowingElement, the layout does not automatically wrap a sequence of children.
2360
2973
  *
2361
2974
  * @param slots - List of slots comprising the row
2975
+
2976
+ Ordered slots in the row. Each slot's width is a percentage; arrange slot definitions in the intended visual order.
2362
2977
  * @returns This builder instance for method chaining.
2363
2978
  */
2364
2979
  addMultiSlot(slots) {
@@ -2368,10 +2983,11 @@ export class UiCardBuilder {
2368
2983
  * Appends a `FlowingElement` component.
2369
2984
  *
2370
2985
  * @remarks
2371
- * Flowing inline layout container with automatic line wrapping.
2372
- * Renders child elements horizontally in sequence, automatically wrapping to the next line when space runs out.
2986
+ * Use for compact related values that should flow horizontally and wrap naturally at the available width. Child order is preserved; an optional separator is placed between neighboring children.
2373
2987
  *
2374
2988
  * @param elements - List of child elements rendered sequentially with line wrapping
2989
+
2990
+ Ordered children rendered in the flow. The client wraps them as needed rather than requiring callers to calculate line breaks.
2375
2991
  * @param options - Optional component settings (separator).
2376
2992
  * @returns This builder instance for method chaining.
2377
2993
  */
@@ -2382,11 +2998,14 @@ export class UiCardBuilder {
2382
2998
  * Appends a `LabelValueElement` component.
2383
2999
  *
2384
3000
  * @remarks
2385
- * Standard label and value row.
2386
- * Displays a muted label on the left and value representation on the right with a vertical dividing line.
3001
+ * Represents one named value with a muted left-hand label and a right-hand visual element. Use it for a single field; use TableElement for repeated rows or column-aligned data.
2387
3002
  *
2388
3003
  * @param label - Key or descriptive label displayed muted on the left
3004
+
3005
+ Human-readable name for the value. This text is rendered as the row label rather than as a separate UiElement.
2389
3006
  * @param value - Rendered value element on the right
3007
+
3008
+ Value content rendered in the right-hand region. It may be a primitive or a nested structural element.
2390
3009
  * @param options - Optional component settings (withDivider (defaults to `false`)).
2391
3010
  * @returns This builder instance for method chaining.
2392
3011
  */
@@ -2397,10 +3016,11 @@ export class UiCardBuilder {
2397
3016
  * Appends a `TableElement` component.
2398
3017
  *
2399
3018
  * @remarks
2400
- * Structured tabular data representation.
2401
- * Supports header/borderless modes, 2-column key-value tables, and 3-column data tables.
3019
+ * Use for data that benefits from aligned rows and columns, including key/value and multi-column tables. Supply rows in display order; explicit columns are optional, and divider/striping flags independently control visual separators and alternating backgrounds.
2402
3020
  *
2403
3021
  * @param rows - Tabular data rows
3022
+
3023
+ Ordered table rows. Each row's cells correspond positionally to the declared columns.
2404
3024
  * @param options - Optional component settings (isStriped (defaults to `false`), withColumnSeparators (defaults to `false`), withRowSeparators (defaults to `false`), columns).
2405
3025
  * @returns This builder instance for method chaining.
2406
3026
  */
@@ -2411,9 +3031,11 @@ export class UiCardBuilder {
2411
3031
  * Appends a `RepeatingGroupElement` component.
2412
3032
  *
2413
3033
  * @remarks
2414
- * Repeating group container where entries share uniform structure and retain per-entry labels.
3034
+ * Groups a sequence of labeled entries under one optional section title. Use it when records have the same general presentation but need their own labels.
2415
3035
  *
2416
3036
  * @param entries - List of repeated entry records
3037
+
3038
+ Entries in display order. Each entry supplies its own label and content.
2417
3039
  * @param options - Optional component settings (title).
2418
3040
  * @returns This builder instance for method chaining.
2419
3041
  */
@@ -2424,10 +3046,14 @@ export class UiCardBuilder {
2424
3046
  * Appends a `CollapsibleGroupElement` component.
2425
3047
  *
2426
3048
  * @remarks
2427
- * Collapsible disclosure container (accordion) with summary badge.
3049
+ * Groups nested content behind a disclosure control. The title names the group, summary can provide a compact status indicator, and defaultExpanded controls only the initial state.
2428
3050
  *
2429
3051
  * @param title - Group title (e.g. "Show specimen details")
3052
+
3053
+ Text shown on the disclosure control. Use a concise action or section name that remains meaningful while the content is collapsed.
2430
3054
  * @param elements - Nested content elements revealed when expanded
3055
+
3056
+ Ordered child elements made visible by expanding the group.
2431
3057
  * @param options - Optional component settings (summary, defaultExpanded (defaults to `false`)).
2432
3058
  * @returns This builder instance for method chaining.
2433
3059
  */
@@ -2438,7 +3064,7 @@ export class UiCardBuilder {
2438
3064
  * Appends a `DividerElement` component.
2439
3065
  *
2440
3066
  * @remarks
2441
- * Visual hairline separator separating sections or element groups.
3067
+ * A standalone visual separator for dividing adjacent sections or element groups. Use the divider flags on tables or rows when the separator is part of that structure.
2442
3068
  *
2443
3069
  * @param options - Optional component settings (style (defaults to `hairline`)).
2444
3070
  * @returns This builder instance for method chaining.
@@ -2480,6 +3106,8 @@ export const UiCard = {
2480
3106
  * Creates a new fluent builder for constructing a `UiCard`.
2481
3107
  *
2482
3108
  * @param title - Human-readable feature title displayed in the card header
3109
+
3110
+ Primary heading for the card. Keep it concise enough for the card header; longer explanatory text belongs in description or elements.
2483
3111
  * @returns A new `UiCardBuilder` instance.
2484
3112
  */
2485
3113
  builder(title) {
@@ -2519,10 +3147,11 @@ export const UiCard = {
2519
3147
  * Functional helper to create a `UiCardClass` instance directly.
2520
3148
  *
2521
3149
  * @remarks
2522
- * Root Card container model.
2523
- * Represents a complete feature card rendered inside the 360px panel.
3150
+ * A complete card has a required title and ordered content inherited from UiContainer. It is designed for the feature-card surface; description and actions supplement the content, with action controls rendered separately from the element list.
2524
3151
  *
2525
3152
  * @param title - Human-readable feature title displayed in the card header
3153
+
3154
+ Primary heading for the card. Keep it concise enough for the card header; longer explanatory text belongs in description or elements.
2526
3155
  * @param options - Optional configuration properties.
2527
3156
  * @returns A strongly-typed `UiCardClass` instance.
2528
3157
  */
@@ -2536,8 +3165,7 @@ export function createUiCard(title, options) {
2536
3165
  * Parses a JSON string or raw object into a validated `UiCardClass` instance.
2537
3166
  *
2538
3167
  * @remarks
2539
- * Root Card container model.
2540
- * Represents a complete feature card rendered inside the 360px panel.
3168
+ * A complete card has a required title and ordered content inherited from UiContainer. It is designed for the feature-card surface; description and actions supplement the content, with action controls rendered separately from the element list.
2541
3169
  *
2542
3170
  * @param json - JSON string or parsed JavaScript object to validate and hydrate.
2543
3171
  * @param withDeepValidation - Whether to recursively validate all nested child entities.
@@ -2551,9 +3179,11 @@ export function parseUiCard(json, withDeepValidation = true) {
2551
3179
  * Creates a `TruncateOptions` component instance.
2552
3180
  *
2553
3181
  * @remarks
2554
- * Truncation configuration for long textual content with optional expand affordance.
3182
+ * Controls how a renderer abbreviates long text. The character limit is a presentation threshold rather than a validation limit; showMore lets the user reveal the remaining text.
2555
3183
  *
2556
3184
  * @param characterLimit - Maximum number of characters to display before truncating
3185
+
3186
+ Threshold after which the renderer can shorten the displayed text. This does not constrain the stored string or remove its undisplayed content.
2557
3187
  * @param options - Optional settings (showMore (defaults to `true`)).
2558
3188
  * @returns A strongly-typed `TruncateOptions` object.
2559
3189
  */
@@ -2567,7 +3197,7 @@ export function truncateOptions(characterLimit, options) {
2567
3197
  * Creates a `BaseModifiers` component instance.
2568
3198
  *
2569
3199
  * @remarks
2570
- * Base modifier traits for elements that support copy affordance.
3200
+ * Common optional presentation traits shared by primitive values and content renderers. Modifiers affect how content is displayed or copied; they do not transform the source value.
2571
3201
  *
2572
3202
  * @param options - Optional settings (copyable).
2573
3203
  * @returns A strongly-typed `BaseModifiers` object.
@@ -2581,7 +3211,7 @@ export function baseModifiers(options) {
2581
3211
  * Creates a `PrimitiveModifiers` component instance.
2582
3212
  *
2583
3213
  * @remarks
2584
- * Common modifier traits that can be attached to primitive elements.
3214
+ * Extends BaseModifiers with text styling controls. Defaults provide normal weight, medium intensity, and proportional text unless a feature explicitly overrides them.
2585
3215
  *
2586
3216
  * @param options - Optional settings (truncate, weight (defaults to `normal`), intensity (defaults to `medium`), monospace (defaults to `false`), copyable).
2587
3217
  * @returns A strongly-typed `PrimitiveModifiers` object.
@@ -2599,10 +3229,11 @@ export function primitiveModifiers(options) {
2599
3229
  * Creates a `StringElement` component instance.
2600
3230
  *
2601
3231
  * @remarks
2602
- * Universal textual string primitive element.
2603
- * Supports plain text, compact chip pill, or multiline pre-wrapped presentation.
3232
+ * Use this primitive for one textual value when a structured label/value row is unnecessary. Choose multiline for content whose line breaks should remain visible; modifiers apply presentation traits without changing the underlying value.
2604
3233
  *
2605
3234
  * @param value - Text value
3235
+
3236
+ Text to render. Supply plain text; this field is not a Markdown or HTML document.
2606
3237
  * @param options - Optional settings (representation (defaults to `plain`), modifiers).
2607
3238
  * @returns A strongly-typed `StringElement` object.
2608
3239
  */
@@ -2618,10 +3249,11 @@ export function string(value, options) {
2618
3249
  * Creates a `StringsElement` component instance.
2619
3250
  *
2620
3251
  * @remarks
2621
- * Collection of textual string values rendered as a sequence of inline items or chips.
2622
- * Supports visual separators (comma, dot, slash, bar, dash, space) and copyable affordance.
3252
+ * Use this primitive when several related strings should be rendered as one compact sequence. The client preserves the array order and inserts the selected separator between values.
2623
3253
  *
2624
3254
  * @param values - Array of string values
3255
+
3256
+ Values to render in order. Each array entry remains a distinct item for chip presentation and is not parsed as a delimited string.
2625
3257
  * @param options - Optional settings (representation (defaults to `plain`), separator, modifiers).
2626
3258
  * @returns A strongly-typed `StringsElement` object.
2627
3259
  */
@@ -2638,9 +3270,11 @@ export function strings(values, options) {
2638
3270
  * Creates a `StringCodeElement` component instance.
2639
3271
  *
2640
3272
  * @remarks
2641
- * Monospace code block or formatted code snippet representation.
3273
+ * Use for source-like or preformatted textual content that should be rendered in a code-oriented style. The language is a presentation hint; the content is not parsed or validated as code by this contract.
2642
3274
  *
2643
3275
  * @param value - Text value
3276
+
3277
+ Code or text snippet to display. Include any desired line breaks in this string.
2644
3278
  * @param options - Optional settings (language, modifiers).
2645
3279
  * @returns A strongly-typed `StringCodeElement` object.
2646
3280
  */
@@ -2656,9 +3290,11 @@ export function stringCode(value, options) {
2656
3290
  * Creates a `XmlElement` component instance.
2657
3291
  *
2658
3292
  * @remarks
2659
- * XML markup code block element.
3293
+ * Specialized code-oriented element for XML content. It uses the custom XML renderer rather than requiring consumers to construct a generic code block.
2660
3294
  *
2661
3295
  * @param value - XML content value
3296
+
3297
+ XML markup to render. The contract carries the source text; it does not guarantee that the document is well-formed.
2662
3298
  * @param options - Optional settings (modifiers).
2663
3299
  * @returns A strongly-typed `XmlElement` object.
2664
3300
  */
@@ -2673,9 +3309,11 @@ export function xml(value, options) {
2673
3309
  * Creates a `JsonElement` component instance.
2674
3310
  *
2675
3311
  * @remarks
2676
- * JSON data or structure representation element.
3312
+ * Specialized representation for JSON text. Supply serialized JSON when consumers should display a JSON document; this field is a string and is not structurally validated here.
2677
3313
  *
2678
3314
  * @param value - JSON content value
3315
+
3316
+ Serialized JSON text to render. No parsing or schema validation is implied by this element.
2679
3317
  * @param options - Optional settings (modifiers).
2680
3318
  * @returns A strongly-typed `JsonElement` object.
2681
3319
  */
@@ -2690,9 +3328,11 @@ export function json(value, options) {
2690
3328
  * Creates a `StringUrlElement` component instance.
2691
3329
  *
2692
3330
  * @remarks
2693
- * Hyperlink representation for external or internal URL navigation.
3331
+ * Use this element when displayed text should also behave as a link. Unlike StringElement, the value is a navigation destination and may be paired with a separate human-readable label.
2694
3332
  *
2695
3333
  * @param value - Target URL or navigation destination
3334
+
3335
+ Destination associated with the link. Supply a URL or client-recognized navigation target supported by the renderer.
2696
3336
  * @param options - Optional settings (label, modifiers).
2697
3337
  * @returns A strongly-typed `StringUrlElement` object.
2698
3338
  */
@@ -2708,9 +3348,11 @@ export function stringUrl(value, options) {
2708
3348
  * Creates a `IdentifierElement` component instance.
2709
3349
  *
2710
3350
  * @remarks
2711
- * Monospace semantic identifier representation.
3351
+ * Use for identifiers, hashes, and other machine-oriented strings that benefit from monospace styling. The value remains text and is not resolved as a Picteus entity.
2712
3352
  *
2713
3353
  * @param value - Identifier string value
3354
+
3355
+ Identifier text to display, such as an opaque ID or hash. Avoid embedding presentation markup in the value.
2714
3356
  * @param options - Optional settings (modifiers).
2715
3357
  * @returns A strongly-typed `IdentifierElement` object.
2716
3358
  */
@@ -2725,9 +3367,11 @@ export function identifier(value, options) {
2725
3367
  * Creates a `RatioElement` component instance.
2726
3368
  *
2727
3369
  * @remarks
2728
- * Aspect ratio representation (e.g. "16:9", "4:3", "1:1").
3370
+ * Displays a numeric aspect ratio as a ratio expression. Provide a positive value meaningful to the surrounding content; this type does not encode the source image dimensions.
2729
3371
  *
2730
3372
  * @param value - Aspect ratio numerical expression
3373
+
3374
+ Numeric ratio value used by the renderer to produce an aspect-ratio display.
2731
3375
  * @param options - Optional settings (modifiers).
2732
3376
  * @returns A strongly-typed `RatioElement` object.
2733
3377
  */
@@ -2742,10 +3386,14 @@ export function ratio(value, options) {
2742
3386
  * Creates a `DimensionsElement` component instance.
2743
3387
  *
2744
3388
  * @remarks
2745
- * Image dimensions representation displaying formatted width and height in pixels.
3389
+ * Displays a width/height pair as image dimensions. Both values are positive pixel counts; together they describe dimensions, not an aspect ratio or a resize request.
2746
3390
  *
2747
3391
  * @param width - Width in pixels
3392
+
3393
+ Horizontal pixel count. Values below one are rejected by the schema constraint.
2748
3394
  * @param height - Height in pixels
3395
+
3396
+ Vertical pixel count. Values below one are rejected by the schema constraint.
2749
3397
  * @param options - Optional settings (modifiers).
2750
3398
  * @returns A strongly-typed `DimensionsElement` object.
2751
3399
  */
@@ -2761,9 +3409,11 @@ export function dimensions(width, height, options) {
2761
3409
  * Creates a `ColourElement` component instance.
2762
3410
  *
2763
3411
  * @remarks
2764
- * Single color representation with hex value, shape/size styling, text display toggle, and copy affordance.
3412
+ * Displays one color swatch with configurable geometry and optional adjacent text. Supply the color as a hexadecimal string; the schema leaves exact accepted hex formats to the renderer.
2765
3413
  *
2766
3414
  * @param value - Hexadecimal color code
3415
+
3416
+ Color value used to draw the swatch. Use a hexadecimal representation supported by the client renderer.
2767
3417
  * @param options - Optional settings (label, showText (defaults to `true`), shape (defaults to `circle`), size (defaults to `medium`), modifiers).
2768
3418
  * @returns A strongly-typed `ColourElement` object.
2769
3419
  */
@@ -2782,9 +3432,11 @@ export function colour(value, options) {
2782
3432
  * Creates a `ColourElement` component instance.
2783
3433
  *
2784
3434
  * @remarks
2785
- * Single color representation with hex value, shape/size styling, text display toggle, and copy affordance.
3435
+ * Displays one color swatch with configurable geometry and optional adjacent text. Supply the color as a hexadecimal string; the schema leaves exact accepted hex formats to the renderer.
2786
3436
  *
2787
3437
  * @param value - Hexadecimal color code
3438
+
3439
+ Color value used to draw the swatch. Use a hexadecimal representation supported by the client renderer.
2788
3440
  * @param options - Optional settings (label, showText (defaults to `true`), shape (defaults to `circle`), size (defaults to `medium`), modifiers).
2789
3441
  * @returns A strongly-typed `ColourElement` object.
2790
3442
  */
@@ -2803,9 +3455,11 @@ export function color(value, options) {
2803
3455
  * Creates a `NumberUnboundedElement` component instance.
2804
3456
  *
2805
3457
  * @remarks
2806
- * Plain unbounded numeric value primitive element.
3458
+ * Displays a numeric value without a progress scale or rating interpretation. Use unit to communicate the measurement context; no range is imposed by this model.
2807
3459
  *
2808
3460
  * @param value - Numeric value
3461
+
3462
+ Number to display. Its meaning and any valid range are defined by the producing feature.
2809
3463
  * @param options - Optional settings (unit, modifiers).
2810
3464
  * @returns A strongly-typed `NumberUnboundedElement` object.
2811
3465
  */
@@ -2821,9 +3475,11 @@ export function numberUnbounded(value, options) {
2821
3475
  * Creates a `NumberBoundedStarsElement` component instance.
2822
3476
  *
2823
3477
  * @remarks
2824
- * Bounded numeric rating represented as visual stars.
3478
+ * Displays a score on a star scale. Keep value within the scale from zero through maximum; this model declares the scale metadata but does not impose a numeric validation bound.
2825
3479
  *
2826
3480
  * @param value - Numeric rating score
3481
+
3482
+ Score represented by the filled portion of the star display.
2827
3483
  * @param options - Optional settings (maximum, modifiers).
2828
3484
  * @returns A strongly-typed `NumberBoundedStarsElement` object.
2829
3485
  */
@@ -2839,9 +3495,11 @@ export function numberBoundedStars(value, options) {
2839
3495
  * Creates a `NumberBoundedStarsElement` component instance.
2840
3496
  *
2841
3497
  * @remarks
2842
- * Bounded numeric rating represented as visual stars.
3498
+ * Displays a score on a star scale. Keep value within the scale from zero through maximum; this model declares the scale metadata but does not impose a numeric validation bound.
2843
3499
  *
2844
3500
  * @param value - Numeric rating score
3501
+
3502
+ Score represented by the filled portion of the star display.
2845
3503
  * @param options - Optional settings (maximum, modifiers).
2846
3504
  * @returns A strongly-typed `NumberBoundedStarsElement` object.
2847
3505
  */
@@ -2857,9 +3515,11 @@ export function numberStars(value, options) {
2857
3515
  * Creates a `NumberBoundedMeterElement` component instance.
2858
3516
  *
2859
3517
  * @remarks
2860
- * Bounded numeric meter representation (read-only progress / score bar).
3518
+ * Displays a scalar value against a minimum-to-maximum range. Supply comparable bounds and a value in that range; optional label and unit customize the textual readout without changing the meter scale.
2861
3519
  *
2862
3520
  * @param value - Numeric value
3521
+
3522
+ Current measurement or score represented by the meter.
2863
3523
  * @param options - Optional settings (minimum, maximum, label, unit, modifiers).
2864
3524
  * @returns A strongly-typed `NumberBoundedMeterElement` object.
2865
3525
  */
@@ -2878,9 +3538,11 @@ export function numberBoundedMeter(value, options) {
2878
3538
  * Creates a `NumberBoundedMeterElement` component instance.
2879
3539
  *
2880
3540
  * @remarks
2881
- * Bounded numeric meter representation (read-only progress / score bar).
3541
+ * Displays a scalar value against a minimum-to-maximum range. Supply comparable bounds and a value in that range; optional label and unit customize the textual readout without changing the meter scale.
2882
3542
  *
2883
3543
  * @param value - Numeric value
3544
+
3545
+ Current measurement or score represented by the meter.
2884
3546
  * @param options - Optional settings (minimum, maximum, label, unit, modifiers).
2885
3547
  * @returns A strongly-typed `NumberBoundedMeterElement` object.
2886
3548
  */
@@ -2899,10 +3561,11 @@ export function numberMeter(value, options) {
2899
3561
  * Creates a `BooleanElement` component instance.
2900
3562
  *
2901
3563
  * @remarks
2902
- * Universal boolean primitive element.
2903
- * Supports standard plain text or badge pill presentation with customizable labels and variants.
3564
+ * Displays a boolean state using text or a badge. The representation determines whether true/false labels or a colored badge are used; configured labels and variant are presentation choices only.
2904
3565
  *
2905
3566
  * @param value - Boolean state value
3567
+
3568
+ State to display. This remains a boolean value in the data model even when the renderer substitutes custom labels.
2906
3569
  * @param options - Optional settings (representation (defaults to `plain`), trueLabel (defaults to `true`), falseLabel (defaults to `false`), variant (defaults to `neutral`), modifiers).
2907
3570
  * @returns A strongly-typed `BooleanElement` object.
2908
3571
  */
@@ -2921,9 +3584,11 @@ export function boolean(value, options) {
2921
3584
  * Creates a `TimestampElement` component instance.
2922
3585
  *
2923
3586
  * @remarks
2924
- * Formatted date and time representation.
3587
+ * Displays an epoch timestamp using a selected date/time format. The input is a count of milliseconds, not seconds; relative formatting is interpreted by the consumer.
2925
3588
  *
2926
3589
  * @param value - The timestamp in milliseconds
3590
+
3591
+ Unix epoch timestamp measured in milliseconds. Convert seconds-based timestamps before assigning this value.
2927
3592
  * @param options - Optional settings (format (defaults to `datetime`), modifiers).
2928
3593
  * @returns A strongly-typed `TimestampElement` object.
2929
3594
  */
@@ -2939,9 +3604,11 @@ export function timestamp(value, options) {
2939
3604
  * Creates a `ImageReferenceElement` component instance.
2940
3605
  *
2941
3606
  * @remarks
2942
- * Thumbnail image reference with placeholder fallback handling.
3607
+ * References an image source for thumbnail rendering and provides accessible text and a fallback source. The client determines loading, sizing, and placeholder behavior.
2943
3608
  *
2944
3609
  * @param src - Image source URI (HTTPS URL, base64 data URI, or asset path)
3610
+
3611
+ Source URI understood by the client renderer. Supported forms include HTTPS locations, base64 data URIs, and client asset paths; this field is not raw image bytes.
2945
3612
  * @param options - Optional settings (alt, aspectRatio (defaults to `1:1`), placeholder).
2946
3613
  * @returns A strongly-typed `ImageReferenceElement` object.
2947
3614
  */
@@ -2958,9 +3625,11 @@ export function imageReference(src, options) {
2958
3625
  * Creates a `ImageReferenceElement` component instance.
2959
3626
  *
2960
3627
  * @remarks
2961
- * Thumbnail image reference with placeholder fallback handling.
3628
+ * References an image source for thumbnail rendering and provides accessible text and a fallback source. The client determines loading, sizing, and placeholder behavior.
2962
3629
  *
2963
3630
  * @param src - Image source URI (HTTPS URL, base64 data URI, or asset path)
3631
+
3632
+ Source URI understood by the client renderer. Supported forms include HTTPS locations, base64 data URIs, and client asset paths; this field is not raw image bytes.
2964
3633
  * @param options - Optional settings (alt, aspectRatio (defaults to `1:1`), placeholder).
2965
3634
  * @returns A strongly-typed `ImageReferenceElement` object.
2966
3635
  */
@@ -2977,10 +3646,14 @@ export function imageRef(src, options) {
2977
3646
  * Creates a `ButtonActionElement` component instance.
2978
3647
  *
2979
3648
  * @remarks
2980
- * Interactive button action triggering an extension command.
3649
+ * When activated, the client dispatches commandId to the specified extension and may include target and parameters as command input. disabled and variant affect presentation and availability, not the command's authorization.
2981
3650
  *
2982
3651
  * @param commandId - Command identifier to invoke
3652
+
3653
+ Identifier of the registered extension command to dispatch when the button is activated.
2983
3654
  * @param label - Display label for the action
3655
+
3656
+ User-facing label shown on the control. Keep it short and action-oriented.
2984
3657
  * @param options - Optional settings (extensionId, target, parameters, disabled (defaults to `false`), variant (defaults to `secondary`)).
2985
3658
  * @returns A strongly-typed `ButtonActionElement` object.
2986
3659
  */
@@ -3000,10 +3673,14 @@ export function buttonAction(commandId, label, options) {
3000
3673
  * Creates a `ExternalLinkActionElement` component instance.
3001
3674
  *
3002
3675
  * @remarks
3003
- * External link action distinct from inline URL text values.
3676
+ * Renders a user-invokable action that opens a destination externally. Use StringUrlElement for a link embedded in content rather than an action control.
3004
3677
  *
3005
3678
  * @param url - Target URL destination
3679
+
3680
+ External destination opened when the user activates the link action. The client controls how external navigation is handed to the platform.
3006
3681
  * @param label - Display label for the action
3682
+
3683
+ User-facing label shown on the control. Keep it short and action-oriented.
3007
3684
  * @returns A strongly-typed `ExternalLinkActionElement` object.
3008
3685
  */
3009
3686
  export function externalLinkAction(url, label) {
@@ -3017,9 +3694,11 @@ export function externalLinkAction(url, label) {
3017
3694
  * Creates a `MarkdownBlockElement` component instance.
3018
3695
  *
3019
3696
  * @remarks
3020
- * Full Markdown fallback block rendered with core typographic hierarchy, spacing, and styling.
3697
+ * Use this custom-renderer escape hatch when the structured ViewKit elements cannot express the required rich text. Markdown rendering is a presentation fallback; prefer typed elements when consumers need to inspect individual values.
3021
3698
  *
3022
3699
  * @param content - Raw Markdown markup content
3700
+
3701
+ Markdown source consumed by the client renderer. The schema treats it as an opaque string and does not validate the markup or its links.
3023
3702
  * @param options - Optional settings (modifiers).
3024
3703
  * @returns A strongly-typed `MarkdownBlockElement` object.
3025
3704
  */
@@ -3034,9 +3713,11 @@ export function markdownBlock(content, options) {
3034
3713
  * Creates a `MarkdownBlockElement` component instance.
3035
3714
  *
3036
3715
  * @remarks
3037
- * Full Markdown fallback block rendered with core typographic hierarchy, spacing, and styling.
3716
+ * Use this custom-renderer escape hatch when the structured ViewKit elements cannot express the required rich text. Markdown rendering is a presentation fallback; prefer typed elements when consumers need to inspect individual values.
3038
3717
  *
3039
3718
  * @param content - Raw Markdown markup content
3719
+
3720
+ Markdown source consumed by the client renderer. The schema treats it as an opaque string and does not validate the markup or its links.
3040
3721
  * @param options - Optional settings (modifiers).
3041
3722
  * @returns A strongly-typed `MarkdownBlockElement` object.
3042
3723
  */
@@ -3051,9 +3732,11 @@ export function markdown(content, options) {
3051
3732
  * Creates a `HtmlBlockElement` component instance.
3052
3733
  *
3053
3734
  * @remarks
3054
- * Sandboxed HTML rendering escape hatch.
3735
+ * Use only when structured elements or Markdown cannot represent the required content. Rendering occurs in a sandboxed host context, but callers should still avoid embedding untrusted content and should not assume access to application privileges.
3055
3736
  *
3056
3737
  * @param content - Raw HTML markup content
3738
+
3739
+ HTML source passed to the custom renderer. This is an opaque string, not a typed or sanitized DOM structure.
3057
3740
  * @param options - Optional settings (modifiers).
3058
3741
  * @returns A strongly-typed `HtmlBlockElement` object.
3059
3742
  */
@@ -3068,9 +3751,11 @@ export function htmlBlock(content, options) {
3068
3751
  * Creates a `HtmlBlockElement` component instance.
3069
3752
  *
3070
3753
  * @remarks
3071
- * Sandboxed HTML rendering escape hatch.
3754
+ * Use only when structured elements or Markdown cannot represent the required content. Rendering occurs in a sandboxed host context, but callers should still avoid embedding untrusted content and should not assume access to application privileges.
3072
3755
  *
3073
3756
  * @param content - Raw HTML markup content
3757
+
3758
+ HTML source passed to the custom renderer. This is an opaque string, not a typed or sanitized DOM structure.
3074
3759
  * @param options - Optional settings (modifiers).
3075
3760
  * @returns A strongly-typed `HtmlBlockElement` object.
3076
3761
  */
@@ -3085,9 +3770,11 @@ export function html(content, options) {
3085
3770
  * Creates a `Slot` component instance.
3086
3771
  *
3087
3772
  * @remarks
3088
- * Single slot within a multi-slot horizontal row layout.
3773
+ * A slot combines an optional label, a relative width, and one visual child. Slot widths are percentages of the row and should be chosen so the full row's widths form a usable layout.
3089
3774
  *
3090
3775
  * @param content - Rendered content inside the slot
3776
+
3777
+ One visual element displayed in this slot. Use a nested layout element when the slot itself needs multiple children.
3091
3778
  * @param options - Optional settings (label, width).
3092
3779
  * @returns A strongly-typed `Slot` object.
3093
3780
  */
@@ -3102,9 +3789,11 @@ export function slot(content, options) {
3102
3789
  * Creates a `MultiSlotElement` component instance.
3103
3790
  *
3104
3791
  * @remarks
3105
- * Multi-slot horizontal row layout comprising slots with individual widths.
3792
+ * Use this layout when a row needs explicit regions with independently controlled widths. Each slot contains one child element; unlike FlowingElement, the layout does not automatically wrap a sequence of children.
3106
3793
  *
3107
3794
  * @param slots - List of slots comprising the row
3795
+
3796
+ Ordered slots in the row. Each slot's width is a percentage; arrange slot definitions in the intended visual order.
3108
3797
  * @returns A strongly-typed `MultiSlotElement` object.
3109
3798
  */
3110
3799
  export function multiSlot(slots) {
@@ -3117,10 +3806,11 @@ export function multiSlot(slots) {
3117
3806
  * Creates a `FlowingElement` component instance.
3118
3807
  *
3119
3808
  * @remarks
3120
- * Flowing inline layout container with automatic line wrapping.
3121
- * Renders child elements horizontally in sequence, automatically wrapping to the next line when space runs out.
3809
+ * Use for compact related values that should flow horizontally and wrap naturally at the available width. Child order is preserved; an optional separator is placed between neighboring children.
3122
3810
  *
3123
3811
  * @param elements - List of child elements rendered sequentially with line wrapping
3812
+
3813
+ Ordered children rendered in the flow. The client wraps them as needed rather than requiring callers to calculate line breaks.
3124
3814
  * @param options - Optional settings (separator).
3125
3815
  * @returns A strongly-typed `FlowingElement` object.
3126
3816
  */
@@ -3135,11 +3825,14 @@ export function flowing(elements, options) {
3135
3825
  * Creates a `LabelValueElement` component instance.
3136
3826
  *
3137
3827
  * @remarks
3138
- * Standard label and value row.
3139
- * Displays a muted label on the left and value representation on the right with a vertical dividing line.
3828
+ * Represents one named value with a muted left-hand label and a right-hand visual element. Use it for a single field; use TableElement for repeated rows or column-aligned data.
3140
3829
  *
3141
3830
  * @param label - Key or descriptive label displayed muted on the left
3831
+
3832
+ Human-readable name for the value. This text is rendered as the row label rather than as a separate UiElement.
3142
3833
  * @param value - Rendered value element on the right
3834
+
3835
+ Value content rendered in the right-hand region. It may be a primitive or a nested structural element.
3143
3836
  * @param options - Optional settings (withDivider (defaults to `false`)).
3144
3837
  * @returns A strongly-typed `LabelValueElement` object.
3145
3838
  */
@@ -3155,7 +3848,7 @@ export function labelValue(label, value, options) {
3155
3848
  * Creates a `TableColumn` component instance.
3156
3849
  *
3157
3850
  * @remarks
3158
- * Column definition for structured tables.
3851
+ * Describes one table column and its visual sizing. When columns are supplied, their order corresponds to the position of each cell in a row.
3159
3852
  *
3160
3853
  * @param options - Optional settings (header, align (defaults to `left`), width, widthMode (defaults to `fixed`)).
3161
3854
  * @returns A strongly-typed `TableColumn` object.
@@ -3172,9 +3865,11 @@ export function tableColumn(options) {
3172
3865
  * Creates a `TableRow` component instance.
3173
3866
  *
3174
3867
  * @remarks
3175
- * Single table row containing an array of cell values.
3868
+ * A row's cell array is positional: cell at each index corresponds to the column at that index. Keep row lengths aligned with the table's explicit column definitions when present.
3176
3869
  *
3177
3870
  * @param cells - Array of cell values corresponding to table columns
3871
+
3872
+ Ordered contents for this row. Each cell is a UiElement so values can use the same primitive and layout renderers as other ViewKit content.
3178
3873
  * @returns A strongly-typed `TableRow` object.
3179
3874
  */
3180
3875
  export function tableRow(cells) {
@@ -3186,10 +3881,11 @@ export function tableRow(cells) {
3186
3881
  * Creates a `TableElement` component instance.
3187
3882
  *
3188
3883
  * @remarks
3189
- * Structured tabular data representation.
3190
- * Supports header/borderless modes, 2-column key-value tables, and 3-column data tables.
3884
+ * Use for data that benefits from aligned rows and columns, including key/value and multi-column tables. Supply rows in display order; explicit columns are optional, and divider/striping flags independently control visual separators and alternating backgrounds.
3191
3885
  *
3192
3886
  * @param rows - Tabular data rows
3887
+
3888
+ Ordered table rows. Each row's cells correspond positionally to the declared columns.
3193
3889
  * @param options - Optional settings (isStriped (defaults to `false`), withColumnSeparators (defaults to `false`), withRowSeparators (defaults to `false`), columns).
3194
3890
  * @returns A strongly-typed `TableElement` object.
3195
3891
  */
@@ -3207,9 +3903,11 @@ export function table(rows, options) {
3207
3903
  * Creates a `RepeatingGroupEntry` component instance.
3208
3904
  *
3209
3905
  * @remarks
3210
- * Single entry within a repeating group.
3906
+ * A repeating entry carries a stable display label and either one primary value or a list of nested elements, depending on the shape needed by the feature.
3211
3907
  *
3212
3908
  * @param label - Entry label
3909
+
3910
+ Short label identifying this entry within the repeated group.
3213
3911
  * @param options - Optional settings (value, elements).
3214
3912
  * @returns A strongly-typed `RepeatingGroupEntry` object.
3215
3913
  */
@@ -3224,9 +3922,11 @@ export function repeatingGroupEntry(label, options) {
3224
3922
  * Creates a `RepeatingGroupElement` component instance.
3225
3923
  *
3226
3924
  * @remarks
3227
- * Repeating group container where entries share uniform structure and retain per-entry labels.
3925
+ * Groups a sequence of labeled entries under one optional section title. Use it when records have the same general presentation but need their own labels.
3228
3926
  *
3229
3927
  * @param entries - List of repeated entry records
3928
+
3929
+ Entries in display order. Each entry supplies its own label and content.
3230
3930
  * @param options - Optional settings (title).
3231
3931
  * @returns A strongly-typed `RepeatingGroupElement` object.
3232
3932
  */
@@ -3241,10 +3941,14 @@ export function repeatingGroup(entries, options) {
3241
3941
  * Creates a `CollapsibleGroupElement` component instance.
3242
3942
  *
3243
3943
  * @remarks
3244
- * Collapsible disclosure container (accordion) with summary badge.
3944
+ * Groups nested content behind a disclosure control. The title names the group, summary can provide a compact status indicator, and defaultExpanded controls only the initial state.
3245
3945
  *
3246
3946
  * @param title - Group title (e.g. "Show specimen details")
3947
+
3948
+ Text shown on the disclosure control. Use a concise action or section name that remains meaningful while the content is collapsed.
3247
3949
  * @param elements - Nested content elements revealed when expanded
3950
+
3951
+ Ordered child elements made visible by expanding the group.
3248
3952
  * @param options - Optional settings (summary, defaultExpanded (defaults to `false`)).
3249
3953
  * @returns A strongly-typed `CollapsibleGroupElement` object.
3250
3954
  */
@@ -3261,7 +3965,7 @@ export function collapsibleGroup(title, elements, options) {
3261
3965
  * Creates a `DividerElement` component instance.
3262
3966
  *
3263
3967
  * @remarks
3264
- * Visual hairline separator separating sections or element groups.
3968
+ * A standalone visual separator for dividing adjacent sections or element groups. Use the divider flags on tables or rows when the separator is part of that structure.
3265
3969
  *
3266
3970
  * @param options - Optional settings (style (defaults to `hairline`)).
3267
3971
  * @returns A strongly-typed `DividerElement` object.
@@ -3276,7 +3980,7 @@ export function divider(options) {
3276
3980
  * Creates a `Envelop` component instance.
3277
3981
  *
3278
3982
  * @remarks
3279
- * Base envelope container model holding the schema version attribute.
3983
+ * All root ViewKit documents extend this envelope so consumers can identify the schema contract version before processing the root content.
3280
3984
  *
3281
3985
  * @param options - Optional settings (schemaVersion (defaults to `1.0`)).
3282
3986
  * @returns A strongly-typed `Envelop` object.