valtech-components 2.0.408 → 2.0.412

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 (109) 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 +39 -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 +184 -6
  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/public-api.mjs +33 -1
  55. package/fesm2022/valtech-components.mjs +5839 -862
  56. package/fesm2022/valtech-components.mjs.map +1 -1
  57. package/lib/components/atoms/horizontal-scroll/horizontal-scroll.component.d.ts +41 -0
  58. package/lib/components/atoms/horizontal-scroll/types.d.ts +13 -0
  59. package/lib/components/atoms/rights-footer/rights-footer.component.d.ts +39 -0
  60. package/lib/components/atoms/rights-footer/types.d.ts +13 -0
  61. package/lib/components/molecules/check-input/check-input.component.d.ts +17 -2
  62. package/lib/components/molecules/email-input/email-input.component.d.ts +1 -2
  63. package/lib/components/molecules/footer-links/footer-links.component.d.ts +47 -0
  64. package/lib/components/molecules/footer-links/types.d.ts +37 -0
  65. package/lib/components/molecules/links-accordion/links-accordion.component.d.ts +48 -0
  66. package/lib/components/molecules/links-accordion/types.d.ts +33 -0
  67. package/lib/components/molecules/password-input/password-input.component.d.ts +1 -1
  68. package/lib/components/molecules/prompter/prompter.component.d.ts +9 -10
  69. package/lib/components/molecules/prompter/types.d.ts +7 -1
  70. package/lib/components/molecules/radio-input/radio-input.component.d.ts +1 -2
  71. package/lib/components/molecules/recap-card/recap-card.component.d.ts +36 -0
  72. package/lib/components/molecules/recap-card/types.d.ts +30 -0
  73. package/lib/components/molecules/select-input/select-input.component.d.ts +6 -1
  74. package/lib/components/molecules/swipe-carousel/swipe-carousel.component.d.ts +66 -0
  75. package/lib/components/molecules/swipe-carousel/types.d.ts +35 -0
  76. package/lib/components/molecules/testimonial-card/testimonial-card.component.d.ts +41 -0
  77. package/lib/components/molecules/testimonial-card/types.d.ts +25 -0
  78. package/lib/components/molecules/text-input/text-input.component.d.ts +13 -4
  79. package/lib/components/organisms/cards-carousel/cards-carousel.component.d.ts +30 -0
  80. package/lib/components/organisms/cards-carousel/types.d.ts +11 -0
  81. package/lib/components/organisms/company-footer/company-footer.component.d.ts +32 -0
  82. package/lib/components/organisms/company-footer/types.d.ts +15 -0
  83. package/lib/components/organisms/data-table/data-table.component.d.ts +4 -1
  84. package/lib/components/organisms/data-table/types.d.ts +6 -0
  85. package/lib/components/organisms/fun-header/fun-header.component.d.ts +72 -0
  86. package/lib/components/organisms/fun-header/types.d.ts +28 -0
  87. package/lib/components/organisms/menu/menu.component.d.ts +39 -0
  88. package/lib/components/organisms/menu/types.d.ts +23 -0
  89. package/lib/components/organisms/testimonial-carousel/testimonial-carousel.component.d.ts +33 -0
  90. package/lib/components/organisms/testimonial-carousel/types.d.ts +8 -0
  91. package/lib/components/templates/page-content/page-content.component.d.ts +55 -0
  92. package/lib/components/templates/page-content/types.d.ts +14 -0
  93. package/lib/components/templates/page-template/page-template.component.d.ts +49 -0
  94. package/lib/components/templates/page-template/types.d.ts +17 -0
  95. package/lib/components/templates/page-wrapper/page-wrapper.component.d.ts +61 -0
  96. package/lib/components/templates/page-wrapper/types.d.ts +19 -0
  97. package/lib/components/types.d.ts +14 -0
  98. package/lib/services/firebase/config.d.ts +49 -0
  99. package/lib/services/firebase/firebase.service.d.ts +140 -0
  100. package/lib/services/firebase/firestore-collection.d.ts +195 -0
  101. package/lib/services/firebase/firestore.service.d.ts +303 -0
  102. package/lib/services/firebase/index.d.ts +38 -0
  103. package/lib/services/firebase/messaging.service.d.ts +254 -0
  104. package/lib/services/firebase/storage.service.d.ts +204 -0
  105. package/lib/services/firebase/types.d.ts +279 -0
  106. package/lib/services/firebase/utils/path-builder.d.ts +132 -0
  107. package/lib/services/firebase/utils/query-builder.d.ts +210 -0
  108. package/package.json +3 -1
  109. package/public-api.d.ts +31 -0
