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.
Files changed (110) hide show
  1. package/esm2022/lib/components/atoms/horizontal-scroll/horizontal-scroll.component.mjs +82 -0
  2. package/esm2022/lib/components/atoms/horizontal-scroll/types.mjs +2 -0
  3. package/esm2022/lib/components/atoms/rights-footer/rights-footer.component.mjs +82 -0
  4. package/esm2022/lib/components/atoms/rights-footer/types.mjs +2 -0
  5. package/esm2022/lib/components/molecules/check-input/check-input.component.mjs +55 -11
  6. package/esm2022/lib/components/molecules/email-input/email-input.component.mjs +13 -4
  7. package/esm2022/lib/components/molecules/expandable-text/expandable-text.component.mjs +27 -23
  8. package/esm2022/lib/components/molecules/footer-links/footer-links.component.mjs +277 -0
  9. package/esm2022/lib/components/molecules/footer-links/types.mjs +2 -0
  10. package/esm2022/lib/components/molecules/links-accordion/links-accordion.component.mjs +157 -0
  11. package/esm2022/lib/components/molecules/links-accordion/types.mjs +2 -0
  12. package/esm2022/lib/components/molecules/password-input/password-input.component.mjs +12 -2
  13. package/esm2022/lib/components/molecules/prompter/prompter.component.mjs +21 -9
  14. package/esm2022/lib/components/molecules/prompter/types.mjs +1 -1
  15. package/esm2022/lib/components/molecules/radio-input/radio-input.component.mjs +13 -4
  16. package/esm2022/lib/components/molecules/recap-card/recap-card.component.mjs +78 -0
  17. package/esm2022/lib/components/molecules/recap-card/types.mjs +2 -0
  18. package/esm2022/lib/components/molecules/select-input/select-input.component.mjs +31 -14
  19. package/esm2022/lib/components/molecules/swipe-carousel/swipe-carousel.component.mjs +206 -0
  20. package/esm2022/lib/components/molecules/swipe-carousel/types.mjs +2 -0
  21. package/esm2022/lib/components/molecules/testimonial-card/testimonial-card.component.mjs +138 -0
  22. package/esm2022/lib/components/molecules/testimonial-card/types.mjs +2 -0
  23. package/esm2022/lib/components/molecules/text-input/text-input.component.mjs +14 -4
  24. package/esm2022/lib/components/organisms/cards-carousel/cards-carousel.component.mjs +61 -0
  25. package/esm2022/lib/components/organisms/cards-carousel/types.mjs +2 -0
  26. package/esm2022/lib/components/organisms/company-footer/company-footer.component.mjs +72 -0
  27. package/esm2022/lib/components/organisms/company-footer/types.mjs +2 -0
  28. package/esm2022/lib/components/organisms/data-table/data-table.component.mjs +175 -3
  29. package/esm2022/lib/components/organisms/data-table/types.mjs +1 -1
  30. package/esm2022/lib/components/organisms/form/form.component.mjs +2 -2
  31. package/esm2022/lib/components/organisms/fun-header/fun-header.component.mjs +225 -0
  32. package/esm2022/lib/components/organisms/fun-header/types.mjs +2 -0
  33. package/esm2022/lib/components/organisms/menu/menu.component.mjs +197 -0
  34. package/esm2022/lib/components/organisms/menu/types.mjs +2 -0
  35. package/esm2022/lib/components/organisms/testimonial-carousel/testimonial-carousel.component.mjs +72 -0
  36. package/esm2022/lib/components/organisms/testimonial-carousel/types.mjs +2 -0
  37. package/esm2022/lib/components/templates/page-content/page-content.component.mjs +156 -0
  38. package/esm2022/lib/components/templates/page-content/types.mjs +2 -0
  39. package/esm2022/lib/components/templates/page-template/page-template.component.mjs +181 -0
  40. package/esm2022/lib/components/templates/page-template/types.mjs +2 -0
  41. package/esm2022/lib/components/templates/page-wrapper/page-wrapper.component.mjs +195 -0
  42. package/esm2022/lib/components/templates/page-wrapper/types.mjs +2 -0
  43. package/esm2022/lib/components/types.mjs +1 -1
  44. package/esm2022/lib/services/firebase/config.mjs +103 -0
  45. package/esm2022/lib/services/firebase/firebase.service.mjs +285 -0
  46. package/esm2022/lib/services/firebase/firestore-collection.mjs +266 -0
  47. package/esm2022/lib/services/firebase/firestore.service.mjs +508 -0
  48. package/esm2022/lib/services/firebase/index.mjs +46 -0
  49. package/esm2022/lib/services/firebase/messaging.service.mjs +503 -0
  50. package/esm2022/lib/services/firebase/storage.service.mjs +421 -0
  51. package/esm2022/lib/services/firebase/types.mjs +8 -0
  52. package/esm2022/lib/services/firebase/utils/path-builder.mjs +195 -0
  53. package/esm2022/lib/services/firebase/utils/query-builder.mjs +302 -0
  54. package/esm2022/lib/services/icons.service.mjs +3 -2
  55. package/esm2022/public-api.mjs +33 -1
  56. package/fesm2022/valtech-components.mjs +5823 -869
  57. package/fesm2022/valtech-components.mjs.map +1 -1
  58. package/lib/components/atoms/horizontal-scroll/horizontal-scroll.component.d.ts +41 -0
  59. package/lib/components/atoms/horizontal-scroll/types.d.ts +13 -0
  60. package/lib/components/atoms/rights-footer/rights-footer.component.d.ts +39 -0
  61. package/lib/components/atoms/rights-footer/types.d.ts +13 -0
  62. package/lib/components/molecules/check-input/check-input.component.d.ts +17 -2
  63. package/lib/components/molecules/email-input/email-input.component.d.ts +1 -2
  64. package/lib/components/molecules/footer-links/footer-links.component.d.ts +47 -0
  65. package/lib/components/molecules/footer-links/types.d.ts +37 -0
  66. package/lib/components/molecules/links-accordion/links-accordion.component.d.ts +48 -0
  67. package/lib/components/molecules/links-accordion/types.d.ts +33 -0
  68. package/lib/components/molecules/password-input/password-input.component.d.ts +1 -1
  69. package/lib/components/molecules/prompter/prompter.component.d.ts +8 -1
  70. package/lib/components/molecules/prompter/types.d.ts +7 -1
  71. package/lib/components/molecules/radio-input/radio-input.component.d.ts +1 -2
  72. package/lib/components/molecules/recap-card/recap-card.component.d.ts +36 -0
  73. package/lib/components/molecules/recap-card/types.d.ts +30 -0
  74. package/lib/components/molecules/select-input/select-input.component.d.ts +6 -1
  75. package/lib/components/molecules/swipe-carousel/swipe-carousel.component.d.ts +66 -0
  76. package/lib/components/molecules/swipe-carousel/types.d.ts +35 -0
  77. package/lib/components/molecules/testimonial-card/testimonial-card.component.d.ts +41 -0
  78. package/lib/components/molecules/testimonial-card/types.d.ts +25 -0
  79. package/lib/components/molecules/text-input/text-input.component.d.ts +13 -4
  80. package/lib/components/organisms/cards-carousel/cards-carousel.component.d.ts +30 -0
  81. package/lib/components/organisms/cards-carousel/types.d.ts +11 -0
  82. package/lib/components/organisms/company-footer/company-footer.component.d.ts +32 -0
  83. package/lib/components/organisms/company-footer/types.d.ts +15 -0
  84. package/lib/components/organisms/data-table/data-table.component.d.ts +1 -1
  85. package/lib/components/organisms/data-table/types.d.ts +6 -0
  86. package/lib/components/organisms/fun-header/fun-header.component.d.ts +72 -0
  87. package/lib/components/organisms/fun-header/types.d.ts +28 -0
  88. package/lib/components/organisms/menu/menu.component.d.ts +39 -0
  89. package/lib/components/organisms/menu/types.d.ts +23 -0
  90. package/lib/components/organisms/testimonial-carousel/testimonial-carousel.component.d.ts +33 -0
  91. package/lib/components/organisms/testimonial-carousel/types.d.ts +8 -0
  92. package/lib/components/templates/page-content/page-content.component.d.ts +55 -0
  93. package/lib/components/templates/page-content/types.d.ts +14 -0
  94. package/lib/components/templates/page-template/page-template.component.d.ts +49 -0
  95. package/lib/components/templates/page-template/types.d.ts +17 -0
  96. package/lib/components/templates/page-wrapper/page-wrapper.component.d.ts +61 -0
  97. package/lib/components/templates/page-wrapper/types.d.ts +19 -0
  98. package/lib/components/types.d.ts +14 -0
  99. package/lib/services/firebase/config.d.ts +49 -0
  100. package/lib/services/firebase/firebase.service.d.ts +140 -0
  101. package/lib/services/firebase/firestore-collection.d.ts +195 -0
  102. package/lib/services/firebase/firestore.service.d.ts +303 -0
  103. package/lib/services/firebase/index.d.ts +38 -0
  104. package/lib/services/firebase/messaging.service.d.ts +254 -0
  105. package/lib/services/firebase/storage.service.d.ts +204 -0
  106. package/lib/services/firebase/types.d.ts +279 -0
  107. package/lib/services/firebase/utils/path-builder.d.ts +132 -0
  108. package/lib/services/firebase/utils/query-builder.d.ts +210 -0
  109. package/package.json +3 -1
  110. 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 "@angular/common";
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: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { 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"] }] }); }
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbXB0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9wcm9tcHRlci9wcm9tcHRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7OztBQTRDOUU7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sT0FBTyxpQkFBaUI7SUFtQjVCO1FBRkEsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFFdEIsQ0FBQztJQUVoQixRQUFRLEtBQUksQ0FBQztJQUViLFlBQVksQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7K0dBekJVLGlCQUFpQjttR0FBakIsaUJBQWlCLHFJQWhEbEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQ1QsNmlHQW5DUyxZQUFZLDRKQUFFLFlBQVksNkZBQUUsb0JBQW9CLHNHQUFFLGFBQWEsd0VBQUUsYUFBYTs7NEZBaUQ3RSxpQkFBaUI7a0JBcEQ3QixTQUFTOytCQUNFLGNBQWMsY0FDWixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLGFBQWEsRUFBRSxhQUFhLENBQUMsWUFDL0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQ1Q7d0RBNEJELEtBQUs7c0JBREosS0FBSztnQkFJTixPQUFPO3NCQUROLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm94Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvYm94L2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSHJlZkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2hyZWYvaHJlZi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL3RleHQvdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uR3JvdXBDb21wb25lbnQgfSBmcm9tICcuLi9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9tcHRlck1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1wcm9tcHRlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEJveENvbXBvbmVudCwgQnV0dG9uR3JvdXBDb21wb25lbnQsIFRleHRDb21wb25lbnQsIEhyZWZDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx2YWwtYm94XG4gICAgICBjbGFzcz1cInRlbGVwcm9tcHRlci1jb250YWluZXJcIlxuICAgICAgW3Byb3BzXT1cInsgaWNvbjogJycsIGJvcmRlcmVkOiBwcm9wcy5ib3JkZXJlZCwgY29sb3I6IHByb3BzLmNvbG9yLCBsZWZ0Qm9yZGVyOiBmYWxzZSwgcGFkZGluZzogcHJvcHMucGFkZGluZyB9XCJcbiAgICAgIChvbkNsaWNrKT1cImNsaWNrSGFuZGxlcigpXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCIgW2NsYXNzLnRlbGVwcm9tcHRlci1jb250ZW50XT1cInByb3BzLnRlbGVwcm9tcHRlclwiIGJvZHk+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPHZhbC10ZXh0XG4gICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICBjb250ZW50OiBwcm9wcy5jb250ZW50LFxuICAgICAgICAgICAgICBjb2xvcjogJycsXG4gICAgICAgICAgICAgIGJvbGQ6IHRydWUsXG4gICAgICAgICAgICAgIHNpemU6IHByb3BzLnNpemUsXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICA+PC92YWwtdGV4dD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIEBpZiAocHJvcHMuYnV0dG9ucyB8fCBwcm9wcy5ocmVmcykge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25zLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPHZhbC1idXR0b24tZ3JvdXBcbiAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b25zLWNvbnRhaW5lclwiXG4gICAgICAgICAgICAgIFtwcm9wc109XCJ7IGJ1dHRvbnM6IHByb3BzLmJ1dHRvbnMsIHBvc2l0aW9uOiAncmlnaHQnLCBjb2x1bW5lZDogZmFsc2UgfVwiXG4gICAgICAgICAgICAgIChvbkNsaWNrKT1cImNsaWNrSGFuZGxlcigkZXZlbnQpXCJcbiAgICAgICAgICAgID48L3ZhbC1idXR0b24tZ3JvdXA+XG4gICAgICAgICAgICA8dmFsLWhyZWZcbiAgICAgICAgICAgICAgY2xhc3M9XCJsaW5rXCJcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGwgb2YgcHJvcHMuaHJlZnNcIlxuICAgICAgICAgICAgICBbcHJvcHNdPVwibFwiXG4gICAgICAgICAgICAgIChvbkNsaWNrKT1cImNsaWNrSGFuZGxlcigkZXZlbnQpXCJcbiAgICAgICAgICAgID48L3ZhbC1ocmVmPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L3ZhbC1ib3g+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3Byb21wdGVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtcHJvbXB0ZXJcbiAqXG4gKiBEaXNwbGF5cyBhIHByb21wdC9pbmZvIGJveCB3aXRoIHRleHQsIGFjdGlvbnMgKGJ1dHRvbnMvbGlua3MpLCBhbmQgY3VzdG9tIHN0eWxlcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogPHZhbC1wcm9tcHRlciBbcHJvcHNdPVwieyBjb250ZW50OiAnTWVzc2FnZScsIGJ1dHRvbnM6IFsuLi5dLCBocmVmczogWy4uLl0sIGNvbG9yOiAncHJpbWFyeScsIHNpemU6ICdtZWRpdW0nIH1cIj48L3ZhbC1wcm9tcHRlcj5cbiAqXG4gKiBAaW5wdXQgcHJvcHM6IFByb21wdGVyTWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgcHJvbXB0ZXIgKGNvbnRlbnQsIGJ1dHRvbnMsIGhyZWZzLCBjb2xvciwgc2l6ZSwgZXRjLilcbiAqIEBvdXRwdXQgb25DbGljayAtIEVtaXRzIHdoZW4gYW4gYWN0aW9uIGlzIGNsaWNrZWRcbiAqL1xuZXhwb3J0IGNsYXNzIFByb21wdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIFByb21wdGVyIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgKiBAdHlwZSB7UHJvbXB0ZXJNZXRhZGF0YX1cbiAgICogQHByb3BlcnR5IGNvbnRlbnQgLSBUaGUgbWFpbiB0ZXh0IGNvbnRlbnQuXG4gICAqIEBwcm9wZXJ0eSBidXR0b25zIC0gQXJyYXkgb2YgYnV0dG9uIGNvbmZpZ3VyYXRpb25zIChvcHRpb25hbCkuXG4gICAqIEBwcm9wZXJ0eSBocmVmcyAtIEFycmF5IG9mIGxpbmsgY29uZmlndXJhdGlvbnMgKG9wdGlvbmFsKS5cbiAgICogQHByb3BlcnR5IGNvbG9yIC0gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJveC5cbiAgICogQHByb3BlcnR5IHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgdGV4dCBhbmQgYm94LlxuICAgKiBAcHJvcGVydHkgYm9yZGVyZWQgLSBXaGV0aGVyIHRoZSBib3ggaGFzIGEgYm9yZGVyLlxuICAgKiBAcHJvcGVydHkgcGFkZGluZyAtIEN1c3RvbSBwYWRkaW5nIGZvciB0aGUgYm94LlxuICAgKiBAcHJvcGVydHkgdGVsZXByb21wdGVyIC0gV2hldGhlciB0byB1c2UgdGVsZXByb21wdGVyIHN0eWxlIChvcHRpb25hbCkuXG4gICAqL1xuICBASW5wdXQoKVxuICBwcm9wczogUHJvbXB0ZXJNZXRhZGF0YTtcblxuICBAT3V0cHV0KClcbiAgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgY2xpY2tIYW5kbGVyKHRva2VuPzogc3RyaW5nKSB7XG4gICAgdGhpcy5vbkNsaWNrLmVtaXQodG9rZW4pO1xuICB9XG59XG4iXX0=
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3Byb21wdGVyL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xvciB9IGZyb20gJ0Bpb25pYy9jb3JlJztcbmltcG9ydCB7IEhyZWZNZXRhZGF0YSB9IGZyb20gJy4uLy4uL2F0b21zL2hyZWYvdHlwZXMnO1xuaW1wb3J0IHsgQnV0dG9uTWV0YWRhdGEgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbi8qKlxuICogUHJvcHMgZm9yIHZhbC1wcm9tcHRlciBjb21wb25lbnQuXG4gKlxuICogQHByb3BlcnR5IHRlbGVwcm9tcHRlciAtIFdoZXRoZXIgdG8gdXNlIHRlbGVwcm9tcHRlciBzdHlsZS5cbiAqIEBwcm9wZXJ0eSBib3JkZXJlZCAtIFdoZXRoZXIgdGhlIGJveCBoYXMgYSBib3JkZXIuXG4gKiBAcHJvcGVydHkgY29sb3IgLSBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm94IChvcHRpb25hbCkuXG4gKiBAcHJvcGVydHkgY29udGVudCAtIFRoZSBtYWluIHRleHQgY29udGVudC5cbiAqIEBwcm9wZXJ0eSBzaXplIC0gVGhlIHNpemUgb2YgdGhlIHRleHQgYW5kIGJveCAoJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyB8ICd4bGFyZ2UnKS5cbiAqIEBwcm9wZXJ0eSBidXR0b25zIC0gQXJyYXkgb2YgYnV0dG9uIGNvbmZpZ3VyYXRpb25zIChvcHRpb25hbCkuXG4gKiBAcHJvcGVydHkgaHJlZnMgLSBBcnJheSBvZiBsaW5rIGNvbmZpZ3VyYXRpb25zIChvcHRpb25hbCkuXG4gKiBAcHJvcGVydHkgcGFkZGluZyAtIEN1c3RvbSBwYWRkaW5nIGZvciB0aGUgYm94IChvcHRpb25hbCkuXG4gKi9cbmV4cG9ydCB0eXBlIFByb21wdGVyTWV0YWRhdGEgPSB7XG4gIHRlbGVwcm9tcHRlcjogYm9vbGVhbjtcbiAgYm9yZGVyZWQ6IGJvb2xlYW47XG4gIGNvbG9yPzogQ29sb3I7XG4gIGNvbnRlbnQ6IHN0cmluZztcbiAgc2l6ZTogJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyB8ICd4bGFyZ2UnO1xuICBidXR0b25zPzogQnV0dG9uTWV0YWRhdGFbXTtcbiAgaHJlZnM/OiBIcmVmTWV0YWRhdGFbXTtcbiAgcGFkZGluZz86IHN0cmluZztcbn07XG4iXX0=
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
- }], ctorParameters: () => [], propDecorators: { props: [{
49
+ }], propDecorators: { props: [{
41
50
  type: Input
42
51
  }] } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8taW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9yYWRpby1pbnB1dC9yYWRpby1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQWlCcEU7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxPQUFPLG1CQUFtQjtJQVM5QixnQkFBZSxDQUFDO0lBRWhCLFFBQVEsS0FBSSxDQUFDOytHQVhGLG1CQUFtQjttR0FBbkIsbUJBQW1CLHVHQXBCcEI7Ozs7Ozs7R0FPVCwwRUFSUyxLQUFLLGtIQUFFLG1CQUFtQiwwVEFBRSxhQUFhLHdKQUFFLFFBQVE7OzRGQXFCbEQsbUJBQW1CO2tCQXhCL0IsU0FBUzsrQkFDRSxpQkFBaUIsY0FDZixJQUFJLFdBQ1AsQ0FBQyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLFFBQVEsQ0FBQyxZQUNwRDs7Ozs7OztHQU9UO3dEQW9CUSxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0ZvciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJb25SYWRpbywgSW9uUmFkaW9Hcm91cCB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgSW5wdXRNZXRhZGF0YSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXJhZGlvLWlucHV0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nRm9yLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBJb25SYWRpb0dyb3VwLCBJb25SYWRpb10sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGlvbi1yYWRpby1ncm91cCBbYWxsb3dFbXB0eVNlbGVjdGlvbl09XCJ0cnVlXCIgW2Zvcm1Db250cm9sXT1cInByb3BzLmNvbnRyb2xcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG8gb2YgcHJvcHMub3B0aW9uc1wiPlxuICAgICAgICA8aW9uLXJhZGlvIFt2YWx1ZV09XCJvLmlkXCI+e3sgby5uYW1lIH19PC9pb24tcmFkaW8+XG4gICAgICAgIDxiciAvPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9pb24tcmFkaW8tZ3JvdXA+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3JhZGlvLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtcmFkaW8taW5wdXRcbiAqXG4gKiBBIHJhZGlvIGdyb3VwIGlucHV0IGZvciBzZWxlY3Rpbmcgb25lIG9wdGlvbiwgaW50ZWdyYXRlZCB3aXRoIEFuZ3VsYXIgZm9ybXMuXG4gKlxuICogQGV4YW1wbGVcbiAqIDx2YWwtcmFkaW8taW5wdXQgW3Byb3BzXT1cInsgY29udHJvbDogbXlDb250cm9sLCBvcHRpb25zOiBbeyBpZDogJzEnLCBuYW1lOiAnT3B0aW9uIDEnIH1dIH1cIj48L3ZhbC1yYWRpby1pbnB1dD5cbiAqXG4gKiBAaW5wdXQgcHJvcHM6IElucHV0TWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgcmFkaW8gaW5wdXQgKGZvcm0gY29udHJvbCwgb3B0aW9ucywgZXRjLilcbiAqL1xuZXhwb3J0IGNsYXNzIFJhZGlvSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKipcbiAgICogSW5wdXQgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAqIEB0eXBlIHtJbnB1dE1ldGFkYXRhfVxuICAgKiBAcHJvcGVydHkgY29udHJvbCAtIFRoZSBBbmd1bGFyIEZvcm1Db250cm9sIGZvciB0aGUgcmFkaW8gaW5wdXQuXG4gICAqIEBwcm9wZXJ0eSBvcHRpb25zIC0gVGhlIGF2YWlsYWJsZSBvcHRpb25zIGZvciB0aGUgcmFkaW8gZ3JvdXAuXG4gICAqL1xuICBASW5wdXQoKSBwcm9wczogSW5wdXRNZXRhZGF0YTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxufVxuIl19
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.customModalOptions = {
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
- this.customModalOptions.header = this.props.label;
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="Cancelar"
40
- okText="Ok"
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="Cancelar"
58
- okText="Ok"
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
- }], ctorParameters: () => [], propDecorators: { props: [{
82
+ }], propDecorators: { props: [{
66
83
  type: Input
67
84
  }] } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvc2VsZWN0LWlucHV0L3NlbGVjdC1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDakYsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBd0J2RTs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLE9BQU8sdUJBQXVCO0lBaUJsQztRQU5BLHVCQUFrQixHQUFHO1lBQ25CLE1BQU0sRUFBRSxZQUFZO1lBQ3BCLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUM7WUFDckIsaUJBQWlCLEVBQUUsR0FBRztTQUN2QixDQUFDO0lBRWEsQ0FBQztJQUVoQixRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVcsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ2pELDBCQUEwQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztJQUNwRCxDQUFDOytHQXhCVSx1QkFBdUI7bUdBQXZCLHVCQUF1Qix3R0EzQnhCOzs7Ozs7Ozs7Ozs7OztHQWNULHlFQWZTLG1CQUFtQiwwVEFBRSxTQUFTLGtWQUFFLGVBQWU7OzRGQTRCOUMsdUJBQXVCO2tCQS9CbkMsU0FBUzsrQkFDRSxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQLENBQUMsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLGVBQWUsQ0FBQyxZQUNoRDs7Ozs7Ozs7Ozs7Ozs7R0FjVDt3REFzQlEsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgYXBwbHlEZWZhdWx0VmFsdWVUb0NvbnRyb2wgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvdXRpbHMvZm9ybS1kZWZhdWx0cyc7XG5pbXBvcnQgeyBJb25TZWxlY3QsIElvblNlbGVjdE9wdGlvbiB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgSW5wdXRNZXRhZGF0YSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXNlbGVjdC1pbnB1dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtSZWFjdGl2ZUZvcm1zTW9kdWxlLCBJb25TZWxlY3QsIElvblNlbGVjdE9wdGlvbl0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGlvbi1zZWxlY3RcbiAgICAgIFtmb3JtQ29udHJvbF09XCJwcm9wcy5jb250cm9sXCJcbiAgICAgIFtsYWJlbF09XCJwcm9wcy5sYWJlbFwiXG4gICAgICBbaW50ZXJmYWNlT3B0aW9uc109XCJjdXN0b21Nb2RhbE9wdGlvbnNcIlxuICAgICAgaW50ZXJmYWNlPVwibW9kYWxcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cIltwcm9wcy5wbGFjZWhvbGRlcl1cIlxuICAgICAgY2FuY2VsVGV4dD1cIkNhbmNlbGFyXCJcbiAgICAgIG9rVGV4dD1cIk9rXCJcbiAgICA+XG4gICAgICBAZm9yIChvIG9mIHByb3BzLm9wdGlvbnM7IHRyYWNrIG8uaWQpIHtcbiAgICAgICAgPGlvbi1zZWxlY3Qtb3B0aW9uIFt2YWx1ZV09XCJvLmlkXCI+e3sgby5uYW1lIH19PC9pb24tc2VsZWN0LW9wdGlvbj5cbiAgICAgIH1cbiAgICA8L2lvbi1zZWxlY3Q+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxufSlcbi8qKlxuICogdmFsLXNlbGVjdC1pbnB1dFxuICpcbiAqIEEgc2VsZWN0L2Ryb3Bkb3duIGlucHV0IGludGVncmF0ZWQgd2l0aCBBbmd1bGFyIGZvcm1zLCB1c2luZyBJb25pYydzIHNlbGVjdCBjb21wb25lbnQuXG4gKlxuICogQGV4YW1wbGVcbiAqIDx2YWwtc2VsZWN0LWlucHV0IFtwcm9wc109XCJ7IGNvbnRyb2w6IG15Q29udHJvbCwgbGFiZWw6ICdDaG9vc2UnLCBvcHRpb25zOiBbeyBpZDogJzEnLCBuYW1lOiAnT3B0aW9uIDEnIH1dIH1cIj48L3ZhbC1zZWxlY3QtaW5wdXQ+XG4gKlxuICogQGlucHV0IHByb3BzOiBJbnB1dE1ldGFkYXRhIC0gQ29uZmlndXJhdGlvbiBmb3IgdGhlIHNlbGVjdCBpbnB1dCAoZm9ybSBjb250cm9sLCBsYWJlbCwgb3B0aW9ucywgZXRjLilcbiAqL1xuZXhwb3J0IGNsYXNzIFNlYXJjaFNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIElucHV0IGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgKiBAdHlwZSB7SW5wdXRNZXRhZGF0YX1cbiAgICogQHByb3BlcnR5IGNvbnRyb2wgLSBUaGUgQW5ndWxhciBGb3JtQ29udHJvbCBmb3IgdGhlIHNlbGVjdCBpbnB1dC5cbiAgICogQHByb3BlcnR5IGxhYmVsIC0gVGhlIGxhYmVsIGZvciB0aGUgc2VsZWN0LlxuICAgKiBAcHJvcGVydHkgb3B0aW9ucyAtIFRoZSBhdmFpbGFibGUgb3B0aW9ucyBmb3IgdGhlIHNlbGVjdC5cbiAgICogQHByb3BlcnR5IHBsYWNlaG9sZGVyIC0gVGhlIHBsYWNlaG9sZGVyIHRleHQuXG4gICAqL1xuICBASW5wdXQoKSBwcm9wczogSW5wdXRNZXRhZGF0YTtcblxuICBjdXN0b21Nb2RhbE9wdGlvbnMgPSB7XG4gICAgaGVhZGVyOiAnU2VsZWNjaW9uZScsXG4gICAgYnJlYWtwb2ludHM6IFswLCAwLjZdLFxuICAgIGluaXRpYWxCcmVha3BvaW50OiAwLjYsXG4gIH07XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLnByb3BzPy53aXRoRGVmYXVsdCB8fCB0aGlzLnByb3BzPy52YWx1ZSkge1xuICAgICAgYXBwbHlEZWZhdWx0VmFsdWVUb0NvbnRyb2wodGhpcy5wcm9wcyk7XG4gICAgfVxuICAgIHRoaXMuY3VzdG9tTW9kYWxPcHRpb25zLmhlYWRlciA9IHRoaXMucHJvcHMubGFiZWw7XG4gIH1cbn1cbiJdfQ==
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvc2VsZWN0LWlucHV0L3NlbGVjdC1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVEQUF1RCxDQUFDOzs7QUF3QnBGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQUNILE1BQU0sT0FBTyx1QkFBdUI7SUExQ3BDO1FBMkNVLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0tBcUMzQztJQWxCQyxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVcsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ2pELDBCQUEwQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBRUQsdURBQXVEO1FBQ3ZELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUVySCxJQUFJLENBQUMsa0JBQWtCLEdBQUc7WUFDeEIsTUFBTSxFQUFFLFVBQVU7WUFDbEIsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQztZQUNyQixpQkFBaUIsRUFBRSxHQUFHO1NBQ3ZCLENBQUM7UUFFRixtREFBbUQ7UUFDbkQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0UsQ0FBQzsrR0FyQ1UsdUJBQXVCO21HQUF2Qix1QkFBdUIsd0dBdEN4Qjs7Ozs7Ozs7Ozs7Ozs7R0FjVCx5RUFmUyxtQkFBbUIsMFRBQUUsU0FBUyxrVkFBRSxlQUFlOzs0RkF1QzlDLHVCQUF1QjtrQkExQ25DLFNBQVM7K0JBQ0Usa0JBQWtCLGNBQ2hCLElBQUksV0FDUCxDQUFDLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxlQUFlLENBQUMsWUFDaEQ7Ozs7Ozs7Ozs7Ozs7O0dBY1Q7OEJBc0NRLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgYXBwbHlEZWZhdWx0VmFsdWVUb0NvbnRyb2wgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvdXRpbHMvZm9ybS1kZWZhdWx0cyc7XG5pbXBvcnQgeyBJb25TZWxlY3QsIElvblNlbGVjdE9wdGlvbiB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgTGFuZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9sYW5nLXByb3ZpZGVyL2xhbmctcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBJbnB1dE1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtc2VsZWN0LWlucHV0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1JlYWN0aXZlRm9ybXNNb2R1bGUsIElvblNlbGVjdCwgSW9uU2VsZWN0T3B0aW9uXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLXNlbGVjdFxuICAgICAgW2Zvcm1Db250cm9sXT1cInByb3BzLmNvbnRyb2xcIlxuICAgICAgW2xhYmVsXT1cInByb3BzLmxhYmVsXCJcbiAgICAgIFtpbnRlcmZhY2VPcHRpb25zXT1cImN1c3RvbU1vZGFsT3B0aW9uc1wiXG4gICAgICBpbnRlcmZhY2U9XCJtb2RhbFwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiW3Byb3BzLnBsYWNlaG9sZGVyXVwiXG4gICAgICBbY2FuY2VsVGV4dF09XCJjYW5jZWxUZXh0XCJcbiAgICAgIFtva1RleHRdPVwib2tUZXh0XCJcbiAgICA+XG4gICAgICBAZm9yIChvIG9mIHByb3BzLm9wdGlvbnM7IHRyYWNrIG8uaWQpIHtcbiAgICAgICAgPGlvbi1zZWxlY3Qtb3B0aW9uIFt2YWx1ZV09XCJvLmlkXCI+e3sgby5uYW1lIH19PC9pb24tc2VsZWN0LW9wdGlvbj5cbiAgICAgIH1cbiAgICA8L2lvbi1zZWxlY3Q+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxufSlcbi8qKlxuICogdmFsLXNlbGVjdC1pbnB1dFxuICpcbiAqIEEgc2VsZWN0L2Ryb3Bkb3duIGlucHV0IGludGVncmF0ZWQgd2l0aCBBbmd1bGFyIGZvcm1zLCB1c2luZyBJb25pYydzIHNlbGVjdCBjb21wb25lbnQuXG4gKiBTdXBwb3J0cyBpMThuIGZvciBtb2RhbCBidXR0b25zIGFuZCBoZWFkZXIgdGV4dCB2aWEgR2xvYmFsQ29udGVudC5cbiAqXG4gKiBAZXhhbXBsZSBCYXNpYyB1c2FnZTpcbiAqIDx2YWwtc2VsZWN0LWlucHV0IFtwcm9wc109XCJ7IGNvbnRyb2w6IG15Q29udHJvbCwgbGFiZWw6ICdDaG9vc2UnLCBvcHRpb25zOiBbeyBpZDogJzEnLCBuYW1lOiAnT3B0aW9uIDEnIH1dIH1cIj48L3ZhbC1zZWxlY3QtaW5wdXQ+XG4gKlxuICogQGV4YW1wbGUgV2l0aCBjdXN0b20gbW9kYWwgdGV4dHM6XG4gKiA8dmFsLXNlbGVjdC1pbnB1dCBbcHJvcHNdPVwie1xuICogICBjb250cm9sOiBteUNvbnRyb2wsXG4gKiAgIGxhYmVsOiAnQ2hvb3NlJyxcbiAqICAgb3B0aW9uczogWy4uLl0sXG4gKiAgIG1vZGFsSGVhZGVyOiAnU2VsZWN0IGFuIG9wdGlvbicsXG4gKiAgIGNhbmNlbFRleHQ6ICdDYW5jZWwnLFxuICogICBva1RleHQ6ICdDb25maXJtJ1xuICogfVwiPjwvdmFsLXNlbGVjdC1pbnB1dD5cbiAqXG4gKiBAaW5wdXQgcHJvcHM6IElucHV0TWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgc2VsZWN0IGlucHV0IChmb3JtIGNvbnRyb2wsIGxhYmVsLCBvcHRpb25zLCBldGMuKVxuICovXG5leHBvcnQgY2xhc3MgU2VhcmNoU2VsZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIGxhbmdTZXJ2aWNlID0gaW5qZWN0KExhbmdTZXJ2aWNlKTtcblxuICAvKipcbiAgICogSW5wdXQgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAqIEB0eXBlIHtJbnB1dE1ldGFkYXRhfVxuICAgKiBAcHJvcGVydHkgY29udHJvbCAtIFRoZSBBbmd1bGFyIEZvcm1Db250cm9sIGZvciB0aGUgc2VsZWN0IGlucHV0LlxuICAgKiBAcHJvcGVydHkgbGFiZWwgLSBUaGUgbGFiZWwgZm9yIHRoZSBzZWxlY3QuXG4gICAqIEBwcm9wZXJ0eSBvcHRpb25zIC0gVGhlIGF2YWlsYWJsZSBvcHRpb25zIGZvciB0aGUgc2VsZWN0LlxuICAgKiBAcHJvcGVydHkgcGxhY2Vob2xkZXIgLSBUaGUgcGxhY2Vob2xkZXIgdGV4dC5cbiAgICogQHByb3BlcnR5IG1vZGFsSGVhZGVyIC0gQ3VzdG9tIGhlYWRlciB0ZXh0IGZvciB0aGUgbW9kYWwgKG9wdGlvbmFsLCB1c2VzIGxhYmVsIGlmIG5vdCBwcm92aWRlZCkuXG4gICAqIEBwcm9wZXJ0eSBjYW5jZWxUZXh0IC0gQ3VzdG9tIGNhbmNlbCBidXR0b24gdGV4dCAob3B0aW9uYWwsIHVzZXMgaTE4biBkZWZhdWx0KS5cbiAgICogQHByb3BlcnR5IG9rVGV4dCAtIEN1c3RvbSBPSyBidXR0b24gdGV4dCAob3B0aW9uYWwsIHVzZXMgaTE4biBkZWZhdWx0KS5cbiAgICovXG4gIEBJbnB1dCgpIHByb3BzOiBJbnB1dE1ldGFkYXRhO1xuXG4gIGN1c3RvbU1vZGFsT3B0aW9uczogeyBoZWFkZXI6IHN0cmluZzsgYnJlYWtwb2ludHM6IG51bWJlcltdOyBpbml0aWFsQnJlYWtwb2ludDogbnVtYmVyIH07XG4gIGNhbmNlbFRleHQ6IHN0cmluZztcbiAgb2tUZXh0OiBzdHJpbmc7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMucHJvcHM/LndpdGhEZWZhdWx0IHx8IHRoaXMucHJvcHM/LnZhbHVlKSB7XG4gICAgICBhcHBseURlZmF1bHRWYWx1ZVRvQ29udHJvbCh0aGlzLnByb3BzKTtcbiAgICB9XG5cbiAgICAvLyBTZXQgbW9kYWwgaGVhZGVyIGZyb20gcHJvcHMgb3IgdXNlIGxhYmVsIGFzIGZhbGxiYWNrXG4gICAgY29uc3QgaGVhZGVyVGV4dCA9IHRoaXMucHJvcHMubW9kYWxIZWFkZXIgfHwgdGhpcy5wcm9wcy5sYWJlbCB8fCB0aGlzLmxhbmdTZXJ2aWNlLmdldFRleHQoJ19nbG9iYWwnLCAnc2VsZWN0T3B0aW9uJyk7XG5cbiAgICB0aGlzLmN1c3RvbU1vZGFsT3B0aW9ucyA9IHtcbiAgICAgIGhlYWRlcjogaGVhZGVyVGV4dCxcbiAgICAgIGJyZWFrcG9pbnRzOiBbMCwgMC42XSxcbiAgICAgIGluaXRpYWxCcmVha3BvaW50OiAwLjYsXG4gICAgfTtcblxuICAgIC8vIFNldCBidXR0b24gdGV4dHMgZnJvbSBwcm9wcyBvciB1c2UgaTE4biBkZWZhdWx0c1xuICAgIHRoaXMuY2FuY2VsVGV4dCA9IHRoaXMucHJvcHMuY2FuY2VsVGV4dCB8fCB0aGlzLmxhbmdTZXJ2aWNlLmdldFRleHQoJ19nbG9iYWwnLCAnY2FuY2VsJyk7XG4gICAgdGhpcy5va1RleHQgPSB0aGlzLnByb3BzLm9rVGV4dCB8fCB0aGlzLmxhbmdTZXJ2aWNlLmdldFRleHQoJ19nbG9iYWwnLCAnb2snKTtcbiAgfVxufVxuIl19