@a2ui/angular 0.9.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@a2ui/angular",
3
- "version": "0.9.0",
3
+ "version": "0.9.1",
4
4
  "license": "Apache-2.0",
5
5
  "homepage": "https://a2ui.org/",
6
6
  "repository": {
@@ -20,7 +20,7 @@
20
20
  "renderer"
21
21
  ],
22
22
  "dependencies": {
23
- "@a2ui/web_core": "^0.9.1",
23
+ "@a2ui/web_core": "^0.9.2",
24
24
  "@preact/signals-core": "^1.13.0",
25
25
  "tslib": "^2.3.0",
26
26
  "zod": "^3.25.76"
@@ -29,7 +29,7 @@
29
29
  "@angular/common": "^21.2.0",
30
30
  "@angular/core": "^21.2.0",
31
31
  "@angular/platform-browser": "^21.2.0",
32
- "@a2ui/markdown-it": "^0.0.2"
32
+ "@a2ui/markdown-it": "^0.0.3"
33
33
  },
34
34
  "peerDependenciesMeta": {
35
35
  "@a2ui/markdown-it": {
@@ -182,8 +182,6 @@ declare class ComponentHostComponent implements OnInit {
182
182
  protected componentType: Type<any> | null;
183
183
  protected props: Record<string, BoundProperty>;
184
184
  private context?;
185
- protected weight: _angular_core.WritableSignal<string | number | null>;
186
- get flexStyle(): string;
187
185
  protected resolvedComponentId: string;
188
186
  protected resolvedDataContextPath: string;
189
187
  ngOnInit(): void;
@@ -344,28 +342,30 @@ declare class BasicCatalog extends BasicCatalogBase {
344
342
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<BasicCatalog>;
345
343
  }
346
344
 
347
- /**
348
- * Copyright 2026 Google LLC
349
- *
350
- * Licensed under the Apache License, Version 2.0 (the "License");
351
- * you may not use this file except in compliance with the License.
352
- * You may obtain a copy of the License at
353
- *
354
- * http://www.apache.org/licenses/LICENSE-2.0
355
- *
356
- * Unless required by applicable law or agreed to in writing, software
357
- * distributed under the License is distributed on an "AS IS" BASIS,
358
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
359
- * See the License for the specific language governing permissions and
360
- * limitations under the License.
361
- */
362
345
  /**
363
346
  * Base class for A2UI basic catalog components in Angular.
364
347
  *
365
348
  * Automatically injects the basic catalog styles when the component is instantiated.
366
349
  */
367
350
  declare abstract class BasicCatalogComponent {
351
+ /**
352
+ * Reactive properties resolved from the A2UI ComponentModel.
353
+ */
354
+ props: _angular_core.InputSignal<Record<string, BoundProperty<any>>>;
355
+ surfaceId: _angular_core.InputSignal<string>;
356
+ componentId: _angular_core.InputSignal<string>;
357
+ dataContextPath: _angular_core.InputSignal<string>;
368
358
  constructor();
359
+ /**
360
+ * Computes the weight of the component from the properties.
361
+ */
362
+ protected readonly weight: _angular_core.Signal<any>;
363
+ /**
364
+ * Binds the flex style to the host element based on the weight.
365
+ */
366
+ get flexStyle(): string | null;
367
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<BasicCatalogComponent, never>;
368
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BasicCatalogComponent, never, never, { "props": { "alias": "props"; "required": false; "isSignal": true; }; "surfaceId": { "alias": "surfaceId"; "required": true; "isSignal": true; }; "componentId": { "alias": "componentId"; "required": true; "isSignal": true; }; "dataContextPath": { "alias": "dataContextPath"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
369
369
  }
370
370
 
371
371
  /**
@@ -385,25 +385,14 @@ declare abstract class BasicCatalogComponent {
385
385
  * - Font sizes: `--a2ui-font-size-2xl`, `--a2ui-font-size-xl`, `--a2ui-font-size-l`, `--a2ui-font-size-m`, `--a2ui-font-size-s`, `--a2ui-font-size-xs`.
386
386
  */
387
387
  declare class TextComponent extends BasicCatalogComponent {
388
- /**
389
- * Reactive properties resolved from the A2UI {@link ComponentModel}.
390
- *
391
- * Expected properties:
392
- * - `text`: The string content to display.
393
- * - `variant`: A hint for the base text style ('h1', 'h2', 'h3', 'h4', 'h5', 'caption', 'body').
394
- */
395
- props: _angular_core.InputSignal<Record<string, BoundProperty<any>>>;
396
- surfaceId: _angular_core.InputSignal<string>;
397
- componentId: _angular_core.InputSignal<string | undefined>;
398
- dataContextPath: _angular_core.InputSignal<string>;
399
388
  private markdownRenderer;
400
- variant: _angular_core.Signal<any>;
401
- text: _angular_core.Signal<any>;
389
+ readonly variant: _angular_core.Signal<any>;
390
+ readonly text: _angular_core.Signal<any>;
402
391
  resolvedText: _angular_core.WritableSignal<string>;
403
392
  private renderRequestId;
404
393
  constructor();
405
394
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TextComponent, never>;
406
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TextComponent, "a2ui-v09-text", never, { "props": { "alias": "props"; "required": false; "isSignal": true; }; "surfaceId": { "alias": "surfaceId"; "required": true; "isSignal": true; }; "componentId": { "alias": "componentId"; "required": false; "isSignal": true; }; "dataContextPath": { "alias": "dataContextPath"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
395
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TextComponent, "a2ui-v09-text", never, {}, {}, never, never, true, never>;
407
396
  }
408
397
 
409
398
  /**
@@ -416,30 +405,18 @@ declare class TextComponent extends BasicCatalogComponent {
416
405
  * - `--a2ui-row-gap`: Controls the gap between items in the row. Defaults to `--a2ui-spacing-m` (16px).
417
406
  */
418
407
  declare class RowComponent extends BasicCatalogComponent {
419
- /**
420
- * Reactive properties resolved from the A2UI {@link ComponentModel}.
421
- *
422
- * Expected properties:
423
- * - `children`: A list of component IDs OR a repeating collection definition.
424
- * - `justify`: Flexbox justify-content value (e.g., 'flex-start', 'center').
425
- * - `align`: Flexbox align-items value (e.g., 'flex-start', 'center').
426
- */
427
- props: _angular_core.InputSignal<Record<string, BoundProperty<any>>>;
428
- surfaceId: _angular_core.InputSignal<string>;
429
- componentId: _angular_core.InputSignal<string | undefined>;
430
- dataContextPath: _angular_core.InputSignal<string>;
431
- protected justify: _angular_core.Signal<any>;
432
- protected align: _angular_core.Signal<any>;
433
- protected children: _angular_core.Signal<any[]>;
434
- protected isRepeating: _angular_core.Signal<boolean>;
435
- protected templateId: _angular_core.Signal<any>;
436
- protected normalizedChildren: _angular_core.Signal<{
408
+ protected readonly justify: _angular_core.Signal<any>;
409
+ protected readonly align: _angular_core.Signal<any>;
410
+ protected readonly children: _angular_core.Signal<any[]>;
411
+ protected readonly isRepeating: _angular_core.Signal<boolean>;
412
+ protected readonly templateId: _angular_core.Signal<any>;
413
+ protected readonly normalizedChildren: _angular_core.Signal<{
437
414
  id: string;
438
415
  basePath: string;
439
416
  }[]>;
440
417
  protected getNormalizedPath(index: number): string;
441
418
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<RowComponent, never>;
442
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<RowComponent, "a2ui-v09-row", never, { "props": { "alias": "props"; "required": false; "isSignal": true; }; "surfaceId": { "alias": "surfaceId"; "required": true; "isSignal": true; }; "componentId": { "alias": "componentId"; "required": false; "isSignal": true; }; "dataContextPath": { "alias": "dataContextPath"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
419
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<RowComponent, "a2ui-v09-row", never, {}, {}, never, never, true, never>;
443
420
  }
444
421
 
445
422
  /**
@@ -452,30 +429,18 @@ declare class RowComponent extends BasicCatalogComponent {
452
429
  * - `--a2ui-column-gap`: Controls the gap between items in the column. Defaults to `--a2ui-spacing-m` (16px).
453
430
  */
454
431
  declare class ColumnComponent extends BasicCatalogComponent {
455
- /**
456
- * Reactive properties resolved from the A2UI {@link ComponentModel}.
457
- *
458
- * Expected properties:
459
- * - `children`: A list of component IDs OR a repeating collection definition.
460
- * - `justify`: Flexbox justify-content value (e.g., 'flex-start', 'center').
461
- * - `align`: Flexbox align-items value (e.g., 'flex-start', 'center').
462
- */
463
- props: _angular_core.InputSignal<Record<string, BoundProperty<any>>>;
464
- surfaceId: _angular_core.InputSignal<string>;
465
- componentId: _angular_core.InputSignal<string | undefined>;
466
- dataContextPath: _angular_core.InputSignal<string>;
467
- protected justify: _angular_core.Signal<any>;
468
- protected align: _angular_core.Signal<any>;
469
- protected children: _angular_core.Signal<any[]>;
470
- protected isRepeating: _angular_core.Signal<boolean>;
471
- protected templateId: _angular_core.Signal<any>;
472
- protected normalizedChildren: _angular_core.Signal<{
432
+ protected readonly justify: _angular_core.Signal<any>;
433
+ protected readonly align: _angular_core.Signal<any>;
434
+ protected readonly children: _angular_core.Signal<any[]>;
435
+ protected readonly isRepeating: _angular_core.Signal<boolean>;
436
+ protected readonly templateId: _angular_core.Signal<any>;
437
+ protected readonly normalizedChildren: _angular_core.Signal<{
473
438
  id: string;
474
439
  basePath: string;
475
440
  }[]>;
476
441
  protected getNormalizedPath(index: number): string;
477
442
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ColumnComponent, never>;
478
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ColumnComponent, "a2ui-v09-column", never, { "props": { "alias": "props"; "required": false; "isSignal": true; }; "surfaceId": { "alias": "surfaceId"; "required": true; "isSignal": true; }; "componentId": { "alias": "componentId"; "required": false; "isSignal": true; }; "dataContextPath": { "alias": "dataContextPath"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
443
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ColumnComponent, "a2ui-v09-column", never, {}, {}, never, never, true, never>;
479
444
  }
480
445
 
481
446
  /**
@@ -494,26 +459,13 @@ declare class ColumnComponent extends BasicCatalogComponent {
494
459
  * - `--a2ui-button-font-weight`: Controls the font weight.
495
460
  */
496
461
  declare class ButtonComponent extends BasicCatalogComponent {
497
- /**
498
- * Reactive properties resolved from the A2UI {@link ComponentModel}.
499
- *
500
- * Expected properties:
501
- * - `child`: The ID of the component to render inside the button.
502
- * - `variant`: Button style variant ('default', 'primary', 'borderless').
503
- * - `action`: The A2UI action to dispatch on click.
504
- * - `checks`: Optional validation rules.
505
- */
506
- props: _angular_core.InputSignal<Record<string, BoundProperty<any>>>;
507
- surfaceId: _angular_core.InputSignal<string>;
508
- componentId: _angular_core.InputSignal<string>;
509
- dataContextPath: _angular_core.InputSignal<string>;
510
462
  private rendererService;
511
- variant: _angular_core.Signal<any>;
512
- child: _angular_core.Signal<any>;
513
- action: _angular_core.Signal<any>;
463
+ readonly variant: _angular_core.Signal<any>;
464
+ readonly child: _angular_core.Signal<any>;
465
+ readonly action: _angular_core.Signal<any>;
514
466
  handleClick(): void;
515
467
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ButtonComponent, never>;
516
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonComponent, "a2ui-v09-button", never, { "props": { "alias": "props"; "required": false; "isSignal": true; }; "surfaceId": { "alias": "surfaceId"; "required": true; "isSignal": true; }; "componentId": { "alias": "componentId"; "required": true; "isSignal": true; }; "dataContextPath": { "alias": "dataContextPath"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
468
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonComponent, "a2ui-v09-button", never, {}, {}, never, never, true, never>;
517
469
  }
518
470
 
519
471
  /**
@@ -534,28 +486,14 @@ declare class ButtonComponent extends BasicCatalogComponent {
534
486
  * - `--a2ui-textfield-label-font-weight`: Controls the font weight of the label.
535
487
  */
536
488
  declare class TextFieldComponent extends BasicCatalogComponent {
537
- /**
538
- * Reactive properties resolved from the A2UI {@link ComponentModel}.
539
- *
540
- * Expected properties:
541
- * - `value`: The current string value of the input.
542
- * - `label`: Optional label text to display above the input.
543
- * - `placeholder`: Hint text shown when the input is empty.
544
- * - `variant`: Input type variant ('default', 'obscured' (password), 'number').
545
- * - `checks`: Optional validation rules.
546
- */
547
- props: _angular_core.InputSignal<Record<string, BoundProperty<any>>>;
548
- surfaceId: _angular_core.InputSignal<string>;
549
- componentId: _angular_core.InputSignal<string | undefined>;
550
- dataContextPath: _angular_core.InputSignal<string>;
551
- label: _angular_core.Signal<any>;
552
- value: _angular_core.Signal<any>;
553
- placeholder: _angular_core.Signal<any>;
554
- variant: _angular_core.Signal<any>;
555
- inputType: _angular_core.Signal<"text" | "password" | "number">;
489
+ readonly label: _angular_core.Signal<any>;
490
+ readonly value: _angular_core.Signal<any>;
491
+ readonly placeholder: _angular_core.Signal<any>;
492
+ readonly variant: _angular_core.Signal<any>;
493
+ readonly inputType: _angular_core.Signal<"text" | "password" | "number">;
556
494
  handleInput(event: Event): void;
557
495
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TextFieldComponent, never>;
558
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TextFieldComponent, "a2ui-v09-text-field", never, { "props": { "alias": "props"; "required": false; "isSignal": true; }; "surfaceId": { "alias": "surfaceId"; "required": true; "isSignal": true; }; "componentId": { "alias": "componentId"; "required": false; "isSignal": true; }; "dataContextPath": { "alias": "dataContextPath"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
496
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TextFieldComponent, "a2ui-v09-text-field", never, {}, {}, never, never, true, never>;
559
497
  }
560
498
 
561
499
  /**
@@ -572,25 +510,12 @@ declare class TextFieldComponent extends BasicCatalogComponent {
572
510
  * - `--a2ui-image-header-size`: Height of header variant.
573
511
  */
574
512
  declare class ImageComponent extends BasicCatalogComponent {
575
- /**
576
- * Reactive properties resolved from the A2UI {@link ComponentModel}.
577
- *
578
- * Expected properties:
579
- * - `url`: The absolute URL of the image.
580
- * - `description`: Accessibility text for the image.
581
- * - `fit`: Object-fit mode ('cover', 'contain', 'fill', 'none', 'scale-down').
582
- * - `variant`: Style variant ('default', 'circle', 'rounded', 'icon', 'avatar', 'smallFeature', 'mediumFeature', 'largeFeature', 'header').
583
- */
584
- props: _angular_core.InputSignal<Record<string, BoundProperty<any>>>;
585
- surfaceId: _angular_core.InputSignal<string>;
586
- componentId: _angular_core.InputSignal<string | undefined>;
587
- dataContextPath: _angular_core.InputSignal<string>;
588
- url: _angular_core.Signal<any>;
589
- description: _angular_core.Signal<any>;
590
- fit: _angular_core.Signal<any>;
591
- variant: _angular_core.Signal<any>;
513
+ readonly url: _angular_core.Signal<any>;
514
+ readonly description: _angular_core.Signal<any>;
515
+ readonly fit: _angular_core.Signal<any>;
516
+ readonly variant: _angular_core.Signal<any>;
592
517
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ImageComponent, never>;
593
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ImageComponent, "a2ui-v09-image", never, { "props": { "alias": "props"; "required": false; "isSignal": true; }; "surfaceId": { "alias": "surfaceId"; "required": true; "isSignal": true; }; "componentId": { "alias": "componentId"; "required": false; "isSignal": true; }; "dataContextPath": { "alias": "dataContextPath"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
518
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ImageComponent, "a2ui-v09-image", never, {}, {}, never, never, true, never>;
594
519
  }
595
520
 
596
521
  /**
@@ -605,25 +530,13 @@ declare class ImageComponent extends BasicCatalogComponent {
605
530
  * - `--a2ui-icon-font-variation-settings`: Controls font variation settings (e.g. FILL).
606
531
  */
607
532
  declare class IconComponent extends BasicCatalogComponent {
608
- /**
609
- * Reactive properties resolved from the A2UI {@link ComponentModel}.
610
- *
611
- * Expected properties:
612
- * - `name`: The name of the icon (e.g., 'home', 'settings') OR an object
613
- * with a `path` property for SVG icons.
614
- * - `color`: The CSS color to apply to the icon.
615
- */
616
- props: _angular_core.InputSignal<Record<string, BoundProperty<any>>>;
617
- surfaceId: _angular_core.InputSignal<string>;
618
- componentId: _angular_core.InputSignal<string | undefined>;
619
- dataContextPath: _angular_core.InputSignal<string>;
620
- color: _angular_core.Signal<any>;
621
- iconNameRaw: _angular_core.Signal<any>;
622
- isPath: _angular_core.Signal<boolean>;
623
- path: _angular_core.Signal<any>;
624
- iconName: _angular_core.Signal<string>;
533
+ readonly color: _angular_core.Signal<any>;
534
+ readonly iconNameRaw: _angular_core.Signal<any>;
535
+ readonly isPath: _angular_core.Signal<boolean>;
536
+ readonly path: _angular_core.Signal<any>;
537
+ readonly iconName: _angular_core.Signal<string>;
625
538
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<IconComponent, never>;
626
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<IconComponent, "a2ui-v09-icon", never, { "props": { "alias": "props"; "required": false; "isSignal": true; }; "surfaceId": { "alias": "surfaceId"; "required": true; "isSignal": true; }; "componentId": { "alias": "componentId"; "required": false; "isSignal": true; }; "dataContextPath": { "alias": "dataContextPath"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
539
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<IconComponent, "a2ui-v09-icon", never, {}, {}, never, never, true, never>;
627
540
  }
628
541
 
629
542
  /**
@@ -635,21 +548,10 @@ declare class IconComponent extends BasicCatalogComponent {
635
548
  * - `--a2ui-video-border-radius`: Controls the border radius of the video element.
636
549
  */
637
550
  declare class VideoComponent extends BasicCatalogComponent {
638
- /**
639
- * Reactive properties resolved from the A2UI {@link ComponentModel}.
640
- *
641
- * Expected properties:
642
- * - `url`: The absolute URL of the video file.
643
- * - `posterUrl`: The URL of an image to show before the video starts.
644
- */
645
- props: _angular_core.InputSignal<Record<string, BoundProperty<any>>>;
646
- surfaceId: _angular_core.InputSignal<string>;
647
- componentId: _angular_core.InputSignal<string | undefined>;
648
- dataContextPath: _angular_core.InputSignal<string>;
649
- url: _angular_core.Signal<any>;
650
- posterUrl: _angular_core.Signal<any>;
551
+ readonly url: _angular_core.Signal<any>;
552
+ readonly posterUrl: _angular_core.Signal<any>;
651
553
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<VideoComponent, never>;
652
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VideoComponent, "a2ui-v09-video", never, { "props": { "alias": "props"; "required": false; "isSignal": true; }; "surfaceId": { "alias": "surfaceId"; "required": true; "isSignal": true; }; "componentId": { "alias": "componentId"; "required": false; "isSignal": true; }; "dataContextPath": { "alias": "dataContextPath"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
554
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<VideoComponent, "a2ui-v09-video", never, {}, {}, never, never, true, never>;
653
555
  }
654
556
 
655
557
  /**
@@ -663,21 +565,10 @@ declare class VideoComponent extends BasicCatalogComponent {
663
565
  * - `--a2ui-audioplayer-padding`: Controls the padding. Defaults to `0`.
664
566
  */
665
567
  declare class AudioPlayerComponent extends BasicCatalogComponent {
666
- /**
667
- * Reactive properties resolved from the A2UI {@link ComponentModel}.
668
- *
669
- * Expected properties:
670
- * - `url`: The absolute URL of the audio file.
671
- * - `description`: Optional text to display above the player.
672
- */
673
- props: _angular_core.InputSignal<Record<string, BoundProperty<any>>>;
674
- surfaceId: _angular_core.InputSignal<string | undefined>;
675
- componentId: _angular_core.InputSignal<string | undefined>;
676
- dataContextPath: _angular_core.InputSignal<string | undefined>;
677
- description: _angular_core.Signal<any>;
678
- url: _angular_core.Signal<any>;
568
+ readonly description: _angular_core.Signal<any>;
569
+ readonly url: _angular_core.Signal<any>;
679
570
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AudioPlayerComponent, never>;
680
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AudioPlayerComponent, "a2ui-v09-audio-player", never, { "props": { "alias": "props"; "required": false; "isSignal": true; }; "surfaceId": { "alias": "surfaceId"; "required": false; "isSignal": true; }; "componentId": { "alias": "componentId"; "required": false; "isSignal": true; }; "dataContextPath": { "alias": "dataContextPath"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
571
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AudioPlayerComponent, "a2ui-v09-audio-player", never, {}, {}, never, never, true, never>;
681
572
  }
682
573
 
683
574
  /**
@@ -691,30 +582,18 @@ declare class AudioPlayerComponent extends BasicCatalogComponent {
691
582
  * - `--a2ui-list-padding`: Controls the padding (applied to padding-inline-start).
692
583
  */
693
584
  declare class ListComponent extends BasicCatalogComponent {
694
- /**
695
- * Reactive properties resolved from the A2UI {@link ComponentModel}.
696
- *
697
- * Expected properties:
698
- * - `children`: A list of component IDs to render as list items.
699
- * - `listStyle`: The type of list ('ordered', 'unordered', 'none').
700
- * - `orientation`: The layout direction ('vertical', 'horizontal').
701
- */
702
- props: _angular_core.InputSignal<Record<string, BoundProperty<any>>>;
703
- surfaceId: _angular_core.InputSignal<string>;
704
- componentId: _angular_core.InputSignal<string | undefined>;
705
- dataContextPath: _angular_core.InputSignal<string>;
706
- listStyle: _angular_core.Signal<any>;
707
- orientation: _angular_core.Signal<any>;
708
- children: _angular_core.Signal<any[]>;
709
- listTag: _angular_core.Signal<"ol" | "ul" | "div">;
710
- styleType: _angular_core.Signal<"" | "none">;
585
+ readonly listStyle: _angular_core.Signal<any>;
586
+ readonly orientation: _angular_core.Signal<any>;
587
+ readonly children: _angular_core.Signal<any[]>;
588
+ readonly listTag: _angular_core.Signal<"ol" | "ul" | "div">;
589
+ readonly styleType: _angular_core.Signal<"" | "none">;
711
590
  /**
712
591
  * Track-by function to ensure stable change detection for list items.
713
592
  * Uses the full resolved path (`basePath/id`) to uniquely identify items.
714
593
  */
715
594
  readonly trackBy: (index: number, item: Child) => string;
716
595
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ListComponent, never>;
717
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ListComponent, "a2ui-v09-list", never, { "props": { "alias": "props"; "required": false; "isSignal": true; }; "surfaceId": { "alias": "surfaceId"; "required": true; "isSignal": true; }; "componentId": { "alias": "componentId"; "required": false; "isSignal": true; }; "dataContextPath": { "alias": "dataContextPath"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
596
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ListComponent, "a2ui-v09-list", never, {}, {}, never, never, true, never>;
718
597
  }
719
598
 
720
599
  /**
@@ -731,19 +610,9 @@ declare class ListComponent extends BasicCatalogComponent {
731
610
  * - `--a2ui-card-margin`: Controls the margin.
732
611
  */
733
612
  declare class CardComponent extends BasicCatalogComponent {
734
- /**
735
- * Reactive properties resolved from the A2UI {@link ComponentModel}.
736
- *
737
- * Expected properties:
738
- * - `child`: The component ID to render inside the card.
739
- */
740
- props: _angular_core.InputSignal<Record<string, BoundProperty<any>>>;
741
- surfaceId: _angular_core.InputSignal<string>;
742
- componentId: _angular_core.InputSignal<string | undefined>;
743
- dataContextPath: _angular_core.InputSignal<string>;
744
- child: _angular_core.Signal<any>;
613
+ readonly child: _angular_core.Signal<any>;
745
614
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<CardComponent, never>;
746
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<CardComponent, "a2ui-v09-card", never, { "props": { "alias": "props"; "required": false; "isSignal": true; }; "surfaceId": { "alias": "surfaceId"; "required": true; "isSignal": true; }; "componentId": { "alias": "componentId"; "required": false; "isSignal": true; }; "dataContextPath": { "alias": "dataContextPath"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
615
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CardComponent, "a2ui-v09-card", never, {}, {}, never, never, true, never>;
747
616
  }
748
617
 
749
618
  /**
@@ -761,26 +630,16 @@ declare class CardComponent extends BasicCatalogComponent {
761
630
  * - `--a2ui-tabs-content-padding`: Controls the padding of the tab content.
762
631
  */
763
632
  declare class TabsComponent extends BasicCatalogComponent {
764
- /**
765
- * Reactive properties resolved from the A2UI {@link ComponentModel}.
766
- *
767
- * Expected properties:
768
- * - `tabs`: A list of tab objects, each containing a `label` and `content` ID.
769
- */
770
- props: _angular_core.InputSignal<Record<string, BoundProperty<any>>>;
771
- surfaceId: _angular_core.InputSignal<string>;
772
- componentId: _angular_core.InputSignal<string | undefined>;
773
- dataContextPath: _angular_core.InputSignal<string>;
774
633
  activeTabIndex: _angular_core.WritableSignal<number>;
775
- tabs: _angular_core.Signal<any>;
776
- activeTab: _angular_core.Signal<any>;
777
- protected normalizedActiveTabContent: _angular_core.Signal<{
634
+ readonly tabs: _angular_core.Signal<any>;
635
+ readonly activeTab: _angular_core.Signal<any>;
636
+ protected readonly normalizedActiveTabContent: _angular_core.Signal<{
778
637
  id: string;
779
638
  basePath: string;
780
639
  } | null>;
781
640
  setActiveTab(index: number): void;
782
641
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TabsComponent, never>;
783
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabsComponent, "a2ui-v09-tabs", never, { "props": { "alias": "props"; "required": false; "isSignal": true; }; "surfaceId": { "alias": "surfaceId"; "required": true; "isSignal": true; }; "componentId": { "alias": "componentId"; "required": false; "isSignal": true; }; "dataContextPath": { "alias": "dataContextPath"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
642
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabsComponent, "a2ui-v09-tabs", never, {}, {}, never, never, true, never>;
784
643
  }
785
644
 
786
645
  /**
@@ -796,24 +655,13 @@ declare class TabsComponent extends BasicCatalogComponent {
796
655
  * - `--a2ui-modal-backdrop-bg`: Controls the background of the backdrop.
797
656
  */
798
657
  declare class ModalComponent extends BasicCatalogComponent {
799
- /**
800
- * Reactive properties resolved from the A2UI {@link ComponentModel}.
801
- *
802
- * Expected properties:
803
- * - `trigger`: The ID of the component that opens the modal.
804
- * - `content`: The ID of the component to display inside the modal.
805
- */
806
- props: _angular_core.InputSignal<Record<string, BoundProperty<any>>>;
807
- surfaceId: _angular_core.InputSignal<string>;
808
- componentId: _angular_core.InputSignal<string | undefined>;
809
- dataContextPath: _angular_core.InputSignal<string>;
810
658
  isOpen: _angular_core.WritableSignal<boolean>;
811
- trigger: _angular_core.Signal<any>;
812
- content: _angular_core.Signal<any>;
659
+ readonly trigger: _angular_core.Signal<any>;
660
+ readonly content: _angular_core.Signal<any>;
813
661
  openModal(): void;
814
662
  closeModal(): void;
815
663
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ModalComponent, never>;
816
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ModalComponent, "a2ui-v09-modal", never, { "props": { "alias": "props"; "required": false; "isSignal": true; }; "surfaceId": { "alias": "surfaceId"; "required": true; "isSignal": true; }; "componentId": { "alias": "componentId"; "required": false; "isSignal": true; }; "dataContextPath": { "alias": "dataContextPath"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
664
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ModalComponent, "a2ui-v09-modal", never, {}, {}, never, never, true, never>;
817
665
  }
818
666
 
819
667
  /**
@@ -826,19 +674,9 @@ declare class ModalComponent extends BasicCatalogComponent {
826
674
  * - `--a2ui-divider-spacing`: Controls the margin around the divider.
827
675
  */
828
676
  declare class DividerComponent extends BasicCatalogComponent {
829
- /**
830
- * Reactive properties resolved from the A2UI {@link ComponentModel}.
831
- *
832
- * Expected properties:
833
- * - `axis`: The orientation of the divider ('horizontal' (default) or 'vertical').
834
- */
835
- props: _angular_core.InputSignal<Record<string, BoundProperty<any>>>;
836
- surfaceId: _angular_core.InputSignal<string>;
837
- componentId: _angular_core.InputSignal<string | undefined>;
838
- dataContextPath: _angular_core.InputSignal<string>;
839
- axis: _angular_core.Signal<any>;
677
+ readonly axis: _angular_core.Signal<any>;
840
678
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DividerComponent, never>;
841
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DividerComponent, "a2ui-v09-divider", never, { "props": { "alias": "props"; "required": false; "isSignal": true; }; "surfaceId": { "alias": "surfaceId"; "required": true; "isSignal": true; }; "componentId": { "alias": "componentId"; "required": false; "isSignal": true; }; "dataContextPath": { "alias": "dataContextPath"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
679
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DividerComponent, "a2ui-v09-divider", never, {}, {}, never, never, true, never>;
842
680
  }
843
681
 
844
682
  /**
@@ -859,22 +697,11 @@ declare class DividerComponent extends BasicCatalogComponent {
859
697
  * - `--a2ui-checkbox-color-error`: Controls the color for error states.
860
698
  */
861
699
  declare class CheckBoxComponent extends BasicCatalogComponent {
862
- /**
863
- * Reactive properties resolved from the A2UI {@link ComponentModel}.
864
- *
865
- * Expected properties:
866
- * - `label`: The text to display next to the checkbox.
867
- * - `value`: Boolean indicating whether the checkbox is checked.
868
- */
869
- props: _angular_core.InputSignal<Record<string, BoundProperty<any>>>;
870
- surfaceId: _angular_core.InputSignal<string>;
871
- componentId: _angular_core.InputSignal<string | undefined>;
872
- dataContextPath: _angular_core.InputSignal<string>;
873
- value: _angular_core.Signal<boolean>;
874
- label: _angular_core.Signal<any>;
700
+ readonly value: _angular_core.Signal<boolean>;
701
+ readonly label: _angular_core.Signal<any>;
875
702
  handleChange(event: Event): void;
876
703
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<CheckBoxComponent, never>;
877
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<CheckBoxComponent, "a2ui-v09-check-box", never, { "props": { "alias": "props"; "required": false; "isSignal": true; }; "surfaceId": { "alias": "surfaceId"; "required": true; "isSignal": true; }; "componentId": { "alias": "componentId"; "required": false; "isSignal": true; }; "dataContextPath": { "alias": "dataContextPath"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
704
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CheckBoxComponent, "a2ui-v09-check-box", never, {}, {}, never, never, true, never>;
878
705
  }
879
706
 
880
707
  /**
@@ -894,30 +721,17 @@ declare class CheckBoxComponent extends BasicCatalogComponent {
894
721
  * - `--a2ui-choicepicker-chip-background-selected`: Controls background of selected chips.
895
722
  */
896
723
  declare class ChoicePickerComponent extends BasicCatalogComponent {
897
- /**
898
- * Reactive properties resolved from the A2UI {@link ComponentModel}.
899
- *
900
- * Expected properties:
901
- * - `value`: The currently selected value(s).
902
- * - `choices` or `options`: List of choice objects (label and value).
903
- * - `displayStyle`: How to render the choices ('default' or 'chips').
904
- * - `variant`: Selection mode ('singleSelection' or 'multipleSelection').
905
- */
906
- props: _angular_core.InputSignal<Record<string, BoundProperty<any>>>;
907
- surfaceId: _angular_core.InputSignal<string>;
908
- componentId: _angular_core.InputSignal<string | undefined>;
909
- dataContextPath: _angular_core.InputSignal<string>;
910
- displayStyle: _angular_core.Signal<any>;
911
- choices: _angular_core.Signal<any>;
912
- variant: _angular_core.Signal<any>;
913
- selectedValue: _angular_core.Signal<any>;
724
+ readonly displayStyle: _angular_core.Signal<any>;
725
+ readonly choices: _angular_core.Signal<any>;
726
+ readonly variant: _angular_core.Signal<any>;
727
+ readonly selectedValue: _angular_core.Signal<any>;
914
728
  isMultiple(): boolean;
915
729
  isSelected(value: string): boolean;
916
730
  onCheckChange(value: string, event: Event): void;
917
731
  toggleActive(value: string): void;
918
732
  private updateValue;
919
733
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChoicePickerComponent, never>;
920
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChoicePickerComponent, "a2ui-v09-choice-picker", never, { "props": { "alias": "props"; "required": false; "isSignal": true; }; "surfaceId": { "alias": "surfaceId"; "required": true; "isSignal": true; }; "componentId": { "alias": "componentId"; "required": false; "isSignal": true; }; "dataContextPath": { "alias": "dataContextPath"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
734
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChoicePickerComponent, "a2ui-v09-choice-picker", never, {}, {}, never, never, true, never>;
921
735
  }
922
736
 
923
737
  /**
@@ -933,28 +747,14 @@ declare class ChoicePickerComponent extends BasicCatalogComponent {
933
747
  * - `--a2ui-slider-track-color`: Controls the background of the track.
934
748
  */
935
749
  declare class SliderComponent extends BasicCatalogComponent {
936
- /**
937
- * Reactive properties resolved from the A2UI {@link ComponentModel}.
938
- *
939
- * Expected properties:
940
- * - `value`: The current numeric value.
941
- * - `label`: Label text to display.
942
- * - `min`: Minimum value (default: 0).
943
- * - `max`: Maximum value (default: 100).
944
- * - `step`: Increment step (default: 1).
945
- */
946
- props: _angular_core.InputSignal<Record<string, BoundProperty<any>>>;
947
- surfaceId: _angular_core.InputSignal<string>;
948
- componentId: _angular_core.InputSignal<string | undefined>;
949
- dataContextPath: _angular_core.InputSignal<string>;
950
- label: _angular_core.Signal<any>;
951
- value: _angular_core.Signal<any>;
952
- min: _angular_core.Signal<any>;
953
- max: _angular_core.Signal<any>;
954
- step: _angular_core.Signal<any>;
750
+ readonly label: _angular_core.Signal<any>;
751
+ readonly value: _angular_core.Signal<any>;
752
+ readonly min: _angular_core.Signal<any>;
753
+ readonly max: _angular_core.Signal<any>;
754
+ readonly step: _angular_core.Signal<any>;
955
755
  handleInput(event: Event): void;
956
756
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SliderComponent, never>;
957
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SliderComponent, "a2ui-v09-slider", never, { "props": { "alias": "props"; "required": false; "isSignal": true; }; "surfaceId": { "alias": "surfaceId"; "required": true; "isSignal": true; }; "componentId": { "alias": "componentId"; "required": false; "isSignal": true; }; "dataContextPath": { "alias": "dataContextPath"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
757
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SliderComponent, "a2ui-v09-slider", never, {}, {}, never, never, true, never>;
958
758
  }
959
759
 
960
760
  /**
@@ -973,29 +773,16 @@ declare class SliderComponent extends BasicCatalogComponent {
973
773
  * - `--a2ui-datetimeinput-label-font-weight`: Controls the font weight of the label.
974
774
  */
975
775
  declare class DateTimeInputComponent extends BasicCatalogComponent {
976
- /**
977
- * Reactive properties resolved from the A2UI {@link ComponentModel}.
978
- *
979
- * Expected properties:
980
- * - `value`: The current ISO date/time string.
981
- * - `label`: Optional label text.
982
- * - `enableDate`: Whether to show the date picker (default: true).
983
- * - `enableTime`: Whether to show the time picker (default: false).
984
- */
985
- props: _angular_core.InputSignal<Record<string, BoundProperty<any>>>;
986
- surfaceId: _angular_core.InputSignal<string>;
987
- componentId: _angular_core.InputSignal<string | undefined>;
988
- dataContextPath: _angular_core.InputSignal<string>;
989
- label: _angular_core.Signal<any>;
990
- enableDate: _angular_core.Signal<any>;
991
- enableTime: _angular_core.Signal<any>;
992
- private rawValue;
993
- dateValue: _angular_core.Signal<any>;
994
- timeValue: _angular_core.Signal<any>;
776
+ readonly label: _angular_core.Signal<any>;
777
+ readonly enableDate: _angular_core.Signal<any>;
778
+ readonly enableTime: _angular_core.Signal<any>;
779
+ private readonly rawValue;
780
+ readonly dateValue: _angular_core.Signal<any>;
781
+ readonly timeValue: _angular_core.Signal<any>;
995
782
  handleDateChange(event: Event): void;
996
783
  handleTimeChange(event: Event): void;
997
784
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DateTimeInputComponent, never>;
998
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DateTimeInputComponent, "a2ui-v09-date-time-input", never, { "props": { "alias": "props"; "required": false; "isSignal": true; }; "surfaceId": { "alias": "surfaceId"; "required": true; "isSignal": true; }; "componentId": { "alias": "componentId"; "required": false; "isSignal": true; }; "dataContextPath": { "alias": "dataContextPath"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
785
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DateTimeInputComponent, "a2ui-v09-date-time-input", never, {}, {}, never, never, true, never>;
999
786
  }
1000
787
 
1001
788
  export { A2UI_RENDERER_CONFIG, A2uiRendererService, AngularCatalog, AudioPlayerComponent, BASIC_COMPONENTS, BasicCatalog, BasicCatalogBase, ButtonComponent, CardComponent, CheckBoxComponent, ChoicePickerComponent, ColumnComponent, ComponentBinder, ComponentHostComponent, DateTimeInputComponent, DefaultMarkdownRenderer, DividerComponent, IconComponent, ImageComponent, ListComponent, MarkdownRenderer, ModalComponent, RowComponent, SliderComponent, SurfaceComponent, TabsComponent, TextComponent, TextFieldComponent, VideoComponent, getNormalizedPath, provideMarkdownRenderer, toAngularSignal };