@@ -1,5 +1,7 @@
1
1
  import { CommonModule } from '@angular/common';
2
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { Component, EventEmitter, inject, Input, Output } from '@angular/core';
3
+ import { of } from 'rxjs';
4
+ import { LangService } from '../../../services/lang-provider/lang-provider.service';
3
5
  import { BoxComponent } from '../../atoms/box/box.component';
4
6
  import { HrefComponent } from '../../atoms/href/href.component';
5
7
  import { TextComponent } from '../../atoms/text/text.component';
@@ -10,18 +12,46 @@ import * as i1 from "@angular/common";
10
12
  * val-prompter
11
13
  *
12
14
  * Displays a prompt/info box with text, actions (buttons/links), and custom styles.
15
+ * Supports reactive i18n content via contentClass and contentKey props.
13
16
  *
14
- * @example
15
- * <val-prompter [props]="{ content: 'Message', buttons: [...], hrefs: [...], color: 'primary', size: 'medium' }"></val-prompter>
17
+ * @example Static content:
18
+ * <val-prompter [props]="{ content: 'Message', buttons: [...], color: 'primary', size: 'medium' }"></val-prompter>
19
+ *
20
+ * @example Reactive i18n content:
21
+ * <val-prompter [props]="{
22
+ * contentClass: 'homePage',
23
+ * contentKey: 'cookieMessage',
24
+ * content: 'Fallback message',
25
+ * buttons: [...],
26
+ * color: 'primary',
27
+ * size: 'medium'
28
+ * }"></val-prompter>
16
29
  *
17
30
  * @input props: PrompterMetadata - Configuration for the prompter (content, buttons, hrefs, color, size, etc.)
18
31
  * @output onClick - Emits when an action is clicked
19
32
  */
