@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/fesm2022/a2ui-angular-src-v0_9.mjs +166 -418
- package/fesm2022/a2ui-angular-src-v0_9.mjs.map +1 -1
- package/fesm2022/a2ui-angular-v0_9.mjs +166 -418
- package/fesm2022/a2ui-angular-v0_9.mjs.map +1 -1
- package/package.json +3 -3
- package/types/a2ui-angular-src-v0_9.d.ts +99 -312
- package/types/a2ui-angular-v0_9.d.ts +99 -312
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, Inject, Injectable, signal, inject, DestroyRef, NgZone, input, ChangeDetectorRef,
|
|
2
|
+
import { InjectionToken, Inject, Injectable, signal, inject, DestroyRef, NgZone, input, ChangeDetectorRef, ChangeDetectionStrategy, Component, computed as computed$1, HostBinding, Directive, effect as effect$1 } from '@angular/core';
|
|
3
3
|
import { MessageProcessor, effect, computed, ComponentContext, Catalog, DataContext } from '@a2ui/web_core/v0_9';
|
|
4
4
|
export { signal as preactSignal } from '@a2ui/web_core/v0_9';
|
|
5
5
|
import { NgComponentOutlet } from '@angular/common';
|
|
@@ -294,12 +294,6 @@ class ComponentHostComponent {
|
|
|
294
294
|
componentType = null;
|
|
295
295
|
props = {};
|
|
296
296
|
context;
|
|
297
|
-
weight = signal(null, ...(ngDevMode ? [{ debugName: "weight" }] : /* istanbul ignore next */ []));
|
|
298
|
-
// TODO(#1199): Move weight handling to the catalog specification.
|
|
299
|
-
get flexStyle() {
|
|
300
|
-
const w = this.weight();
|
|
301
|
-
return w ? `${w}` : '';
|
|
302
|
-
}
|
|
303
297
|
resolvedComponentId = '';
|
|
304
298
|
resolvedDataContextPath = '/';
|
|
305
299
|
ngOnInit() {
|
|
@@ -352,11 +346,8 @@ class ComponentHostComponent {
|
|
|
352
346
|
// component to react when a new prop is added after creation.
|
|
353
347
|
const onPropsUpdateSub = componentModel.onUpdated.subscribe(() => {
|
|
354
348
|
this.props = this.binder.bind(this.context);
|
|
355
|
-
// TODO(#1199): Move weight handling to the catalog specification.
|
|
356
|
-
this.weight.set(componentModel.properties['weight'] || null);
|
|
357
349
|
this.cdr.markForCheck();
|
|
358
350
|
});
|
|
359
|
-
this.weight.set(componentModel.properties['weight'] || null);
|
|
360
351
|
this.destroyRef.onDestroy(() => {
|
|
361
352
|
// ComponentContext itself doesn't have a dispose, but its inner components might.
|
|
362
353
|
// However, SurfaceModel takes care of component disposal.
|
|
@@ -365,7 +356,7 @@ class ComponentHostComponent {
|
|
|
365
356
|
this.cdr.markForCheck();
|
|
366
357
|
}
|
|
367
358
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ComponentHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
368
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ComponentHostComponent, isStandalone: true, selector: "a2ui-v09-component-host", inputs: { componentKey: { classPropertyName: "componentKey", publicName: "componentKey", isSignal: true, isRequired: false, transformFunction: null }, surfaceId: { classPropertyName: "surfaceId", publicName: "surfaceId", isSignal: true, isRequired: true, transformFunction: null } }, host: {
|
|
359
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ComponentHostComponent, isStandalone: true, selector: "a2ui-v09-component-host", inputs: { componentKey: { classPropertyName: "componentKey", publicName: "componentKey", isSignal: true, isRequired: false, transformFunction: null }, surfaceId: { classPropertyName: "surfaceId", publicName: "surfaceId", isSignal: true, isRequired: true, transformFunction: null } }, host: { styleAttribute: "display: contents;" }, ngImport: i0, template: `
|
|
369
360
|
@if (componentType) {
|
|
370
361
|
<ng-container
|
|
371
362
|
*ngComponentOutlet="
|
|
@@ -406,10 +397,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
406
397
|
`,
|
|
407
398
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
408
399
|
}]
|
|
409
|
-
}], propDecorators: { componentKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "componentKey", required: false }] }], surfaceId: [{ type: i0.Input, args: [{ isSignal: true, alias: "surfaceId", required: true }] }]
|
|
410
|
-
type: HostBinding,
|
|
411
|
-
args: ['style.flex']
|
|
412
|
-
}] } });
|
|
400
|
+
}], propDecorators: { componentKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "componentKey", required: false }] }], surfaceId: [{ type: i0.Input, args: [{ isSignal: true, alias: "surfaceId", required: true }] }] } });
|
|
413
401
|
|
|
414
402
|
/**
|
|
415
403
|
* Copyright 2026 Google LLC
|
|
@@ -587,10 +575,35 @@ class AngularCatalog extends Catalog {
|
|
|
587
575
|
* Automatically injects the basic catalog styles when the component is instantiated.
|
|
588
576
|
*/
|
|
589
577
|
class BasicCatalogComponent {
|
|
578
|
+
/**
|
|
579
|
+
* Reactive properties resolved from the A2UI ComponentModel.
|
|
580
|
+
*/
|
|
581
|
+
props = input({}, ...(ngDevMode ? [{ debugName: "props" }] : /* istanbul ignore next */ []));
|
|
582
|
+
surfaceId = input.required(...(ngDevMode ? [{ debugName: "surfaceId" }] : /* istanbul ignore next */ []));
|
|
583
|
+
componentId = input.required(...(ngDevMode ? [{ debugName: "componentId" }] : /* istanbul ignore next */ []));
|
|
584
|
+
dataContextPath = input('/', ...(ngDevMode ? [{ debugName: "dataContextPath" }] : /* istanbul ignore next */ []));
|
|
590
585
|
constructor() {
|
|
591
586
|
injectBasicCatalogStyles();
|
|
592
587
|
}
|
|
588
|
+
/**
|
|
589
|
+
* Computes the weight of the component from the properties.
|
|
590
|
+
*/
|
|
591
|
+
weight = computed$1(() => this.props()['weight']?.value() ?? null, ...(ngDevMode ? [{ debugName: "weight" }] : /* istanbul ignore next */ []));
|
|
592
|
+
/**
|
|
593
|
+
* Binds the flex style to the host element based on the weight.
|
|
594
|
+
*/
|
|
595
|
+
get flexStyle() {
|
|
596
|
+
return this.weight() !== null ? `${this.weight()}` : null;
|
|
597
|
+
}
|
|
598
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: BasicCatalogComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
599
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.5", type: BasicCatalogComponent, isStandalone: true, inputs: { props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null }, surfaceId: { classPropertyName: "surfaceId", publicName: "surfaceId", isSignal: true, isRequired: true, transformFunction: null }, componentId: { classPropertyName: "componentId", publicName: "componentId", isSignal: true, isRequired: true, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.flex": "this.flexStyle" } }, ngImport: i0 });
|
|
593
600
|
}
|
|
601
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: BasicCatalogComponent, decorators: [{
|
|
602
|
+
type: Directive
|
|
603
|
+
}], ctorParameters: () => [], propDecorators: { props: [{ type: i0.Input, args: [{ isSignal: true, alias: "props", required: false }] }], surfaceId: [{ type: i0.Input, args: [{ isSignal: true, alias: "surfaceId", required: true }] }], componentId: [{ type: i0.Input, args: [{ isSignal: true, alias: "componentId", required: true }] }], dataContextPath: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataContextPath", required: false }] }], flexStyle: [{
|
|
604
|
+
type: HostBinding,
|
|
605
|
+
args: ['style.flex']
|
|
606
|
+
}] } });
|
|
594
607
|
|
|
595
608
|
/**
|
|
596
609
|
* Copyright 2026 Google LLC
|
|
@@ -624,17 +637,6 @@ class BasicCatalogComponent {
|
|
|
624
637
|
* - 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`.
|
|
625
638
|
*/
|
|
626
639
|
class TextComponent extends BasicCatalogComponent {
|
|
627
|
-
/**
|
|
628
|
-
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
629
|
-
*
|
|
630
|
-
* Expected properties:
|
|
631
|
-
* - `text`: The string content to display.
|
|
632
|
-
* - `variant`: A hint for the base text style ('h1', 'h2', 'h3', 'h4', 'h5', 'caption', 'body').
|
|
633
|
-
*/
|
|
634
|
-
props = input({}, ...(ngDevMode ? [{ debugName: "props" }] : /* istanbul ignore next */ []));
|
|
635
|
-
surfaceId = input.required(...(ngDevMode ? [{ debugName: "surfaceId" }] : /* istanbul ignore next */ []));
|
|
636
|
-
componentId = input(...(ngDevMode ? [undefined, { debugName: "componentId" }] : /* istanbul ignore next */ []));
|
|
637
|
-
dataContextPath = input('/', ...(ngDevMode ? [{ debugName: "dataContextPath" }] : /* istanbul ignore next */ []));
|
|
638
640
|
markdownRenderer = inject(MarkdownRenderer);
|
|
639
641
|
variant = computed$1(() => this.props()['variant']?.value() || 'body', ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
|
|
640
642
|
text = computed$1(() => this.props()['text']?.value() || '', ...(ngDevMode ? [{ debugName: "text" }] : /* istanbul ignore next */ []));
|
|
@@ -667,7 +669,7 @@ class TextComponent extends BasicCatalogComponent {
|
|
|
667
669
|
break;
|
|
668
670
|
}
|
|
669
671
|
const requestId = ++this.renderRequestId;
|
|
670
|
-
this.markdownRenderer.render(value).then(rendered => {
|
|
672
|
+
this.markdownRenderer.render(value).then((rendered) => {
|
|
671
673
|
if (requestId === this.renderRequestId) {
|
|
672
674
|
this.resolvedText.set(rendered);
|
|
673
675
|
}
|
|
@@ -675,18 +677,12 @@ class TextComponent extends BasicCatalogComponent {
|
|
|
675
677
|
});
|
|
676
678
|
}
|
|
677
679
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
678
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
679
|
-
<span [class]="'a2ui-text ' + variant()" [innerHTML]="resolvedText()">
|
|
680
|
-
</span>
|
|
681
|
-
`, isInline: true, styles: [":host ::ng-deep .a2ui-text p,:host ::ng-deep .a2ui-text h1,:host ::ng-deep .a2ui-text h2,:host ::ng-deep .a2ui-text h3,:host ::ng-deep .a2ui-text h4,:host ::ng-deep .a2ui-text h5,:host ::ng-deep .a2ui-text h6,:host ::ng-deep .a2ui-text ol,:host ::ng-deep .a2ui-text ul,:host ::ng-deep .a2ui-text li,:host ::ng-deep .a2ui-text blockquote,:host ::ng-deep .a2ui-text pre{margin:var(--_a2ui-text-margin, 0)}:host ::ng-deep .a2ui-text{color:var(--_a2ui-text-color, var(--a2ui-text-color-text, var(--a2ui-color-on-background)))}:host ::ng-deep .a2ui-text h1,:host ::ng-deep .a2ui-text h2,:host ::ng-deep .a2ui-text h3,:host ::ng-deep .a2ui-text h4,:host ::ng-deep .a2ui-text h5,:host ::ng-deep .a2ui-text h6{font-family:var(--a2ui-font-family-title, inherit);line-height:var(--a2ui-line-height-headings, 1.2)}:host ::ng-deep .a2ui-text h1{font-size:var(--a2ui-font-size-2xl)}:host ::ng-deep .a2ui-text h2{font-size:var(--a2ui-font-size-xl)}:host ::ng-deep .a2ui-text h3{font-size:var(--a2ui-font-size-l)}:host ::ng-deep .a2ui-text p,:host ::ng-deep .a2ui-text h4{font-size:var(--a2ui-font-size-m)}:host ::ng-deep .a2ui-text h5{font-size:var(--a2ui-font-size-s)}:host ::ng-deep .a2ui-text p{line-height:var(--a2ui-line-height-body, 1.5)}:host ::ng-deep .a2ui-text.caption{font-size:var(--a2ui-font-size-xs);color:var(--a2ui-text-caption-color, light-dark(#666, #aaa))}:host ::ng-deep .a2ui-text a{color:var(--a2ui-text-a-color, inherit);font-weight:var(--a2ui-text-a-font-weight, inherit)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
680
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.5", type: TextComponent, isStandalone: true, selector: "a2ui-v09-text", usesInheritance: true, ngImport: i0, template: ` <span [class]="'a2ui-text ' + variant()" [innerHTML]="resolvedText()"> </span> `, isInline: true, styles: [":host ::ng-deep .a2ui-text p,:host ::ng-deep .a2ui-text h1,:host ::ng-deep .a2ui-text h2,:host ::ng-deep .a2ui-text h3,:host ::ng-deep .a2ui-text h4,:host ::ng-deep .a2ui-text h5,:host ::ng-deep .a2ui-text h6,:host ::ng-deep .a2ui-text ol,:host ::ng-deep .a2ui-text ul,:host ::ng-deep .a2ui-text li,:host ::ng-deep .a2ui-text blockquote,:host ::ng-deep .a2ui-text pre{margin:var(--_a2ui-text-margin, 0)}:host ::ng-deep .a2ui-text{color:var( --_a2ui-text-color, var(--a2ui-text-color-text, var(--a2ui-color-on-background)) )}:host ::ng-deep .a2ui-text h1,:host ::ng-deep .a2ui-text h2,:host ::ng-deep .a2ui-text h3,:host ::ng-deep .a2ui-text h4,:host ::ng-deep .a2ui-text h5,:host ::ng-deep .a2ui-text h6{font-family:var(--a2ui-font-family-title, inherit);line-height:var(--a2ui-line-height-headings, 1.2)}:host ::ng-deep .a2ui-text h1{font-size:var(--a2ui-font-size-2xl)}:host ::ng-deep .a2ui-text h2{font-size:var(--a2ui-font-size-xl)}:host ::ng-deep .a2ui-text h3{font-size:var(--a2ui-font-size-l)}:host ::ng-deep .a2ui-text p,:host ::ng-deep .a2ui-text h4{font-size:var(--a2ui-font-size-m)}:host ::ng-deep .a2ui-text h5{font-size:var(--a2ui-font-size-s)}:host ::ng-deep .a2ui-text p{line-height:var(--a2ui-line-height-body, 1.5)}:host ::ng-deep .a2ui-text.caption{font-size:var(--a2ui-font-size-xs);color:var(--a2ui-text-caption-color, light-dark(#666, #aaa))}:host ::ng-deep .a2ui-text a{color:var(--a2ui-text-a-color, inherit);font-weight:var(--a2ui-text-a-font-weight, inherit)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
682
681
|
}
|
|
683
682
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TextComponent, decorators: [{
|
|
684
683
|
type: Component,
|
|
685
|
-
args: [{ selector: 'a2ui-v09-text', standalone: true, template: `
|
|
686
|
-
|
|
687
|
-
</span>
|
|
688
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host ::ng-deep .a2ui-text p,:host ::ng-deep .a2ui-text h1,:host ::ng-deep .a2ui-text h2,:host ::ng-deep .a2ui-text h3,:host ::ng-deep .a2ui-text h4,:host ::ng-deep .a2ui-text h5,:host ::ng-deep .a2ui-text h6,:host ::ng-deep .a2ui-text ol,:host ::ng-deep .a2ui-text ul,:host ::ng-deep .a2ui-text li,:host ::ng-deep .a2ui-text blockquote,:host ::ng-deep .a2ui-text pre{margin:var(--_a2ui-text-margin, 0)}:host ::ng-deep .a2ui-text{color:var(--_a2ui-text-color, var(--a2ui-text-color-text, var(--a2ui-color-on-background)))}:host ::ng-deep .a2ui-text h1,:host ::ng-deep .a2ui-text h2,:host ::ng-deep .a2ui-text h3,:host ::ng-deep .a2ui-text h4,:host ::ng-deep .a2ui-text h5,:host ::ng-deep .a2ui-text h6{font-family:var(--a2ui-font-family-title, inherit);line-height:var(--a2ui-line-height-headings, 1.2)}:host ::ng-deep .a2ui-text h1{font-size:var(--a2ui-font-size-2xl)}:host ::ng-deep .a2ui-text h2{font-size:var(--a2ui-font-size-xl)}:host ::ng-deep .a2ui-text h3{font-size:var(--a2ui-font-size-l)}:host ::ng-deep .a2ui-text p,:host ::ng-deep .a2ui-text h4{font-size:var(--a2ui-font-size-m)}:host ::ng-deep .a2ui-text h5{font-size:var(--a2ui-font-size-s)}:host ::ng-deep .a2ui-text p{line-height:var(--a2ui-line-height-body, 1.5)}:host ::ng-deep .a2ui-text.caption{font-size:var(--a2ui-font-size-xs);color:var(--a2ui-text-caption-color, light-dark(#666, #aaa))}:host ::ng-deep .a2ui-text a{color:var(--a2ui-text-a-color, inherit);font-weight:var(--a2ui-text-a-font-weight, inherit)}\n"] }]
|
|
689
|
-
}], ctorParameters: () => [], propDecorators: { props: [{ type: i0.Input, args: [{ isSignal: true, alias: "props", required: false }] }], surfaceId: [{ type: i0.Input, args: [{ isSignal: true, alias: "surfaceId", required: true }] }], componentId: [{ type: i0.Input, args: [{ isSignal: true, alias: "componentId", required: false }] }], dataContextPath: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataContextPath", required: false }] }] } });
|
|
684
|
+
args: [{ selector: 'a2ui-v09-text', standalone: true, template: ` <span [class]="'a2ui-text ' + variant()" [innerHTML]="resolvedText()"> </span> `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host ::ng-deep .a2ui-text p,:host ::ng-deep .a2ui-text h1,:host ::ng-deep .a2ui-text h2,:host ::ng-deep .a2ui-text h3,:host ::ng-deep .a2ui-text h4,:host ::ng-deep .a2ui-text h5,:host ::ng-deep .a2ui-text h6,:host ::ng-deep .a2ui-text ol,:host ::ng-deep .a2ui-text ul,:host ::ng-deep .a2ui-text li,:host ::ng-deep .a2ui-text blockquote,:host ::ng-deep .a2ui-text pre{margin:var(--_a2ui-text-margin, 0)}:host ::ng-deep .a2ui-text{color:var( --_a2ui-text-color, var(--a2ui-text-color-text, var(--a2ui-color-on-background)) )}:host ::ng-deep .a2ui-text h1,:host ::ng-deep .a2ui-text h2,:host ::ng-deep .a2ui-text h3,:host ::ng-deep .a2ui-text h4,:host ::ng-deep .a2ui-text h5,:host ::ng-deep .a2ui-text h6{font-family:var(--a2ui-font-family-title, inherit);line-height:var(--a2ui-line-height-headings, 1.2)}:host ::ng-deep .a2ui-text h1{font-size:var(--a2ui-font-size-2xl)}:host ::ng-deep .a2ui-text h2{font-size:var(--a2ui-font-size-xl)}:host ::ng-deep .a2ui-text h3{font-size:var(--a2ui-font-size-l)}:host ::ng-deep .a2ui-text p,:host ::ng-deep .a2ui-text h4{font-size:var(--a2ui-font-size-m)}:host ::ng-deep .a2ui-text h5{font-size:var(--a2ui-font-size-s)}:host ::ng-deep .a2ui-text p{line-height:var(--a2ui-line-height-body, 1.5)}:host ::ng-deep .a2ui-text.caption{font-size:var(--a2ui-font-size-xs);color:var(--a2ui-text-caption-color, light-dark(#666, #aaa))}:host ::ng-deep .a2ui-text a{color:var(--a2ui-text-a-color, inherit);font-weight:var(--a2ui-text-a-font-weight, inherit)}\n"] }]
|
|
685
|
+
}], ctorParameters: () => [] });
|
|
690
686
|
|
|
691
687
|
/**
|
|
692
688
|
* Copyright 2026 Google LLC
|
|
@@ -751,25 +747,13 @@ const ALIGN_MAP = {
|
|
|
751
747
|
* - `--a2ui-row-gap`: Controls the gap between items in the row. Defaults to `--a2ui-spacing-m` (16px).
|
|
752
748
|
*/
|
|
753
749
|
class RowComponent extends BasicCatalogComponent {
|
|
754
|
-
/**
|
|
755
|
-
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
756
|
-
*
|
|
757
|
-
* Expected properties:
|
|
758
|
-
* - `children`: A list of component IDs OR a repeating collection definition.
|
|
759
|
-
* - `justify`: Flexbox justify-content value (e.g., 'flex-start', 'center').
|
|
760
|
-
* - `align`: Flexbox align-items value (e.g., 'flex-start', 'center').
|
|
761
|
-
*/
|
|
762
|
-
props = input({}, ...(ngDevMode ? [{ debugName: "props" }] : /* istanbul ignore next */ []));
|
|
763
|
-
surfaceId = input.required(...(ngDevMode ? [{ debugName: "surfaceId" }] : /* istanbul ignore next */ []));
|
|
764
|
-
componentId = input(...(ngDevMode ? [undefined, { debugName: "componentId" }] : /* istanbul ignore next */ []));
|
|
765
|
-
dataContextPath = input('/', ...(ngDevMode ? [{ debugName: "dataContextPath" }] : /* istanbul ignore next */ []));
|
|
766
750
|
justify = computed$1(() => {
|
|
767
751
|
const val = this.props()['justify']?.value();
|
|
768
|
-
return val ?
|
|
752
|
+
return val ? JUSTIFY_MAP[val] || val : undefined;
|
|
769
753
|
}, ...(ngDevMode ? [{ debugName: "justify" }] : /* istanbul ignore next */ []));
|
|
770
754
|
align = computed$1(() => {
|
|
771
755
|
const val = this.props()['align']?.value();
|
|
772
|
-
return val ?
|
|
756
|
+
return val ? ALIGN_MAP[val] || val : undefined;
|
|
773
757
|
}, ...(ngDevMode ? [{ debugName: "align" }] : /* istanbul ignore next */ []));
|
|
774
758
|
children = computed$1(() => {
|
|
775
759
|
const raw = this.props()['children']?.value() || [];
|
|
@@ -784,7 +768,7 @@ class RowComponent extends BasicCatalogComponent {
|
|
|
784
768
|
normalizedChildren = computed$1(() => {
|
|
785
769
|
if (this.isRepeating())
|
|
786
770
|
return [];
|
|
787
|
-
return this.children().map(child => {
|
|
771
|
+
return this.children().map((child) => {
|
|
788
772
|
if (typeof child === 'object' && child !== null && 'id' in child) {
|
|
789
773
|
return child;
|
|
790
774
|
}
|
|
@@ -795,26 +779,23 @@ class RowComponent extends BasicCatalogComponent {
|
|
|
795
779
|
return getNormalizedPath(this.props()['children']?.raw?.path, this.dataContextPath(), index);
|
|
796
780
|
}
|
|
797
781
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: RowComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
798
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: RowComponent, isStandalone: true, selector: "a2ui-v09-row",
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
[surfaceId]="surfaceId()"
|
|
804
|
-
>
|
|
805
|
-
</a2ui-v09-component-host>
|
|
806
|
-
}
|
|
782
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: RowComponent, isStandalone: true, selector: "a2ui-v09-row", host: { properties: { "style.display": "\"flex\"", "style.flex-direction": "\"row\"", "style.gap": "\"var(--a2ui-row-gap, var(--a2ui-spacing-m, 16px))\"", "style.justify-content": "justify()", "style.align-items": "align()" } }, usesInheritance: true, ngImport: i0, template: `
|
|
783
|
+
@if (!isRepeating()) {
|
|
784
|
+
@for (child of normalizedChildren(); track child.id) {
|
|
785
|
+
<a2ui-v09-component-host [componentKey]="child" [surfaceId]="surfaceId()">
|
|
786
|
+
</a2ui-v09-component-host>
|
|
807
787
|
}
|
|
788
|
+
}
|
|
808
789
|
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
}
|
|
790
|
+
@if (isRepeating()) {
|
|
791
|
+
@for (item of children(); track item; let i = $index) {
|
|
792
|
+
<a2ui-v09-component-host
|
|
793
|
+
[componentKey]="{ id: templateId()!, basePath: getNormalizedPath(i) }"
|
|
794
|
+
[surfaceId]="surfaceId()"
|
|
795
|
+
>
|
|
796
|
+
</a2ui-v09-component-host>
|
|
817
797
|
}
|
|
798
|
+
}
|
|
818
799
|
`, isInline: true, dependencies: [{ kind: "component", type: ComponentHostComponent, selector: "a2ui-v09-component-host", inputs: ["componentKey", "surfaceId"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
819
800
|
}
|
|
820
801
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: RowComponent, decorators: [{
|
|
@@ -828,32 +809,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
828
809
|
'[style.flex-direction]': '"row"',
|
|
829
810
|
'[style.gap]': '"var(--a2ui-row-gap, var(--a2ui-spacing-m, 16px))"',
|
|
830
811
|
'[style.justify-content]': 'justify()',
|
|
831
|
-
'[style.align-items]': 'align()'
|
|
812
|
+
'[style.align-items]': 'align()',
|
|
832
813
|
},
|
|
833
814
|
template: `
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
[surfaceId]="surfaceId()"
|
|
839
|
-
>
|
|
840
|
-
</a2ui-v09-component-host>
|
|
841
|
-
}
|
|
815
|
+
@if (!isRepeating()) {
|
|
816
|
+
@for (child of normalizedChildren(); track child.id) {
|
|
817
|
+
<a2ui-v09-component-host [componentKey]="child" [surfaceId]="surfaceId()">
|
|
818
|
+
</a2ui-v09-component-host>
|
|
842
819
|
}
|
|
820
|
+
}
|
|
843
821
|
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
}
|
|
822
|
+
@if (isRepeating()) {
|
|
823
|
+
@for (item of children(); track item; let i = $index) {
|
|
824
|
+
<a2ui-v09-component-host
|
|
825
|
+
[componentKey]="{ id: templateId()!, basePath: getNormalizedPath(i) }"
|
|
826
|
+
[surfaceId]="surfaceId()"
|
|
827
|
+
>
|
|
828
|
+
</a2ui-v09-component-host>
|
|
852
829
|
}
|
|
830
|
+
}
|
|
853
831
|
`,
|
|
854
832
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
855
833
|
}]
|
|
856
|
-
}]
|
|
834
|
+
}] });
|
|
857
835
|
|
|
858
836
|
/**
|
|
859
837
|
* Copyright 2026 Google LLC
|
|
@@ -880,25 +858,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
880
858
|
* - `--a2ui-column-gap`: Controls the gap between items in the column. Defaults to `--a2ui-spacing-m` (16px).
|
|
881
859
|
*/
|
|
882
860
|
class ColumnComponent extends BasicCatalogComponent {
|
|
883
|
-
/**
|
|
884
|
-
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
885
|
-
*
|
|
886
|
-
* Expected properties:
|
|
887
|
-
* - `children`: A list of component IDs OR a repeating collection definition.
|
|
888
|
-
* - `justify`: Flexbox justify-content value (e.g., 'flex-start', 'center').
|
|
889
|
-
* - `align`: Flexbox align-items value (e.g., 'flex-start', 'center').
|
|
890
|
-
*/
|
|
891
|
-
props = input({}, ...(ngDevMode ? [{ debugName: "props" }] : /* istanbul ignore next */ []));
|
|
892
|
-
surfaceId = input.required(...(ngDevMode ? [{ debugName: "surfaceId" }] : /* istanbul ignore next */ []));
|
|
893
|
-
componentId = input(...(ngDevMode ? [undefined, { debugName: "componentId" }] : /* istanbul ignore next */ []));
|
|
894
|
-
dataContextPath = input('/', ...(ngDevMode ? [{ debugName: "dataContextPath" }] : /* istanbul ignore next */ []));
|
|
895
861
|
justify = computed$1(() => {
|
|
896
862
|
const val = this.props()['justify']?.value();
|
|
897
|
-
return val ?
|
|
863
|
+
return val ? JUSTIFY_MAP[val] || val : undefined;
|
|
898
864
|
}, ...(ngDevMode ? [{ debugName: "justify" }] : /* istanbul ignore next */ []));
|
|
899
865
|
align = computed$1(() => {
|
|
900
866
|
const val = this.props()['align']?.value();
|
|
901
|
-
return val ?
|
|
867
|
+
return val ? ALIGN_MAP[val] || val : undefined;
|
|
902
868
|
}, ...(ngDevMode ? [{ debugName: "align" }] : /* istanbul ignore next */ []));
|
|
903
869
|
children = computed$1(() => {
|
|
904
870
|
const raw = this.props()['children']?.value() || [];
|
|
@@ -913,7 +879,7 @@ class ColumnComponent extends BasicCatalogComponent {
|
|
|
913
879
|
normalizedChildren = computed$1(() => {
|
|
914
880
|
if (this.isRepeating())
|
|
915
881
|
return [];
|
|
916
|
-
return this.children().map(child => {
|
|
882
|
+
return this.children().map((child) => {
|
|
917
883
|
if (typeof child === 'object' && child !== null && 'id' in child) {
|
|
918
884
|
return child;
|
|
919
885
|
}
|
|
@@ -924,26 +890,23 @@ class ColumnComponent extends BasicCatalogComponent {
|
|
|
924
890
|
return getNormalizedPath(this.props()['children']?.raw?.path, this.dataContextPath(), index);
|
|
925
891
|
}
|
|
926
892
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
927
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ColumnComponent, isStandalone: true, selector: "a2ui-v09-column",
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
[surfaceId]="surfaceId()"
|
|
933
|
-
>
|
|
934
|
-
</a2ui-v09-component-host>
|
|
935
|
-
}
|
|
893
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ColumnComponent, isStandalone: true, selector: "a2ui-v09-column", host: { properties: { "style.display": "\"flex\"", "style.flex-direction": "\"column\"", "style.width": "\"100%\"", "style.gap": "\"var(--a2ui-column-gap, var(--a2ui-spacing-m, 16px))\"", "style.justify-content": "justify()", "style.align-items": "align()" } }, usesInheritance: true, ngImport: i0, template: `
|
|
894
|
+
@if (!isRepeating()) {
|
|
895
|
+
@for (child of normalizedChildren(); track child.id) {
|
|
896
|
+
<a2ui-v09-component-host [componentKey]="child" [surfaceId]="surfaceId()">
|
|
897
|
+
</a2ui-v09-component-host>
|
|
936
898
|
}
|
|
899
|
+
}
|
|
937
900
|
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
}
|
|
901
|
+
@if (isRepeating()) {
|
|
902
|
+
@for (item of children(); track item; let i = $index) {
|
|
903
|
+
<a2ui-v09-component-host
|
|
904
|
+
[componentKey]="{ id: templateId()!, basePath: getNormalizedPath(i) }"
|
|
905
|
+
[surfaceId]="surfaceId()"
|
|
906
|
+
>
|
|
907
|
+
</a2ui-v09-component-host>
|
|
946
908
|
}
|
|
909
|
+
}
|
|
947
910
|
`, isInline: true, dependencies: [{ kind: "component", type: ComponentHostComponent, selector: "a2ui-v09-component-host", inputs: ["componentKey", "surfaceId"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
948
911
|
}
|
|
949
912
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ColumnComponent, decorators: [{
|
|
@@ -958,32 +921,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
958
921
|
'[style.width]': '"100%"',
|
|
959
922
|
'[style.gap]': '"var(--a2ui-column-gap, var(--a2ui-spacing-m, 16px))"',
|
|
960
923
|
'[style.justify-content]': 'justify()',
|
|
961
|
-
'[style.align-items]': 'align()'
|
|
924
|
+
'[style.align-items]': 'align()',
|
|
962
925
|
},
|
|
963
926
|
template: `
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
[surfaceId]="surfaceId()"
|
|
969
|
-
>
|
|
970
|
-
</a2ui-v09-component-host>
|
|
971
|
-
}
|
|
927
|
+
@if (!isRepeating()) {
|
|
928
|
+
@for (child of normalizedChildren(); track child.id) {
|
|
929
|
+
<a2ui-v09-component-host [componentKey]="child" [surfaceId]="surfaceId()">
|
|
930
|
+
</a2ui-v09-component-host>
|
|
972
931
|
}
|
|
932
|
+
}
|
|
973
933
|
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
}
|
|
934
|
+
@if (isRepeating()) {
|
|
935
|
+
@for (item of children(); track item; let i = $index) {
|
|
936
|
+
<a2ui-v09-component-host
|
|
937
|
+
[componentKey]="{ id: templateId()!, basePath: getNormalizedPath(i) }"
|
|
938
|
+
[surfaceId]="surfaceId()"
|
|
939
|
+
>
|
|
940
|
+
</a2ui-v09-component-host>
|
|
982
941
|
}
|
|
942
|
+
}
|
|
983
943
|
`,
|
|
984
944
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
985
945
|
}]
|
|
986
|
-
}]
|
|
946
|
+
}] });
|
|
987
947
|
|
|
988
948
|
/**
|
|
989
949
|
* Copyright 2026 Google LLC
|
|
@@ -1016,19 +976,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1016
976
|
* - `--a2ui-button-font-weight`: Controls the font weight.
|
|
1017
977
|
*/
|
|
1018
978
|
class ButtonComponent extends BasicCatalogComponent {
|
|
1019
|
-
/**
|
|
1020
|
-
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
1021
|
-
*
|
|
1022
|
-
* Expected properties:
|
|
1023
|
-
* - `child`: The ID of the component to render inside the button.
|
|
1024
|
-
* - `variant`: Button style variant ('default', 'primary', 'borderless').
|
|
1025
|
-
* - `action`: The A2UI action to dispatch on click.
|
|
1026
|
-
* - `checks`: Optional validation rules.
|
|
1027
|
-
*/
|
|
1028
|
-
props = input({}, ...(ngDevMode ? [{ debugName: "props" }] : /* istanbul ignore next */ []));
|
|
1029
|
-
surfaceId = input.required(...(ngDevMode ? [{ debugName: "surfaceId" }] : /* istanbul ignore next */ []));
|
|
1030
|
-
componentId = input.required(...(ngDevMode ? [{ debugName: "componentId" }] : /* istanbul ignore next */ []));
|
|
1031
|
-
dataContextPath = input('/', ...(ngDevMode ? [{ debugName: "dataContextPath" }] : /* istanbul ignore next */ []));
|
|
1032
979
|
rendererService = inject(A2uiRendererService);
|
|
1033
980
|
variant = computed$1(() => this.props()['variant']?.value() ?? 'default', ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
|
|
1034
981
|
child = computed$1(() => this.props()['child']?.value(), ...(ngDevMode ? [{ debugName: "child" }] : /* istanbul ignore next */ []));
|
|
@@ -1045,7 +992,7 @@ class ButtonComponent extends BasicCatalogComponent {
|
|
|
1045
992
|
}
|
|
1046
993
|
}
|
|
1047
994
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1048
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ButtonComponent, isStandalone: true, selector: "a2ui-v09-button",
|
|
995
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ButtonComponent, isStandalone: true, selector: "a2ui-v09-button", usesInheritance: true, ngImport: i0, template: `
|
|
1049
996
|
<button
|
|
1050
997
|
[type]="variant() === 'primary' ? 'submit' : 'button'"
|
|
1051
998
|
[class]="'a2ui-button ' + variant()"
|
|
@@ -1053,14 +1000,11 @@ class ButtonComponent extends BasicCatalogComponent {
|
|
|
1053
1000
|
[disabled]="props()['isValid']?.value() === false"
|
|
1054
1001
|
>
|
|
1055
1002
|
@if (child()) {
|
|
1056
|
-
<a2ui-v09-component-host
|
|
1057
|
-
[componentKey]="child()!"
|
|
1058
|
-
[surfaceId]="surfaceId()"
|
|
1059
|
-
>
|
|
1003
|
+
<a2ui-v09-component-host [componentKey]="child()!" [surfaceId]="surfaceId()">
|
|
1060
1004
|
</a2ui-v09-component-host>
|
|
1061
1005
|
}
|
|
1062
1006
|
</button>
|
|
1063
|
-
`, isInline: true, styles: [".a2ui-button{padding:var(--a2ui-button-padding, var(--a2ui-spacing-m, .5rem) var(--a2ui-spacing-l, 1rem));border-radius:var(--a2ui-button-border-radius, var(--a2ui-spacing-s, .25rem));border:var(--a2ui-button-border, var(--a2ui-border-width, 1px) solid var(--a2ui-color-border, #ccc));cursor:pointer;margin:var(--a2ui-button-margin, var(--a2ui-spacing-m, .5rem));background:var(--a2ui-button-background, var(--a2ui-color-surface, #fff));box-shadow:var(--a2ui-button-box-shadow, none);font-weight:var(--a2ui-button-font-weight, normal);--_a2ui-text-margin: 0;--_a2ui-text-color: var(--a2ui-color-on-secondary, #333);color:var(--_a2ui-text-color)}.a2ui-button.primary{background-color:var(--a2ui-color-primary, #17e);--_a2ui-text-color: var(--a2ui-color-on-primary, #fff);color:var(--_a2ui-text-color);border-color:var(--a2ui-color-primary-hover, #0069d9)}.a2ui-button.borderless{background:none;border:none;padding:0;color:var(--a2ui-color-primary, #17e)}.a2ui-button:disabled{background-color:#e9ecef;color:#6c757d;border-color:#ced4da;cursor:not-allowed}\n"], dependencies: [{ kind: "component", type: ComponentHostComponent, selector: "a2ui-v09-component-host", inputs: ["componentKey", "surfaceId"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1007
|
+
`, isInline: true, styles: [".a2ui-button{padding:var( --a2ui-button-padding, var(--a2ui-spacing-m, .5rem) var(--a2ui-spacing-l, 1rem) );border-radius:var(--a2ui-button-border-radius, var(--a2ui-spacing-s, .25rem));border:var( --a2ui-button-border, var(--a2ui-border-width, 1px) solid var(--a2ui-color-border, #ccc) );cursor:pointer;margin:var(--a2ui-button-margin, var(--a2ui-spacing-m, .5rem));background:var(--a2ui-button-background, var(--a2ui-color-surface, #fff));box-shadow:var(--a2ui-button-box-shadow, none);font-weight:var(--a2ui-button-font-weight, normal);--_a2ui-text-margin: 0;--_a2ui-text-color: var(--a2ui-color-on-secondary, #333);color:var(--_a2ui-text-color)}.a2ui-button.primary{background-color:var(--a2ui-color-primary, #17e);--_a2ui-text-color: var(--a2ui-color-on-primary, #fff);color:var(--_a2ui-text-color);border-color:var(--a2ui-color-primary-hover, #0069d9)}.a2ui-button.borderless{background:none;border:none;padding:0;color:var(--a2ui-color-primary, #17e)}.a2ui-button:disabled{background-color:#e9ecef;color:#6c757d;border-color:#ced4da;cursor:not-allowed}\n"], dependencies: [{ kind: "component", type: ComponentHostComponent, selector: "a2ui-v09-component-host", inputs: ["componentKey", "surfaceId"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1064
1008
|
}
|
|
1065
1009
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
1066
1010
|
type: Component,
|
|
@@ -1072,15 +1016,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1072
1016
|
[disabled]="props()['isValid']?.value() === false"
|
|
1073
1017
|
>
|
|
1074
1018
|
@if (child()) {
|
|
1075
|
-
<a2ui-v09-component-host
|
|
1076
|
-
[componentKey]="child()!"
|
|
1077
|
-
[surfaceId]="surfaceId()"
|
|
1078
|
-
>
|
|
1019
|
+
<a2ui-v09-component-host [componentKey]="child()!" [surfaceId]="surfaceId()">
|
|
1079
1020
|
</a2ui-v09-component-host>
|
|
1080
1021
|
}
|
|
1081
1022
|
</button>
|
|
1082
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-button{padding:var(--a2ui-button-padding, var(--a2ui-spacing-m, .5rem) var(--a2ui-spacing-l, 1rem));border-radius:var(--a2ui-button-border-radius, var(--a2ui-spacing-s, .25rem));border:var(--a2ui-button-border, var(--a2ui-border-width, 1px) solid var(--a2ui-color-border, #ccc));cursor:pointer;margin:var(--a2ui-button-margin, var(--a2ui-spacing-m, .5rem));background:var(--a2ui-button-background, var(--a2ui-color-surface, #fff));box-shadow:var(--a2ui-button-box-shadow, none);font-weight:var(--a2ui-button-font-weight, normal);--_a2ui-text-margin: 0;--_a2ui-text-color: var(--a2ui-color-on-secondary, #333);color:var(--_a2ui-text-color)}.a2ui-button.primary{background-color:var(--a2ui-color-primary, #17e);--_a2ui-text-color: var(--a2ui-color-on-primary, #fff);color:var(--_a2ui-text-color);border-color:var(--a2ui-color-primary-hover, #0069d9)}.a2ui-button.borderless{background:none;border:none;padding:0;color:var(--a2ui-color-primary, #17e)}.a2ui-button:disabled{background-color:#e9ecef;color:#6c757d;border-color:#ced4da;cursor:not-allowed}\n"] }]
|
|
1083
|
-
}]
|
|
1023
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-button{padding:var( --a2ui-button-padding, var(--a2ui-spacing-m, .5rem) var(--a2ui-spacing-l, 1rem) );border-radius:var(--a2ui-button-border-radius, var(--a2ui-spacing-s, .25rem));border:var( --a2ui-button-border, var(--a2ui-border-width, 1px) solid var(--a2ui-color-border, #ccc) );cursor:pointer;margin:var(--a2ui-button-margin, var(--a2ui-spacing-m, .5rem));background:var(--a2ui-button-background, var(--a2ui-color-surface, #fff));box-shadow:var(--a2ui-button-box-shadow, none);font-weight:var(--a2ui-button-font-weight, normal);--_a2ui-text-margin: 0;--_a2ui-text-color: var(--a2ui-color-on-secondary, #333);color:var(--_a2ui-text-color)}.a2ui-button.primary{background-color:var(--a2ui-color-primary, #17e);--_a2ui-text-color: var(--a2ui-color-on-primary, #fff);color:var(--_a2ui-text-color);border-color:var(--a2ui-color-primary-hover, #0069d9)}.a2ui-button.borderless{background:none;border:none;padding:0;color:var(--a2ui-color-primary, #17e)}.a2ui-button:disabled{background-color:#e9ecef;color:#6c757d;border-color:#ced4da;cursor:not-allowed}\n"] }]
|
|
1024
|
+
}] });
|
|
1084
1025
|
|
|
1085
1026
|
/**
|
|
1086
1027
|
* Copyright 2026 Google LLC
|
|
@@ -1115,20 +1056,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1115
1056
|
* - `--a2ui-textfield-label-font-weight`: Controls the font weight of the label.
|
|
1116
1057
|
*/
|
|
1117
1058
|
class TextFieldComponent extends BasicCatalogComponent {
|
|
1118
|
-
/**
|
|
1119
|
-
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
1120
|
-
*
|
|
1121
|
-
* Expected properties:
|
|
1122
|
-
* - `value`: The current string value of the input.
|
|
1123
|
-
* - `label`: Optional label text to display above the input.
|
|
1124
|
-
* - `placeholder`: Hint text shown when the input is empty.
|
|
1125
|
-
* - `variant`: Input type variant ('default', 'obscured' (password), 'number').
|
|
1126
|
-
* - `checks`: Optional validation rules.
|
|
1127
|
-
*/
|
|
1128
|
-
props = input({}, ...(ngDevMode ? [{ debugName: "props" }] : /* istanbul ignore next */ []));
|
|
1129
|
-
surfaceId = input.required(...(ngDevMode ? [{ debugName: "surfaceId" }] : /* istanbul ignore next */ []));
|
|
1130
|
-
componentId = input(...(ngDevMode ? [undefined, { debugName: "componentId" }] : /* istanbul ignore next */ []));
|
|
1131
|
-
dataContextPath = input('/', ...(ngDevMode ? [{ debugName: "dataContextPath" }] : /* istanbul ignore next */ []));
|
|
1132
1059
|
label = computed$1(() => this.props()['label']?.value(), ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
|
|
1133
1060
|
value = computed$1(() => this.props()['value']?.value() || '', ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
|
|
1134
1061
|
placeholder = computed$1(() => this.props()['placeholder']?.value() || '', ...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
|
|
@@ -1150,7 +1077,7 @@ class TextFieldComponent extends BasicCatalogComponent {
|
|
|
1150
1077
|
this.props()['value']?.onUpdate(value);
|
|
1151
1078
|
}
|
|
1152
1079
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TextFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1153
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: TextFieldComponent, isStandalone: true, selector: "a2ui-v09-text-field",
|
|
1080
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: TextFieldComponent, isStandalone: true, selector: "a2ui-v09-text-field", usesInheritance: true, ngImport: i0, template: `
|
|
1154
1081
|
<div class="a2ui-text-field-container">
|
|
1155
1082
|
@if (label()) {
|
|
1156
1083
|
<label>{{ label() }}</label>
|
|
@@ -1166,7 +1093,7 @@ class TextFieldComponent extends BasicCatalogComponent {
|
|
|
1166
1093
|
<div class="a2ui-error-message">{{ message }}</div>
|
|
1167
1094
|
}
|
|
1168
1095
|
</div>
|
|
1169
|
-
`, isInline: true, styles: [".a2ui-text-field-container{display:flex;flex-direction:column;gap:var(--a2ui-spacing-xs, 4px);margin:var(--a2ui-spacing-xs, 4px)}label{font-size:var(--a2ui-textfield-label-font-size, var(--a2ui-label-font-size, var(--a2ui-font-size-s, 14px)));font-weight:var(--a2ui-textfield-label-font-weight, bold);color:var(--a2ui-text-color-text, var(--a2ui-color-on-background, #333))}input{padding:var(--a2ui-textfield-padding, 8px);border:var(--a2ui-textfield-border, 1px solid var(--a2ui-color-border, #ccc));border-radius:var(--a2ui-textfield-border-radius, 4px);background-color:var(--a2ui-color-input, #fff);color:var(--a2ui-color-on-input, #333)}input:focus{border-color:var(--a2ui-textfield-color-border-focus, var(--a2ui-color-primary, #17e));outline:none}input.invalid{border-color:var(--a2ui-textfield-color-error, var(--a2ui-color-error, red))}.a2ui-error-message{color:var(--a2ui-textfield-color-error, var(--a2ui-color-error, red));font-size:var(--a2ui-font-size-xs, 12px)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1096
|
+
`, isInline: true, styles: [".a2ui-text-field-container{display:flex;flex-direction:column;gap:var(--a2ui-spacing-xs, 4px);margin:var(--a2ui-spacing-xs, 4px)}label{font-size:var( --a2ui-textfield-label-font-size, var(--a2ui-label-font-size, var(--a2ui-font-size-s, 14px)) );font-weight:var(--a2ui-textfield-label-font-weight, bold);color:var(--a2ui-text-color-text, var(--a2ui-color-on-background, #333))}input{padding:var(--a2ui-textfield-padding, 8px);border:var(--a2ui-textfield-border, 1px solid var(--a2ui-color-border, #ccc));border-radius:var(--a2ui-textfield-border-radius, 4px);background-color:var(--a2ui-color-input, #fff);color:var(--a2ui-color-on-input, #333)}input:focus{border-color:var(--a2ui-textfield-color-border-focus, var(--a2ui-color-primary, #17e));outline:none}input.invalid{border-color:var(--a2ui-textfield-color-error, var(--a2ui-color-error, red))}.a2ui-error-message{color:var(--a2ui-textfield-color-error, var(--a2ui-color-error, red));font-size:var(--a2ui-font-size-xs, 12px)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1170
1097
|
}
|
|
1171
1098
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TextFieldComponent, decorators: [{
|
|
1172
1099
|
type: Component,
|
|
@@ -1186,8 +1113,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1186
1113
|
<div class="a2ui-error-message">{{ message }}</div>
|
|
1187
1114
|
}
|
|
1188
1115
|
</div>
|
|
1189
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-text-field-container{display:flex;flex-direction:column;gap:var(--a2ui-spacing-xs, 4px);margin:var(--a2ui-spacing-xs, 4px)}label{font-size:var(--a2ui-textfield-label-font-size, var(--a2ui-label-font-size, var(--a2ui-font-size-s, 14px)));font-weight:var(--a2ui-textfield-label-font-weight, bold);color:var(--a2ui-text-color-text, var(--a2ui-color-on-background, #333))}input{padding:var(--a2ui-textfield-padding, 8px);border:var(--a2ui-textfield-border, 1px solid var(--a2ui-color-border, #ccc));border-radius:var(--a2ui-textfield-border-radius, 4px);background-color:var(--a2ui-color-input, #fff);color:var(--a2ui-color-on-input, #333)}input:focus{border-color:var(--a2ui-textfield-color-border-focus, var(--a2ui-color-primary, #17e));outline:none}input.invalid{border-color:var(--a2ui-textfield-color-error, var(--a2ui-color-error, red))}.a2ui-error-message{color:var(--a2ui-textfield-color-error, var(--a2ui-color-error, red));font-size:var(--a2ui-font-size-xs, 12px)}\n"] }]
|
|
1190
|
-
}]
|
|
1116
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-text-field-container{display:flex;flex-direction:column;gap:var(--a2ui-spacing-xs, 4px);margin:var(--a2ui-spacing-xs, 4px)}label{font-size:var( --a2ui-textfield-label-font-size, var(--a2ui-label-font-size, var(--a2ui-font-size-s, 14px)) );font-weight:var(--a2ui-textfield-label-font-weight, bold);color:var(--a2ui-text-color-text, var(--a2ui-color-on-background, #333))}input{padding:var(--a2ui-textfield-padding, 8px);border:var(--a2ui-textfield-border, 1px solid var(--a2ui-color-border, #ccc));border-radius:var(--a2ui-textfield-border-radius, 4px);background-color:var(--a2ui-color-input, #fff);color:var(--a2ui-color-on-input, #333)}input:focus{border-color:var(--a2ui-textfield-color-border-focus, var(--a2ui-color-primary, #17e));outline:none}input.invalid{border-color:var(--a2ui-textfield-color-error, var(--a2ui-color-error, red))}.a2ui-error-message{color:var(--a2ui-textfield-color-error, var(--a2ui-color-error, red));font-size:var(--a2ui-font-size-xs, 12px)}\n"] }]
|
|
1117
|
+
}] });
|
|
1191
1118
|
|
|
1192
1119
|
/**
|
|
1193
1120
|
* Copyright 2026 Google LLC
|
|
@@ -1218,25 +1145,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1218
1145
|
* - `--a2ui-image-header-size`: Height of header variant.
|
|
1219
1146
|
*/
|
|
1220
1147
|
class ImageComponent extends BasicCatalogComponent {
|
|
1221
|
-
/**
|
|
1222
|
-
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
1223
|
-
*
|
|
1224
|
-
* Expected properties:
|
|
1225
|
-
* - `url`: The absolute URL of the image.
|
|
1226
|
-
* - `description`: Accessibility text for the image.
|
|
1227
|
-
* - `fit`: Object-fit mode ('cover', 'contain', 'fill', 'none', 'scale-down').
|
|
1228
|
-
* - `variant`: Style variant ('default', 'circle', 'rounded', 'icon', 'avatar', 'smallFeature', 'mediumFeature', 'largeFeature', 'header').
|
|
1229
|
-
*/
|
|
1230
|
-
props = input({}, ...(ngDevMode ? [{ debugName: "props" }] : /* istanbul ignore next */ []));
|
|
1231
|
-
surfaceId = input.required(...(ngDevMode ? [{ debugName: "surfaceId" }] : /* istanbul ignore next */ []));
|
|
1232
|
-
componentId = input(...(ngDevMode ? [undefined, { debugName: "componentId" }] : /* istanbul ignore next */ []));
|
|
1233
|
-
dataContextPath = input('/', ...(ngDevMode ? [{ debugName: "dataContextPath" }] : /* istanbul ignore next */ []));
|
|
1234
1148
|
url = computed$1(() => this.props()['url']?.value(), ...(ngDevMode ? [{ debugName: "url" }] : /* istanbul ignore next */ []));
|
|
1235
1149
|
description = computed$1(() => this.props()['description']?.value() || '', ...(ngDevMode ? [{ debugName: "description" }] : /* istanbul ignore next */ []));
|
|
1236
1150
|
fit = computed$1(() => this.props()['fit']?.value() || 'cover', ...(ngDevMode ? [{ debugName: "fit" }] : /* istanbul ignore next */ []));
|
|
1237
1151
|
variant = computed$1(() => this.props()['variant']?.value() || 'default', ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
|
|
1238
1152
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ImageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1239
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1153
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.5", type: ImageComponent, isStandalone: true, selector: "a2ui-v09-image", usesInheritance: true, ngImport: i0, template: `
|
|
1240
1154
|
<img
|
|
1241
1155
|
[src]="url()"
|
|
1242
1156
|
[alt]="description()"
|
|
@@ -1255,7 +1169,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1255
1169
|
[class]="'a2ui-image ' + variant()"
|
|
1256
1170
|
/>
|
|
1257
1171
|
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-image{display:block;max-width:100%;height:auto}.a2ui-image.circle{border-radius:50%;aspect-ratio:1 / 1}.a2ui-image.rounded{border-radius:var(--a2ui-image-border-radius, var(--a2ui-border-radius, 8px))}.a2ui-image.icon{width:var(--a2ui-image-icon-size, 24px);height:var(--a2ui-image-icon-size, 24px)}.a2ui-image.avatar{width:var(--a2ui-image-avatar-size, 40px);height:var(--a2ui-image-avatar-size, 40px);border-radius:50%}.a2ui-image.smallFeature{max-width:var(--a2ui-image-small-feature-size, 100px)}.a2ui-image.mediumFeature{max-width:300px;height:auto}.a2ui-image.largeFeature{width:100%;max-height:var(--a2ui-image-large-feature-size, 400px)}.a2ui-image.header{width:100%;height:var(--a2ui-image-header-size, 200px)}\n"] }]
|
|
1258
|
-
}]
|
|
1172
|
+
}] });
|
|
1259
1173
|
|
|
1260
1174
|
/**
|
|
1261
1175
|
* Copyright 2026 Google LLC
|
|
@@ -1272,6 +1186,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1272
1186
|
* See the License for the specific language governing permissions and
|
|
1273
1187
|
* limitations under the License.
|
|
1274
1188
|
*/
|
|
1189
|
+
const ICON_NAME_OVERRIDES = {
|
|
1190
|
+
play: 'play_arrow',
|
|
1191
|
+
rewind: 'fast_rewind',
|
|
1192
|
+
favoriteOff: 'favorite_border',
|
|
1193
|
+
starOff: 'star_border',
|
|
1194
|
+
};
|
|
1275
1195
|
/**
|
|
1276
1196
|
* Angular implementation of the A2UI Icon component (v0.9).
|
|
1277
1197
|
*
|
|
@@ -1284,18 +1204,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1284
1204
|
* - `--a2ui-icon-font-variation-settings`: Controls font variation settings (e.g. FILL).
|
|
1285
1205
|
*/
|
|
1286
1206
|
class IconComponent extends BasicCatalogComponent {
|
|
1287
|
-
/**
|
|
1288
|
-
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
1289
|
-
*
|
|
1290
|
-
* Expected properties:
|
|
1291
|
-
* - `name`: The name of the icon (e.g., 'home', 'settings') OR an object
|
|
1292
|
-
* with a `path` property for SVG icons.
|
|
1293
|
-
* - `color`: The CSS color to apply to the icon.
|
|
1294
|
-
*/
|
|
1295
|
-
props = input({}, ...(ngDevMode ? [{ debugName: "props" }] : /* istanbul ignore next */ []));
|
|
1296
|
-
surfaceId = input.required(...(ngDevMode ? [{ debugName: "surfaceId" }] : /* istanbul ignore next */ []));
|
|
1297
|
-
componentId = input(...(ngDevMode ? [undefined, { debugName: "componentId" }] : /* istanbul ignore next */ []));
|
|
1298
|
-
dataContextPath = input('/', ...(ngDevMode ? [{ debugName: "dataContextPath" }] : /* istanbul ignore next */ []));
|
|
1299
1207
|
color = computed$1(() => this.props()['color']?.value(), ...(ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []));
|
|
1300
1208
|
iconNameRaw = computed$1(() => this.props()['name']?.value(), ...(ngDevMode ? [{ debugName: "iconNameRaw" }] : /* istanbul ignore next */ []));
|
|
1301
1209
|
isPath = computed$1(() => {
|
|
@@ -1310,11 +1218,13 @@ class IconComponent extends BasicCatalogComponent {
|
|
|
1310
1218
|
const name = this.iconNameRaw();
|
|
1311
1219
|
if (typeof name !== 'string')
|
|
1312
1220
|
return '';
|
|
1221
|
+
if (ICON_NAME_OVERRIDES[name])
|
|
1222
|
+
return ICON_NAME_OVERRIDES[name];
|
|
1313
1223
|
// Convert camelCase to snake_case for Material Icons
|
|
1314
1224
|
return name.replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`);
|
|
1315
1225
|
}, ...(ngDevMode ? [{ debugName: "iconName" }] : /* istanbul ignore next */ []));
|
|
1316
1226
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IconComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1317
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: IconComponent, isStandalone: true, selector: "a2ui-v09-icon",
|
|
1227
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: IconComponent, isStandalone: true, selector: "a2ui-v09-icon", usesInheritance: true, ngImport: i0, template: `
|
|
1318
1228
|
@if (isPath()) {
|
|
1319
1229
|
<svg class="a2ui-icon svg" viewBox="0 0 24 24" [style.fill]="color() || 'currentColor'">
|
|
1320
1230
|
<path [attr.d]="path()"></path>
|
|
@@ -1324,7 +1234,7 @@ class IconComponent extends BasicCatalogComponent {
|
|
|
1324
1234
|
{{ iconName() }}
|
|
1325
1235
|
</i>
|
|
1326
1236
|
}
|
|
1327
|
-
`, isInline: true, styles: [".a2ui-icon{display:inline-block;width:var(--a2ui-icon-size, 24px);height:var(--a2ui-icon-size, 24px);font-size:var(--a2ui-icon-size, 24px);font-family:var(--a2ui-icon-font-family, \"Material Icons\");color:var(--a2ui-icon-color, var(--a2ui-text-color-text, var(--a2ui-color-on-background, #333)));font-variation-settings:var(--a2ui-icon-font-variation-settings, \"FILL\" 1);line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:\"liga\";vertical-align:middle}.a2ui-icon.svg{fill:currentColor}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1237
|
+
`, isInline: true, styles: [".a2ui-icon{display:inline-block;width:var(--a2ui-icon-size, 24px);height:var(--a2ui-icon-size, 24px);font-size:var(--a2ui-icon-size, 24px);font-family:var(--a2ui-icon-font-family, \"Material Icons\");color:var( --a2ui-icon-color, var(--a2ui-text-color-text, var(--a2ui-color-on-background, #333)) );font-variation-settings:var(--a2ui-icon-font-variation-settings, \"FILL\" 1);line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:\"liga\";vertical-align:middle}.a2ui-icon.svg{fill:currentColor}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1328
1238
|
}
|
|
1329
1239
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IconComponent, decorators: [{
|
|
1330
1240
|
type: Component,
|
|
@@ -1338,8 +1248,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1338
1248
|
{{ iconName() }}
|
|
1339
1249
|
</i>
|
|
1340
1250
|
}
|
|
1341
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-icon{display:inline-block;width:var(--a2ui-icon-size, 24px);height:var(--a2ui-icon-size, 24px);font-size:var(--a2ui-icon-size, 24px);font-family:var(--a2ui-icon-font-family, \"Material Icons\");color:var(--a2ui-icon-color, var(--a2ui-text-color-text, var(--a2ui-color-on-background, #333)));font-variation-settings:var(--a2ui-icon-font-variation-settings, \"FILL\" 1);line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:\"liga\";vertical-align:middle}.a2ui-icon.svg{fill:currentColor}\n"] }]
|
|
1342
|
-
}]
|
|
1251
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-icon{display:inline-block;width:var(--a2ui-icon-size, 24px);height:var(--a2ui-icon-size, 24px);font-size:var(--a2ui-icon-size, 24px);font-family:var(--a2ui-icon-font-family, \"Material Icons\");color:var( --a2ui-icon-color, var(--a2ui-text-color-text, var(--a2ui-color-on-background, #333)) );font-variation-settings:var(--a2ui-icon-font-variation-settings, \"FILL\" 1);line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:\"liga\";vertical-align:middle}.a2ui-icon.svg{fill:currentColor}\n"] }]
|
|
1252
|
+
}] });
|
|
1343
1253
|
|
|
1344
1254
|
/**
|
|
1345
1255
|
* Copyright 2026 Google LLC
|
|
@@ -1365,21 +1275,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1365
1275
|
* - `--a2ui-video-border-radius`: Controls the border radius of the video element.
|
|
1366
1276
|
*/
|
|
1367
1277
|
class VideoComponent extends BasicCatalogComponent {
|
|
1368
|
-
/**
|
|
1369
|
-
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
1370
|
-
*
|
|
1371
|
-
* Expected properties:
|
|
1372
|
-
* - `url`: The absolute URL of the video file.
|
|
1373
|
-
* - `posterUrl`: The URL of an image to show before the video starts.
|
|
1374
|
-
*/
|
|
1375
|
-
props = input({}, ...(ngDevMode ? [{ debugName: "props" }] : /* istanbul ignore next */ []));
|
|
1376
|
-
surfaceId = input.required(...(ngDevMode ? [{ debugName: "surfaceId" }] : /* istanbul ignore next */ []));
|
|
1377
|
-
componentId = input(...(ngDevMode ? [undefined, { debugName: "componentId" }] : /* istanbul ignore next */ []));
|
|
1378
|
-
dataContextPath = input('/', ...(ngDevMode ? [{ debugName: "dataContextPath" }] : /* istanbul ignore next */ []));
|
|
1379
1278
|
url = computed$1(() => this.props()['url']?.value(), ...(ngDevMode ? [{ debugName: "url" }] : /* istanbul ignore next */ []));
|
|
1380
1279
|
posterUrl = computed$1(() => this.props()['posterUrl']?.value(), ...(ngDevMode ? [{ debugName: "posterUrl" }] : /* istanbul ignore next */ []));
|
|
1381
1280
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: VideoComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1382
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1281
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.5", type: VideoComponent, isStandalone: true, selector: "a2ui-v09-video", usesInheritance: true, ngImport: i0, template: `
|
|
1383
1282
|
<div class="a2ui-video-container">
|
|
1384
1283
|
<video
|
|
1385
1284
|
[attr.src]="url() || null"
|
|
@@ -1406,7 +1305,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1406
1305
|
</video>
|
|
1407
1306
|
</div>
|
|
1408
1307
|
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-video-container{width:100%;max-width:100%}.a2ui-video{width:100%;height:auto;display:block;border-radius:var(--a2ui-video-border-radius, 0)}\n"] }]
|
|
1409
|
-
}]
|
|
1308
|
+
}] });
|
|
1410
1309
|
|
|
1411
1310
|
/**
|
|
1412
1311
|
* Copyright 2026 Google LLC
|
|
@@ -1434,21 +1333,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1434
1333
|
* - `--a2ui-audioplayer-padding`: Controls the padding. Defaults to `0`.
|
|
1435
1334
|
*/
|
|
1436
1335
|
class AudioPlayerComponent extends BasicCatalogComponent {
|
|
1437
|
-
/**
|
|
1438
|
-
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
1439
|
-
*
|
|
1440
|
-
* Expected properties:
|
|
1441
|
-
* - `url`: The absolute URL of the audio file.
|
|
1442
|
-
* - `description`: Optional text to display above the player.
|
|
1443
|
-
*/
|
|
1444
|
-
props = input({}, ...(ngDevMode ? [{ debugName: "props" }] : /* istanbul ignore next */ []));
|
|
1445
|
-
surfaceId = input(...(ngDevMode ? [undefined, { debugName: "surfaceId" }] : /* istanbul ignore next */ []));
|
|
1446
|
-
componentId = input(...(ngDevMode ? [undefined, { debugName: "componentId" }] : /* istanbul ignore next */ []));
|
|
1447
|
-
dataContextPath = input(...(ngDevMode ? [undefined, { debugName: "dataContextPath" }] : /* istanbul ignore next */ []));
|
|
1448
1336
|
description = computed$1(() => this.props()['description']?.value(), ...(ngDevMode ? [{ debugName: "description" }] : /* istanbul ignore next */ []));
|
|
1449
1337
|
url = computed$1(() => this.props()['url']?.value(), ...(ngDevMode ? [{ debugName: "url" }] : /* istanbul ignore next */ []));
|
|
1450
1338
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: AudioPlayerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1451
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: AudioPlayerComponent, isStandalone: true, selector: "a2ui-v09-audio-player",
|
|
1339
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: AudioPlayerComponent, isStandalone: true, selector: "a2ui-v09-audio-player", usesInheritance: true, ngImport: i0, template: `
|
|
1452
1340
|
<div class="a2ui-audio-player">
|
|
1453
1341
|
@if (description()) {
|
|
1454
1342
|
<div class="a2ui-audio-description">
|
|
@@ -1475,7 +1363,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1475
1363
|
</audio>
|
|
1476
1364
|
</div>
|
|
1477
1365
|
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-audio-player{display:flex;flex-direction:column;gap:var(--a2ui-spacing-xs, .25rem);background:var(--a2ui-audioplayer-background, transparent);border-radius:var(--a2ui-audioplayer-border-radius, 0);padding:var(--a2ui-audioplayer-padding, 0);width:100%}.a2ui-audio-description{font-size:var(--a2ui-font-size-s, .875rem);color:var(--a2ui-text-caption-color, light-dark(#666, #aaa))}.a2ui-audio{width:100%}\n"] }]
|
|
1478
|
-
}]
|
|
1366
|
+
}] });
|
|
1479
1367
|
|
|
1480
1368
|
/**
|
|
1481
1369
|
* Copyright 2026 Google LLC
|
|
@@ -1503,18 +1391,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1503
1391
|
* - `--a2ui-list-padding`: Controls the padding (applied to padding-inline-start).
|
|
1504
1392
|
*/
|
|
1505
1393
|
class ListComponent extends BasicCatalogComponent {
|
|
1506
|
-
/**
|
|
1507
|
-
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
1508
|
-
*
|
|
1509
|
-
* Expected properties:
|
|
1510
|
-
* - `children`: A list of component IDs to render as list items.
|
|
1511
|
-
* - `listStyle`: The type of list ('ordered', 'unordered', 'none').
|
|
1512
|
-
* - `orientation`: The layout direction ('vertical', 'horizontal').
|
|
1513
|
-
*/
|
|
1514
|
-
props = input({}, ...(ngDevMode ? [{ debugName: "props" }] : /* istanbul ignore next */ []));
|
|
1515
|
-
surfaceId = input.required(...(ngDevMode ? [{ debugName: "surfaceId" }] : /* istanbul ignore next */ []));
|
|
1516
|
-
componentId = input(...(ngDevMode ? [undefined, { debugName: "componentId" }] : /* istanbul ignore next */ []));
|
|
1517
|
-
dataContextPath = input('/', ...(ngDevMode ? [{ debugName: "dataContextPath" }] : /* istanbul ignore next */ []));
|
|
1518
1394
|
listStyle = computed$1(() => this.props()['listStyle']?.value(), ...(ngDevMode ? [{ debugName: "listStyle" }] : /* istanbul ignore next */ []));
|
|
1519
1395
|
orientation = computed$1(() => this.props()['orientation']?.value() || 'vertical', ...(ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []));
|
|
1520
1396
|
children = computed$1(() => {
|
|
@@ -1541,16 +1417,13 @@ class ListComponent extends BasicCatalogComponent {
|
|
|
1541
1417
|
*/
|
|
1542
1418
|
trackBy = (index, item) => `${item.basePath}/${item.id}`;
|
|
1543
1419
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1544
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ListComponent, isStandalone: true, selector: "a2ui-v09-list",
|
|
1420
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ListComponent, isStandalone: true, selector: "a2ui-v09-list", usesInheritance: true, ngImport: i0, template: `
|
|
1545
1421
|
@switch (listTag()) {
|
|
1546
1422
|
@case ('ol') {
|
|
1547
1423
|
<ol [class]="'a2ui-list ' + orientation()" [style.list-style-type]="styleType()">
|
|
1548
1424
|
@for (child of children(); track trackBy($index, child)) {
|
|
1549
1425
|
<li>
|
|
1550
|
-
<a2ui-v09-component-host
|
|
1551
|
-
[componentKey]="child"
|
|
1552
|
-
[surfaceId]="surfaceId()"
|
|
1553
|
-
>
|
|
1426
|
+
<a2ui-v09-component-host [componentKey]="child" [surfaceId]="surfaceId()">
|
|
1554
1427
|
</a2ui-v09-component-host>
|
|
1555
1428
|
</li>
|
|
1556
1429
|
}
|
|
@@ -1560,10 +1433,7 @@ class ListComponent extends BasicCatalogComponent {
|
|
|
1560
1433
|
<ul [class]="'a2ui-list ' + orientation()" [style.list-style-type]="styleType()">
|
|
1561
1434
|
@for (child of children(); track trackBy($index, child)) {
|
|
1562
1435
|
<li>
|
|
1563
|
-
<a2ui-v09-component-host
|
|
1564
|
-
[componentKey]="child"
|
|
1565
|
-
[surfaceId]="surfaceId()"
|
|
1566
|
-
>
|
|
1436
|
+
<a2ui-v09-component-host [componentKey]="child" [surfaceId]="surfaceId()">
|
|
1567
1437
|
</a2ui-v09-component-host>
|
|
1568
1438
|
</li>
|
|
1569
1439
|
}
|
|
@@ -1573,10 +1443,7 @@ class ListComponent extends BasicCatalogComponent {
|
|
|
1573
1443
|
<div [class]="'a2ui-list ' + orientation()" style="list-style-type: none;">
|
|
1574
1444
|
@for (child of children(); track trackBy($index, child)) {
|
|
1575
1445
|
<div class="a2ui-list-item-none">
|
|
1576
|
-
<a2ui-v09-component-host
|
|
1577
|
-
[componentKey]="child"
|
|
1578
|
-
[surfaceId]="surfaceId()"
|
|
1579
|
-
>
|
|
1446
|
+
<a2ui-v09-component-host [componentKey]="child" [surfaceId]="surfaceId()">
|
|
1580
1447
|
</a2ui-v09-component-host>
|
|
1581
1448
|
</div>
|
|
1582
1449
|
}
|
|
@@ -1593,10 +1460,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1593
1460
|
<ol [class]="'a2ui-list ' + orientation()" [style.list-style-type]="styleType()">
|
|
1594
1461
|
@for (child of children(); track trackBy($index, child)) {
|
|
1595
1462
|
<li>
|
|
1596
|
-
<a2ui-v09-component-host
|
|
1597
|
-
[componentKey]="child"
|
|
1598
|
-
[surfaceId]="surfaceId()"
|
|
1599
|
-
>
|
|
1463
|
+
<a2ui-v09-component-host [componentKey]="child" [surfaceId]="surfaceId()">
|
|
1600
1464
|
</a2ui-v09-component-host>
|
|
1601
1465
|
</li>
|
|
1602
1466
|
}
|
|
@@ -1606,10 +1470,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1606
1470
|
<ul [class]="'a2ui-list ' + orientation()" [style.list-style-type]="styleType()">
|
|
1607
1471
|
@for (child of children(); track trackBy($index, child)) {
|
|
1608
1472
|
<li>
|
|
1609
|
-
<a2ui-v09-component-host
|
|
1610
|
-
[componentKey]="child"
|
|
1611
|
-
[surfaceId]="surfaceId()"
|
|
1612
|
-
>
|
|
1473
|
+
<a2ui-v09-component-host [componentKey]="child" [surfaceId]="surfaceId()">
|
|
1613
1474
|
</a2ui-v09-component-host>
|
|
1614
1475
|
</li>
|
|
1615
1476
|
}
|
|
@@ -1619,10 +1480,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1619
1480
|
<div [class]="'a2ui-list ' + orientation()" style="list-style-type: none;">
|
|
1620
1481
|
@for (child of children(); track trackBy($index, child)) {
|
|
1621
1482
|
<div class="a2ui-list-item-none">
|
|
1622
|
-
<a2ui-v09-component-host
|
|
1623
|
-
[componentKey]="child"
|
|
1624
|
-
[surfaceId]="surfaceId()"
|
|
1625
|
-
>
|
|
1483
|
+
<a2ui-v09-component-host [componentKey]="child" [surfaceId]="surfaceId()">
|
|
1626
1484
|
</a2ui-v09-component-host>
|
|
1627
1485
|
</div>
|
|
1628
1486
|
}
|
|
@@ -1630,7 +1488,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1630
1488
|
}
|
|
1631
1489
|
}
|
|
1632
1490
|
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-list{display:flex;padding-inline-start:var(--a2ui-list-padding, var(--a2ui-spacing-l, 24px));margin:0}.a2ui-list.vertical{flex-direction:column;gap:var(--a2ui-list-gap, var(--a2ui-spacing-s, 8px))}.a2ui-list.horizontal{flex-direction:row;gap:var(--a2ui-list-gap, var(--a2ui-spacing-m, 16px));list-style-position:inside}.a2ui-list-item-none{display:block}.horizontal .a2ui-list-item-none{display:inline-block}\n"] }]
|
|
1633
|
-
}]
|
|
1491
|
+
}] });
|
|
1634
1492
|
|
|
1635
1493
|
/**
|
|
1636
1494
|
* Copyright 2026 Google LLC
|
|
@@ -1661,44 +1519,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1661
1519
|
* - `--a2ui-card-margin`: Controls the margin.
|
|
1662
1520
|
*/
|
|
1663
1521
|
class CardComponent extends BasicCatalogComponent {
|
|
1664
|
-
/**
|
|
1665
|
-
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
1666
|
-
*
|
|
1667
|
-
* Expected properties:
|
|
1668
|
-
* - `child`: The component ID to render inside the card.
|
|
1669
|
-
*/
|
|
1670
|
-
props = input({}, ...(ngDevMode ? [{ debugName: "props" }] : /* istanbul ignore next */ []));
|
|
1671
|
-
surfaceId = input.required(...(ngDevMode ? [{ debugName: "surfaceId" }] : /* istanbul ignore next */ []));
|
|
1672
|
-
componentId = input(...(ngDevMode ? [undefined, { debugName: "componentId" }] : /* istanbul ignore next */ []));
|
|
1673
|
-
dataContextPath = input('/', ...(ngDevMode ? [{ debugName: "dataContextPath" }] : /* istanbul ignore next */ []));
|
|
1674
1522
|
child = computed$1(() => this.props()['child']?.value(), ...(ngDevMode ? [{ debugName: "child" }] : /* istanbul ignore next */ []));
|
|
1675
1523
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CardComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1676
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: CardComponent, isStandalone: true, selector: "a2ui-v09-card",
|
|
1524
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: CardComponent, isStandalone: true, selector: "a2ui-v09-card", usesInheritance: true, ngImport: i0, template: `
|
|
1677
1525
|
<div class="a2ui-card">
|
|
1678
1526
|
@if (child()) {
|
|
1679
|
-
<a2ui-v09-component-host
|
|
1680
|
-
[componentKey]="child()!"
|
|
1681
|
-
[surfaceId]="surfaceId()"
|
|
1682
|
-
>
|
|
1527
|
+
<a2ui-v09-component-host [componentKey]="child()!" [surfaceId]="surfaceId()">
|
|
1683
1528
|
</a2ui-v09-component-host>
|
|
1684
1529
|
}
|
|
1685
1530
|
</div>
|
|
1686
|
-
`, isInline: true, styles: [".a2ui-card{padding:var(--a2ui-card-padding, var(--a2ui-spacing-m, 16px));border-radius:var(--a2ui-card-border-radius, var(--a2ui-border-radius, 8px));box-shadow:var(--a2ui-card-box-shadow, 0 2px 4px rgba(0,0,0
|
|
1531
|
+
`, isInline: true, styles: [".a2ui-card{padding:var(--a2ui-card-padding, var(--a2ui-spacing-m, 16px));border-radius:var(--a2ui-card-border-radius, var(--a2ui-border-radius, 8px));box-shadow:var(--a2ui-card-box-shadow, 0 2px 4px rgba(0, 0, 0, .1));background-color:var(--a2ui-card-background, var(--a2ui-color-surface, #fff));border:var( --a2ui-card-border, var(--a2ui-border-width, 1px) solid var(--a2ui-color-border, #ccc) );margin:var(--a2ui-card-margin, var(--a2ui-spacing-m, 16px))}\n"], dependencies: [{ kind: "component", type: ComponentHostComponent, selector: "a2ui-v09-component-host", inputs: ["componentKey", "surfaceId"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1687
1532
|
}
|
|
1688
1533
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CardComponent, decorators: [{
|
|
1689
1534
|
type: Component,
|
|
1690
1535
|
args: [{ selector: 'a2ui-v09-card', standalone: true, imports: [ComponentHostComponent], template: `
|
|
1691
1536
|
<div class="a2ui-card">
|
|
1692
1537
|
@if (child()) {
|
|
1693
|
-
<a2ui-v09-component-host
|
|
1694
|
-
[componentKey]="child()!"
|
|
1695
|
-
[surfaceId]="surfaceId()"
|
|
1696
|
-
>
|
|
1538
|
+
<a2ui-v09-component-host [componentKey]="child()!" [surfaceId]="surfaceId()">
|
|
1697
1539
|
</a2ui-v09-component-host>
|
|
1698
1540
|
}
|
|
1699
1541
|
</div>
|
|
1700
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-card{padding:var(--a2ui-card-padding, var(--a2ui-spacing-m, 16px));border-radius:var(--a2ui-card-border-radius, var(--a2ui-border-radius, 8px));box-shadow:var(--a2ui-card-box-shadow, 0 2px 4px rgba(0,0,0
|
|
1701
|
-
}]
|
|
1542
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-card{padding:var(--a2ui-card-padding, var(--a2ui-spacing-m, 16px));border-radius:var(--a2ui-card-border-radius, var(--a2ui-border-radius, 8px));box-shadow:var(--a2ui-card-box-shadow, 0 2px 4px rgba(0, 0, 0, .1));background-color:var(--a2ui-card-background, var(--a2ui-color-surface, #fff));border:var( --a2ui-card-border, var(--a2ui-border-width, 1px) solid var(--a2ui-color-border, #ccc) );margin:var(--a2ui-card-margin, var(--a2ui-spacing-m, 16px))}\n"] }]
|
|
1543
|
+
}] });
|
|
1702
1544
|
|
|
1703
1545
|
/**
|
|
1704
1546
|
* Copyright 2026 Google LLC
|
|
@@ -1730,16 +1572,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1730
1572
|
* - `--a2ui-tabs-content-padding`: Controls the padding of the tab content.
|
|
1731
1573
|
*/
|
|
1732
1574
|
class TabsComponent extends BasicCatalogComponent {
|
|
1733
|
-
/**
|
|
1734
|
-
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
1735
|
-
*
|
|
1736
|
-
* Expected properties:
|
|
1737
|
-
* - `tabs`: A list of tab objects, each containing a `label` and `content` ID.
|
|
1738
|
-
*/
|
|
1739
|
-
props = input({}, ...(ngDevMode ? [{ debugName: "props" }] : /* istanbul ignore next */ []));
|
|
1740
|
-
surfaceId = input.required(...(ngDevMode ? [{ debugName: "surfaceId" }] : /* istanbul ignore next */ []));
|
|
1741
|
-
componentId = input(...(ngDevMode ? [undefined, { debugName: "componentId" }] : /* istanbul ignore next */ []));
|
|
1742
|
-
dataContextPath = input('/', ...(ngDevMode ? [{ debugName: "dataContextPath" }] : /* istanbul ignore next */ []));
|
|
1743
1575
|
activeTabIndex = signal(0, ...(ngDevMode ? [{ debugName: "activeTabIndex" }] : /* istanbul ignore next */ []));
|
|
1744
1576
|
tabs = computed$1(() => this.props()['tabs']?.value() || [], ...(ngDevMode ? [{ debugName: "tabs" }] : /* istanbul ignore next */ []));
|
|
1745
1577
|
activeTab = computed$1(() => this.tabs()[this.activeTabIndex()], ...(ngDevMode ? [{ debugName: "activeTab" }] : /* istanbul ignore next */ []));
|
|
@@ -1756,7 +1588,7 @@ class TabsComponent extends BasicCatalogComponent {
|
|
|
1756
1588
|
this.activeTabIndex.set(index);
|
|
1757
1589
|
}
|
|
1758
1590
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TabsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1759
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: TabsComponent, isStandalone: true, selector: "a2ui-v09-tabs",
|
|
1591
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: TabsComponent, isStandalone: true, selector: "a2ui-v09-tabs", usesInheritance: true, ngImport: i0, template: `
|
|
1760
1592
|
<div class="a2ui-tabs">
|
|
1761
1593
|
<div class="a2ui-tab-bar">
|
|
1762
1594
|
@for (tab of tabs(); track tab; let i = $index) {
|
|
@@ -1807,7 +1639,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1807
1639
|
}
|
|
1808
1640
|
</div>
|
|
1809
1641
|
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-tabs{display:flex;flex-direction:column;width:100%}.a2ui-tab-bar{display:flex;border-bottom:var(--a2ui-tabs-border, 2px solid var(--a2ui-color-border, #eee));gap:var(--a2ui-spacing-m, 16px)}.a2ui-tab-button{padding:var(--a2ui-spacing-s, 8px) var(--a2ui-spacing-m, 16px);border:none;background:var(--a2ui-tabs-header-background, transparent);cursor:pointer;font-weight:500;color:var(--a2ui-tabs-header-color, var(--a2ui-text-caption-color, #666));border-bottom:2px solid transparent;margin-bottom:-2px}.a2ui-tab-button.active{background:var(--a2ui-tabs-header-background-active, transparent);color:var(--a2ui-tabs-header-color-active, var(--a2ui-color-primary, #007bff));border-bottom:2px solid var(--a2ui-color-primary, #007bff)}.a2ui-tab-content{padding:var(--a2ui-tabs-content-padding, var(--a2ui-spacing-m, 16px) 0)}\n"] }]
|
|
1810
|
-
}]
|
|
1642
|
+
}] });
|
|
1811
1643
|
|
|
1812
1644
|
/**
|
|
1813
1645
|
* Copyright 2026 Google LLC
|
|
@@ -1837,17 +1669,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1837
1669
|
* - `--a2ui-modal-backdrop-bg`: Controls the background of the backdrop.
|
|
1838
1670
|
*/
|
|
1839
1671
|
class ModalComponent extends BasicCatalogComponent {
|
|
1840
|
-
/**
|
|
1841
|
-
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
1842
|
-
*
|
|
1843
|
-
* Expected properties:
|
|
1844
|
-
* - `trigger`: The ID of the component that opens the modal.
|
|
1845
|
-
* - `content`: The ID of the component to display inside the modal.
|
|
1846
|
-
*/
|
|
1847
|
-
props = input({}, ...(ngDevMode ? [{ debugName: "props" }] : /* istanbul ignore next */ []));
|
|
1848
|
-
surfaceId = input.required(...(ngDevMode ? [{ debugName: "surfaceId" }] : /* istanbul ignore next */ []));
|
|
1849
|
-
componentId = input(...(ngDevMode ? [undefined, { debugName: "componentId" }] : /* istanbul ignore next */ []));
|
|
1850
|
-
dataContextPath = input('/', ...(ngDevMode ? [{ debugName: "dataContextPath" }] : /* istanbul ignore next */ []));
|
|
1851
1672
|
isOpen = signal(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []));
|
|
1852
1673
|
trigger = computed$1(() => this.props()['trigger']?.value(), ...(ngDevMode ? [{ debugName: "trigger" }] : /* istanbul ignore next */ []));
|
|
1853
1674
|
content = computed$1(() => this.props()['content']?.value(), ...(ngDevMode ? [{ debugName: "content" }] : /* istanbul ignore next */ []));
|
|
@@ -1858,14 +1679,11 @@ class ModalComponent extends BasicCatalogComponent {
|
|
|
1858
1679
|
this.isOpen.set(false);
|
|
1859
1680
|
}
|
|
1860
1681
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ModalComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1861
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ModalComponent, isStandalone: true, selector: "a2ui-v09-modal",
|
|
1682
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ModalComponent, isStandalone: true, selector: "a2ui-v09-modal", usesInheritance: true, ngImport: i0, template: `
|
|
1862
1683
|
<div class="a2ui-modal-wrapper">
|
|
1863
1684
|
<div (click)="openModal()" class="a2ui-modal-trigger">
|
|
1864
1685
|
@if (trigger()) {
|
|
1865
|
-
<a2ui-v09-component-host
|
|
1866
|
-
[componentKey]="trigger()!"
|
|
1867
|
-
[surfaceId]="surfaceId()"
|
|
1868
|
-
>
|
|
1686
|
+
<a2ui-v09-component-host [componentKey]="trigger()!" [surfaceId]="surfaceId()">
|
|
1869
1687
|
</a2ui-v09-component-host>
|
|
1870
1688
|
}
|
|
1871
1689
|
</div>
|
|
@@ -1875,10 +1693,7 @@ class ModalComponent extends BasicCatalogComponent {
|
|
|
1875
1693
|
<div class="a2ui-modal-content" (click)="$event.stopPropagation()">
|
|
1876
1694
|
<button class="a2ui-modal-close" (click)="closeModal()">×</button>
|
|
1877
1695
|
@if (content()) {
|
|
1878
|
-
<a2ui-v09-component-host
|
|
1879
|
-
[componentKey]="content()!"
|
|
1880
|
-
[surfaceId]="surfaceId()"
|
|
1881
|
-
>
|
|
1696
|
+
<a2ui-v09-component-host [componentKey]="content()!" [surfaceId]="surfaceId()">
|
|
1882
1697
|
</a2ui-v09-component-host>
|
|
1883
1698
|
}
|
|
1884
1699
|
</div>
|
|
@@ -1893,10 +1708,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1893
1708
|
<div class="a2ui-modal-wrapper">
|
|
1894
1709
|
<div (click)="openModal()" class="a2ui-modal-trigger">
|
|
1895
1710
|
@if (trigger()) {
|
|
1896
|
-
<a2ui-v09-component-host
|
|
1897
|
-
[componentKey]="trigger()!"
|
|
1898
|
-
[surfaceId]="surfaceId()"
|
|
1899
|
-
>
|
|
1711
|
+
<a2ui-v09-component-host [componentKey]="trigger()!" [surfaceId]="surfaceId()">
|
|
1900
1712
|
</a2ui-v09-component-host>
|
|
1901
1713
|
}
|
|
1902
1714
|
</div>
|
|
@@ -1906,10 +1718,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1906
1718
|
<div class="a2ui-modal-content" (click)="$event.stopPropagation()">
|
|
1907
1719
|
<button class="a2ui-modal-close" (click)="closeModal()">×</button>
|
|
1908
1720
|
@if (content()) {
|
|
1909
|
-
<a2ui-v09-component-host
|
|
1910
|
-
[componentKey]="content()!"
|
|
1911
|
-
[surfaceId]="surfaceId()"
|
|
1912
|
-
>
|
|
1721
|
+
<a2ui-v09-component-host [componentKey]="content()!" [surfaceId]="surfaceId()">
|
|
1913
1722
|
</a2ui-v09-component-host>
|
|
1914
1723
|
}
|
|
1915
1724
|
</div>
|
|
@@ -1917,7 +1726,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1917
1726
|
}
|
|
1918
1727
|
</div>
|
|
1919
1728
|
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-modal-wrapper{display:inline-block}.a2ui-modal-trigger{cursor:pointer}.a2ui-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--a2ui-modal-backdrop-bg, rgba(0, 0, 0, .5));display:flex;justify-content:center;align-items:center;z-index:1000}.a2ui-modal-content{background:var(--a2ui-modal-background, var(--a2ui-color-surface, white));padding:var(--a2ui-modal-padding, var(--a2ui-spacing-xl, 32px));border-radius:var(--a2ui-modal-border-radius, var(--a2ui-border-radius, 8px));position:relative;min-width:300px;max-width:80%;max-height:80%;overflow-y:auto;box-shadow:var(--a2ui-modal-box-shadow, 0 10px 25px rgba(0, 0, 0, .2))}.a2ui-modal-close{position:absolute;top:10px;right:15px;border:none;background:none;font-size:24px;cursor:pointer;color:var(--a2ui-text-caption-color, #999)}.a2ui-modal-close:hover{color:var(--a2ui-text-color, #333)}\n"] }]
|
|
1920
|
-
}]
|
|
1729
|
+
}] });
|
|
1921
1730
|
|
|
1922
1731
|
/**
|
|
1923
1732
|
* Copyright 2026 Google LLC
|
|
@@ -1944,25 +1753,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1944
1753
|
* - `--a2ui-divider-spacing`: Controls the margin around the divider.
|
|
1945
1754
|
*/
|
|
1946
1755
|
class DividerComponent extends BasicCatalogComponent {
|
|
1947
|
-
/**
|
|
1948
|
-
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
1949
|
-
*
|
|
1950
|
-
* Expected properties:
|
|
1951
|
-
* - `axis`: The orientation of the divider ('horizontal' (default) or 'vertical').
|
|
1952
|
-
*/
|
|
1953
|
-
props = input({}, ...(ngDevMode ? [{ debugName: "props" }] : /* istanbul ignore next */ []));
|
|
1954
|
-
surfaceId = input.required(...(ngDevMode ? [{ debugName: "surfaceId" }] : /* istanbul ignore next */ []));
|
|
1955
|
-
componentId = input(...(ngDevMode ? [undefined, { debugName: "componentId" }] : /* istanbul ignore next */ []));
|
|
1956
|
-
dataContextPath = input('/', ...(ngDevMode ? [{ debugName: "dataContextPath" }] : /* istanbul ignore next */ []));
|
|
1957
1756
|
axis = computed$1(() => this.props()['axis']?.value() ?? 'horizontal', ...(ngDevMode ? [{ debugName: "axis" }] : /* istanbul ignore next */ []));
|
|
1958
1757
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: DividerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1959
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1758
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.5", type: DividerComponent, isStandalone: true, selector: "a2ui-v09-divider", host: { properties: { "style.display": "\"block\"", "style.width": "axis() === \"horizontal\" ? \"100%\" : \"auto\"" } }, usesInheritance: true, ngImport: i0, template: `
|
|
1960
1759
|
<hr
|
|
1961
1760
|
class="a2ui-divider"
|
|
1962
1761
|
[class.horizontal]="axis() === 'horizontal'"
|
|
1963
1762
|
[class.vertical]="axis() === 'vertical'"
|
|
1964
1763
|
/>
|
|
1965
|
-
`, isInline: true, styles: [".a2ui-divider{border:0;border-top:var(--a2ui-divider-border, var(--a2ui-border-width, 1px) solid var(--a2ui-color-border, #ccc));margin:var(--a2ui-divider-spacing, var(--a2ui-spacing-m, 16px)) 0;width:100%}.a2ui-divider.vertical{width:var(--a2ui-border-width, 1px);height:100%;margin:0 var(--a2ui-divider-spacing, var(--a2ui-spacing-m, 16px));border-top:0;border-left:var(--a2ui-divider-border, var(--a2ui-border-width, 1px) solid var(--a2ui-color-border, #ccc))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1764
|
+
`, isInline: true, styles: [".a2ui-divider{border:0;border-top:var( --a2ui-divider-border, var(--a2ui-border-width, 1px) solid var(--a2ui-color-border, #ccc) );margin:var(--a2ui-divider-spacing, var(--a2ui-spacing-m, 16px)) 0;width:100%}.a2ui-divider.vertical{width:var(--a2ui-border-width, 1px);height:100%;margin:0 var(--a2ui-divider-spacing, var(--a2ui-spacing-m, 16px));border-top:0;border-left:var( --a2ui-divider-border, var(--a2ui-border-width, 1px) solid var(--a2ui-color-border, #ccc) )}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1966
1765
|
}
|
|
1967
1766
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: DividerComponent, decorators: [{
|
|
1968
1767
|
type: Component,
|
|
@@ -1975,8 +1774,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1975
1774
|
[class.horizontal]="axis() === 'horizontal'"
|
|
1976
1775
|
[class.vertical]="axis() === 'vertical'"
|
|
1977
1776
|
/>
|
|
1978
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-divider{border:0;border-top:var(--a2ui-divider-border, var(--a2ui-border-width, 1px) solid var(--a2ui-color-border, #ccc));margin:var(--a2ui-divider-spacing, var(--a2ui-spacing-m, 16px)) 0;width:100%}.a2ui-divider.vertical{width:var(--a2ui-border-width, 1px);height:100%;margin:0 var(--a2ui-divider-spacing, var(--a2ui-spacing-m, 16px));border-top:0;border-left:var(--a2ui-divider-border, var(--a2ui-border-width, 1px) solid var(--a2ui-color-border, #ccc))}\n"] }]
|
|
1979
|
-
}]
|
|
1777
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-divider{border:0;border-top:var( --a2ui-divider-border, var(--a2ui-border-width, 1px) solid var(--a2ui-color-border, #ccc) );margin:var(--a2ui-divider-spacing, var(--a2ui-spacing-m, 16px)) 0;width:100%}.a2ui-divider.vertical{width:var(--a2ui-border-width, 1px);height:100%;margin:0 var(--a2ui-divider-spacing, var(--a2ui-spacing-m, 16px));border-top:0;border-left:var( --a2ui-divider-border, var(--a2ui-border-width, 1px) solid var(--a2ui-color-border, #ccc) )}\n"] }]
|
|
1778
|
+
}] });
|
|
1980
1779
|
|
|
1981
1780
|
/**
|
|
1982
1781
|
* Copyright 2026 Google LLC
|
|
@@ -2011,17 +1810,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
2011
1810
|
* - `--a2ui-checkbox-color-error`: Controls the color for error states.
|
|
2012
1811
|
*/
|
|
2013
1812
|
class CheckBoxComponent extends BasicCatalogComponent {
|
|
2014
|
-
/**
|
|
2015
|
-
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
2016
|
-
*
|
|
2017
|
-
* Expected properties:
|
|
2018
|
-
* - `label`: The text to display next to the checkbox.
|
|
2019
|
-
* - `value`: Boolean indicating whether the checkbox is checked.
|
|
2020
|
-
*/
|
|
2021
|
-
props = input({}, ...(ngDevMode ? [{ debugName: "props" }] : /* istanbul ignore next */ []));
|
|
2022
|
-
surfaceId = input.required(...(ngDevMode ? [{ debugName: "surfaceId" }] : /* istanbul ignore next */ []));
|
|
2023
|
-
componentId = input(...(ngDevMode ? [undefined, { debugName: "componentId" }] : /* istanbul ignore next */ []));
|
|
2024
|
-
dataContextPath = input('/', ...(ngDevMode ? [{ debugName: "dataContextPath" }] : /* istanbul ignore next */ []));
|
|
2025
1813
|
value = computed$1(() => this.props()['value']?.value() === true, ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
|
|
2026
1814
|
label = computed$1(() => this.props()['label']?.value(), ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
|
|
2027
1815
|
handleChange(event) {
|
|
@@ -2029,7 +1817,7 @@ class CheckBoxComponent extends BasicCatalogComponent {
|
|
|
2029
1817
|
this.props()['value']?.onUpdate(checked);
|
|
2030
1818
|
}
|
|
2031
1819
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CheckBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2032
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1820
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.5", type: CheckBoxComponent, isStandalone: true, selector: "a2ui-v09-check-box", usesInheritance: true, ngImport: i0, template: `
|
|
2033
1821
|
<label class="a2ui-check-box-label">
|
|
2034
1822
|
<input
|
|
2035
1823
|
type="checkbox"
|
|
@@ -2039,7 +1827,7 @@ class CheckBoxComponent extends BasicCatalogComponent {
|
|
|
2039
1827
|
/>
|
|
2040
1828
|
<span class="a2ui-check-box-text">{{ label() }}</span>
|
|
2041
1829
|
</label>
|
|
2042
|
-
`, isInline: true, styles: [".a2ui-check-box-label{display:flex;align-items:center;gap:var(--a2ui-checkbox-gap, var(--a2ui-spacing-s, .5rem));cursor:pointer;padding:4px 0;margin:var(--a2ui-checkbox-margin, var(--a2ui-spacing-m, 16px));color:var(--a2ui-text-color-text, var(--a2ui-color-on-background, #333))}.a2ui-check-box-input{width:var(--a2ui-checkbox-size, 1rem);height:var(--a2ui-checkbox-size, 1rem);cursor:pointer;background:var(--a2ui-checkbox-background, inherit);border:var(--a2ui-checkbox-border, var(--a2ui-border-width, 1px) solid #ccc);border-radius:var(--a2ui-checkbox-border-radius, 4px)}.a2ui-check-box-text{font-size:var(--a2ui-checkbox-label-font-size, var(--a2ui-label-font-size, var(--a2ui-font-size-s, 16px)));font-weight:var(--a2ui-checkbox-label-font-weight, bold)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1830
|
+
`, isInline: true, styles: [".a2ui-check-box-label{display:flex;align-items:center;gap:var(--a2ui-checkbox-gap, var(--a2ui-spacing-s, .5rem));cursor:pointer;padding:4px 0;margin:var(--a2ui-checkbox-margin, var(--a2ui-spacing-m, 16px));color:var(--a2ui-text-color-text, var(--a2ui-color-on-background, #333))}.a2ui-check-box-input{width:var(--a2ui-checkbox-size, 1rem);height:var(--a2ui-checkbox-size, 1rem);cursor:pointer;background:var(--a2ui-checkbox-background, inherit);border:var(--a2ui-checkbox-border, var(--a2ui-border-width, 1px) solid #ccc);border-radius:var(--a2ui-checkbox-border-radius, 4px)}.a2ui-check-box-text{font-size:var( --a2ui-checkbox-label-font-size, var(--a2ui-label-font-size, var(--a2ui-font-size-s, 16px)) );font-weight:var(--a2ui-checkbox-label-font-weight, bold)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2043
1831
|
}
|
|
2044
1832
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CheckBoxComponent, decorators: [{
|
|
2045
1833
|
type: Component,
|
|
@@ -2053,8 +1841,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
2053
1841
|
/>
|
|
2054
1842
|
<span class="a2ui-check-box-text">{{ label() }}</span>
|
|
2055
1843
|
</label>
|
|
2056
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-check-box-label{display:flex;align-items:center;gap:var(--a2ui-checkbox-gap, var(--a2ui-spacing-s, .5rem));cursor:pointer;padding:4px 0;margin:var(--a2ui-checkbox-margin, var(--a2ui-spacing-m, 16px));color:var(--a2ui-text-color-text, var(--a2ui-color-on-background, #333))}.a2ui-check-box-input{width:var(--a2ui-checkbox-size, 1rem);height:var(--a2ui-checkbox-size, 1rem);cursor:pointer;background:var(--a2ui-checkbox-background, inherit);border:var(--a2ui-checkbox-border, var(--a2ui-border-width, 1px) solid #ccc);border-radius:var(--a2ui-checkbox-border-radius, 4px)}.a2ui-check-box-text{font-size:var(--a2ui-checkbox-label-font-size, var(--a2ui-label-font-size, var(--a2ui-font-size-s, 16px)));font-weight:var(--a2ui-checkbox-label-font-weight, bold)}\n"] }]
|
|
2057
|
-
}]
|
|
1844
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-check-box-label{display:flex;align-items:center;gap:var(--a2ui-checkbox-gap, var(--a2ui-spacing-s, .5rem));cursor:pointer;padding:4px 0;margin:var(--a2ui-checkbox-margin, var(--a2ui-spacing-m, 16px));color:var(--a2ui-text-color-text, var(--a2ui-color-on-background, #333))}.a2ui-check-box-input{width:var(--a2ui-checkbox-size, 1rem);height:var(--a2ui-checkbox-size, 1rem);cursor:pointer;background:var(--a2ui-checkbox-background, inherit);border:var(--a2ui-checkbox-border, var(--a2ui-border-width, 1px) solid #ccc);border-radius:var(--a2ui-checkbox-border-radius, 4px)}.a2ui-check-box-text{font-size:var( --a2ui-checkbox-label-font-size, var(--a2ui-label-font-size, var(--a2ui-font-size-s, 16px)) );font-weight:var(--a2ui-checkbox-label-font-weight, bold)}\n"] }]
|
|
1845
|
+
}] });
|
|
2058
1846
|
|
|
2059
1847
|
/**
|
|
2060
1848
|
* Copyright 2026 Google LLC
|
|
@@ -2088,19 +1876,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
2088
1876
|
* - `--a2ui-choicepicker-chip-background-selected`: Controls background of selected chips.
|
|
2089
1877
|
*/
|
|
2090
1878
|
class ChoicePickerComponent extends BasicCatalogComponent {
|
|
2091
|
-
/**
|
|
2092
|
-
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
2093
|
-
*
|
|
2094
|
-
* Expected properties:
|
|
2095
|
-
* - `value`: The currently selected value(s).
|
|
2096
|
-
* - `choices` or `options`: List of choice objects (label and value).
|
|
2097
|
-
* - `displayStyle`: How to render the choices ('default' or 'chips').
|
|
2098
|
-
* - `variant`: Selection mode ('singleSelection' or 'multipleSelection').
|
|
2099
|
-
*/
|
|
2100
|
-
props = input({}, ...(ngDevMode ? [{ debugName: "props" }] : /* istanbul ignore next */ []));
|
|
2101
|
-
surfaceId = input.required(...(ngDevMode ? [{ debugName: "surfaceId" }] : /* istanbul ignore next */ []));
|
|
2102
|
-
componentId = input(...(ngDevMode ? [undefined, { debugName: "componentId" }] : /* istanbul ignore next */ []));
|
|
2103
|
-
dataContextPath = input('/', ...(ngDevMode ? [{ debugName: "dataContextPath" }] : /* istanbul ignore next */ []));
|
|
2104
1879
|
displayStyle = computed$1(() => this.props()['displayStyle']?.value(), ...(ngDevMode ? [{ debugName: "displayStyle" }] : /* istanbul ignore next */ []));
|
|
2105
1880
|
choices = computed$1(() => this.props()['choices']?.value() || this.props()['options']?.value() || [], ...(ngDevMode ? [{ debugName: "choices" }] : /* istanbul ignore next */ []));
|
|
2106
1881
|
variant = computed$1(() => this.props()['variant']?.value(), ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
|
|
@@ -2143,7 +1918,7 @@ class ChoicePickerComponent extends BasicCatalogComponent {
|
|
|
2143
1918
|
}
|
|
2144
1919
|
}
|
|
2145
1920
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ChoicePickerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2146
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ChoicePickerComponent, isStandalone: true, selector: "a2ui-v09-choice-picker",
|
|
1921
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ChoicePickerComponent, isStandalone: true, selector: "a2ui-v09-choice-picker", usesInheritance: true, ngImport: i0, template: `
|
|
2147
1922
|
<div class="a2ui-choice-picker">
|
|
2148
1923
|
<!-- Chips Variant -->
|
|
2149
1924
|
@if (displayStyle() === 'chips') {
|
|
@@ -2177,7 +1952,7 @@ class ChoicePickerComponent extends BasicCatalogComponent {
|
|
|
2177
1952
|
</div>
|
|
2178
1953
|
}
|
|
2179
1954
|
</div>
|
|
2180
|
-
`, isInline: true, styles: [".a2ui-choice-picker{width:100%;padding:var(--a2ui-choicepicker-padding, 0)}.a2ui-options-group{display:flex;flex-direction:column;gap:var(--a2ui-choicepicker-gap, var(--a2ui-spacing-xs, .25rem))}.a2ui-option-label{display:flex;align-items:center;gap:var(--a2ui-choicepicker-gap, var(--a2ui-spacing-xs, .25rem));cursor:pointer;color:var(--a2ui-text-color-text, var(--a2ui-color-on-background, #333))}.a2ui-option-input{width:var(--a2ui-choicepicker-checkbox-size, 1rem);height:var(--a2ui-choicepicker-checkbox-size, 1rem)}.a2ui-chips-group{display:flex;flex-wrap:wrap;gap:var(--a2ui-choicepicker-gap, var(--a2ui-spacing-xs, .25rem))}.a2ui-chip{padding:var(--a2ui-choicepicker-chip-padding, var(--a2ui-spacing-s, .5rem) var(--a2ui-spacing-m, 1rem));border-radius:var(--a2ui-choicepicker-chip-border-radius, 100px);border:var(--a2ui-choicepicker-chip-border, 1px solid var(--a2ui-color-border, #ccc));background:var(--a2ui-choicepicker-chip-background, var(--a2ui-color-surface, #fff));cursor:pointer;transition:all .2s}.a2ui-chip.active{background-color:var(--a2ui-choicepicker-chip-background-selected, var(--a2ui-color-primary, #17e));color:var(--a2ui-color-on-primary, #fff);border-color:var(--a2ui-choicepicker-chip-background-selected, var(--a2ui-color-primary, #17e))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1955
|
+
`, isInline: true, styles: [".a2ui-choice-picker{width:100%;padding:var(--a2ui-choicepicker-padding, 0)}.a2ui-options-group{display:flex;flex-direction:column;gap:var(--a2ui-choicepicker-gap, var(--a2ui-spacing-xs, .25rem))}.a2ui-option-label{display:flex;align-items:center;gap:var(--a2ui-choicepicker-gap, var(--a2ui-spacing-xs, .25rem));cursor:pointer;color:var(--a2ui-text-color-text, var(--a2ui-color-on-background, #333))}.a2ui-option-input{width:var(--a2ui-choicepicker-checkbox-size, 1rem);height:var(--a2ui-choicepicker-checkbox-size, 1rem)}.a2ui-chips-group{display:flex;flex-wrap:wrap;gap:var(--a2ui-choicepicker-gap, var(--a2ui-spacing-xs, .25rem))}.a2ui-chip{padding:var( --a2ui-choicepicker-chip-padding, var(--a2ui-spacing-s, .5rem) var(--a2ui-spacing-m, 1rem) );border-radius:var(--a2ui-choicepicker-chip-border-radius, 100px);border:var(--a2ui-choicepicker-chip-border, 1px solid var(--a2ui-color-border, #ccc));background:var(--a2ui-choicepicker-chip-background, var(--a2ui-color-surface, #fff));cursor:pointer;transition:all .2s}.a2ui-chip.active{background-color:var( --a2ui-choicepicker-chip-background-selected, var(--a2ui-color-primary, #17e) );color:var(--a2ui-color-on-primary, #fff);border-color:var( --a2ui-choicepicker-chip-background-selected, var(--a2ui-color-primary, #17e) )}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2181
1956
|
}
|
|
2182
1957
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ChoicePickerComponent, decorators: [{
|
|
2183
1958
|
type: Component,
|
|
@@ -2215,8 +1990,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
2215
1990
|
</div>
|
|
2216
1991
|
}
|
|
2217
1992
|
</div>
|
|
2218
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-choice-picker{width:100%;padding:var(--a2ui-choicepicker-padding, 0)}.a2ui-options-group{display:flex;flex-direction:column;gap:var(--a2ui-choicepicker-gap, var(--a2ui-spacing-xs, .25rem))}.a2ui-option-label{display:flex;align-items:center;gap:var(--a2ui-choicepicker-gap, var(--a2ui-spacing-xs, .25rem));cursor:pointer;color:var(--a2ui-text-color-text, var(--a2ui-color-on-background, #333))}.a2ui-option-input{width:var(--a2ui-choicepicker-checkbox-size, 1rem);height:var(--a2ui-choicepicker-checkbox-size, 1rem)}.a2ui-chips-group{display:flex;flex-wrap:wrap;gap:var(--a2ui-choicepicker-gap, var(--a2ui-spacing-xs, .25rem))}.a2ui-chip{padding:var(--a2ui-choicepicker-chip-padding, var(--a2ui-spacing-s, .5rem) var(--a2ui-spacing-m, 1rem));border-radius:var(--a2ui-choicepicker-chip-border-radius, 100px);border:var(--a2ui-choicepicker-chip-border, 1px solid var(--a2ui-color-border, #ccc));background:var(--a2ui-choicepicker-chip-background, var(--a2ui-color-surface, #fff));cursor:pointer;transition:all .2s}.a2ui-chip.active{background-color:var(--a2ui-choicepicker-chip-background-selected, var(--a2ui-color-primary, #17e));color:var(--a2ui-color-on-primary, #fff);border-color:var(--a2ui-choicepicker-chip-background-selected, var(--a2ui-color-primary, #17e))}\n"] }]
|
|
2219
|
-
}]
|
|
1993
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-choice-picker{width:100%;padding:var(--a2ui-choicepicker-padding, 0)}.a2ui-options-group{display:flex;flex-direction:column;gap:var(--a2ui-choicepicker-gap, var(--a2ui-spacing-xs, .25rem))}.a2ui-option-label{display:flex;align-items:center;gap:var(--a2ui-choicepicker-gap, var(--a2ui-spacing-xs, .25rem));cursor:pointer;color:var(--a2ui-text-color-text, var(--a2ui-color-on-background, #333))}.a2ui-option-input{width:var(--a2ui-choicepicker-checkbox-size, 1rem);height:var(--a2ui-choicepicker-checkbox-size, 1rem)}.a2ui-chips-group{display:flex;flex-wrap:wrap;gap:var(--a2ui-choicepicker-gap, var(--a2ui-spacing-xs, .25rem))}.a2ui-chip{padding:var( --a2ui-choicepicker-chip-padding, var(--a2ui-spacing-s, .5rem) var(--a2ui-spacing-m, 1rem) );border-radius:var(--a2ui-choicepicker-chip-border-radius, 100px);border:var(--a2ui-choicepicker-chip-border, 1px solid var(--a2ui-color-border, #ccc));background:var(--a2ui-choicepicker-chip-background, var(--a2ui-color-surface, #fff));cursor:pointer;transition:all .2s}.a2ui-chip.active{background-color:var( --a2ui-choicepicker-chip-background-selected, var(--a2ui-color-primary, #17e) );color:var(--a2ui-color-on-primary, #fff);border-color:var( --a2ui-choicepicker-chip-background-selected, var(--a2ui-color-primary, #17e) )}\n"] }]
|
|
1994
|
+
}] });
|
|
2220
1995
|
|
|
2221
1996
|
/**
|
|
2222
1997
|
* Copyright 2026 Google LLC
|
|
@@ -2246,20 +2021,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
2246
2021
|
* - `--a2ui-slider-track-color`: Controls the background of the track.
|
|
2247
2022
|
*/
|
|
2248
2023
|
class SliderComponent extends BasicCatalogComponent {
|
|
2249
|
-
/**
|
|
2250
|
-
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
2251
|
-
*
|
|
2252
|
-
* Expected properties:
|
|
2253
|
-
* - `value`: The current numeric value.
|
|
2254
|
-
* - `label`: Label text to display.
|
|
2255
|
-
* - `min`: Minimum value (default: 0).
|
|
2256
|
-
* - `max`: Maximum value (default: 100).
|
|
2257
|
-
* - `step`: Increment step (default: 1).
|
|
2258
|
-
*/
|
|
2259
|
-
props = input({}, ...(ngDevMode ? [{ debugName: "props" }] : /* istanbul ignore next */ []));
|
|
2260
|
-
surfaceId = input.required(...(ngDevMode ? [{ debugName: "surfaceId" }] : /* istanbul ignore next */ []));
|
|
2261
|
-
componentId = input(...(ngDevMode ? [undefined, { debugName: "componentId" }] : /* istanbul ignore next */ []));
|
|
2262
|
-
dataContextPath = input('/', ...(ngDevMode ? [{ debugName: "dataContextPath" }] : /* istanbul ignore next */ []));
|
|
2263
2024
|
label = computed$1(() => this.props()['label']?.value(), ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
|
|
2264
2025
|
value = computed$1(() => this.props()['value']?.value(), ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
|
|
2265
2026
|
min = computed$1(() => this.props()['min']?.value() ?? 0, ...(ngDevMode ? [{ debugName: "min" }] : /* istanbul ignore next */ []));
|
|
@@ -2270,7 +2031,7 @@ class SliderComponent extends BasicCatalogComponent {
|
|
|
2270
2031
|
this.props()['value']?.onUpdate(val);
|
|
2271
2032
|
}
|
|
2272
2033
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: SliderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2273
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
2034
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.5", type: SliderComponent, isStandalone: true, selector: "a2ui-v09-slider", usesInheritance: true, ngImport: i0, template: `
|
|
2274
2035
|
<div class="a2ui-slider-container">
|
|
2275
2036
|
<div class="a2ui-slider-header">
|
|
2276
2037
|
<span class="a2ui-slider-label">{{ label() }}</span>
|
|
@@ -2286,7 +2047,7 @@ class SliderComponent extends BasicCatalogComponent {
|
|
|
2286
2047
|
class="a2ui-slider"
|
|
2287
2048
|
/>
|
|
2288
2049
|
</div>
|
|
2289
|
-
`, isInline: true, styles: [".a2ui-slider-container{width:100%;display:flex;flex-direction:column;gap:var(--a2ui-spacing-xs, 4px);margin:var(--a2ui-slider-margin, var(--a2ui-spacing-m, 16px))}.a2ui-slider-header{display:flex;justify-content:space-between;font-size:var(--a2ui-slider-label-font-size, var(--a2ui-label-font-size, var(--a2ui-font-size-s, 14px)));font-weight:var(--a2ui-slider-label-font-weight, bold);color:var(--a2ui-text-color-text, var(--a2ui-color-on-background, #333))}.a2ui-slider{width:100%;cursor:pointer;accent-color:var(--a2ui-slider-thumb-color, var(--a2ui-color-primary, #007bff));background:var(--a2ui-slider-track-color, var(--a2ui-color-secondary, #e9ecef))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2050
|
+
`, isInline: true, styles: [".a2ui-slider-container{width:100%;display:flex;flex-direction:column;gap:var(--a2ui-spacing-xs, 4px);margin:var(--a2ui-slider-margin, var(--a2ui-spacing-m, 16px))}.a2ui-slider-header{display:flex;justify-content:space-between;font-size:var( --a2ui-slider-label-font-size, var(--a2ui-label-font-size, var(--a2ui-font-size-s, 14px)) );font-weight:var(--a2ui-slider-label-font-weight, bold);color:var(--a2ui-text-color-text, var(--a2ui-color-on-background, #333))}.a2ui-slider{width:100%;cursor:pointer;accent-color:var(--a2ui-slider-thumb-color, var(--a2ui-color-primary, #007bff));background:var(--a2ui-slider-track-color, var(--a2ui-color-secondary, #e9ecef))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2290
2051
|
}
|
|
2291
2052
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: SliderComponent, decorators: [{
|
|
2292
2053
|
type: Component,
|
|
@@ -2306,8 +2067,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
2306
2067
|
class="a2ui-slider"
|
|
2307
2068
|
/>
|
|
2308
2069
|
</div>
|
|
2309
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-slider-container{width:100%;display:flex;flex-direction:column;gap:var(--a2ui-spacing-xs, 4px);margin:var(--a2ui-slider-margin, var(--a2ui-spacing-m, 16px))}.a2ui-slider-header{display:flex;justify-content:space-between;font-size:var(--a2ui-slider-label-font-size, var(--a2ui-label-font-size, var(--a2ui-font-size-s, 14px)));font-weight:var(--a2ui-slider-label-font-weight, bold);color:var(--a2ui-text-color-text, var(--a2ui-color-on-background, #333))}.a2ui-slider{width:100%;cursor:pointer;accent-color:var(--a2ui-slider-thumb-color, var(--a2ui-color-primary, #007bff));background:var(--a2ui-slider-track-color, var(--a2ui-color-secondary, #e9ecef))}\n"] }]
|
|
2310
|
-
}]
|
|
2070
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-slider-container{width:100%;display:flex;flex-direction:column;gap:var(--a2ui-spacing-xs, 4px);margin:var(--a2ui-slider-margin, var(--a2ui-spacing-m, 16px))}.a2ui-slider-header{display:flex;justify-content:space-between;font-size:var( --a2ui-slider-label-font-size, var(--a2ui-label-font-size, var(--a2ui-font-size-s, 14px)) );font-weight:var(--a2ui-slider-label-font-weight, bold);color:var(--a2ui-text-color-text, var(--a2ui-color-on-background, #333))}.a2ui-slider{width:100%;cursor:pointer;accent-color:var(--a2ui-slider-thumb-color, var(--a2ui-color-primary, #007bff));background:var(--a2ui-slider-track-color, var(--a2ui-color-secondary, #e9ecef))}\n"] }]
|
|
2071
|
+
}] });
|
|
2311
2072
|
|
|
2312
2073
|
/**
|
|
2313
2074
|
* Copyright 2026 Google LLC
|
|
@@ -2340,19 +2101,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
2340
2101
|
* - `--a2ui-datetimeinput-label-font-weight`: Controls the font weight of the label.
|
|
2341
2102
|
*/
|
|
2342
2103
|
class DateTimeInputComponent extends BasicCatalogComponent {
|
|
2343
|
-
/**
|
|
2344
|
-
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
2345
|
-
*
|
|
2346
|
-
* Expected properties:
|
|
2347
|
-
* - `value`: The current ISO date/time string.
|
|
2348
|
-
* - `label`: Optional label text.
|
|
2349
|
-
* - `enableDate`: Whether to show the date picker (default: true).
|
|
2350
|
-
* - `enableTime`: Whether to show the time picker (default: false).
|
|
2351
|
-
*/
|
|
2352
|
-
props = input({}, ...(ngDevMode ? [{ debugName: "props" }] : /* istanbul ignore next */ []));
|
|
2353
|
-
surfaceId = input.required(...(ngDevMode ? [{ debugName: "surfaceId" }] : /* istanbul ignore next */ []));
|
|
2354
|
-
componentId = input(...(ngDevMode ? [undefined, { debugName: "componentId" }] : /* istanbul ignore next */ []));
|
|
2355
|
-
dataContextPath = input('/', ...(ngDevMode ? [{ debugName: "dataContextPath" }] : /* istanbul ignore next */ []));
|
|
2356
2104
|
label = computed$1(() => this.props()['label']?.value(), ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
|
|
2357
2105
|
enableDate = computed$1(() => this.props()['enableDate']?.value() ?? true, ...(ngDevMode ? [{ debugName: "enableDate" }] : /* istanbul ignore next */ []));
|
|
2358
2106
|
enableTime = computed$1(() => this.props()['enableTime']?.value() ?? false, ...(ngDevMode ? [{ debugName: "enableTime" }] : /* istanbul ignore next */ []));
|
|
@@ -2389,7 +2137,7 @@ class DateTimeInputComponent extends BasicCatalogComponent {
|
|
|
2389
2137
|
this.props()['value']?.onUpdate(`${date}T${time}:00`);
|
|
2390
2138
|
}
|
|
2391
2139
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: DateTimeInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2392
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: DateTimeInputComponent, isStandalone: true, selector: "a2ui-v09-date-time-input",
|
|
2140
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: DateTimeInputComponent, isStandalone: true, selector: "a2ui-v09-date-time-input", usesInheritance: true, ngImport: i0, template: `
|
|
2393
2141
|
<div class="a2ui-date-time-container">
|
|
2394
2142
|
@if (label()) {
|
|
2395
2143
|
<label class="a2ui-date-time-label">
|
|
@@ -2415,7 +2163,7 @@ class DateTimeInputComponent extends BasicCatalogComponent {
|
|
|
2415
2163
|
}
|
|
2416
2164
|
</div>
|
|
2417
2165
|
</div>
|
|
2418
|
-
`, isInline: true, styles: [".a2ui-date-time-container{display:flex;flex-direction:column;gap:var(--a2ui-spacing-xs, 4px);width:100%}.a2ui-date-time-label{font-size:var(--a2ui-datetimeinput-label-font-size, var(--a2ui-label-font-size, var(--a2ui-font-size-s, 14px)));font-weight:var(--a2ui-datetimeinput-label-font-weight, bold);color:var(--a2ui-text-color-text, var(--a2ui-color-on-background, #333))}.a2ui-date-time-inputs{display:flex;gap:var(--a2ui-spacing-s, 8px);width:100%}.a2ui-date-time-input{padding:var(--a2ui-datetimeinput-padding, 8px);border-radius:var(--a2ui-datetimeinput-border-radius, 4px);border:var(--a2ui-datetimeinput-border, 1px solid var(--a2ui-color-border, #ccc));background-color:var(--a2ui-datetimeinput-background, var(--a2ui-color-input, #fff));color:var(--a2ui-datetimeinput-color, var(--a2ui-color-on-input, #333));font-family:inherit;flex:1}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2166
|
+
`, isInline: true, styles: [".a2ui-date-time-container{display:flex;flex-direction:column;gap:var(--a2ui-spacing-xs, 4px);width:100%}.a2ui-date-time-label{font-size:var( --a2ui-datetimeinput-label-font-size, var(--a2ui-label-font-size, var(--a2ui-font-size-s, 14px)) );font-weight:var(--a2ui-datetimeinput-label-font-weight, bold);color:var(--a2ui-text-color-text, var(--a2ui-color-on-background, #333))}.a2ui-date-time-inputs{display:flex;gap:var(--a2ui-spacing-s, 8px);width:100%}.a2ui-date-time-input{padding:var(--a2ui-datetimeinput-padding, 8px);border-radius:var(--a2ui-datetimeinput-border-radius, 4px);border:var(--a2ui-datetimeinput-border, 1px solid var(--a2ui-color-border, #ccc));background-color:var(--a2ui-datetimeinput-background, var(--a2ui-color-input, #fff));color:var(--a2ui-datetimeinput-color, var(--a2ui-color-on-input, #333));font-family:inherit;flex:1}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2419
2167
|
}
|
|
2420
2168
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: DateTimeInputComponent, decorators: [{
|
|
2421
2169
|
type: Component,
|
|
@@ -2445,8 +2193,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
2445
2193
|
}
|
|
2446
2194
|
</div>
|
|
2447
2195
|
</div>
|
|
2448
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-date-time-container{display:flex;flex-direction:column;gap:var(--a2ui-spacing-xs, 4px);width:100%}.a2ui-date-time-label{font-size:var(--a2ui-datetimeinput-label-font-size, var(--a2ui-label-font-size, var(--a2ui-font-size-s, 14px)));font-weight:var(--a2ui-datetimeinput-label-font-weight, bold);color:var(--a2ui-text-color-text, var(--a2ui-color-on-background, #333))}.a2ui-date-time-inputs{display:flex;gap:var(--a2ui-spacing-s, 8px);width:100%}.a2ui-date-time-input{padding:var(--a2ui-datetimeinput-padding, 8px);border-radius:var(--a2ui-datetimeinput-border-radius, 4px);border:var(--a2ui-datetimeinput-border, 1px solid var(--a2ui-color-border, #ccc));background-color:var(--a2ui-datetimeinput-background, var(--a2ui-color-input, #fff));color:var(--a2ui-datetimeinput-color, var(--a2ui-color-on-input, #333));font-family:inherit;flex:1}\n"] }]
|
|
2449
|
-
}]
|
|
2196
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-date-time-container{display:flex;flex-direction:column;gap:var(--a2ui-spacing-xs, 4px);width:100%}.a2ui-date-time-label{font-size:var( --a2ui-datetimeinput-label-font-size, var(--a2ui-label-font-size, var(--a2ui-font-size-s, 14px)) );font-weight:var(--a2ui-datetimeinput-label-font-weight, bold);color:var(--a2ui-text-color-text, var(--a2ui-color-on-background, #333))}.a2ui-date-time-inputs{display:flex;gap:var(--a2ui-spacing-s, 8px);width:100%}.a2ui-date-time-input{padding:var(--a2ui-datetimeinput-padding, 8px);border-radius:var(--a2ui-datetimeinput-border-radius, 4px);border:var(--a2ui-datetimeinput-border, 1px solid var(--a2ui-color-border, #ccc));background-color:var(--a2ui-datetimeinput-background, var(--a2ui-color-input, #fff));color:var(--a2ui-datetimeinput-color, var(--a2ui-color-on-input, #333));font-family:inherit;flex:1}\n"] }]
|
|
2197
|
+
}] });
|
|
2450
2198
|
|
|
2451
2199
|
/**
|
|
2452
2200
|
* Copyright 2026 Google LLC
|