@a2ui/angular 0.9.0-alpha.0 → 0.9.0-alpha.2
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 +322 -127
- package/fesm2022/a2ui-angular-src-v0_9.mjs.map +1 -1
- package/fesm2022/a2ui-angular-v0_9.mjs +322 -127
- package/fesm2022/a2ui-angular-v0_9.mjs.map +1 -1
- package/package.json +3 -3
- package/types/a2ui-angular-src-v0_9.d.ts +173 -22
- package/types/a2ui-angular-v0_9.d.ts +173 -22
|
@@ -3,7 +3,7 @@ import { InjectionToken, Inject, Injectable, signal, inject, DestroyRef, NgZone,
|
|
|
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';
|
|
6
|
-
import { DateTimeInputApi, SliderApi, ChoicePickerApi, CheckBoxApi, DividerApi, ModalApi, TabsApi, CardApi, ListApi, AudioPlayerApi, VideoApi, IconApi, ImageApi, TextFieldApi, ButtonApi, ColumnApi, RowApi, TextApi, BASIC_FUNCTIONS } from '@a2ui/web_core/v0_9/basic_catalog';
|
|
6
|
+
import { injectBasicCatalogStyles, DateTimeInputApi, SliderApi, ChoicePickerApi, CheckBoxApi, DividerApi, ModalApi, TabsApi, CardApi, ListApi, AudioPlayerApi, VideoApi, IconApi, ImageApi, TextFieldApi, ButtonApi, ColumnApi, RowApi, TextApi, BASIC_FUNCTIONS } from '@a2ui/web_core/v0_9/basic_catalog';
|
|
7
7
|
export { BASIC_FUNCTIONS } from '@a2ui/web_core/v0_9/basic_catalog';
|
|
8
8
|
|
|
9
9
|
/**
|
|
@@ -336,7 +336,7 @@ class ComponentHostComponent {
|
|
|
336
336
|
});
|
|
337
337
|
}
|
|
338
338
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ComponentHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
339
|
-
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 } }, ngImport: i0, template: `
|
|
339
|
+
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: `
|
|
340
340
|
@if (componentType) {
|
|
341
341
|
<ng-container
|
|
342
342
|
*ngComponentOutlet="
|
|
@@ -357,6 +357,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
357
357
|
args: [{
|
|
358
358
|
selector: 'a2ui-v09-component-host',
|
|
359
359
|
imports: [NgComponentOutlet],
|
|
360
|
+
host: {
|
|
361
|
+
'style': 'display: contents;'
|
|
362
|
+
},
|
|
360
363
|
template: `
|
|
361
364
|
@if (componentType) {
|
|
362
365
|
<ng-container
|
|
@@ -407,7 +410,7 @@ class SurfaceComponent {
|
|
|
407
410
|
*/
|
|
408
411
|
dataContextPath = input('/', ...(ngDevMode ? [{ debugName: "dataContextPath" }] : /* istanbul ignore next */ []));
|
|
409
412
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: SurfaceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
410
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: SurfaceComponent, isStandalone: true, selector: "a2ui-v09-surface", inputs: { surfaceId: { classPropertyName: "surfaceId", publicName: "surfaceId", isSignal: true, isRequired: true, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
413
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: SurfaceComponent, isStandalone: true, selector: "a2ui-v09-surface", inputs: { surfaceId: { classPropertyName: "surfaceId", publicName: "surfaceId", isSignal: true, isRequired: true, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, host: { styleAttribute: "display: contents;" }, ngImport: i0, template: `
|
|
411
414
|
<a2ui-v09-component-host
|
|
412
415
|
[componentKey]="{ id: 'root', basePath: dataContextPath() }"
|
|
413
416
|
[surfaceId]="surfaceId()"
|
|
@@ -421,6 +424,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
421
424
|
selector: 'a2ui-v09-surface',
|
|
422
425
|
standalone: true,
|
|
423
426
|
imports: [ComponentHostComponent],
|
|
427
|
+
host: {
|
|
428
|
+
'style': 'display: contents;'
|
|
429
|
+
},
|
|
424
430
|
template: `
|
|
425
431
|
<a2ui-v09-component-host
|
|
426
432
|
[componentKey]="{ id: 'root', basePath: dataContextPath() }"
|
|
@@ -528,6 +534,32 @@ function provideMarkdownRenderer(renderFn) {
|
|
|
528
534
|
return { provide: MarkdownRenderer, useClass: DefaultMarkdownRenderer };
|
|
529
535
|
}
|
|
530
536
|
|
|
537
|
+
/**
|
|
538
|
+
* Copyright 2026 Google LLC
|
|
539
|
+
*
|
|
540
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
541
|
+
* you may not use this file except in compliance with the License.
|
|
542
|
+
* You may obtain a copy of the License at
|
|
543
|
+
*
|
|
544
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
545
|
+
*
|
|
546
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
547
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
548
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
549
|
+
* See the License for the specific language governing permissions and
|
|
550
|
+
* limitations under the License.
|
|
551
|
+
*/
|
|
552
|
+
/**
|
|
553
|
+
* Base class for A2UI basic catalog components in Angular.
|
|
554
|
+
*
|
|
555
|
+
* Automatically injects the basic catalog styles when the component is instantiated.
|
|
556
|
+
*/
|
|
557
|
+
class BasicCatalogComponent {
|
|
558
|
+
constructor() {
|
|
559
|
+
injectBasicCatalogStyles();
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
|
|
531
563
|
/**
|
|
532
564
|
* Copyright 2026 Google LLC
|
|
533
565
|
*
|
|
@@ -547,8 +579,19 @@ function provideMarkdownRenderer(renderFn) {
|
|
|
547
579
|
* Angular implementation of the A2UI Text component (v0.9).
|
|
548
580
|
*
|
|
549
581
|
* Renders text with support for simple Markdown.
|
|
582
|
+
*
|
|
583
|
+
* Supported CSS variables:
|
|
584
|
+
* - `--a2ui-text-color-text`: Controls the text color.
|
|
585
|
+
* - `--a2ui-text-margin`: Controls the margin of text elements.
|
|
586
|
+
* - `--a2ui-font-family-title`: Controls the font family for titles.
|
|
587
|
+
* - `--a2ui-line-height-headings`: Controls the line height for headings.
|
|
588
|
+
* - `--a2ui-line-height-body`: Controls the line height for body text.
|
|
589
|
+
* - `--a2ui-text-caption-color`: Controls the color for caption text.
|
|
590
|
+
* - `--a2ui-text-a-color`: Controls the color for links.
|
|
591
|
+
* - `--a2ui-text-a-font-weight`: Controls the font weight for links.
|
|
592
|
+
* - 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`.
|
|
550
593
|
*/
|
|
551
|
-
class TextComponent {
|
|
594
|
+
class TextComponent extends BasicCatalogComponent {
|
|
552
595
|
/**
|
|
553
596
|
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
554
597
|
*
|
|
@@ -566,6 +609,7 @@ class TextComponent {
|
|
|
566
609
|
resolvedText = signal('', ...(ngDevMode ? [{ debugName: "resolvedText" }] : /* istanbul ignore next */ []));
|
|
567
610
|
renderRequestId = 0;
|
|
568
611
|
constructor() {
|
|
612
|
+
super();
|
|
569
613
|
effect$1(() => {
|
|
570
614
|
const text = this.text();
|
|
571
615
|
const variant = this.variant();
|
|
@@ -599,24 +643,57 @@ class TextComponent {
|
|
|
599
643
|
});
|
|
600
644
|
}
|
|
601
645
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
602
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: TextComponent, isStandalone: true, selector: "a2ui-v09-text", 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: false, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
646
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: TextComponent, isStandalone: true, selector: "a2ui-v09-text", 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: false, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
|
|
603
647
|
<span [class]="'a2ui-text ' + variant()" [innerHTML]="resolvedText()">
|
|
604
648
|
</span>
|
|
605
|
-
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
649
|
+
`, 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 });
|
|
606
650
|
}
|
|
607
651
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TextComponent, decorators: [{
|
|
608
652
|
type: Component,
|
|
609
|
-
args: [{
|
|
610
|
-
selector: 'a2ui-v09-text',
|
|
611
|
-
standalone: true,
|
|
612
|
-
template: `
|
|
653
|
+
args: [{ selector: 'a2ui-v09-text', standalone: true, template: `
|
|
613
654
|
<span [class]="'a2ui-text ' + variant()" [innerHTML]="resolvedText()">
|
|
614
655
|
</span>
|
|
615
|
-
`,
|
|
616
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
617
|
-
}]
|
|
656
|
+
`, 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"] }]
|
|
618
657
|
}], 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 }] }] } });
|
|
619
658
|
|
|
659
|
+
/**
|
|
660
|
+
* Copyright 2026 Google LLC
|
|
661
|
+
*
|
|
662
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
663
|
+
* you may not use this file except in compliance with the License.
|
|
664
|
+
* You may obtain a copy of the License at
|
|
665
|
+
*
|
|
666
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
667
|
+
*
|
|
668
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
669
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
670
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
671
|
+
* See the License for the specific language governing permissions and
|
|
672
|
+
* limitations under the License.
|
|
673
|
+
*/
|
|
674
|
+
/**
|
|
675
|
+
* Maps A2UI justification values to CSS justify-content values.
|
|
676
|
+
*/
|
|
677
|
+
const JUSTIFY_MAP = {
|
|
678
|
+
start: 'flex-start',
|
|
679
|
+
center: 'center',
|
|
680
|
+
end: 'flex-end',
|
|
681
|
+
spaceBetween: 'space-between',
|
|
682
|
+
spaceAround: 'space-around',
|
|
683
|
+
spaceEvenly: 'space-evenly',
|
|
684
|
+
stretch: 'stretch',
|
|
685
|
+
};
|
|
686
|
+
/**
|
|
687
|
+
* Maps A2UI alignment values to CSS align-items values.
|
|
688
|
+
*/
|
|
689
|
+
const ALIGN_MAP = {
|
|
690
|
+
start: 'flex-start',
|
|
691
|
+
center: 'center',
|
|
692
|
+
end: 'flex-end',
|
|
693
|
+
stretch: 'stretch',
|
|
694
|
+
baseline: 'baseline',
|
|
695
|
+
};
|
|
696
|
+
|
|
620
697
|
/**
|
|
621
698
|
* Copyright 2026 Google LLC
|
|
622
699
|
*
|
|
@@ -637,8 +714,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
637
714
|
*
|
|
638
715
|
* Arranges child components in a horizontal flex layout. Supports both static
|
|
639
716
|
* lists of children and repeating templates bound to a data collection.
|
|
717
|
+
*
|
|
718
|
+
* Supported CSS variables:
|
|
719
|
+
* - `--a2ui-row-gap`: Controls the gap between items in the row. Defaults to `--a2ui-spacing-m` (16px).
|
|
640
720
|
*/
|
|
641
|
-
class RowComponent {
|
|
721
|
+
class RowComponent extends BasicCatalogComponent {
|
|
642
722
|
/**
|
|
643
723
|
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
644
724
|
*
|
|
@@ -651,8 +731,14 @@ class RowComponent {
|
|
|
651
731
|
surfaceId = input.required(...(ngDevMode ? [{ debugName: "surfaceId" }] : /* istanbul ignore next */ []));
|
|
652
732
|
componentId = input(...(ngDevMode ? [undefined, { debugName: "componentId" }] : /* istanbul ignore next */ []));
|
|
653
733
|
dataContextPath = input('/', ...(ngDevMode ? [{ debugName: "dataContextPath" }] : /* istanbul ignore next */ []));
|
|
654
|
-
justify = computed$1(() =>
|
|
655
|
-
|
|
734
|
+
justify = computed$1(() => {
|
|
735
|
+
const val = this.props()['justify']?.value();
|
|
736
|
+
return val ? (JUSTIFY_MAP[val] || val) : undefined;
|
|
737
|
+
}, ...(ngDevMode ? [{ debugName: "justify" }] : /* istanbul ignore next */ []));
|
|
738
|
+
align = computed$1(() => {
|
|
739
|
+
const val = this.props()['align']?.value();
|
|
740
|
+
return val ? (ALIGN_MAP[val] || val) : undefined;
|
|
741
|
+
}, ...(ngDevMode ? [{ debugName: "align" }] : /* istanbul ignore next */ []));
|
|
656
742
|
children = computed$1(() => {
|
|
657
743
|
const raw = this.props()['children']?.value() || [];
|
|
658
744
|
return Array.isArray(raw) ? raw : [];
|
|
@@ -676,14 +762,8 @@ class RowComponent {
|
|
|
676
762
|
getNormalizedPath(index) {
|
|
677
763
|
return getNormalizedPath(this.props()['children']?.raw?.path, this.dataContextPath(), index);
|
|
678
764
|
}
|
|
679
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: RowComponent, deps:
|
|
680
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: RowComponent, isStandalone: true, selector: "a2ui-v09-row", 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: false, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
681
|
-
<div
|
|
682
|
-
class="a2ui-row"
|
|
683
|
-
[style.justify-content]="justify()"
|
|
684
|
-
[style.align-items]="align()"
|
|
685
|
-
style="display: flex; flex-direction: row; width: 100%; gap: 4px;"
|
|
686
|
-
>
|
|
765
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: RowComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
766
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: RowComponent, isStandalone: true, selector: "a2ui-v09-row", 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: false, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, 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: `
|
|
687
767
|
@if (!isRepeating()) {
|
|
688
768
|
@for (child of normalizedChildren(); track child.id) {
|
|
689
769
|
<a2ui-v09-component-host
|
|
@@ -703,7 +783,6 @@ class RowComponent {
|
|
|
703
783
|
</a2ui-v09-component-host>
|
|
704
784
|
}
|
|
705
785
|
}
|
|
706
|
-
</div>
|
|
707
786
|
`, isInline: true, dependencies: [{ kind: "component", type: ComponentHostComponent, selector: "a2ui-v09-component-host", inputs: ["componentKey", "surfaceId"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
708
787
|
}
|
|
709
788
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: RowComponent, decorators: [{
|
|
@@ -712,13 +791,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
712
791
|
selector: 'a2ui-v09-row',
|
|
713
792
|
standalone: true,
|
|
714
793
|
imports: [ComponentHostComponent],
|
|
794
|
+
host: {
|
|
795
|
+
'[style.display]': '"flex"',
|
|
796
|
+
'[style.flex-direction]': '"row"',
|
|
797
|
+
'[style.gap]': '"var(--a2ui-row-gap, var(--a2ui-spacing-m, 16px))"',
|
|
798
|
+
'[style.justify-content]': 'justify()',
|
|
799
|
+
'[style.align-items]': 'align()'
|
|
800
|
+
},
|
|
715
801
|
template: `
|
|
716
|
-
<div
|
|
717
|
-
class="a2ui-row"
|
|
718
|
-
[style.justify-content]="justify()"
|
|
719
|
-
[style.align-items]="align()"
|
|
720
|
-
style="display: flex; flex-direction: row; width: 100%; gap: 4px;"
|
|
721
|
-
>
|
|
722
802
|
@if (!isRepeating()) {
|
|
723
803
|
@for (child of normalizedChildren(); track child.id) {
|
|
724
804
|
<a2ui-v09-component-host
|
|
@@ -738,7 +818,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
738
818
|
</a2ui-v09-component-host>
|
|
739
819
|
}
|
|
740
820
|
}
|
|
741
|
-
</div>
|
|
742
821
|
`,
|
|
743
822
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
744
823
|
}]
|
|
@@ -764,8 +843,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
764
843
|
*
|
|
765
844
|
* Arranges child components in a vertical flex layout. Supports both static
|
|
766
845
|
* lists of children and repeating templates bound to a data collection.
|
|
846
|
+
*
|
|
847
|
+
* Supported CSS variables:
|
|
848
|
+
* - `--a2ui-column-gap`: Controls the gap between items in the column. Defaults to `--a2ui-spacing-m` (16px).
|
|
767
849
|
*/
|
|
768
|
-
class ColumnComponent {
|
|
850
|
+
class ColumnComponent extends BasicCatalogComponent {
|
|
769
851
|
/**
|
|
770
852
|
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
771
853
|
*
|
|
@@ -778,8 +860,14 @@ class ColumnComponent {
|
|
|
778
860
|
surfaceId = input.required(...(ngDevMode ? [{ debugName: "surfaceId" }] : /* istanbul ignore next */ []));
|
|
779
861
|
componentId = input(...(ngDevMode ? [undefined, { debugName: "componentId" }] : /* istanbul ignore next */ []));
|
|
780
862
|
dataContextPath = input('/', ...(ngDevMode ? [{ debugName: "dataContextPath" }] : /* istanbul ignore next */ []));
|
|
781
|
-
justify = computed$1(() =>
|
|
782
|
-
|
|
863
|
+
justify = computed$1(() => {
|
|
864
|
+
const val = this.props()['justify']?.value();
|
|
865
|
+
return val ? (JUSTIFY_MAP[val] || val) : undefined;
|
|
866
|
+
}, ...(ngDevMode ? [{ debugName: "justify" }] : /* istanbul ignore next */ []));
|
|
867
|
+
align = computed$1(() => {
|
|
868
|
+
const val = this.props()['align']?.value();
|
|
869
|
+
return val ? (ALIGN_MAP[val] || val) : undefined;
|
|
870
|
+
}, ...(ngDevMode ? [{ debugName: "align" }] : /* istanbul ignore next */ []));
|
|
783
871
|
children = computed$1(() => {
|
|
784
872
|
const raw = this.props()['children']?.value() || [];
|
|
785
873
|
return Array.isArray(raw) ? raw : [];
|
|
@@ -803,14 +891,8 @@ class ColumnComponent {
|
|
|
803
891
|
getNormalizedPath(index) {
|
|
804
892
|
return getNormalizedPath(this.props()['children']?.raw?.path, this.dataContextPath(), index);
|
|
805
893
|
}
|
|
806
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ColumnComponent, deps:
|
|
807
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ColumnComponent, isStandalone: true, selector: "a2ui-v09-column", 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: false, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
808
|
-
<div
|
|
809
|
-
class="a2ui-column"
|
|
810
|
-
[style.justify-content]="justify()"
|
|
811
|
-
[style.align-items]="align()"
|
|
812
|
-
style="display: flex; flex-direction: column; width: 100%; gap: 4px;"
|
|
813
|
-
>
|
|
894
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
895
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ColumnComponent, isStandalone: true, selector: "a2ui-v09-column", 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: false, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, 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: `
|
|
814
896
|
@if (!isRepeating()) {
|
|
815
897
|
@for (child of normalizedChildren(); track child.id) {
|
|
816
898
|
<a2ui-v09-component-host
|
|
@@ -830,7 +912,6 @@ class ColumnComponent {
|
|
|
830
912
|
</a2ui-v09-component-host>
|
|
831
913
|
}
|
|
832
914
|
}
|
|
833
|
-
</div>
|
|
834
915
|
`, isInline: true, dependencies: [{ kind: "component", type: ComponentHostComponent, selector: "a2ui-v09-component-host", inputs: ["componentKey", "surfaceId"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
835
916
|
}
|
|
836
917
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ColumnComponent, decorators: [{
|
|
@@ -839,13 +920,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
839
920
|
selector: 'a2ui-v09-column',
|
|
840
921
|
standalone: true,
|
|
841
922
|
imports: [ComponentHostComponent],
|
|
923
|
+
host: {
|
|
924
|
+
'[style.display]': '"flex"',
|
|
925
|
+
'[style.flex-direction]': '"column"',
|
|
926
|
+
'[style.width]': '"100%"',
|
|
927
|
+
'[style.gap]': '"var(--a2ui-column-gap, var(--a2ui-spacing-m, 16px))"',
|
|
928
|
+
'[style.justify-content]': 'justify()',
|
|
929
|
+
'[style.align-items]': 'align()'
|
|
930
|
+
},
|
|
842
931
|
template: `
|
|
843
|
-
<div
|
|
844
|
-
class="a2ui-column"
|
|
845
|
-
[style.justify-content]="justify()"
|
|
846
|
-
[style.align-items]="align()"
|
|
847
|
-
style="display: flex; flex-direction: column; width: 100%; gap: 4px;"
|
|
848
|
-
>
|
|
849
932
|
@if (!isRepeating()) {
|
|
850
933
|
@for (child of normalizedChildren(); track child.id) {
|
|
851
934
|
<a2ui-v09-component-host
|
|
@@ -865,7 +948,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
865
948
|
</a2ui-v09-component-host>
|
|
866
949
|
}
|
|
867
950
|
}
|
|
868
|
-
</div>
|
|
869
951
|
`,
|
|
870
952
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
871
953
|
}]
|
|
@@ -891,8 +973,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
891
973
|
*
|
|
892
974
|
* Renders a clickable button with a single child component (usually Text).
|
|
893
975
|
* Dispatches an action when clicked if an `action` property is provided.
|
|
976
|
+
*
|
|
977
|
+
* Supported CSS variables:
|
|
978
|
+
* - `--a2ui-button-padding`: Controls the padding.
|
|
979
|
+
* - `--a2ui-button-border-radius`: Controls the border radius.
|
|
980
|
+
* - `--a2ui-button-border`: Controls the border.
|
|
981
|
+
* - `--a2ui-button-margin`: Controls the margin.
|
|
982
|
+
* - `--a2ui-button-background`: Controls the background color.
|
|
983
|
+
* - `--a2ui-button-box-shadow`: Controls the box shadow.
|
|
984
|
+
* - `--a2ui-button-font-weight`: Controls the font weight.
|
|
894
985
|
*/
|
|
895
|
-
class ButtonComponent {
|
|
986
|
+
class ButtonComponent extends BasicCatalogComponent {
|
|
896
987
|
/**
|
|
897
988
|
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
898
989
|
*
|
|
@@ -921,8 +1012,8 @@ class ButtonComponent {
|
|
|
921
1012
|
}
|
|
922
1013
|
}
|
|
923
1014
|
}
|
|
924
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ButtonComponent, deps:
|
|
925
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ButtonComponent, isStandalone: true, selector: "a2ui-v09-button", 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 } }, ngImport: i0, template: `
|
|
1015
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1016
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ButtonComponent, isStandalone: true, selector: "a2ui-v09-button", 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 } }, usesInheritance: true, ngImport: i0, template: `
|
|
926
1017
|
<button
|
|
927
1018
|
[type]="variant() === 'primary' ? 'submit' : 'button'"
|
|
928
1019
|
[class]="'a2ui-button ' + variant()"
|
|
@@ -937,7 +1028,7 @@ class ButtonComponent {
|
|
|
937
1028
|
</a2ui-v09-component-host>
|
|
938
1029
|
}
|
|
939
1030
|
</button>
|
|
940
|
-
`, isInline: true, styles: [".a2ui-button{padding:
|
|
1031
|
+
`, 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 });
|
|
941
1032
|
}
|
|
942
1033
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
943
1034
|
type: Component,
|
|
@@ -956,7 +1047,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
956
1047
|
</a2ui-v09-component-host>
|
|
957
1048
|
}
|
|
958
1049
|
</button>
|
|
959
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-button{padding:
|
|
1050
|
+
`, 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"] }]
|
|
960
1051
|
}], 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 }] }] } });
|
|
961
1052
|
|
|
962
1053
|
/**
|
|
@@ -979,8 +1070,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
979
1070
|
*
|
|
980
1071
|
* Renders a text input field with an optional label and placeholder.
|
|
981
1072
|
* Updates the bound data model property on every input change.
|
|
1073
|
+
*
|
|
1074
|
+
* Supported CSS variables:
|
|
1075
|
+
* - `--a2ui-color-input`: Controls the background color of the input.
|
|
1076
|
+
* - `--a2ui-color-on-input`: Controls the text color of the input.
|
|
1077
|
+
* - `--a2ui-textfield-border`: Controls the border of the input.
|
|
1078
|
+
* - `--a2ui-textfield-border-radius`: Controls the border radius of the input.
|
|
1079
|
+
* - `--a2ui-textfield-padding`: Controls the padding of the input.
|
|
1080
|
+
* - `--a2ui-textfield-color-border-focus`: Controls the border color on focus.
|
|
1081
|
+
* - `--a2ui-textfield-color-error`: Controls the border and text color for error states.
|
|
1082
|
+
* - `--a2ui-textfield-label-font-size`: Controls the font size of the label.
|
|
1083
|
+
* - `--a2ui-textfield-label-font-weight`: Controls the font weight of the label.
|
|
982
1084
|
*/
|
|
983
|
-
class TextFieldComponent {
|
|
1085
|
+
class TextFieldComponent extends BasicCatalogComponent {
|
|
984
1086
|
/**
|
|
985
1087
|
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
986
1088
|
*
|
|
@@ -1015,8 +1117,8 @@ class TextFieldComponent {
|
|
|
1015
1117
|
// notified.
|
|
1016
1118
|
this.props()['value']?.onUpdate(value);
|
|
1017
1119
|
}
|
|
1018
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TextFieldComponent, deps:
|
|
1019
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: TextFieldComponent, isStandalone: true, selector: "a2ui-v09-text-field", 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: false, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
1120
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TextFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1121
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: TextFieldComponent, isStandalone: true, selector: "a2ui-v09-text-field", 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: false, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
|
|
1020
1122
|
<div class="a2ui-text-field-container">
|
|
1021
1123
|
@if (label()) {
|
|
1022
1124
|
<label>{{ label() }}</label>
|
|
@@ -1032,7 +1134,7 @@ class TextFieldComponent {
|
|
|
1032
1134
|
<div class="a2ui-error-message">{{ message }}</div>
|
|
1033
1135
|
}
|
|
1034
1136
|
</div>
|
|
1035
|
-
`, isInline: true, styles: ["
|
|
1137
|
+
`, 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 });
|
|
1036
1138
|
}
|
|
1037
1139
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TextFieldComponent, decorators: [{
|
|
1038
1140
|
type: Component,
|
|
@@ -1052,7 +1154,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1052
1154
|
<div class="a2ui-error-message">{{ message }}</div>
|
|
1053
1155
|
}
|
|
1054
1156
|
</div>
|
|
1055
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["
|
|
1157
|
+
`, 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"] }]
|
|
1056
1158
|
}], 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 }] }] } });
|
|
1057
1159
|
|
|
1058
1160
|
/**
|
|
@@ -1074,8 +1176,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1074
1176
|
* Angular implementation of the A2UI Image component (v0.9).
|
|
1075
1177
|
*
|
|
1076
1178
|
* Renders an image with configurable fit and shape variants.
|
|
1179
|
+
*
|
|
1180
|
+
* Supported CSS variables:
|
|
1181
|
+
* - `--a2ui-image-border-radius`: Controls the rounded corners.
|
|
1182
|
+
* - `--a2ui-image-icon-size`: Size of the icon variant.
|
|
1183
|
+
* - `--a2ui-image-avatar-size`: Size of the avatar variant.
|
|
1184
|
+
* - `--a2ui-image-small-feature-size`: Max-width of smallFeature variant.
|
|
1185
|
+
* - `--a2ui-image-large-feature-size`: Max-height of largeFeature variant.
|
|
1186
|
+
* - `--a2ui-image-header-size`: Height of header variant.
|
|
1077
1187
|
*/
|
|
1078
|
-
class ImageComponent {
|
|
1188
|
+
class ImageComponent extends BasicCatalogComponent {
|
|
1079
1189
|
/**
|
|
1080
1190
|
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
1081
1191
|
*
|
|
@@ -1093,15 +1203,15 @@ class ImageComponent {
|
|
|
1093
1203
|
description = computed$1(() => this.props()['description']?.value() || '', ...(ngDevMode ? [{ debugName: "description" }] : /* istanbul ignore next */ []));
|
|
1094
1204
|
fit = computed$1(() => this.props()['fit']?.value() || 'cover', ...(ngDevMode ? [{ debugName: "fit" }] : /* istanbul ignore next */ []));
|
|
1095
1205
|
variant = computed$1(() => this.props()['variant']?.value() || 'default', ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
|
|
1096
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ImageComponent, deps:
|
|
1097
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: ImageComponent, isStandalone: true, selector: "a2ui-v09-image", 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: false, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
1206
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ImageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1207
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: ImageComponent, isStandalone: true, selector: "a2ui-v09-image", 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: false, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
|
|
1098
1208
|
<img
|
|
1099
1209
|
[src]="url()"
|
|
1100
1210
|
[alt]="description()"
|
|
1101
1211
|
[style.object-fit]="fit()"
|
|
1102
1212
|
[class]="'a2ui-image ' + variant()"
|
|
1103
1213
|
/>
|
|
1104
|
-
`, isInline: true, 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:8px}.a2ui-image.icon{width:24px;height:24px}.a2ui-image.avatar{width:40px;height:40px;border-radius:50%}.a2ui-image.smallFeature{width:100px
|
|
1214
|
+
`, isInline: true, 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"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1105
1215
|
}
|
|
1106
1216
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ImageComponent, decorators: [{
|
|
1107
1217
|
type: Component,
|
|
@@ -1112,7 +1222,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1112
1222
|
[style.object-fit]="fit()"
|
|
1113
1223
|
[class]="'a2ui-image ' + variant()"
|
|
1114
1224
|
/>
|
|
1115
|
-
`, 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:8px}.a2ui-image.icon{width:24px;height:24px}.a2ui-image.avatar{width:40px;height:40px;border-radius:50%}.a2ui-image.smallFeature{width:100px
|
|
1225
|
+
`, 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"] }]
|
|
1116
1226
|
}], 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 }] }] } });
|
|
1117
1227
|
|
|
1118
1228
|
/**
|
|
@@ -1134,8 +1244,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1134
1244
|
* Angular implementation of the A2UI Icon component (v0.9).
|
|
1135
1245
|
*
|
|
1136
1246
|
* Supports both Material Icons (by name) and custom SVG icons (by path).
|
|
1247
|
+
*
|
|
1248
|
+
* Supported CSS variables:
|
|
1249
|
+
* - `--a2ui-icon-size`: Controls the width, height, and font size of the icon.
|
|
1250
|
+
* - `--a2ui-icon-font-family`: Controls the font family for icon fonts.
|
|
1251
|
+
* - `--a2ui-icon-color`: Controls the color of the icon.
|
|
1252
|
+
* - `--a2ui-icon-font-variation-settings`: Controls font variation settings (e.g. FILL).
|
|
1137
1253
|
*/
|
|
1138
|
-
class IconComponent {
|
|
1254
|
+
class IconComponent extends BasicCatalogComponent {
|
|
1139
1255
|
/**
|
|
1140
1256
|
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
1141
1257
|
*
|
|
@@ -1165,8 +1281,8 @@ class IconComponent {
|
|
|
1165
1281
|
// Convert camelCase to snake_case for Material Icons
|
|
1166
1282
|
return name.replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`);
|
|
1167
1283
|
}, ...(ngDevMode ? [{ debugName: "iconName" }] : /* istanbul ignore next */ []));
|
|
1168
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IconComponent, deps:
|
|
1169
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: IconComponent, isStandalone: true, selector: "a2ui-v09-icon", 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: false, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
1284
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IconComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1285
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: IconComponent, isStandalone: true, selector: "a2ui-v09-icon", 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: false, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
|
|
1170
1286
|
@if (isPath()) {
|
|
1171
1287
|
<svg class="a2ui-icon svg" viewBox="0 0 24 24" [style.fill]="color() || 'currentColor'">
|
|
1172
1288
|
<path [attr.d]="path()"></path>
|
|
@@ -1176,7 +1292,7 @@ class IconComponent {
|
|
|
1176
1292
|
{{ iconName() }}
|
|
1177
1293
|
</i>
|
|
1178
1294
|
}
|
|
1179
|
-
`, isInline: true, styles: [".a2ui-icon{display:inline-block;width:24px;height:24px;font-size:24px;font-family:Material Icons;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 });
|
|
1295
|
+
`, 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 });
|
|
1180
1296
|
}
|
|
1181
1297
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IconComponent, decorators: [{
|
|
1182
1298
|
type: Component,
|
|
@@ -1190,7 +1306,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1190
1306
|
{{ iconName() }}
|
|
1191
1307
|
</i>
|
|
1192
1308
|
}
|
|
1193
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-icon{display:inline-block;width:24px;height:24px;font-size:24px;font-family:Material Icons;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"] }]
|
|
1309
|
+
`, 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"] }]
|
|
1194
1310
|
}], 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 }] }] } });
|
|
1195
1311
|
|
|
1196
1312
|
/**
|
|
@@ -1212,8 +1328,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1212
1328
|
* Angular implementation of the A2UI Video component (v0.9).
|
|
1213
1329
|
*
|
|
1214
1330
|
* Renders a video player with standard controls and an optional poster image.
|
|
1331
|
+
*
|
|
1332
|
+
* Supported CSS variables:
|
|
1333
|
+
* - `--a2ui-video-border-radius`: Controls the border radius of the video element.
|
|
1215
1334
|
*/
|
|
1216
|
-
class VideoComponent {
|
|
1335
|
+
class VideoComponent extends BasicCatalogComponent {
|
|
1217
1336
|
/**
|
|
1218
1337
|
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
1219
1338
|
*
|
|
@@ -1227,8 +1346,8 @@ class VideoComponent {
|
|
|
1227
1346
|
dataContextPath = input('/', ...(ngDevMode ? [{ debugName: "dataContextPath" }] : /* istanbul ignore next */ []));
|
|
1228
1347
|
url = computed$1(() => this.props()['url']?.value(), ...(ngDevMode ? [{ debugName: "url" }] : /* istanbul ignore next */ []));
|
|
1229
1348
|
posterUrl = computed$1(() => this.props()['posterUrl']?.value(), ...(ngDevMode ? [{ debugName: "posterUrl" }] : /* istanbul ignore next */ []));
|
|
1230
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: VideoComponent, deps:
|
|
1231
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: VideoComponent, isStandalone: true, selector: "a2ui-v09-video", 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: false, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
1349
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: VideoComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1350
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: VideoComponent, isStandalone: true, selector: "a2ui-v09-video", 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: false, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
|
|
1232
1351
|
<div class="a2ui-video-container">
|
|
1233
1352
|
<video
|
|
1234
1353
|
[attr.src]="url() || null"
|
|
@@ -1239,7 +1358,7 @@ class VideoComponent {
|
|
|
1239
1358
|
Your browser does not support the video tag.
|
|
1240
1359
|
</video>
|
|
1241
1360
|
</div>
|
|
1242
|
-
`, isInline: true, styles: [".a2ui-video-container{width:100%;max-width:100%}.a2ui-video{width:100%;height:auto;display:block}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1361
|
+
`, isInline: true, 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"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1243
1362
|
}
|
|
1244
1363
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: VideoComponent, decorators: [{
|
|
1245
1364
|
type: Component,
|
|
@@ -1254,7 +1373,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1254
1373
|
Your browser does not support the video tag.
|
|
1255
1374
|
</video>
|
|
1256
1375
|
</div>
|
|
1257
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-video-container{width:100%;max-width:100%}.a2ui-video{width:100%;height:auto;display:block}\n"] }]
|
|
1376
|
+
`, 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"] }]
|
|
1258
1377
|
}], 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 }] }] } });
|
|
1259
1378
|
|
|
1260
1379
|
/**
|
|
@@ -1276,8 +1395,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1276
1395
|
* Angular implementation of the A2UI AudioPlayer component (v0.9).
|
|
1277
1396
|
*
|
|
1278
1397
|
* Renders an audio player with standard controls and an optional description.
|
|
1398
|
+
*
|
|
1399
|
+
* Supported CSS variables:
|
|
1400
|
+
* - `--a2ui-audioplayer-background`: Controls the background of the player. Defaults to `transparent`.
|
|
1401
|
+
* - `--a2ui-audioplayer-border-radius`: Controls the border radius. Defaults to `0`.
|
|
1402
|
+
* - `--a2ui-audioplayer-padding`: Controls the padding. Defaults to `0`.
|
|
1279
1403
|
*/
|
|
1280
|
-
class AudioPlayerComponent {
|
|
1404
|
+
class AudioPlayerComponent extends BasicCatalogComponent {
|
|
1281
1405
|
/**
|
|
1282
1406
|
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
1283
1407
|
*
|
|
@@ -1291,8 +1415,8 @@ class AudioPlayerComponent {
|
|
|
1291
1415
|
dataContextPath = input(...(ngDevMode ? [undefined, { debugName: "dataContextPath" }] : /* istanbul ignore next */ []));
|
|
1292
1416
|
description = computed$1(() => this.props()['description']?.value(), ...(ngDevMode ? [{ debugName: "description" }] : /* istanbul ignore next */ []));
|
|
1293
1417
|
url = computed$1(() => this.props()['url']?.value(), ...(ngDevMode ? [{ debugName: "url" }] : /* istanbul ignore next */ []));
|
|
1294
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: AudioPlayerComponent, deps:
|
|
1295
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: AudioPlayerComponent, isStandalone: true, selector: "a2ui-v09-audio-player", inputs: { props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null }, surfaceId: { classPropertyName: "surfaceId", publicName: "surfaceId", isSignal: true, isRequired: false, transformFunction: null }, componentId: { classPropertyName: "componentId", publicName: "componentId", isSignal: true, isRequired: false, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
1418
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: AudioPlayerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1419
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: AudioPlayerComponent, isStandalone: true, selector: "a2ui-v09-audio-player", inputs: { props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null }, surfaceId: { classPropertyName: "surfaceId", publicName: "surfaceId", isSignal: true, isRequired: false, transformFunction: null }, componentId: { classPropertyName: "componentId", publicName: "componentId", isSignal: true, isRequired: false, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
|
|
1296
1420
|
<div class="a2ui-audio-player">
|
|
1297
1421
|
@if (description()) {
|
|
1298
1422
|
<div class="a2ui-audio-description">
|
|
@@ -1303,7 +1427,7 @@ class AudioPlayerComponent {
|
|
|
1303
1427
|
Your browser does not support the audio tag.
|
|
1304
1428
|
</audio>
|
|
1305
1429
|
</div>
|
|
1306
|
-
`, isInline: true, styles: [".a2ui-audio-player{display:flex;flex-direction:column;gap:
|
|
1430
|
+
`, isInline: true, 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"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1307
1431
|
}
|
|
1308
1432
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: AudioPlayerComponent, decorators: [{
|
|
1309
1433
|
type: Component,
|
|
@@ -1318,7 +1442,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1318
1442
|
Your browser does not support the audio tag.
|
|
1319
1443
|
</audio>
|
|
1320
1444
|
</div>
|
|
1321
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-audio-player{display:flex;flex-direction:column;gap:
|
|
1445
|
+
`, 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"] }]
|
|
1322
1446
|
}], propDecorators: { props: [{ type: i0.Input, args: [{ isSignal: true, alias: "props", required: false }] }], surfaceId: [{ type: i0.Input, args: [{ isSignal: true, alias: "surfaceId", required: false }] }], componentId: [{ type: i0.Input, args: [{ isSignal: true, alias: "componentId", required: false }] }], dataContextPath: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataContextPath", required: false }] }] } });
|
|
1323
1447
|
|
|
1324
1448
|
/**
|
|
@@ -1341,8 +1465,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1341
1465
|
*
|
|
1342
1466
|
* Renders a list of child components with support for ordered, unordered,
|
|
1343
1467
|
* and unstyled layouts in both vertical and horizontal orientations.
|
|
1468
|
+
*
|
|
1469
|
+
* Supported CSS variables:
|
|
1470
|
+
* - `--a2ui-list-gap`: Controls the gap between items.
|
|
1471
|
+
* - `--a2ui-list-padding`: Controls the padding (applied to padding-inline-start).
|
|
1344
1472
|
*/
|
|
1345
|
-
class ListComponent {
|
|
1473
|
+
class ListComponent extends BasicCatalogComponent {
|
|
1346
1474
|
/**
|
|
1347
1475
|
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
1348
1476
|
*
|
|
@@ -1375,8 +1503,8 @@ class ListComponent {
|
|
|
1375
1503
|
return 'none';
|
|
1376
1504
|
return '';
|
|
1377
1505
|
}, ...(ngDevMode ? [{ debugName: "styleType" }] : /* istanbul ignore next */ []));
|
|
1378
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ListComponent, deps:
|
|
1379
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ListComponent, isStandalone: true, selector: "a2ui-v09-list", 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: false, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
1506
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1507
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ListComponent, isStandalone: true, selector: "a2ui-v09-list", 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: false, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
|
|
1380
1508
|
@switch (listTag()) {
|
|
1381
1509
|
@case ('ol') {
|
|
1382
1510
|
<ol [class]="'a2ui-list ' + orientation()" [style.list-style-type]="styleType()">
|
|
@@ -1418,7 +1546,7 @@ class ListComponent {
|
|
|
1418
1546
|
</div>
|
|
1419
1547
|
}
|
|
1420
1548
|
}
|
|
1421
|
-
`, isInline: true, styles: [".a2ui-list{display:flex;padding-inline-start:24px;margin:0}.a2ui-list.vertical{flex-direction:column;gap:8px}.a2ui-list.horizontal{flex-direction:row;gap:16px;list-style-position:inside}.a2ui-list-item-none{display:block}.horizontal .a2ui-list-item-none{display:inline-block}\n"], dependencies: [{ kind: "component", type: ComponentHostComponent, selector: "a2ui-v09-component-host", inputs: ["componentKey", "surfaceId"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1549
|
+
`, isInline: true, 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"], dependencies: [{ kind: "component", type: ComponentHostComponent, selector: "a2ui-v09-component-host", inputs: ["componentKey", "surfaceId"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1422
1550
|
}
|
|
1423
1551
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ListComponent, decorators: [{
|
|
1424
1552
|
type: Component,
|
|
@@ -1464,7 +1592,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1464
1592
|
</div>
|
|
1465
1593
|
}
|
|
1466
1594
|
}
|
|
1467
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-list{display:flex;padding-inline-start:24px;margin:0}.a2ui-list.vertical{flex-direction:column;gap:8px}.a2ui-list.horizontal{flex-direction:row;gap:16px;list-style-position:inside}.a2ui-list-item-none{display:block}.horizontal .a2ui-list-item-none{display:inline-block}\n"] }]
|
|
1595
|
+
`, 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"] }]
|
|
1468
1596
|
}], 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 }] }] } });
|
|
1469
1597
|
|
|
1470
1598
|
/**
|
|
@@ -1486,8 +1614,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1486
1614
|
* Angular implementation of the A2UI Card component (v0.9).
|
|
1487
1615
|
*
|
|
1488
1616
|
* Renders a container with a shadow and rounded corners for grouping related content.
|
|
1617
|
+
*
|
|
1618
|
+
* Supported CSS variables:
|
|
1619
|
+
* - `--a2ui-card-padding`: Controls the padding.
|
|
1620
|
+
* - `--a2ui-card-border-radius`: Controls the border radius.
|
|
1621
|
+
* - `--a2ui-card-box-shadow`: Controls the box shadow.
|
|
1622
|
+
* - `--a2ui-card-background`: Controls the background color.
|
|
1623
|
+
* - `--a2ui-card-border`: Controls the border.
|
|
1624
|
+
* - `--a2ui-card-margin`: Controls the margin.
|
|
1489
1625
|
*/
|
|
1490
|
-
class CardComponent {
|
|
1626
|
+
class CardComponent extends BasicCatalogComponent {
|
|
1491
1627
|
/**
|
|
1492
1628
|
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
1493
1629
|
*
|
|
@@ -1499,8 +1635,8 @@ class CardComponent {
|
|
|
1499
1635
|
componentId = input(...(ngDevMode ? [undefined, { debugName: "componentId" }] : /* istanbul ignore next */ []));
|
|
1500
1636
|
dataContextPath = input('/', ...(ngDevMode ? [{ debugName: "dataContextPath" }] : /* istanbul ignore next */ []));
|
|
1501
1637
|
child = computed$1(() => this.props()['child']?.value(), ...(ngDevMode ? [{ debugName: "child" }] : /* istanbul ignore next */ []));
|
|
1502
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CardComponent, deps:
|
|
1503
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: CardComponent, isStandalone: true, selector: "a2ui-v09-card", 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: false, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
1638
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CardComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1639
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: CardComponent, isStandalone: true, selector: "a2ui-v09-card", 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: false, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
|
|
1504
1640
|
<div class="a2ui-card">
|
|
1505
1641
|
@if (child()) {
|
|
1506
1642
|
<a2ui-v09-component-host
|
|
@@ -1510,7 +1646,7 @@ class CardComponent {
|
|
|
1510
1646
|
</a2ui-v09-component-host>
|
|
1511
1647
|
}
|
|
1512
1648
|
</div>
|
|
1513
|
-
`, isInline: true, styles: [".a2ui-card{padding:16px;border-radius:8px;box-shadow:0 4px
|
|
1649
|
+
`, 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 });
|
|
1514
1650
|
}
|
|
1515
1651
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CardComponent, decorators: [{
|
|
1516
1652
|
type: Component,
|
|
@@ -1524,7 +1660,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1524
1660
|
</a2ui-v09-component-host>
|
|
1525
1661
|
}
|
|
1526
1662
|
</div>
|
|
1527
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-card{padding:16px;border-radius:8px;box-shadow:0 4px
|
|
1663
|
+
`, 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"] }]
|
|
1528
1664
|
}], 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 }] }] } });
|
|
1529
1665
|
|
|
1530
1666
|
/**
|
|
@@ -1547,8 +1683,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1547
1683
|
*
|
|
1548
1684
|
* Renders a set of tabs where each tab has a label and associated content.
|
|
1549
1685
|
* Manages the active tab state internally.
|
|
1686
|
+
*
|
|
1687
|
+
* Supported CSS variables:
|
|
1688
|
+
* - `--a2ui-tabs-border`: Controls the border of the tab bar.
|
|
1689
|
+
* - `--a2ui-tabs-header-background`: Controls the background of tab buttons.
|
|
1690
|
+
* - `--a2ui-tabs-header-color`: Controls the text color of tab buttons.
|
|
1691
|
+
* - `--a2ui-tabs-header-background-active`: Controls the background of the active tab button.
|
|
1692
|
+
* - `--a2ui-tabs-header-color-active`: Controls the text color of the active tab button.
|
|
1693
|
+
* - `--a2ui-tabs-content-padding`: Controls the padding of the tab content.
|
|
1550
1694
|
*/
|
|
1551
|
-
class TabsComponent {
|
|
1695
|
+
class TabsComponent extends BasicCatalogComponent {
|
|
1552
1696
|
/**
|
|
1553
1697
|
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
1554
1698
|
*
|
|
@@ -1574,8 +1718,8 @@ class TabsComponent {
|
|
|
1574
1718
|
setActiveTab(index) {
|
|
1575
1719
|
this.activeTabIndex.set(index);
|
|
1576
1720
|
}
|
|
1577
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TabsComponent, deps:
|
|
1578
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: TabsComponent, isStandalone: true, selector: "a2ui-v09-tabs", 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: false, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
1721
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TabsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1722
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: TabsComponent, isStandalone: true, selector: "a2ui-v09-tabs", 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: false, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
|
|
1579
1723
|
<div class="a2ui-tabs">
|
|
1580
1724
|
<div class="a2ui-tab-bar">
|
|
1581
1725
|
@for (tab of tabs(); track tab; let i = $index) {
|
|
@@ -1598,7 +1742,7 @@ class TabsComponent {
|
|
|
1598
1742
|
</div>
|
|
1599
1743
|
}
|
|
1600
1744
|
</div>
|
|
1601
|
-
`, isInline: true, styles: [".a2ui-tabs{display:flex;flex-direction:column;width:100%}.a2ui-tab-bar{display:flex;border-bottom:2px solid #eee;gap:16px}.a2ui-tab-button{padding:8px 16px;border:none;background:
|
|
1745
|
+
`, isInline: true, 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"], dependencies: [{ kind: "component", type: ComponentHostComponent, selector: "a2ui-v09-component-host", inputs: ["componentKey", "surfaceId"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1602
1746
|
}
|
|
1603
1747
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TabsComponent, decorators: [{
|
|
1604
1748
|
type: Component,
|
|
@@ -1625,7 +1769,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1625
1769
|
</div>
|
|
1626
1770
|
}
|
|
1627
1771
|
</div>
|
|
1628
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-tabs{display:flex;flex-direction:column;width:100%}.a2ui-tab-bar{display:flex;border-bottom:2px solid #eee;gap:16px}.a2ui-tab-button{padding:8px 16px;border:none;background:
|
|
1772
|
+
`, 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"] }]
|
|
1629
1773
|
}], 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 }] }] } });
|
|
1630
1774
|
|
|
1631
1775
|
/**
|
|
@@ -1647,8 +1791,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1647
1791
|
* Angular implementation of the A2UI Modal component (v0.9).
|
|
1648
1792
|
*
|
|
1649
1793
|
* Renders a trigger component that opening an overlay containing a content component.
|
|
1794
|
+
*
|
|
1795
|
+
* Supported CSS variables:
|
|
1796
|
+
* - `--a2ui-modal-background`: Controls the background of the modal content.
|
|
1797
|
+
* - `--a2ui-modal-padding`: Controls the padding of the modal content.
|
|
1798
|
+
* - `--a2ui-modal-border-radius`: Controls the border radius of the modal content.
|
|
1799
|
+
* - `--a2ui-modal-box-shadow`: Controls the box shadow of the modal content.
|
|
1800
|
+
* - `--a2ui-modal-backdrop-bg`: Controls the background of the backdrop.
|
|
1650
1801
|
*/
|
|
1651
|
-
class ModalComponent {
|
|
1802
|
+
class ModalComponent extends BasicCatalogComponent {
|
|
1652
1803
|
/**
|
|
1653
1804
|
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
1654
1805
|
*
|
|
@@ -1669,8 +1820,8 @@ class ModalComponent {
|
|
|
1669
1820
|
closeModal() {
|
|
1670
1821
|
this.isOpen.set(false);
|
|
1671
1822
|
}
|
|
1672
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ModalComponent, deps:
|
|
1673
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ModalComponent, isStandalone: true, selector: "a2ui-v09-modal", 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: false, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
1823
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ModalComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1824
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ModalComponent, isStandalone: true, selector: "a2ui-v09-modal", 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: false, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
|
|
1674
1825
|
<div class="a2ui-modal-wrapper">
|
|
1675
1826
|
<div (click)="openModal()" class="a2ui-modal-trigger">
|
|
1676
1827
|
@if (trigger()) {
|
|
@@ -1697,7 +1848,7 @@ class ModalComponent {
|
|
|
1697
1848
|
</div>
|
|
1698
1849
|
}
|
|
1699
1850
|
</div>
|
|
1700
|
-
`, isInline: true, 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
|
|
1851
|
+
`, isInline: true, 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"], dependencies: [{ kind: "component", type: ComponentHostComponent, selector: "a2ui-v09-component-host", inputs: ["componentKey", "surfaceId"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1701
1852
|
}
|
|
1702
1853
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ModalComponent, decorators: [{
|
|
1703
1854
|
type: Component,
|
|
@@ -1728,7 +1879,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1728
1879
|
</div>
|
|
1729
1880
|
}
|
|
1730
1881
|
</div>
|
|
1731
|
-
`, 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
|
|
1882
|
+
`, 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"] }]
|
|
1732
1883
|
}], 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 }] }] } });
|
|
1733
1884
|
|
|
1734
1885
|
/**
|
|
@@ -1750,8 +1901,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1750
1901
|
* Angular implementation of the A2UI Divider component (v0.9).
|
|
1751
1902
|
*
|
|
1752
1903
|
* Renders a horizontal or vertical line to separate content.
|
|
1904
|
+
*
|
|
1905
|
+
* Supported CSS variables:
|
|
1906
|
+
* - `--a2ui-divider-border`: Controls the border of the divider (horizontal and vertical).
|
|
1907
|
+
* - `--a2ui-divider-spacing`: Controls the margin around the divider.
|
|
1753
1908
|
*/
|
|
1754
|
-
class DividerComponent {
|
|
1909
|
+
class DividerComponent extends BasicCatalogComponent {
|
|
1755
1910
|
/**
|
|
1756
1911
|
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
1757
1912
|
*
|
|
@@ -1763,24 +1918,27 @@ class DividerComponent {
|
|
|
1763
1918
|
componentId = input(...(ngDevMode ? [undefined, { debugName: "componentId" }] : /* istanbul ignore next */ []));
|
|
1764
1919
|
dataContextPath = input('/', ...(ngDevMode ? [{ debugName: "dataContextPath" }] : /* istanbul ignore next */ []));
|
|
1765
1920
|
axis = computed$1(() => this.props()['axis']?.value() ?? 'horizontal', ...(ngDevMode ? [{ debugName: "axis" }] : /* istanbul ignore next */ []));
|
|
1766
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: DividerComponent, deps:
|
|
1767
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: DividerComponent, isStandalone: true, selector: "a2ui-v09-divider", 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: false, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
1921
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: DividerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1922
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: DividerComponent, isStandalone: true, selector: "a2ui-v09-divider", 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: false, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.display": "\"block\"", "style.width": "axis() === \"horizontal\" ? \"100%\" : \"auto\"" } }, usesInheritance: true, ngImport: i0, template: `
|
|
1768
1923
|
<hr
|
|
1769
1924
|
class="a2ui-divider"
|
|
1770
1925
|
[class.horizontal]="axis() === 'horizontal'"
|
|
1771
1926
|
[class.vertical]="axis() === 'vertical'"
|
|
1772
1927
|
/>
|
|
1773
|
-
`, isInline: true, styles: [".a2ui-divider{border:0;border-top:1px solid #
|
|
1928
|
+
`, 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 });
|
|
1774
1929
|
}
|
|
1775
1930
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: DividerComponent, decorators: [{
|
|
1776
1931
|
type: Component,
|
|
1777
|
-
args: [{ selector: 'a2ui-v09-divider', standalone: true, imports: [],
|
|
1932
|
+
args: [{ selector: 'a2ui-v09-divider', standalone: true, imports: [], host: {
|
|
1933
|
+
'[style.display]': '"block"',
|
|
1934
|
+
'[style.width]': 'axis() === "horizontal" ? "100%" : "auto"',
|
|
1935
|
+
}, template: `
|
|
1778
1936
|
<hr
|
|
1779
1937
|
class="a2ui-divider"
|
|
1780
1938
|
[class.horizontal]="axis() === 'horizontal'"
|
|
1781
1939
|
[class.vertical]="axis() === 'vertical'"
|
|
1782
1940
|
/>
|
|
1783
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-divider{border:0;border-top:1px solid #
|
|
1941
|
+
`, 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"] }]
|
|
1784
1942
|
}], 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 }] }] } });
|
|
1785
1943
|
|
|
1786
1944
|
/**
|
|
@@ -1803,8 +1961,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1803
1961
|
*
|
|
1804
1962
|
* Renders a checkbox with a label. Updates the bound data model property
|
|
1805
1963
|
* when the checked state changes.
|
|
1964
|
+
*
|
|
1965
|
+
* Supported CSS variables:
|
|
1966
|
+
* - `--a2ui-checkbox-margin`: Controls the margin.
|
|
1967
|
+
* - `--a2ui-checkbox-gap`: Controls the gap between checkbox and label.
|
|
1968
|
+
* - `--a2ui-checkbox-label-font-size`: Controls the font size of the label.
|
|
1969
|
+
* - `--a2ui-checkbox-label-font-weight`: Controls the font weight of the label.
|
|
1970
|
+
* - `--a2ui-checkbox-size`: Controls the width and height of the checkbox.
|
|
1971
|
+
* - `--a2ui-checkbox-background`: Controls the background of the checkbox.
|
|
1972
|
+
* - `--a2ui-checkbox-border`: Controls the border of the checkbox.
|
|
1973
|
+
* - `--a2ui-checkbox-border-radius`: Controls the border radius of the checkbox.
|
|
1974
|
+
* - `--a2ui-checkbox-color-error`: Controls the color for error states.
|
|
1806
1975
|
*/
|
|
1807
|
-
class CheckBoxComponent {
|
|
1976
|
+
class CheckBoxComponent extends BasicCatalogComponent {
|
|
1808
1977
|
/**
|
|
1809
1978
|
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
1810
1979
|
*
|
|
@@ -1822,8 +1991,8 @@ class CheckBoxComponent {
|
|
|
1822
1991
|
const checked = event.target.checked;
|
|
1823
1992
|
this.props()['value']?.onUpdate(checked);
|
|
1824
1993
|
}
|
|
1825
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CheckBoxComponent, deps:
|
|
1826
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: CheckBoxComponent, isStandalone: true, selector: "a2ui-v09-check-box", 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: false, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
1994
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CheckBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1995
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: CheckBoxComponent, isStandalone: true, selector: "a2ui-v09-check-box", 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: false, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
|
|
1827
1996
|
<label class="a2ui-check-box-label">
|
|
1828
1997
|
<input
|
|
1829
1998
|
type="checkbox"
|
|
@@ -1833,7 +2002,7 @@ class CheckBoxComponent {
|
|
|
1833
2002
|
/>
|
|
1834
2003
|
<span class="a2ui-check-box-text">{{ label() }}</span>
|
|
1835
2004
|
</label>
|
|
1836
|
-
`, isInline: true, styles: [".a2ui-check-box-label{display:flex;align-items:center;gap:
|
|
2005
|
+
`, 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 });
|
|
1837
2006
|
}
|
|
1838
2007
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CheckBoxComponent, decorators: [{
|
|
1839
2008
|
type: Component,
|
|
@@ -1847,7 +2016,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1847
2016
|
/>
|
|
1848
2017
|
<span class="a2ui-check-box-text">{{ label() }}</span>
|
|
1849
2018
|
</label>
|
|
1850
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-check-box-label{display:flex;align-items:center;gap:
|
|
2019
|
+
`, 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"] }]
|
|
1851
2020
|
}], 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 }] }] } });
|
|
1852
2021
|
|
|
1853
2022
|
/**
|
|
@@ -1870,8 +2039,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1870
2039
|
*
|
|
1871
2040
|
* Renders a set of options as either radio buttons/checkboxes or chips.
|
|
1872
2041
|
* Supports both single and multiple selection.
|
|
2042
|
+
*
|
|
2043
|
+
* Supported CSS variables:
|
|
2044
|
+
* - `--a2ui-choicepicker-gap`: Controls spacing between options/chips.
|
|
2045
|
+
* - `--a2ui-choicepicker-padding`: Controls padding of the container.
|
|
2046
|
+
* - `--a2ui-choicepicker-checkbox-size`: Controls size of checkboxes/radios.
|
|
2047
|
+
* - `--a2ui-choicepicker-chip-padding`: Controls padding of chips.
|
|
2048
|
+
* - `--a2ui-choicepicker-chip-border-radius`: Controls border radius of chips.
|
|
2049
|
+
* - `--a2ui-choicepicker-chip-border`: Controls border of chips.
|
|
2050
|
+
* - `--a2ui-choicepicker-chip-background`: Controls background of chips.
|
|
2051
|
+
* - `--a2ui-choicepicker-chip-background-selected`: Controls background of selected chips.
|
|
1873
2052
|
*/
|
|
1874
|
-
class ChoicePickerComponent {
|
|
2053
|
+
class ChoicePickerComponent extends BasicCatalogComponent {
|
|
1875
2054
|
/**
|
|
1876
2055
|
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
1877
2056
|
*
|
|
@@ -1926,8 +2105,8 @@ class ChoicePickerComponent {
|
|
|
1926
2105
|
}
|
|
1927
2106
|
}
|
|
1928
2107
|
}
|
|
1929
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ChoicePickerComponent, deps:
|
|
1930
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ChoicePickerComponent, isStandalone: true, selector: "a2ui-v09-choice-picker", 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: false, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
2108
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ChoicePickerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2109
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ChoicePickerComponent, isStandalone: true, selector: "a2ui-v09-choice-picker", 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: false, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
|
|
1931
2110
|
<div class="a2ui-choice-picker">
|
|
1932
2111
|
<!-- Chips Variant -->
|
|
1933
2112
|
@if (displayStyle() === 'chips') {
|
|
@@ -1961,7 +2140,7 @@ class ChoicePickerComponent {
|
|
|
1961
2140
|
</div>
|
|
1962
2141
|
}
|
|
1963
2142
|
</div>
|
|
1964
|
-
`, isInline: true, styles: [".a2ui-choice-picker{width:100
|
|
2143
|
+
`, 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 });
|
|
1965
2144
|
}
|
|
1966
2145
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ChoicePickerComponent, decorators: [{
|
|
1967
2146
|
type: Component,
|
|
@@ -1999,7 +2178,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
1999
2178
|
</div>
|
|
2000
2179
|
}
|
|
2001
2180
|
</div>
|
|
2002
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-choice-picker{width:100
|
|
2181
|
+
`, 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"] }]
|
|
2003
2182
|
}], 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 }] }] } });
|
|
2004
2183
|
|
|
2005
2184
|
/**
|
|
@@ -2021,8 +2200,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
2021
2200
|
* Angular implementation of the A2UI Slider component (v0.9).
|
|
2022
2201
|
*
|
|
2023
2202
|
* Renders a range input slider with a label and its current value.
|
|
2203
|
+
*
|
|
2204
|
+
* Supported CSS variables:
|
|
2205
|
+
* - `--a2ui-slider-margin`: Controls the margin of the container.
|
|
2206
|
+
* - `--a2ui-slider-label-font-size`: Controls the font size of the label.
|
|
2207
|
+
* - `--a2ui-slider-label-font-weight`: Controls the font weight of the label.
|
|
2208
|
+
* - `--a2ui-slider-thumb-color`: Controls the accent color of the thumb.
|
|
2209
|
+
* - `--a2ui-slider-track-color`: Controls the background of the track.
|
|
2024
2210
|
*/
|
|
2025
|
-
class SliderComponent {
|
|
2211
|
+
class SliderComponent extends BasicCatalogComponent {
|
|
2026
2212
|
/**
|
|
2027
2213
|
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
2028
2214
|
*
|
|
@@ -2046,8 +2232,8 @@ class SliderComponent {
|
|
|
2046
2232
|
const val = Number(event.target.value);
|
|
2047
2233
|
this.props()['value']?.onUpdate(val);
|
|
2048
2234
|
}
|
|
2049
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: SliderComponent, deps:
|
|
2050
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: SliderComponent, isStandalone: true, selector: "a2ui-v09-slider", 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: false, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
2235
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: SliderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2236
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: SliderComponent, isStandalone: true, selector: "a2ui-v09-slider", 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: false, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
|
|
2051
2237
|
<div class="a2ui-slider-container">
|
|
2052
2238
|
<div class="a2ui-slider-header">
|
|
2053
2239
|
<span class="a2ui-slider-label">{{ label() }}</span>
|
|
@@ -2063,7 +2249,7 @@ class SliderComponent {
|
|
|
2063
2249
|
class="a2ui-slider"
|
|
2064
2250
|
/>
|
|
2065
2251
|
</div>
|
|
2066
|
-
`, isInline: true, styles: [".a2ui-slider-container{width:100%;display:flex;flex-direction:column;gap:4px}.a2ui-slider-header{display:flex;justify-content:space-between;font-size:14px}.a2ui-slider{width:100%;cursor:pointer}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2252
|
+
`, 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 });
|
|
2067
2253
|
}
|
|
2068
2254
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: SliderComponent, decorators: [{
|
|
2069
2255
|
type: Component,
|
|
@@ -2083,7 +2269,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
2083
2269
|
class="a2ui-slider"
|
|
2084
2270
|
/>
|
|
2085
2271
|
</div>
|
|
2086
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-slider-container{width:100%;display:flex;flex-direction:column;gap:4px}.a2ui-slider-header{display:flex;justify-content:space-between;font-size:14px}.a2ui-slider{width:100%;cursor:pointer}\n"] }]
|
|
2272
|
+
`, 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"] }]
|
|
2087
2273
|
}], 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 }] }] } });
|
|
2088
2274
|
|
|
2089
2275
|
/**
|
|
@@ -2106,8 +2292,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
2106
2292
|
*
|
|
2107
2293
|
* Renders date and/or time input fields. Combines them into an ISO string
|
|
2108
2294
|
* for the bound data model property.
|
|
2295
|
+
*
|
|
2296
|
+
* Supported CSS variables:
|
|
2297
|
+
* - `--a2ui-datetimeinput-background`: Controls the background of inputs.
|
|
2298
|
+
* - `--a2ui-datetimeinput-color`: Controls the text color of inputs.
|
|
2299
|
+
* - `--a2ui-datetimeinput-border`: Controls the border of inputs.
|
|
2300
|
+
* - `--a2ui-datetimeinput-border-radius`: Controls the border radius of inputs.
|
|
2301
|
+
* - `--a2ui-datetimeinput-padding`: Controls the padding of inputs.
|
|
2302
|
+
* - `--a2ui-datetimeinput-label-font-size`: Controls the font size of the label.
|
|
2303
|
+
* - `--a2ui-datetimeinput-label-font-weight`: Controls the font weight of the label.
|
|
2109
2304
|
*/
|
|
2110
|
-
class DateTimeInputComponent {
|
|
2305
|
+
class DateTimeInputComponent extends BasicCatalogComponent {
|
|
2111
2306
|
/**
|
|
2112
2307
|
* Reactive properties resolved from the A2UI {@link ComponentModel}.
|
|
2113
2308
|
*
|
|
@@ -2156,8 +2351,8 @@ class DateTimeInputComponent {
|
|
|
2156
2351
|
: current || new Date().toISOString().split('T')[0];
|
|
2157
2352
|
this.props()['value']?.onUpdate(`${date}T${time}:00`);
|
|
2158
2353
|
}
|
|
2159
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: DateTimeInputComponent, deps:
|
|
2160
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: DateTimeInputComponent, isStandalone: true, selector: "a2ui-v09-date-time-input", 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: false, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
2354
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: DateTimeInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2355
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: DateTimeInputComponent, isStandalone: true, selector: "a2ui-v09-date-time-input", 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: false, transformFunction: null }, dataContextPath: { classPropertyName: "dataContextPath", publicName: "dataContextPath", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
|
|
2161
2356
|
<div class="a2ui-date-time-container">
|
|
2162
2357
|
@if (label()) {
|
|
2163
2358
|
<label class="a2ui-date-time-label">
|
|
@@ -2183,7 +2378,7 @@ class DateTimeInputComponent {
|
|
|
2183
2378
|
}
|
|
2184
2379
|
</div>
|
|
2185
2380
|
</div>
|
|
2186
|
-
`, isInline: true, styles: [".a2ui-date-time-container{display:flex;flex-direction:column;gap:4px;width:100%}.a2ui-date-time-label{font-size:14px;color
|
|
2381
|
+
`, 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 });
|
|
2187
2382
|
}
|
|
2188
2383
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: DateTimeInputComponent, decorators: [{
|
|
2189
2384
|
type: Component,
|
|
@@ -2213,7 +2408,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
2213
2408
|
}
|
|
2214
2409
|
</div>
|
|
2215
2410
|
</div>
|
|
2216
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".a2ui-date-time-container{display:flex;flex-direction:column;gap:4px;width:100%}.a2ui-date-time-label{font-size:14px;color
|
|
2411
|
+
`, 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"] }]
|
|
2217
2412
|
}], 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 }] }] } });
|
|
2218
2413
|
|
|
2219
2414
|
/**
|