valtech-components 2.0.407 → 2.0.410
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/esm2022/lib/components/atoms/horizontal-scroll/horizontal-scroll.component.mjs +82 -0
- package/esm2022/lib/components/atoms/horizontal-scroll/types.mjs +2 -0
- package/esm2022/lib/components/atoms/rights-footer/rights-footer.component.mjs +82 -0
- package/esm2022/lib/components/atoms/rights-footer/types.mjs +2 -0
- package/esm2022/lib/components/molecules/check-input/check-input.component.mjs +55 -11
- package/esm2022/lib/components/molecules/email-input/email-input.component.mjs +13 -4
- package/esm2022/lib/components/molecules/expandable-text/expandable-text.component.mjs +27 -23
- package/esm2022/lib/components/molecules/footer-links/footer-links.component.mjs +277 -0
- package/esm2022/lib/components/molecules/footer-links/types.mjs +2 -0
- package/esm2022/lib/components/molecules/links-accordion/links-accordion.component.mjs +157 -0
- package/esm2022/lib/components/molecules/links-accordion/types.mjs +2 -0
- package/esm2022/lib/components/molecules/password-input/password-input.component.mjs +12 -2
- package/esm2022/lib/components/molecules/prompter/prompter.component.mjs +21 -9
- package/esm2022/lib/components/molecules/prompter/types.mjs +1 -1
- package/esm2022/lib/components/molecules/radio-input/radio-input.component.mjs +13 -4
- package/esm2022/lib/components/molecules/recap-card/recap-card.component.mjs +78 -0
- package/esm2022/lib/components/molecules/recap-card/types.mjs +2 -0
- package/esm2022/lib/components/molecules/select-input/select-input.component.mjs +31 -14
- package/esm2022/lib/components/molecules/swipe-carousel/swipe-carousel.component.mjs +206 -0
- package/esm2022/lib/components/molecules/swipe-carousel/types.mjs +2 -0
- package/esm2022/lib/components/molecules/testimonial-card/testimonial-card.component.mjs +138 -0
- package/esm2022/lib/components/molecules/testimonial-card/types.mjs +2 -0
- package/esm2022/lib/components/molecules/text-input/text-input.component.mjs +14 -4
- package/esm2022/lib/components/organisms/cards-carousel/cards-carousel.component.mjs +61 -0
- package/esm2022/lib/components/organisms/cards-carousel/types.mjs +2 -0
- package/esm2022/lib/components/organisms/company-footer/company-footer.component.mjs +72 -0
- package/esm2022/lib/components/organisms/company-footer/types.mjs +2 -0
- package/esm2022/lib/components/organisms/data-table/data-table.component.mjs +175 -3
- package/esm2022/lib/components/organisms/data-table/types.mjs +1 -1
- package/esm2022/lib/components/organisms/form/form.component.mjs +2 -2
- package/esm2022/lib/components/organisms/fun-header/fun-header.component.mjs +225 -0
- package/esm2022/lib/components/organisms/fun-header/types.mjs +2 -0
- package/esm2022/lib/components/organisms/menu/menu.component.mjs +197 -0
- package/esm2022/lib/components/organisms/menu/types.mjs +2 -0
- package/esm2022/lib/components/organisms/testimonial-carousel/testimonial-carousel.component.mjs +72 -0
- package/esm2022/lib/components/organisms/testimonial-carousel/types.mjs +2 -0
- package/esm2022/lib/components/templates/page-content/page-content.component.mjs +156 -0
- package/esm2022/lib/components/templates/page-content/types.mjs +2 -0
- package/esm2022/lib/components/templates/page-template/page-template.component.mjs +181 -0
- package/esm2022/lib/components/templates/page-template/types.mjs +2 -0
- package/esm2022/lib/components/templates/page-wrapper/page-wrapper.component.mjs +195 -0
- package/esm2022/lib/components/templates/page-wrapper/types.mjs +2 -0
- package/esm2022/lib/components/types.mjs +1 -1
- package/esm2022/lib/services/firebase/config.mjs +103 -0
- package/esm2022/lib/services/firebase/firebase.service.mjs +285 -0
- package/esm2022/lib/services/firebase/firestore-collection.mjs +266 -0
- package/esm2022/lib/services/firebase/firestore.service.mjs +508 -0
- package/esm2022/lib/services/firebase/index.mjs +46 -0
- package/esm2022/lib/services/firebase/messaging.service.mjs +503 -0
- package/esm2022/lib/services/firebase/storage.service.mjs +421 -0
- package/esm2022/lib/services/firebase/types.mjs +8 -0
- package/esm2022/lib/services/firebase/utils/path-builder.mjs +195 -0
- package/esm2022/lib/services/firebase/utils/query-builder.mjs +302 -0
- package/esm2022/lib/services/icons.service.mjs +3 -2
- package/esm2022/public-api.mjs +33 -1
- package/fesm2022/valtech-components.mjs +5823 -869
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/atoms/horizontal-scroll/horizontal-scroll.component.d.ts +41 -0
- package/lib/components/atoms/horizontal-scroll/types.d.ts +13 -0
- package/lib/components/atoms/rights-footer/rights-footer.component.d.ts +39 -0
- package/lib/components/atoms/rights-footer/types.d.ts +13 -0
- package/lib/components/molecules/check-input/check-input.component.d.ts +17 -2
- package/lib/components/molecules/email-input/email-input.component.d.ts +1 -2
- package/lib/components/molecules/footer-links/footer-links.component.d.ts +47 -0
- package/lib/components/molecules/footer-links/types.d.ts +37 -0
- package/lib/components/molecules/links-accordion/links-accordion.component.d.ts +48 -0
- package/lib/components/molecules/links-accordion/types.d.ts +33 -0
- package/lib/components/molecules/password-input/password-input.component.d.ts +1 -1
- package/lib/components/molecules/prompter/prompter.component.d.ts +8 -1
- package/lib/components/molecules/prompter/types.d.ts +7 -1
- package/lib/components/molecules/radio-input/radio-input.component.d.ts +1 -2
- package/lib/components/molecules/recap-card/recap-card.component.d.ts +36 -0
- package/lib/components/molecules/recap-card/types.d.ts +30 -0
- package/lib/components/molecules/select-input/select-input.component.d.ts +6 -1
- package/lib/components/molecules/swipe-carousel/swipe-carousel.component.d.ts +66 -0
- package/lib/components/molecules/swipe-carousel/types.d.ts +35 -0
- package/lib/components/molecules/testimonial-card/testimonial-card.component.d.ts +41 -0
- package/lib/components/molecules/testimonial-card/types.d.ts +25 -0
- package/lib/components/molecules/text-input/text-input.component.d.ts +13 -4
- package/lib/components/organisms/cards-carousel/cards-carousel.component.d.ts +30 -0
- package/lib/components/organisms/cards-carousel/types.d.ts +11 -0
- package/lib/components/organisms/company-footer/company-footer.component.d.ts +32 -0
- package/lib/components/organisms/company-footer/types.d.ts +15 -0
- package/lib/components/organisms/data-table/data-table.component.d.ts +1 -1
- package/lib/components/organisms/data-table/types.d.ts +6 -0
- package/lib/components/organisms/fun-header/fun-header.component.d.ts +72 -0
- package/lib/components/organisms/fun-header/types.d.ts +28 -0
- package/lib/components/organisms/menu/menu.component.d.ts +39 -0
- package/lib/components/organisms/menu/types.d.ts +23 -0
- package/lib/components/organisms/testimonial-carousel/testimonial-carousel.component.d.ts +33 -0
- package/lib/components/organisms/testimonial-carousel/types.d.ts +8 -0
- package/lib/components/templates/page-content/page-content.component.d.ts +55 -0
- package/lib/components/templates/page-content/types.d.ts +14 -0
- package/lib/components/templates/page-template/page-template.component.d.ts +49 -0
- package/lib/components/templates/page-template/types.d.ts +17 -0
- package/lib/components/templates/page-wrapper/page-wrapper.component.d.ts +61 -0
- package/lib/components/templates/page-wrapper/types.d.ts +19 -0
- package/lib/components/types.d.ts +14 -0
- package/lib/services/firebase/config.d.ts +49 -0
- package/lib/services/firebase/firebase.service.d.ts +140 -0
- package/lib/services/firebase/firestore-collection.d.ts +195 -0
- package/lib/services/firebase/firestore.service.d.ts +303 -0
- package/lib/services/firebase/index.d.ts +38 -0
- package/lib/services/firebase/messaging.service.d.ts +254 -0
- package/lib/services/firebase/storage.service.d.ts +204 -0
- package/lib/services/firebase/types.d.ts +279 -0
- package/lib/services/firebase/utils/path-builder.d.ts +132 -0
- package/lib/services/firebase/utils/query-builder.d.ts +210 -0
- package/package.json +3 -1
- package/public-api.d.ts +31 -0
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
2
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
+
import { of } from 'rxjs';
|
|
3
4
|
import { BoxComponent } from '../../atoms/box/box.component';
|
|
4
5
|
import { HrefComponent } from '../../atoms/href/href.component';
|
|
5
6
|
import { TextComponent } from '../../atoms/text/text.component';
|
|
6
7
|
import { ButtonGroupComponent } from '../button-group/button-group.component';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "
|
|
9
|
+
import * as i1 from "../../../services/lang-provider/lang-provider.service";
|
|
10
|
+
import * as i2 from "@angular/common";
|
|
9
11
|
/**
|
|
10
12
|
* val-prompter
|
|
11
13
|
*
|
|
@@ -18,14 +20,24 @@ import * as i1 from "@angular/common";
|
|
|
18
20
|
* @output onClick - Emits when an action is clicked
|
|
19
21
|
*/
|
|
20
22
|
export class PrompterComponent {
|
|
21
|
-
constructor() {
|
|
23
|
+
constructor(langService) {
|
|
24
|
+
this.langService = langService;
|
|
22
25
|
this.onClick = new EventEmitter();
|
|
23
26
|
}
|
|
24
|
-
ngOnInit() {
|
|
27
|
+
ngOnInit() {
|
|
28
|
+
// Set up reactive content if i18n keys are provided
|
|
29
|
+
if (this.props.contentClass && this.props.contentKey) {
|
|
30
|
+
this.displayContent$ = this.langService.getContent(this.props.contentClass, this.props.contentKey, this.props.content // fallback
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
this.displayContent$ = of(this.props.content);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
25
37
|
clickHandler(token) {
|
|
26
38
|
this.onClick.emit(token);
|
|
27
39
|
}
|
|
28
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PrompterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
40
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PrompterComponent, deps: [{ token: i1.LangService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29
41
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: PrompterComponent, isStandalone: true, selector: "val-prompter", inputs: { props: "props" }, outputs: { onClick: "onClick" }, ngImport: i0, template: `
|
|
30
42
|
<val-box
|
|
31
43
|
class="teleprompter-container"
|
|
@@ -36,7 +48,7 @@ export class PrompterComponent {
|
|
|
36
48
|
<div>
|
|
37
49
|
<val-text
|
|
38
50
|
[props]="{
|
|
39
|
-
content: props.content,
|
|
51
|
+
content: (displayContent$ | async) || props.content,
|
|
40
52
|
color: '',
|
|
41
53
|
bold: true,
|
|
42
54
|
size: props.size,
|
|
@@ -60,7 +72,7 @@ export class PrompterComponent {
|
|
|
60
72
|
}
|
|
61
73
|
</div>
|
|
62
74
|
</val-box>
|
|
63
|
-
`, isInline: true, styles: ["@charset \"UTF-8\";:root{--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}@media (prefers-color-scheme: dark){:root{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}.container{display:flex;align-items:center;justify-content:space-between;flex-direction:column}@media (min-width: 768px){.container{flex-direction:row}}.teleprompter-container{overflow:hidden;width:100%}.teleprompter-content{white-space:nowrap;animation:scroll-left 15s linear infinite}@keyframes scroll-left{0%{transform:translate(100%)}to{transform:translate(-100%)}}.link{margin:0 .5rem;width:max-content}.actions-container{display:flex;align-items:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type:
|
|
75
|
+
`, isInline: true, styles: ["@charset \"UTF-8\";:root{--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}@media (prefers-color-scheme: dark){:root{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}.container{display:flex;align-items:center;justify-content:space-between;flex-direction:column}@media (min-width: 768px){.container{flex-direction:row}}.teleprompter-container{overflow:hidden;width:100%}.teleprompter-content{white-space:nowrap;animation:scroll-left 15s linear infinite}@keyframes scroll-left{0%{transform:translate(100%)}to{transform:translate(-100%)}}.link{margin:0 .5rem;width:max-content}.actions-container{display:flex;align-items:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "component", type: BoxComponent, selector: "val-box", inputs: ["props"], outputs: ["onClick"] }, { kind: "component", type: ButtonGroupComponent, selector: "val-button-group", inputs: ["props"], outputs: ["onClick"] }, { kind: "component", type: TextComponent, selector: "val-text", inputs: ["props"] }, { kind: "component", type: HrefComponent, selector: "val-href", inputs: ["props"], outputs: ["onClick"] }] }); }
|
|
64
76
|
}
|
|
65
77
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PrompterComponent, decorators: [{
|
|
66
78
|
type: Component,
|
|
@@ -74,7 +86,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
74
86
|
<div>
|
|
75
87
|
<val-text
|
|
76
88
|
[props]="{
|
|
77
|
-
content: props.content,
|
|
89
|
+
content: (displayContent$ | async) || props.content,
|
|
78
90
|
color: '',
|
|
79
91
|
bold: true,
|
|
80
92
|
size: props.size,
|
|
@@ -99,9 +111,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
99
111
|
</div>
|
|
100
112
|
</val-box>
|
|
101
113
|
`, styles: ["@charset \"UTF-8\";:root{--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}@media (prefers-color-scheme: dark){:root{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}.container{display:flex;align-items:center;justify-content:space-between;flex-direction:column}@media (min-width: 768px){.container{flex-direction:row}}.teleprompter-container{overflow:hidden;width:100%}.teleprompter-content{white-space:nowrap;animation:scroll-left 15s linear infinite}@keyframes scroll-left{0%{transform:translate(100%)}to{transform:translate(-100%)}}.link{margin:0 .5rem;width:max-content}.actions-container{display:flex;align-items:center}\n"] }]
|
|
102
|
-
}], ctorParameters: () => [], propDecorators: { props: [{
|
|
114
|
+
}], ctorParameters: () => [{ type: i1.LangService }], propDecorators: { props: [{
|
|
103
115
|
type: Input
|
|
104
116
|
}], onClick: [{
|
|
105
117
|
type: Output
|
|
106
118
|
}] } });
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbXB0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9wcm9tcHRlci9wcm9tcHRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7OztBQTRDOUU7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sT0FBTyxpQkFBaUI7SUF3QjVCLFlBQW9CLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBTDVDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBS1UsQ0FBQztJQUVoRCxRQUFRO1FBQ04sb0RBQW9EO1FBQ3BELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNyRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUNoRCxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVc7YUFDL0IsQ0FBQztRQUNKLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRCxDQUFDO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7K0dBekNVLGlCQUFpQjttR0FBakIsaUJBQWlCLHFJQWhEbEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQ1QsNmlHQW5DUyxZQUFZLGlOQUFFLFlBQVksNkZBQUUsb0JBQW9CLHNHQUFFLGFBQWEsd0VBQUUsYUFBYTs7NEZBaUQ3RSxpQkFBaUI7a0JBcEQ3QixTQUFTOytCQUNFLGNBQWMsY0FDWixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLGFBQWEsRUFBRSxhQUFhLENBQUMsWUFDL0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQ1Q7Z0ZBOEJELEtBQUs7c0JBREosS0FBSztnQkFJTixPQUFPO3NCQUROLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExhbmdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbGFuZy1wcm92aWRlci9sYW5nLXByb3ZpZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQm94Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvYm94L2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSHJlZkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2hyZWYvaHJlZi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL3RleHQvdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uR3JvdXBDb21wb25lbnQgfSBmcm9tICcuLi9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9tcHRlck1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1wcm9tcHRlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEJveENvbXBvbmVudCwgQnV0dG9uR3JvdXBDb21wb25lbnQsIFRleHRDb21wb25lbnQsIEhyZWZDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx2YWwtYm94XG4gICAgICBjbGFzcz1cInRlbGVwcm9tcHRlci1jb250YWluZXJcIlxuICAgICAgW3Byb3BzXT1cInsgaWNvbjogJycsIGJvcmRlcmVkOiBwcm9wcy5ib3JkZXJlZCwgY29sb3I6IHByb3BzLmNvbG9yLCBsZWZ0Qm9yZGVyOiBmYWxzZSwgcGFkZGluZzogcHJvcHMucGFkZGluZyB9XCJcbiAgICAgIChvbkNsaWNrKT1cImNsaWNrSGFuZGxlcigpXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCIgW2NsYXNzLnRlbGVwcm9tcHRlci1jb250ZW50XT1cInByb3BzLnRlbGVwcm9tcHRlclwiIGJvZHk+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPHZhbC10ZXh0XG4gICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICBjb250ZW50OiAoZGlzcGxheUNvbnRlbnQkIHwgYXN5bmMpIHx8IHByb3BzLmNvbnRlbnQsXG4gICAgICAgICAgICAgIGNvbG9yOiAnJyxcbiAgICAgICAgICAgICAgYm9sZDogdHJ1ZSxcbiAgICAgICAgICAgICAgc2l6ZTogcHJvcHMuc2l6ZSxcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgID48L3ZhbC10ZXh0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgQGlmIChwcm9wcy5idXR0b25zIHx8IHByb3BzLmhyZWZzKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbnMtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8dmFsLWJ1dHRvbi1ncm91cFxuICAgICAgICAgICAgICBjbGFzcz1cImJ1dHRvbnMtY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgW3Byb3BzXT1cInsgYnV0dG9uczogcHJvcHMuYnV0dG9ucywgcG9zaXRpb246ICdyaWdodCcsIGNvbHVtbmVkOiBmYWxzZSB9XCJcbiAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiY2xpY2tIYW5kbGVyKCRldmVudClcIlxuICAgICAgICAgICAgPjwvdmFsLWJ1dHRvbi1ncm91cD5cbiAgICAgICAgICAgIDx2YWwtaHJlZlxuICAgICAgICAgICAgICBjbGFzcz1cImxpbmtcIlxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgbCBvZiBwcm9wcy5ocmVmc1wiXG4gICAgICAgICAgICAgIFtwcm9wc109XCJsXCJcbiAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiY2xpY2tIYW5kbGVyKCRldmVudClcIlxuICAgICAgICAgICAgPjwvdmFsLWhyZWY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvdmFsLWJveD5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvbXB0ZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKipcbiAqIHZhbC1wcm9tcHRlclxuICpcbiAqIERpc3BsYXlzIGEgcHJvbXB0L2luZm8gYm94IHdpdGggdGV4dCwgYWN0aW9ucyAoYnV0dG9ucy9saW5rcyksIGFuZCBjdXN0b20gc3R5bGVzLlxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLXByb21wdGVyIFtwcm9wc109XCJ7IGNvbnRlbnQ6ICdNZXNzYWdlJywgYnV0dG9uczogWy4uLl0sIGhyZWZzOiBbLi4uXSwgY29sb3I6ICdwcmltYXJ5Jywgc2l6ZTogJ21lZGl1bScgfVwiPjwvdmFsLXByb21wdGVyPlxuICpcbiAqIEBpbnB1dCBwcm9wczogUHJvbXB0ZXJNZXRhZGF0YSAtIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBwcm9tcHRlciAoY29udGVudCwgYnV0dG9ucywgaHJlZnMsIGNvbG9yLCBzaXplLCBldGMuKVxuICogQG91dHB1dCBvbkNsaWNrIC0gRW1pdHMgd2hlbiBhbiBhY3Rpb24gaXMgY2xpY2tlZFxuICovXG5leHBvcnQgY2xhc3MgUHJvbXB0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKipcbiAgICogUHJvbXB0ZXIgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAqIEB0eXBlIHtQcm9tcHRlck1ldGFkYXRhfVxuICAgKiBAcHJvcGVydHkgY29udGVudCAtIFRoZSBtYWluIHRleHQgY29udGVudC5cbiAgICogQHByb3BlcnR5IGJ1dHRvbnMgLSBBcnJheSBvZiBidXR0b24gY29uZmlndXJhdGlvbnMgKG9wdGlvbmFsKS5cbiAgICogQHByb3BlcnR5IGhyZWZzIC0gQXJyYXkgb2YgbGluayBjb25maWd1cmF0aW9ucyAob3B0aW9uYWwpLlxuICAgKiBAcHJvcGVydHkgY29sb3IgLSBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm94LlxuICAgKiBAcHJvcGVydHkgc2l6ZSAtIFRoZSBzaXplIG9mIHRoZSB0ZXh0IGFuZCBib3guXG4gICAqIEBwcm9wZXJ0eSBib3JkZXJlZCAtIFdoZXRoZXIgdGhlIGJveCBoYXMgYSBib3JkZXIuXG4gICAqIEBwcm9wZXJ0eSBwYWRkaW5nIC0gQ3VzdG9tIHBhZGRpbmcgZm9yIHRoZSBib3guXG4gICAqIEBwcm9wZXJ0eSB0ZWxlcHJvbXB0ZXIgLSBXaGV0aGVyIHRvIHVzZSB0ZWxlcHJvbXB0ZXIgc3R5bGUgKG9wdGlvbmFsKS5cbiAgICogQHByb3BlcnR5IGNvbnRlbnRDbGFzcyAtIGkxOG4gY29udGVudCBjbGFzcyAob3B0aW9uYWwpLlxuICAgKiBAcHJvcGVydHkgY29udGVudEtleSAtIGkxOG4gY29udGVudCBrZXkgKG9wdGlvbmFsKS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHByb3BzOiBQcm9tcHRlck1ldGFkYXRhO1xuXG4gIEBPdXRwdXQoKVxuICBvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgLyoqIE9ic2VydmFibGUgZm9yIHJlYWN0aXZlIGkxOG4gY29udGVudCAqL1xuICBkaXNwbGF5Q29udGVudCQ6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxhbmdTZXJ2aWNlOiBMYW5nU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICAvLyBTZXQgdXAgcmVhY3RpdmUgY29udGVudCBpZiBpMThuIGtleXMgYXJlIHByb3ZpZGVkXG4gICAgaWYgKHRoaXMucHJvcHMuY29udGVudENsYXNzICYmIHRoaXMucHJvcHMuY29udGVudEtleSkge1xuICAgICAgdGhpcy5kaXNwbGF5Q29udGVudCQgPSB0aGlzLmxhbmdTZXJ2aWNlLmdldENvbnRlbnQoXG4gICAgICAgIHRoaXMucHJvcHMuY29udGVudENsYXNzLFxuICAgICAgICB0aGlzLnByb3BzLmNvbnRlbnRLZXksXG4gICAgICAgIHRoaXMucHJvcHMuY29udGVudCAvLyBmYWxsYmFja1xuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kaXNwbGF5Q29udGVudCQgPSBvZih0aGlzLnByb3BzLmNvbnRlbnQpO1xuICAgIH1cbiAgfVxuXG4gIGNsaWNrSGFuZGxlcih0b2tlbj86IHN0cmluZykge1xuICAgIHRoaXMub25DbGljay5lbWl0KHRva2VuKTtcbiAgfVxufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3Byb21wdGVyL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xvciB9IGZyb20gJ0Bpb25pYy9jb3JlJztcbmltcG9ydCB7IEhyZWZNZXRhZGF0YSB9IGZyb20gJy4uLy4uL2F0b21zL2hyZWYvdHlwZXMnO1xuaW1wb3J0IHsgQnV0dG9uTWV0YWRhdGEgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbi8qKlxuICogUHJvcHMgZm9yIHZhbC1wcm9tcHRlciBjb21wb25lbnQuXG4gKlxuICogQHByb3BlcnR5IHRlbGVwcm9tcHRlciAtIFdoZXRoZXIgdG8gdXNlIHRlbGVwcm9tcHRlciBzdHlsZS5cbiAqIEBwcm9wZXJ0eSBib3JkZXJlZCAtIFdoZXRoZXIgdGhlIGJveCBoYXMgYSBib3JkZXIuXG4gKiBAcHJvcGVydHkgY29sb3IgLSBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm94IChvcHRpb25hbCkuXG4gKiBAcHJvcGVydHkgY29udGVudCAtIFRoZSBtYWluIHRleHQgY29udGVudCAodXNlZCBhcyBmYWxsYmFjayBpZiBpMThuIGtleXMgcHJvdmlkZWQpLlxuICogQHByb3BlcnR5IHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgdGV4dCBhbmQgYm94ICgnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnIHwgJ3hsYXJnZScpLlxuICogQHByb3BlcnR5IGJ1dHRvbnMgLSBBcnJheSBvZiBidXR0b24gY29uZmlndXJhdGlvbnMgKG9wdGlvbmFsKS5cbiAqIEBwcm9wZXJ0eSBocmVmcyAtIEFycmF5IG9mIGxpbmsgY29uZmlndXJhdGlvbnMgKG9wdGlvbmFsKS5cbiAqIEBwcm9wZXJ0eSBwYWRkaW5nIC0gQ3VzdG9tIHBhZGRpbmcgZm9yIHRoZSBib3ggKG9wdGlvbmFsKS5cbiAqIEBwcm9wZXJ0eSBjb250ZW50Q2xhc3MgLSBpMThuIGNvbnRlbnQgY2xhc3MgbmFtZSAob3B0aW9uYWwsIGZvciByZWFjdGl2ZSB0cmFuc2xhdGlvbnMpLlxuICogQHByb3BlcnR5IGNvbnRlbnRLZXkgLSBpMThuIGNvbnRlbnQga2V5IChvcHRpb25hbCwgZm9yIHJlYWN0aXZlIHRyYW5zbGF0aW9ucykuXG4gKi9cbmV4cG9ydCB0eXBlIFByb21wdGVyTWV0YWRhdGEgPSB7XG4gIHRlbGVwcm9tcHRlcjogYm9vbGVhbjtcbiAgYm9yZGVyZWQ6IGJvb2xlYW47XG4gIGNvbG9yPzogQ29sb3I7XG4gIGNvbnRlbnQ6IHN0cmluZztcbiAgc2l6ZTogJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyB8ICd4bGFyZ2UnO1xuICBidXR0b25zPzogQnV0dG9uTWV0YWRhdGFbXTtcbiAgaHJlZnM/OiBIcmVmTWV0YWRhdGFbXTtcbiAgcGFkZGluZz86IHN0cmluZztcbiAgLyoqIGkxOG4gY29udGVudCBjbGFzcyBuYW1lIGZvciByZWFjdGl2ZSB0cmFuc2xhdGlvbnMgKi9cbiAgY29udGVudENsYXNzPzogc3RyaW5nO1xuICAvKiogaTE4biBjb250ZW50IGtleSBmb3IgcmVhY3RpdmUgdHJhbnNsYXRpb25zICovXG4gIGNvbnRlbnRLZXk/OiBzdHJpbmc7XG59O1xuIl19
|
|
@@ -8,14 +8,23 @@ import * as i1 from "@angular/forms";
|
|
|
8
8
|
* val-radio-input
|
|
9
9
|
*
|
|
10
10
|
* A radio group input for selecting one option, integrated with Angular forms.
|
|
11
|
+
* For i18n support, provide translated option names in the options array.
|
|
11
12
|
*
|
|
12
|
-
* @example
|
|
13
|
+
* @example Static options:
|
|
13
14
|
* <val-radio-input [props]="{ control: myControl, options: [{ id: '1', name: 'Option 1' }] }"></val-radio-input>
|
|
14
15
|
*
|
|
16
|
+
* @example With i18n (translate options before passing):
|
|
17
|
+
* ```typescript
|
|
18
|
+
* // In component
|
|
19
|
+
* options = [
|
|
20
|
+
* { id: '1', name: this.langService.getText('MyComponent', 'option1'), order: 1 },
|
|
21
|
+
* { id: '2', name: this.langService.getText('MyComponent', 'option2'), order: 2 }
|
|
22
|
+
* ];
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
15
25
|
* @input props: InputMetadata - Configuration for the radio input (form control, options, etc.)
|
|
16
26
|
*/
|
|
17
27
|
export class RadioInputComponent {
|
|
18
|
-
constructor() { }
|
|
19
28
|
ngOnInit() { }
|
|
20
29
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RadioInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
30
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: RadioInputComponent, isStandalone: true, selector: "val-radio-input", inputs: { props: "props" }, ngImport: i0, template: `
|
|
@@ -37,7 +46,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
37
46
|
</ng-container>
|
|
38
47
|
</ion-radio-group>
|
|
39
48
|
` }]
|
|
40
|
-
}],
|
|
49
|
+
}], propDecorators: { props: [{
|
|
41
50
|
type: Input
|
|
42
51
|
}] } });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8taW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9yYWRpby1pbnB1dC9yYWRpby1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQWlCcEU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFDSCxNQUFNLE9BQU8sbUJBQW1CO0lBUzlCLFFBQVEsS0FBSSxDQUFDOytHQVRGLG1CQUFtQjttR0FBbkIsbUJBQW1CLHVHQTlCcEI7Ozs7Ozs7R0FPVCwwRUFSUyxLQUFLLGtIQUFFLG1CQUFtQiwwVEFBRSxhQUFhLHdKQUFFLFFBQVE7OzRGQStCbEQsbUJBQW1CO2tCQWxDL0IsU0FBUzsrQkFDRSxpQkFBaUIsY0FDZixJQUFJLFdBQ1AsQ0FBQyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLFFBQVEsQ0FBQyxZQUNwRDs7Ozs7OztHQU9UOzhCQThCUSxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0ZvciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJb25SYWRpbywgSW9uUmFkaW9Hcm91cCB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgSW5wdXRNZXRhZGF0YSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXJhZGlvLWlucHV0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nRm9yLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBJb25SYWRpb0dyb3VwLCBJb25SYWRpb10sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGlvbi1yYWRpby1ncm91cCBbYWxsb3dFbXB0eVNlbGVjdGlvbl09XCJ0cnVlXCIgW2Zvcm1Db250cm9sXT1cInByb3BzLmNvbnRyb2xcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG8gb2YgcHJvcHMub3B0aW9uc1wiPlxuICAgICAgICA8aW9uLXJhZGlvIFt2YWx1ZV09XCJvLmlkXCI+e3sgby5uYW1lIH19PC9pb24tcmFkaW8+XG4gICAgICAgIDxiciAvPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9pb24tcmFkaW8tZ3JvdXA+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3JhZGlvLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtcmFkaW8taW5wdXRcbiAqXG4gKiBBIHJhZGlvIGdyb3VwIGlucHV0IGZvciBzZWxlY3Rpbmcgb25lIG9wdGlvbiwgaW50ZWdyYXRlZCB3aXRoIEFuZ3VsYXIgZm9ybXMuXG4gKiBGb3IgaTE4biBzdXBwb3J0LCBwcm92aWRlIHRyYW5zbGF0ZWQgb3B0aW9uIG5hbWVzIGluIHRoZSBvcHRpb25zIGFycmF5LlxuICpcbiAqIEBleGFtcGxlIFN0YXRpYyBvcHRpb25zOlxuICogPHZhbC1yYWRpby1pbnB1dCBbcHJvcHNdPVwieyBjb250cm9sOiBteUNvbnRyb2wsIG9wdGlvbnM6IFt7IGlkOiAnMScsIG5hbWU6ICdPcHRpb24gMScgfV0gfVwiPjwvdmFsLXJhZGlvLWlucHV0PlxuICpcbiAqIEBleGFtcGxlIFdpdGggaTE4biAodHJhbnNsYXRlIG9wdGlvbnMgYmVmb3JlIHBhc3NpbmcpOlxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gSW4gY29tcG9uZW50XG4gKiBvcHRpb25zID0gW1xuICogICB7IGlkOiAnMScsIG5hbWU6IHRoaXMubGFuZ1NlcnZpY2UuZ2V0VGV4dCgnTXlDb21wb25lbnQnLCAnb3B0aW9uMScpLCBvcmRlcjogMSB9LFxuICogICB7IGlkOiAnMicsIG5hbWU6IHRoaXMubGFuZ1NlcnZpY2UuZ2V0VGV4dCgnTXlDb21wb25lbnQnLCAnb3B0aW9uMicpLCBvcmRlcjogMiB9XG4gKiBdO1xuICogYGBgXG4gKlxuICogQGlucHV0IHByb3BzOiBJbnB1dE1ldGFkYXRhIC0gQ29uZmlndXJhdGlvbiBmb3IgdGhlIHJhZGlvIGlucHV0IChmb3JtIGNvbnRyb2wsIG9wdGlvbnMsIGV0Yy4pXG4gKi9cbmV4cG9ydCBjbGFzcyBSYWRpb0lucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIElucHV0IGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgKiBAdHlwZSB7SW5wdXRNZXRhZGF0YX1cbiAgICogQHByb3BlcnR5IGNvbnRyb2wgLSBUaGUgQW5ndWxhciBGb3JtQ29udHJvbCBmb3IgdGhlIHJhZGlvIGlucHV0LlxuICAgKiBAcHJvcGVydHkgb3B0aW9ucyAtIFRoZSBhdmFpbGFibGUgb3B0aW9ucyBmb3IgdGhlIHJhZGlvIGdyb3VwLiBGb3IgaTE4biwgdHJhbnNsYXRlIG5hbWVzIGJlZm9yZSBwYXNzaW5nLlxuICAgKi9cbiAgQElucHV0KCkgcHJvcHM6IElucHV0TWV0YWRhdGE7XG5cbiAgbmdPbkluaXQoKSB7fVxufVxuIl19
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { Component, Input } from '@angular/core';
|
|
3
|
+
import { IonCard, IonCardContent } from '@ionic/angular/standalone';
|
|
4
|
+
import { LinkComponent } from '../link/link.component';
|
|
5
|
+
import { TitleBlockComponent } from '../title-block/title-block.component';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common";
|
|
8
|
+
/**
|
|
9
|
+
* val-recap-card
|
|
10
|
+
*
|
|
11
|
+
* A decorative card component with geometric shapes, title, and link.
|
|
12
|
+
* Useful for recap sections, feature highlights, or promotional content.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* <val-recap-card
|
|
16
|
+
* [props]="{
|
|
17
|
+
* title: { title: 'Feature Title', subtitle: 'Subtitle here' },
|
|
18
|
+
* link: { text: 'Learn more', url: '/features' },
|
|
19
|
+
* color: 'primary',
|
|
20
|
+
* shapes: [
|
|
21
|
+
* { color: '#ffffff33', style: { top: '-20px', right: '-20px', width: '100px', height: '100px' } }
|
|
22
|
+
* ]
|
|
23
|
+
* }"
|
|
24
|
+
* ></val-recap-card>
|
|
25
|
+
*
|
|
26
|
+
* @input props - Card configuration (title, link, shapes, color)
|
|
27
|
+
*/
|
|
28
|
+
export class RecapCardComponent {
|
|
29
|
+
/**
|
|
30
|
+
* Merges shape color with additional styles.
|
|
31
|
+
*/
|
|
32
|
+
mergeShapeStyle(shape) {
|
|
33
|
+
return { 'background-color': shape.color, ...(shape.style || {}) };
|
|
34
|
+
}
|
|
35
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RecapCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
36
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: RecapCardComponent, isStandalone: true, selector: "val-recap-card", inputs: { props: "props" }, ngImport: i0, template: `
|
|
37
|
+
<ion-card class="recap-card" [color]="props.color || ''">
|
|
38
|
+
<div class="shapes">
|
|
39
|
+
<ng-container *ngFor="let shape of props.shapes">
|
|
40
|
+
<div class="shape" [ngStyle]="mergeShapeStyle(shape)"></div>
|
|
41
|
+
</ng-container>
|
|
42
|
+
</div>
|
|
43
|
+
<ion-card-content
|
|
44
|
+
class="recap-card__content"
|
|
45
|
+
[style.min-height]="props.minHeight || '400px'"
|
|
46
|
+
[style.min-width]="props.width || '280px'"
|
|
47
|
+
[style.max-width]="props.width || '280px'"
|
|
48
|
+
>
|
|
49
|
+
<val-title-block [props]="props.title" />
|
|
50
|
+
<val-link [props]="props.link" />
|
|
51
|
+
</ion-card-content>
|
|
52
|
+
</ion-card>
|
|
53
|
+
`, isInline: true, styles: [".recap-card{border-radius:24px;box-shadow:0 4px 10px #0000001a;margin:10px;position:relative;overflow:hidden}.recap-card .shapes{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.7;pointer-events:none}.recap-card .shapes .shape{position:absolute;border-radius:50%}.recap-card .recap-card__content{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;height:100%;min-height:400px;min-width:280px;max-width:280px;padding:16px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: LinkComponent, selector: "val-link", inputs: ["props"], outputs: ["onClick"] }, { kind: "component", type: TitleBlockComponent, selector: "val-title-block", inputs: ["props"] }] }); }
|
|
54
|
+
}
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RecapCardComponent, decorators: [{
|
|
56
|
+
type: Component,
|
|
57
|
+
args: [{ selector: 'val-recap-card', standalone: true, imports: [CommonModule, IonCard, IonCardContent, LinkComponent, TitleBlockComponent], template: `
|
|
58
|
+
<ion-card class="recap-card" [color]="props.color || ''">
|
|
59
|
+
<div class="shapes">
|
|
60
|
+
<ng-container *ngFor="let shape of props.shapes">
|
|
61
|
+
<div class="shape" [ngStyle]="mergeShapeStyle(shape)"></div>
|
|
62
|
+
</ng-container>
|
|
63
|
+
</div>
|
|
64
|
+
<ion-card-content
|
|
65
|
+
class="recap-card__content"
|
|
66
|
+
[style.min-height]="props.minHeight || '400px'"
|
|
67
|
+
[style.min-width]="props.width || '280px'"
|
|
68
|
+
[style.max-width]="props.width || '280px'"
|
|
69
|
+
>
|
|
70
|
+
<val-title-block [props]="props.title" />
|
|
71
|
+
<val-link [props]="props.link" />
|
|
72
|
+
</ion-card-content>
|
|
73
|
+
</ion-card>
|
|
74
|
+
`, styles: [".recap-card{border-radius:24px;box-shadow:0 4px 10px #0000001a;margin:10px;position:relative;overflow:hidden}.recap-card .shapes{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.7;pointer-events:none}.recap-card .shapes .shape{position:absolute;border-radius:50%}.recap-card .recap-card__content{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;height:100%;min-height:400px;min-width:280px;max-width:280px;padding:16px}\n"] }]
|
|
75
|
+
}], propDecorators: { props: [{
|
|
76
|
+
type: Input
|
|
77
|
+
}] } });
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjYXAtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3JlY2FwLWNhcmQvcmVjYXAtY2FyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7QUFHM0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUF5QkgsTUFBTSxPQUFPLGtCQUFrQjtJQU03Qjs7T0FFRztJQUNILGVBQWUsQ0FBQyxLQUFxQjtRQUNuQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ3JFLENBQUM7K0dBWFUsa0JBQWtCO21HQUFsQixrQkFBa0Isc0dBcEJuQjs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQlQsd2lCQWxCUyxZQUFZLGlQQUFFLE9BQU8seUxBQUUsY0FBYywrRUFBRSxhQUFhLDhGQUFFLG1CQUFtQjs7NEZBcUJ4RSxrQkFBa0I7a0JBeEI5QixTQUFTOytCQUNFLGdCQUFnQixjQUNkLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsQ0FBQyxZQUMxRTs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQlQ7OEJBT1EsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbkNhcmQsIElvbkNhcmRDb250ZW50IH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBMaW5rQ29tcG9uZW50IH0gZnJvbSAnLi4vbGluay9saW5rLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaXRsZUJsb2NrQ29tcG9uZW50IH0gZnJvbSAnLi4vdGl0bGUtYmxvY2svdGl0bGUtYmxvY2suY29tcG9uZW50JztcbmltcG9ydCB7IFJlY2FwQ2FyZE1ldGFkYXRhLCBSZWNhcENhcmRTaGFwZSB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIHZhbC1yZWNhcC1jYXJkXG4gKlxuICogQSBkZWNvcmF0aXZlIGNhcmQgY29tcG9uZW50IHdpdGggZ2VvbWV0cmljIHNoYXBlcywgdGl0bGUsIGFuZCBsaW5rLlxuICogVXNlZnVsIGZvciByZWNhcCBzZWN0aW9ucywgZmVhdHVyZSBoaWdobGlnaHRzLCBvciBwcm9tb3Rpb25hbCBjb250ZW50LlxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLXJlY2FwLWNhcmRcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICB0aXRsZTogeyB0aXRsZTogJ0ZlYXR1cmUgVGl0bGUnLCBzdWJ0aXRsZTogJ1N1YnRpdGxlIGhlcmUnIH0sXG4gKiAgICAgbGluazogeyB0ZXh0OiAnTGVhcm4gbW9yZScsIHVybDogJy9mZWF0dXJlcycgfSxcbiAqICAgICBjb2xvcjogJ3ByaW1hcnknLFxuICogICAgIHNoYXBlczogW1xuICogICAgICAgeyBjb2xvcjogJyNmZmZmZmYzMycsIHN0eWxlOiB7IHRvcDogJy0yMHB4JywgcmlnaHQ6ICctMjBweCcsIHdpZHRoOiAnMTAwcHgnLCBoZWlnaHQ6ICcxMDBweCcgfSB9XG4gKiAgICAgXVxuICogICB9XCJcbiAqID48L3ZhbC1yZWNhcC1jYXJkPlxuICpcbiAqIEBpbnB1dCBwcm9wcyAtIENhcmQgY29uZmlndXJhdGlvbiAodGl0bGUsIGxpbmssIHNoYXBlcywgY29sb3IpXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1yZWNhcC1jYXJkJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSW9uQ2FyZCwgSW9uQ2FyZENvbnRlbnQsIExpbmtDb21wb25lbnQsIFRpdGxlQmxvY2tDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxpb24tY2FyZCBjbGFzcz1cInJlY2FwLWNhcmRcIiBbY29sb3JdPVwicHJvcHMuY29sb3IgfHwgJydcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzaGFwZXNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc2hhcGUgb2YgcHJvcHMuc2hhcGVzXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNoYXBlXCIgW25nU3R5bGVdPVwibWVyZ2VTaGFwZVN0eWxlKHNoYXBlKVwiPjwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGlvbi1jYXJkLWNvbnRlbnRcbiAgICAgICAgY2xhc3M9XCJyZWNhcC1jYXJkX19jb250ZW50XCJcbiAgICAgICAgW3N0eWxlLm1pbi1oZWlnaHRdPVwicHJvcHMubWluSGVpZ2h0IHx8ICc0MDBweCdcIlxuICAgICAgICBbc3R5bGUubWluLXdpZHRoXT1cInByb3BzLndpZHRoIHx8ICcyODBweCdcIlxuICAgICAgICBbc3R5bGUubWF4LXdpZHRoXT1cInByb3BzLndpZHRoIHx8ICcyODBweCdcIlxuICAgICAgPlxuICAgICAgICA8dmFsLXRpdGxlLWJsb2NrIFtwcm9wc109XCJwcm9wcy50aXRsZVwiIC8+XG4gICAgICAgIDx2YWwtbGluayBbcHJvcHNdPVwicHJvcHMubGlua1wiIC8+XG4gICAgICA8L2lvbi1jYXJkLWNvbnRlbnQ+XG4gICAgPC9pb24tY2FyZD5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vcmVjYXAtY2FyZC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBSZWNhcENhcmRDb21wb25lbnQge1xuICAvKipcbiAgICogQ2FyZCBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgQElucHV0KCkgcHJvcHMhOiBSZWNhcENhcmRNZXRhZGF0YTtcblxuICAvKipcbiAgICogTWVyZ2VzIHNoYXBlIGNvbG9yIHdpdGggYWRkaXRpb25hbCBzdHlsZXMuXG4gICAqL1xuICBtZXJnZVNoYXBlU3R5bGUoc2hhcGU6IFJlY2FwQ2FyZFNoYXBlKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBudW1iZXIgfSB7XG4gICAgcmV0dXJuIHsgJ2JhY2tncm91bmQtY29sb3InOiBzaGFwZS5jb2xvciwgLi4uKHNoYXBlLnN0eWxlIHx8IHt9KSB9O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3JlY2FwLWNhcmQvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpbmtNZXRhZGF0YSB9IGZyb20gJy4uL2xpbmsvdHlwZXMnO1xuaW1wb3J0IHsgVGl0bGVCbG9ja01ldGFkYSB9IGZyb20gJy4uL3RpdGxlLWJsb2NrL3R5cGVzJztcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBhIGRlY29yYXRpdmUgc2hhcGUgd2l0aGluIHRoZSByZWNhcCBjYXJkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlY2FwQ2FyZFNoYXBlIHtcbiAgLyoqIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNoYXBlICovXG4gIGNvbG9yOiBzdHJpbmc7XG4gIC8qKiBBZGRpdGlvbmFsIENTUyBzdHlsZXMgKHBvc2l0aW9uLCBzaXplLCBldGMuKSAqL1xuICBzdHlsZT86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyIH07XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgdGhlIHJlY2FwIGNhcmQgY29tcG9uZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlY2FwQ2FyZE1ldGFkYXRhIHtcbiAgLyoqIFRpdGxlIGJsb2NrIGNvbmZpZ3VyYXRpb24gKi9cbiAgdGl0bGU6IFRpdGxlQmxvY2tNZXRhZGE7XG4gIC8qKiBMaW5rIGNvbmZpZ3VyYXRpb24gKi9cbiAgbGluazogTGlua01ldGFkYXRhO1xuICAvKiogRGVjb3JhdGl2ZSBzaGFwZXMgdG8gZGlzcGxheSBiZWhpbmQgY29udGVudCAqL1xuICBzaGFwZXM/OiBSZWNhcENhcmRTaGFwZVtdO1xuICAvKiogQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY2FyZCAoSW9uaWMgY29sb3IpICovXG4gIGNvbG9yPzogc3RyaW5nO1xuICAvKiogTWluaW11bSBoZWlnaHQgb2YgdGhlIGNhcmQuIERlZmF1bHQ6ICc0MDBweCcgKi9cbiAgbWluSGVpZ2h0Pzogc3RyaW5nO1xuICAvKiogV2lkdGggb2YgdGhlIGNhcmQuIERlZmF1bHQ6ICcyODBweCcgKi9cbiAgd2lkdGg/OiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -1,32 +1,49 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
1
|
+
import { Component, inject, Input } from '@angular/core';
|
|
2
2
|
import { ReactiveFormsModule } from '@angular/forms';
|
|
3
3
|
import { applyDefaultValueToControl } from '../../../shared/utils/form-defaults';
|
|
4
4
|
import { IonSelect, IonSelectOption } from '@ionic/angular/standalone';
|
|
5
|
+
import { LangService } from '../../../services/lang-provider/lang-provider.service';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
import * as i1 from "@angular/forms";
|
|
7
8
|
/**
|
|
8
9
|
* val-select-input
|
|
9
10
|
*
|
|
10
11
|
* A select/dropdown input integrated with Angular forms, using Ionic's select component.
|
|
12
|
+
* Supports i18n for modal buttons and header text via GlobalContent.
|
|
11
13
|
*
|
|
12
|
-
* @example
|
|
14
|
+
* @example Basic usage:
|
|
13
15
|
* <val-select-input [props]="{ control: myControl, label: 'Choose', options: [{ id: '1', name: 'Option 1' }] }"></val-select-input>
|
|
14
16
|
*
|
|
17
|
+
* @example With custom modal texts:
|
|
18
|
+
* <val-select-input [props]="{
|
|
19
|
+
* control: myControl,
|
|
20
|
+
* label: 'Choose',
|
|
21
|
+
* options: [...],
|
|
22
|
+
* modalHeader: 'Select an option',
|
|
23
|
+
* cancelText: 'Cancel',
|
|
24
|
+
* okText: 'Confirm'
|
|
25
|
+
* }"></val-select-input>
|
|
26
|
+
*
|
|
15
27
|
* @input props: InputMetadata - Configuration for the select input (form control, label, options, etc.)
|
|
16
28
|
*/
|
|
17
29
|
export class SearchSelectorComponent {
|
|
18
30
|
constructor() {
|
|
19
|
-
this.
|
|
20
|
-
header: 'Seleccione',
|
|
21
|
-
breakpoints: [0, 0.6],
|
|
22
|
-
initialBreakpoint: 0.6,
|
|
23
|
-
};
|
|
31
|
+
this.langService = inject(LangService);
|
|
24
32
|
}
|
|
25
33
|
ngOnInit() {
|
|
26
34
|
if (this.props?.withDefault || this.props?.value) {
|
|
27
35
|
applyDefaultValueToControl(this.props);
|
|
28
36
|
}
|
|
29
|
-
|
|
37
|
+
// Set modal header from props or use label as fallback
|
|
38
|
+
const headerText = this.props.modalHeader || this.props.label || this.langService.getText('_global', 'selectOption');
|
|
39
|
+
this.customModalOptions = {
|
|
40
|
+
header: headerText,
|
|
41
|
+
breakpoints: [0, 0.6],
|
|
42
|
+
initialBreakpoint: 0.6,
|
|
43
|
+
};
|
|
44
|
+
// Set button texts from props or use i18n defaults
|
|
45
|
+
this.cancelText = this.props.cancelText || this.langService.getText('_global', 'cancel');
|
|
46
|
+
this.okText = this.props.okText || this.langService.getText('_global', 'ok');
|
|
30
47
|
}
|
|
31
48
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SearchSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
32
49
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SearchSelectorComponent, isStandalone: true, selector: "val-select-input", inputs: { props: "props" }, ngImport: i0, template: `
|
|
@@ -36,8 +53,8 @@ export class SearchSelectorComponent {
|
|
|
36
53
|
[interfaceOptions]="customModalOptions"
|
|
37
54
|
interface="modal"
|
|
38
55
|
[placeholder]="[props.placeholder]"
|
|
39
|
-
cancelText="
|
|
40
|
-
okText="
|
|
56
|
+
[cancelText]="cancelText"
|
|
57
|
+
[okText]="okText"
|
|
41
58
|
>
|
|
42
59
|
@for (o of props.options; track o.id) {
|
|
43
60
|
<ion-select-option [value]="o.id">{{ o.name }}</ion-select-option>
|
|
@@ -54,15 +71,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
54
71
|
[interfaceOptions]="customModalOptions"
|
|
55
72
|
interface="modal"
|
|
56
73
|
[placeholder]="[props.placeholder]"
|
|
57
|
-
cancelText="
|
|
58
|
-
okText="
|
|
74
|
+
[cancelText]="cancelText"
|
|
75
|
+
[okText]="okText"
|
|
59
76
|
>
|
|
60
77
|
@for (o of props.options; track o.id) {
|
|
61
78
|
<ion-select-option [value]="o.id">{{ o.name }}</ion-select-option>
|
|
62
79
|
}
|
|
63
80
|
</ion-select>
|
|
64
81
|
` }]
|
|
65
|
-
}],
|
|
82
|
+
}], propDecorators: { props: [{
|
|
66
83
|
type: Input
|
|
67
84
|
}] } });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvc2VsZWN0LWlucHV0L3NlbGVjdC1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVEQUF1RCxDQUFDOzs7QUF3QnBGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQUNILE1BQU0sT0FBTyx1QkFBdUI7SUExQ3BDO1FBMkNVLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0tBcUMzQztJQWxCQyxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVcsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ2pELDBCQUEwQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBRUQsdURBQXVEO1FBQ3ZELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUVySCxJQUFJLENBQUMsa0JBQWtCLEdBQUc7WUFDeEIsTUFBTSxFQUFFLFVBQVU7WUFDbEIsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQztZQUNyQixpQkFBaUIsRUFBRSxHQUFHO1NBQ3ZCLENBQUM7UUFFRixtREFBbUQ7UUFDbkQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0UsQ0FBQzsrR0FyQ1UsdUJBQXVCO21HQUF2Qix1QkFBdUIsd0dBdEN4Qjs7Ozs7Ozs7Ozs7Ozs7R0FjVCx5RUFmUyxtQkFBbUIsMFRBQUUsU0FBUyxrVkFBRSxlQUFlOzs0RkF1QzlDLHVCQUF1QjtrQkExQ25DLFNBQVM7K0JBQ0Usa0JBQWtCLGNBQ2hCLElBQUksV0FDUCxDQUFDLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxlQUFlLENBQUMsWUFDaEQ7Ozs7Ozs7Ozs7Ozs7O0dBY1Q7OEJBc0NRLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgYXBwbHlEZWZhdWx0VmFsdWVUb0NvbnRyb2wgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvdXRpbHMvZm9ybS1kZWZhdWx0cyc7XG5pbXBvcnQgeyBJb25TZWxlY3QsIElvblNlbGVjdE9wdGlvbiB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgTGFuZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9sYW5nLXByb3ZpZGVyL2xhbmctcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBJbnB1dE1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtc2VsZWN0LWlucHV0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1JlYWN0aXZlRm9ybXNNb2R1bGUsIElvblNlbGVjdCwgSW9uU2VsZWN0T3B0aW9uXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLXNlbGVjdFxuICAgICAgW2Zvcm1Db250cm9sXT1cInByb3BzLmNvbnRyb2xcIlxuICAgICAgW2xhYmVsXT1cInByb3BzLmxhYmVsXCJcbiAgICAgIFtpbnRlcmZhY2VPcHRpb25zXT1cImN1c3RvbU1vZGFsT3B0aW9uc1wiXG4gICAgICBpbnRlcmZhY2U9XCJtb2RhbFwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiW3Byb3BzLnBsYWNlaG9sZGVyXVwiXG4gICAgICBbY2FuY2VsVGV4dF09XCJjYW5jZWxUZXh0XCJcbiAgICAgIFtva1RleHRdPVwib2tUZXh0XCJcbiAgICA+XG4gICAgICBAZm9yIChvIG9mIHByb3BzLm9wdGlvbnM7IHRyYWNrIG8uaWQpIHtcbiAgICAgICAgPGlvbi1zZWxlY3Qtb3B0aW9uIFt2YWx1ZV09XCJvLmlkXCI+e3sgby5uYW1lIH19PC9pb24tc2VsZWN0LW9wdGlvbj5cbiAgICAgIH1cbiAgICA8L2lvbi1zZWxlY3Q+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxufSlcbi8qKlxuICogdmFsLXNlbGVjdC1pbnB1dFxuICpcbiAqIEEgc2VsZWN0L2Ryb3Bkb3duIGlucHV0IGludGVncmF0ZWQgd2l0aCBBbmd1bGFyIGZvcm1zLCB1c2luZyBJb25pYydzIHNlbGVjdCBjb21wb25lbnQuXG4gKiBTdXBwb3J0cyBpMThuIGZvciBtb2RhbCBidXR0b25zIGFuZCBoZWFkZXIgdGV4dCB2aWEgR2xvYmFsQ29udGVudC5cbiAqXG4gKiBAZXhhbXBsZSBCYXNpYyB1c2FnZTpcbiAqIDx2YWwtc2VsZWN0LWlucHV0IFtwcm9wc109XCJ7IGNvbnRyb2w6IG15Q29udHJvbCwgbGFiZWw6ICdDaG9vc2UnLCBvcHRpb25zOiBbeyBpZDogJzEnLCBuYW1lOiAnT3B0aW9uIDEnIH1dIH1cIj48L3ZhbC1zZWxlY3QtaW5wdXQ+XG4gKlxuICogQGV4YW1wbGUgV2l0aCBjdXN0b20gbW9kYWwgdGV4dHM6XG4gKiA8dmFsLXNlbGVjdC1pbnB1dCBbcHJvcHNdPVwie1xuICogICBjb250cm9sOiBteUNvbnRyb2wsXG4gKiAgIGxhYmVsOiAnQ2hvb3NlJyxcbiAqICAgb3B0aW9uczogWy4uLl0sXG4gKiAgIG1vZGFsSGVhZGVyOiAnU2VsZWN0IGFuIG9wdGlvbicsXG4gKiAgIGNhbmNlbFRleHQ6ICdDYW5jZWwnLFxuICogICBva1RleHQ6ICdDb25maXJtJ1xuICogfVwiPjwvdmFsLXNlbGVjdC1pbnB1dD5cbiAqXG4gKiBAaW5wdXQgcHJvcHM6IElucHV0TWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgc2VsZWN0IGlucHV0IChmb3JtIGNvbnRyb2wsIGxhYmVsLCBvcHRpb25zLCBldGMuKVxuICovXG5leHBvcnQgY2xhc3MgU2VhcmNoU2VsZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIGxhbmdTZXJ2aWNlID0gaW5qZWN0KExhbmdTZXJ2aWNlKTtcblxuICAvKipcbiAgICogSW5wdXQgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAqIEB0eXBlIHtJbnB1dE1ldGFkYXRhfVxuICAgKiBAcHJvcGVydHkgY29udHJvbCAtIFRoZSBBbmd1bGFyIEZvcm1Db250cm9sIGZvciB0aGUgc2VsZWN0IGlucHV0LlxuICAgKiBAcHJvcGVydHkgbGFiZWwgLSBUaGUgbGFiZWwgZm9yIHRoZSBzZWxlY3QuXG4gICAqIEBwcm9wZXJ0eSBvcHRpb25zIC0gVGhlIGF2YWlsYWJsZSBvcHRpb25zIGZvciB0aGUgc2VsZWN0LlxuICAgKiBAcHJvcGVydHkgcGxhY2Vob2xkZXIgLSBUaGUgcGxhY2Vob2xkZXIgdGV4dC5cbiAgICogQHByb3BlcnR5IG1vZGFsSGVhZGVyIC0gQ3VzdG9tIGhlYWRlciB0ZXh0IGZvciB0aGUgbW9kYWwgKG9wdGlvbmFsLCB1c2VzIGxhYmVsIGlmIG5vdCBwcm92aWRlZCkuXG4gICAqIEBwcm9wZXJ0eSBjYW5jZWxUZXh0IC0gQ3VzdG9tIGNhbmNlbCBidXR0b24gdGV4dCAob3B0aW9uYWwsIHVzZXMgaTE4biBkZWZhdWx0KS5cbiAgICogQHByb3BlcnR5IG9rVGV4dCAtIEN1c3RvbSBPSyBidXR0b24gdGV4dCAob3B0aW9uYWwsIHVzZXMgaTE4biBkZWZhdWx0KS5cbiAgICovXG4gIEBJbnB1dCgpIHByb3BzOiBJbnB1dE1ldGFkYXRhO1xuXG4gIGN1c3RvbU1vZGFsT3B0aW9uczogeyBoZWFkZXI6IHN0cmluZzsgYnJlYWtwb2ludHM6IG51bWJlcltdOyBpbml0aWFsQnJlYWtwb2ludDogbnVtYmVyIH07XG4gIGNhbmNlbFRleHQ6IHN0cmluZztcbiAgb2tUZXh0OiBzdHJpbmc7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMucHJvcHM/LndpdGhEZWZhdWx0IHx8IHRoaXMucHJvcHM/LnZhbHVlKSB7XG4gICAgICBhcHBseURlZmF1bHRWYWx1ZVRvQ29udHJvbCh0aGlzLnByb3BzKTtcbiAgICB9XG5cbiAgICAvLyBTZXQgbW9kYWwgaGVhZGVyIGZyb20gcHJvcHMgb3IgdXNlIGxhYmVsIGFzIGZhbGxiYWNrXG4gICAgY29uc3QgaGVhZGVyVGV4dCA9IHRoaXMucHJvcHMubW9kYWxIZWFkZXIgfHwgdGhpcy5wcm9wcy5sYWJlbCB8fCB0aGlzLmxhbmdTZXJ2aWNlLmdldFRleHQoJ19nbG9iYWwnLCAnc2VsZWN0T3B0aW9uJyk7XG5cbiAgICB0aGlzLmN1c3RvbU1vZGFsT3B0aW9ucyA9IHtcbiAgICAgIGhlYWRlcjogaGVhZGVyVGV4dCxcbiAgICAgIGJyZWFrcG9pbnRzOiBbMCwgMC42XSxcbiAgICAgIGluaXRpYWxCcmVha3BvaW50OiAwLjYsXG4gICAgfTtcblxuICAgIC8vIFNldCBidXR0b24gdGV4dHMgZnJvbSBwcm9wcyBvciB1c2UgaTE4biBkZWZhdWx0c1xuICAgIHRoaXMuY2FuY2VsVGV4dCA9IHRoaXMucHJvcHMuY2FuY2VsVGV4dCB8fCB0aGlzLmxhbmdTZXJ2aWNlLmdldFRleHQoJ19nbG9iYWwnLCAnY2FuY2VsJyk7XG4gICAgdGhpcy5va1RleHQgPSB0aGlzLnByb3BzLm9rVGV4dCB8fCB0aGlzLmxhbmdTZXJ2aWNlLmdldFRleHQoJ19nbG9iYWwnLCAnb2snKTtcbiAgfVxufVxuIl19
|