20
33
  export class PrompterComponent {
21
34
  constructor() {
35
+ this.langService = inject(LangService);
22
36
  this.onClick = new EventEmitter();
23
37
  }
24
- ngOnInit() { }
38
+ ngOnInit() {
39
+ this.setupContent();
40
+ }
41
+ /**
42
+ * Set up content Observable.
43
+ * Follows the same pattern as val-text and val-button for consistency.
44
+ */
45
+ setupContent() {
46
+ if (this.props.contentClass && this.props.contentKey) {
47
+ // Reactive content - Observable connected to currentLang$
48
+ this.displayContent$ = this.langService.getContent(this.props.contentClass, this.props.contentKey, this.props.content);
49
+ }
50
+ else {
51
+ // Static content wrapped in Observable
52
+ this.displayContent$ = of(this.props.content);
53
+ }
54
+ }
25
55
  clickHandler(token) {
26
56
  this.onClick.emit(token);
27
57
  }
@@ -36,7 +66,7 @@ export class PrompterComponent {
36
66
  <div>
37
67
  <val-text
38
68
  [props]="{
39
- content: props.content,
69
+ content: displayContent$ | async,
40
70
  color: '',
41
71
  bold: true,
42
72
  size: props.size,
@@ -60,7 +90,7 @@ export class PrompterComponent {
60
90
  }
61
91
  </div>
62
92
  </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"] }] }); }
93
+ `, 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: "pipe", type: i1.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
94
  }
65
95
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PrompterComponent, decorators: [{
66
96
  type: Component,
@@ -74,7 +104,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
74
104
  <div>
75
105
  <val-text
76
106
  [props]="{
77
- content: props.content,
107
+ content: displayContent$ | async,
78
108
  color: '',
79
109
  bold: true,
80
110
  size: props.size,
@@ -99,9 +129,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
99
129
  </div>
100
130
  </val-box>
101
131
  `, 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: [{
132
+ }], propDecorators: { props: [{
103
133
  type: Input
104
134
  }], onClick: [{
105
135
  type: Output
106
136
  }] } });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbXB0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9wcm9tcHRlci9wcm9tcHRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7OztBQTRDOUU7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sT0FBTyxpQkFBaUI7SUFtQjVCO1FBRkEsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFFdEIsQ0FBQztJQUVoQixRQUFRLEtBQUksQ0FBQztJQUViLFlBQVksQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7K0dBekJVLGlCQUFpQjttR0FBakIsaUJBQWlCLHFJQWhEbEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQ1QsNmlHQW5DUyxZQUFZLDRKQUFFLFlBQVksNkZBQUUsb0JBQW9CLHNHQUFFLGFBQWEsd0VBQUUsYUFBYTs7NEZBaUQ3RSxpQkFBaUI7a0JBcEQ3QixTQUFTOytCQUNFLGNBQWMsY0FDWixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLGFBQWEsRUFBRSxhQUFhLENBQUMsWUFDL0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQ1Q7d0RBNEJELEtBQUs7c0JBREosS0FBSztnQkFJTixPQUFPO3NCQUROLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm94Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvYm94L2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSHJlZkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2hyZWYvaHJlZi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL3RleHQvdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uR3JvdXBDb21wb25lbnQgfSBmcm9tICcuLi9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9tcHRlck1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1wcm9tcHRlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEJveENvbXBvbmVudCwgQnV0dG9uR3JvdXBDb21wb25lbnQsIFRleHRDb21wb25lbnQsIEhyZWZDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx2YWwtYm94XG4gICAgICBjbGFzcz1cInRlbGVwcm9tcHRlci1jb250YWluZXJcIlxuICAgICAgW3Byb3BzXT1cInsgaWNvbjogJycsIGJvcmRlcmVkOiBwcm9wcy5ib3JkZXJlZCwgY29sb3I6IHByb3BzLmNvbG9yLCBsZWZ0Qm9yZGVyOiBmYWxzZSwgcGFkZGluZzogcHJvcHMucGFkZGluZyB9XCJcbiAgICAgIChvbkNsaWNrKT1cImNsaWNrSGFuZGxlcigpXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCIgW2NsYXNzLnRlbGVwcm9tcHRlci1jb250ZW50XT1cInByb3BzLnRlbGVwcm9tcHRlclwiIGJvZHk+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPHZhbC10ZXh0XG4gICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICBjb250ZW50OiBwcm9wcy5jb250ZW50LFxuICAgICAgICAgICAgICBjb2xvcjogJycsXG4gICAgICAgICAgICAgIGJvbGQ6IHRydWUsXG4gICAgICAgICAgICAgIHNpemU6IHByb3BzLnNpemUsXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICA+PC92YWwtdGV4dD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIEBpZiAocHJvcHMuYnV0dG9ucyB8fCBwcm9wcy5ocmVmcykge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25zLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPHZhbC1idXR0b24tZ3JvdXBcbiAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b25zLWNvbnRhaW5lclwiXG4gICAgICAgICAgICAgIFtwcm9wc109XCJ7IGJ1dHRvbnM6IHByb3BzLmJ1dHRvbnMsIHBvc2l0aW9uOiAncmlnaHQnLCBjb2x1bW5lZDogZmFsc2UgfVwiXG4gICAgICAgICAgICAgIChvbkNsaWNrKT1cImNsaWNrSGFuZGxlcigkZXZlbnQpXCJcbiAgICAgICAgICAgID48L3ZhbC1idXR0b24tZ3JvdXA+XG4gICAgICAgICAgICA8dmFsLWhyZWZcbiAgICAgICAgICAgICAgY2xhc3M9XCJsaW5rXCJcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGwgb2YgcHJvcHMuaHJlZnNcIlxuICAgICAgICAgICAgICBbcHJvcHNdPVwibFwiXG4gICAgICAgICAgICAgIChvbkNsaWNrKT1cImNsaWNrSGFuZGxlcigkZXZlbnQpXCJcbiAgICAgICAgICAgID48L3ZhbC1ocmVmPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L3ZhbC1ib3g+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3Byb21wdGVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtcHJvbXB0ZXJcbiAqXG4gKiBEaXNwbGF5cyBhIHByb21wdC9pbmZvIGJveCB3aXRoIHRleHQsIGFjdGlvbnMgKGJ1dHRvbnMvbGlua3MpLCBhbmQgY3VzdG9tIHN0eWxlcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogPHZhbC1wcm9tcHRlciBbcHJvcHNdPVwieyBjb250ZW50OiAnTWVzc2FnZScsIGJ1dHRvbnM6IFsuLi5dLCBocmVmczogWy4uLl0sIGNvbG9yOiAncHJpbWFyeScsIHNpemU6ICdtZWRpdW0nIH1cIj48L3ZhbC1wcm9tcHRlcj5cbiAqXG4gKiBAaW5wdXQgcHJvcHM6IFByb21wdGVyTWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgcHJvbXB0ZXIgKGNvbnRlbnQsIGJ1dHRvbnMsIGhyZWZzLCBjb2xvciwgc2l6ZSwgZXRjLilcbiAqIEBvdXRwdXQgb25DbGljayAtIEVtaXRzIHdoZW4gYW4gYWN0aW9uIGlzIGNsaWNrZWRcbiAqL1xuZXhwb3J0IGNsYXNzIFByb21wdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIFByb21wdGVyIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgKiBAdHlwZSB7UHJvbXB0ZXJNZXRhZGF0YX1cbiAgICogQHByb3BlcnR5IGNvbnRlbnQgLSBUaGUgbWFpbiB0ZXh0IGNvbnRlbnQuXG4gICAqIEBwcm9wZXJ0eSBidXR0b25zIC0gQXJyYXkgb2YgYnV0dG9uIGNvbmZpZ3VyYXRpb25zIChvcHRpb25hbCkuXG4gICAqIEBwcm9wZXJ0eSBocmVmcyAtIEFycmF5IG9mIGxpbmsgY29uZmlndXJhdGlvbnMgKG9wdGlvbmFsKS5cbiAgICogQHByb3BlcnR5IGNvbG9yIC0gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJveC5cbiAgICogQHByb3BlcnR5IHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgdGV4dCBhbmQgYm94LlxuICAgKiBAcHJvcGVydHkgYm9yZGVyZWQgLSBXaGV0aGVyIHRoZSBib3ggaGFzIGEgYm9yZGVyLlxuICAgKiBAcHJvcGVydHkgcGFkZGluZyAtIEN1c3RvbSBwYWRkaW5nIGZvciB0aGUgYm94LlxuICAgKiBAcHJvcGVydHkgdGVsZXByb21wdGVyIC0gV2hldGhlciB0byB1c2UgdGVsZXByb21wdGVyIHN0eWxlIChvcHRpb25hbCkuXG4gICAqL1xuICBASW5wdXQoKVxuICBwcm9wczogUHJvbXB0ZXJNZXRhZGF0YTtcblxuICBAT3V0cHV0KClcbiAgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgY2xpY2tIYW5kbGVyKHRva2VuPzogc3RyaW5nKSB7XG4gICAgdGhpcy5vbkNsaWNrLmVtaXQodG9rZW4pO1xuICB9XG59XG4iXX0=
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbXB0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9wcm9tcHRlci9wcm9tcHRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7QUE0QzlFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFDSCxNQUFNLE9BQU8saUJBQWlCO0lBL0Q5QjtRQWdFVSxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQVkxQyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztLQTJCdEM7SUF6QkMsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssWUFBWTtRQUNsQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDckQsMERBQTBEO1lBQzFELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQ2hELElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFDckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQ25CLENBQUM7UUFDSixDQUFDO2FBQU0sQ0FBQztZQUNOLHVDQUF1QztZQUN2QyxJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hELENBQUM7SUFDSCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWM7UUFDekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQzsrR0F2Q1UsaUJBQWlCO21HQUFqQixpQkFBaUIscUlBM0RsQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtDVCw2aUdBbkNTLFlBQVksaU5BQUUsWUFBWSw2RkFBRSxvQkFBb0Isc0dBQUUsYUFBYSx3RUFBRSxhQUFhOzs0RkE0RDdFLGlCQUFpQjtrQkEvRDdCLFNBQVM7K0JBQ0UsY0FBYyxjQUNaLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLGFBQWEsQ0FBQyxZQUMvRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtDVDs4QkFtQ0QsS0FBSztzQkFESixLQUFLO2dCQUlOLE9BQU87c0JBRE4sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMYW5nU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2xhbmctcHJvdmlkZXIvbGFuZy1wcm92aWRlci5zZXJ2aWNlJztcbmltcG9ydCB7IEJveENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2JveC9ib3guY29tcG9uZW50JztcbmltcG9ydCB7IEhyZWZDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9ocmVmL2hyZWYuY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy90ZXh0L3RleHQuY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvbkdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uLWdyb3VwL2J1dHRvbi1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvbXB0ZXJNZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtcHJvbXB0ZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBCb3hDb21wb25lbnQsIEJ1dHRvbkdyb3VwQ29tcG9uZW50LCBUZXh0Q29tcG9uZW50LCBIcmVmQ29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8dmFsLWJveFxuICAgICAgY2xhc3M9XCJ0ZWxlcHJvbXB0ZXItY29udGFpbmVyXCJcbiAgICAgIFtwcm9wc109XCJ7IGljb246ICcnLCBib3JkZXJlZDogcHJvcHMuYm9yZGVyZWQsIGNvbG9yOiBwcm9wcy5jb2xvciwgbGVmdEJvcmRlcjogZmFsc2UsIHBhZGRpbmc6IHByb3BzLnBhZGRpbmcgfVwiXG4gICAgICAob25DbGljayk9XCJjbGlja0hhbmRsZXIoKVwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiIFtjbGFzcy50ZWxlcHJvbXB0ZXItY29udGVudF09XCJwcm9wcy50ZWxlcHJvbXB0ZXJcIiBib2R5PlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDx2YWwtdGV4dFxuICAgICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgICAgY29udGVudDogZGlzcGxheUNvbnRlbnQkIHwgYXN5bmMsXG4gICAgICAgICAgICAgIGNvbG9yOiAnJyxcbiAgICAgICAgICAgICAgYm9sZDogdHJ1ZSxcbiAgICAgICAgICAgICAgc2l6ZTogcHJvcHMuc2l6ZSxcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgID48L3ZhbC10ZXh0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgQGlmIChwcm9wcy5idXR0b25zIHx8IHByb3BzLmhyZWZzKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbnMtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8dmFsLWJ1dHRvbi1ncm91cFxuICAgICAgICAgICAgICBjbGFzcz1cImJ1dHRvbnMtY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgW3Byb3BzXT1cInsgYnV0dG9uczogcHJvcHMuYnV0dG9ucywgcG9zaXRpb246ICdyaWdodCcsIGNvbHVtbmVkOiBmYWxzZSB9XCJcbiAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiY2xpY2tIYW5kbGVyKCRldmVudClcIlxuICAgICAgICAgICAgPjwvdmFsLWJ1dHRvbi1ncm91cD5cbiAgICAgICAgICAgIDx2YWwtaHJlZlxuICAgICAgICAgICAgICBjbGFzcz1cImxpbmtcIlxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgbCBvZiBwcm9wcy5ocmVmc1wiXG4gICAgICAgICAgICAgIFtwcm9wc109XCJsXCJcbiAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiY2xpY2tIYW5kbGVyKCRldmVudClcIlxuICAgICAgICAgICAgPjwvdmFsLWhyZWY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvdmFsLWJveD5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvbXB0ZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKipcbiAqIHZhbC1wcm9tcHRlclxuICpcbiAqIERpc3BsYXlzIGEgcHJvbXB0L2luZm8gYm94IHdpdGggdGV4dCwgYWN0aW9ucyAoYnV0dG9ucy9saW5rcyksIGFuZCBjdXN0b20gc3R5bGVzLlxuICogU3VwcG9ydHMgcmVhY3RpdmUgaTE4biBjb250ZW50IHZpYSBjb250ZW50Q2xhc3MgYW5kIGNvbnRlbnRLZXkgcHJvcHMuXG4gKlxuICogQGV4YW1wbGUgU3RhdGljIGNvbnRlbnQ6XG4gKiA8dmFsLXByb21wdGVyIFtwcm9wc109XCJ7IGNvbnRlbnQ6ICdNZXNzYWdlJywgYnV0dG9uczogWy4uLl0sIGNvbG9yOiAncHJpbWFyeScsIHNpemU6ICdtZWRpdW0nIH1cIj48L3ZhbC1wcm9tcHRlcj5cbiAqXG4gKiBAZXhhbXBsZSBSZWFjdGl2ZSBpMThuIGNvbnRlbnQ6XG4gKiA8dmFsLXByb21wdGVyIFtwcm9wc109XCJ7XG4gKiAgIGNvbnRlbnRDbGFzczogJ2hvbWVQYWdlJyxcbiAqICAgY29udGVudEtleTogJ2Nvb2tpZU1lc3NhZ2UnLFxuICogICBjb250ZW50OiAnRmFsbGJhY2sgbWVzc2FnZScsXG4gKiAgIGJ1dHRvbnM6IFsuLi5dLFxuICogICBjb2xvcjogJ3ByaW1hcnknLFxuICogICBzaXplOiAnbWVkaXVtJ1xuICogfVwiPjwvdmFsLXByb21wdGVyPlxuICpcbiAqIEBpbnB1dCBwcm9wczogUHJvbXB0ZXJNZXRhZGF0YSAtIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBwcm9tcHRlciAoY29udGVudCwgYnV0dG9ucywgaHJlZnMsIGNvbG9yLCBzaXplLCBldGMuKVxuICogQG91dHB1dCBvbkNsaWNrIC0gRW1pdHMgd2hlbiBhbiBhY3Rpb24gaXMgY2xpY2tlZFxuICovXG5leHBvcnQgY2xhc3MgUHJvbXB0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIGxhbmdTZXJ2aWNlID0gaW5qZWN0KExhbmdTZXJ2aWNlKTtcblxuICAvKiogT2JzZXJ2YWJsZSBmb3IgcmVhY3RpdmUgY29udGVudCAtIGZvbGxvd3MgdmFsLXRleHQvdmFsLWJ1dHRvbiBwYXR0ZXJuICovXG4gIGRpc3BsYXlDb250ZW50JDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBQcm9tcHRlciBjb25maWd1cmF0aW9uIG9iamVjdC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHByb3BzOiBQcm9tcHRlck1ldGFkYXRhO1xuXG4gIEBPdXRwdXQoKVxuICBvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXR1cENvbnRlbnQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdXAgY29udGVudCBPYnNlcnZhYmxlLlxuICAgKiBGb2xsb3dzIHRoZSBzYW1lIHBhdHRlcm4gYXMgdmFsLXRleHQgYW5kIHZhbC1idXR0b24gZm9yIGNvbnNpc3RlbmN5LlxuICAgKi9cbiAgcHJpdmF0ZSBzZXR1cENvbnRlbnQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucHJvcHMuY29udGVudENsYXNzICYmIHRoaXMucHJvcHMuY29udGVudEtleSkge1xuICAgICAgLy8gUmVhY3RpdmUgY29udGVudCAtIE9ic2VydmFibGUgY29ubmVjdGVkIHRvIGN1cnJlbnRMYW5nJFxuICAgICAgdGhpcy5kaXNwbGF5Q29udGVudCQgPSB0aGlzLmxhbmdTZXJ2aWNlLmdldENvbnRlbnQoXG4gICAgICAgIHRoaXMucHJvcHMuY29udGVudENsYXNzLFxuICAgICAgICB0aGlzLnByb3BzLmNvbnRlbnRLZXksXG4gICAgICAgIHRoaXMucHJvcHMuY29udGVudFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gU3RhdGljIGNvbnRlbnQgd3JhcHBlZCBpbiBPYnNlcnZhYmxlXG4gICAgICB0aGlzLmRpc3BsYXlDb250ZW50JCA9IG9mKHRoaXMucHJvcHMuY29udGVudCk7XG4gICAgfVxuICB9XG5cbiAgY2xpY2tIYW5kbGVyKHRva2VuPzogc3RyaW5nKSB7XG4gICAgdGhpcy5vbkNsaWNrLmVtaXQodG9rZW4pO1xuICB9XG59XG4iXX0=
@@ -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