valtech-components 2.0.525 → 2.0.526

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.
@@ -1,4 +1,4 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
2
2
  import { IonText } from '@ionic/angular/standalone';
3
3
  import { ProcessLinksPipe } from '../../../shared/pipes/process-links.pipe';
4
4
  import * as i0 from "@angular/core";
@@ -42,62 +42,52 @@ import * as i0 from "@angular/core";
42
42
  export class TextComponent {
43
43
  constructor() {
44
44
  /**
45
- * The content to display.
45
+ * Text configuration object.
46
+ * Signal-based input for full reactivity with computed().
46
47
  */
47
- this.displayContent = '';
48
- }
49
- ngOnInit() {
50
- this.setupDisplayContent();
51
- }
52
- /**
53
- * Set up the content based on the props configuration.
54
- */
55
- setupDisplayContent() {
56
- if (this.props.content) {
57
- if (this.props.contentInterpolation) {
58
- this.displayContent = this.interpolateContent(this.props.content, this.props.contentInterpolation);
59
- }
60
- else {
61
- this.displayContent = this.props.content;
48
+ this.props = input();
49
+ /**
50
+ * Computed content that SE ACTUALIZA when props() changes.
51
+ */
52
+ this.displayContent = computed(() => {
53
+ const p = this.props();
54
+ if (!p)
55
+ return '';
56
+ if (p.content) {
57
+ if (p.contentInterpolation) {
58
+ return this.interpolateContent(p.content, p.contentInterpolation);
59
+ }
60
+ return p.content;
62
61
  }
63
- }
64
- else if (this.props.contentFallback) {
65
- // Backwards compatibility: use fallback if content is not provided
66
- this.displayContent = this.props.contentFallback;
67
- }
68
- else {
69
- this.displayContent = '';
70
- }
71
- }
72
- /**
73
- * Check if content has partial bold tags.
74
- */
75
- hasPartialBold() {
76
- return this.displayContent?.includes('<b>') || this.displayContent?.includes('<strong>');
77
- }
78
- /**
79
- * Process partial bold tags in the content.
80
- * Converts <b> and <strong> tags to properly styled bold spans.
81
- *
82
- * @param content - The content string to process
83
- * @returns Processed content with bold styling
84
- */
85
- processPartialBold(content) {
86
- if (!content)
87
- return '';
88
- // Process <b> tags
89
- let processedContent = content.replace(/<b>(.*?)<\/b>/gi, '<span class="partial-bold">$1</span>');
90
- // Process <strong> tags
91
- processedContent = processedContent.replace(/<strong>(.*?)<\/strong>/gi, '<span class="partial-bold">$1</span>');
92
- return processedContent;
62
+ return p.contentFallback || '';
63
+ });
64
+ // Computed helpers for template bindings
65
+ this.propsColor = computed(() => this.props()?.color);
66
+ this.propsSize = computed(() => this.props()?.size);
67
+ this.propsBold = computed(() => this.props()?.bold);
68
+ this.propsProcessLinks = computed(() => this.props()?.processLinks);
69
+ this.propsAllowPartialBold = computed(() => this.props()?.allowPartialBold);
70
+ this.propsLinkConfig = computed(() => this.props()?.linkConfig);
71
+ /**
72
+ * Check if content has partial bold tags.
73
+ */
74
+ this.hasPartialBold = computed(() => {
75
+ const content = this.displayContent();
76
+ return content?.includes('<b>') || content?.includes('<strong>');
77
+ });
78
+ /**
79
+ * Process partial bold tags in the content.
80
+ */
81
+ this.processPartialBold = computed(() => {
82
+ const content = this.displayContent();
83
+ if (!content)
84
+ return '';
85
+ let processed = content.replace(/<b>(.*?)<\/b>/gi, '<span class="partial-bold">$1</span>');
86
+ return processed.replace(/<strong>(.*?)<\/strong>/gi, '<span class="partial-bold">$1</span>');
87
+ });
93
88
  }
94
89
  /**
95
90
  * Interpolate placeholders in content with provided values.
96
- * Supports {{placeholder}} format.
97
- *
98
- * @param content - The content with placeholders
99
- * @param values - Object with key-value pairs to interpolate
100
- * @returns Interpolated content
101
91
  */
102
92
  interpolateContent(content, values) {
103
93
  return content.replace(/\{\{(\w+)\}\}/g, (match, key) => {
@@ -105,18 +95,18 @@ export class TextComponent {
105
95
  });
106
96
  }
107
97
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
108
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TextComponent, isStandalone: true, selector: "val-text", inputs: { props: "props" }, ngImport: i0, template: `
109
- <ion-text [color]="props.color">
110
- @if (props.processLinks) {
98
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TextComponent, isStandalone: true, selector: "val-text", inputs: { props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
99
+ <ion-text [color]="propsColor()">
100
+ @if (propsProcessLinks()) {
111
101
  <p
112
- [class]="props.size"
113
- [class.bold]="props.bold"
114
- [innerHTML]="displayContent | processLinks: props.linkConfig"
102
+ [class]="propsSize()"
103
+ [class.bold]="propsBold()"
104
+ [innerHTML]="displayContent() | processLinks: propsLinkConfig()"
115
105
  ></p>
116
- } @else if (props.allowPartialBold && hasPartialBold()) {
117
- <p [class]="props.size" [class.bold]="props.bold" [innerHTML]="processPartialBold(displayContent)"></p>
106
+ } @else if (propsAllowPartialBold() && hasPartialBold()) {
107
+ <p [class]="propsSize()" [class.bold]="propsBold()" [innerHTML]="processPartialBold()"></p>
118
108
  } @else {
119
- <p [class]="props.size" [class.bold]="props.bold">{{ displayContent }}</p>
109
+ <p [class]="propsSize()" [class.bold]="propsBold()">{{ displayContent() }}</p>
120
110
  }
121
111
  </ion-text>
122
112
  `, isInline: true, styles: [":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)}.small{font-size:.75rem;line-height:1.25rem;font-weight:400}.small.bold{font-size:.75rem;line-height:1.25rem;font-weight:700}.medium{font-size:.875rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.medium{font-size:1rem;line-height:1.5rem}}.medium.bold{font-size:.875rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.medium.bold{font-size:1rem;line-height:1.5rem}}.large{font-size:1rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.large{font-size:1.125rem;line-height:1.5rem}}.large.bold{font-size:1rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.large.bold{font-size:1.125rem;line-height:1.5rem}}.xlarge{font-size:1.125rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.xlarge{font-size:1.5rem;line-height:2rem}}.xlarge.bold{font-size:1.125rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.xlarge.bold{font-size:1.5rem;line-height:2rem}}:host ::ng-deep .partial-bold{font-weight:700}\n"], dependencies: [{ kind: "component", type: IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "pipe", type: ProcessLinksPipe, name: "processLinks" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
@@ -124,21 +114,19 @@ export class TextComponent {
124
114
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TextComponent, decorators: [{
125
115
  type: Component,
126
116
  args: [{ selector: 'val-text', standalone: true, imports: [IonText, ProcessLinksPipe], template: `
127
- <ion-text [color]="props.color">
128
- @if (props.processLinks) {
117
+ <ion-text [color]="propsColor()">
118
+ @if (propsProcessLinks()) {
129
119
  <p
130
- [class]="props.size"
131
- [class.bold]="props.bold"
132
- [innerHTML]="displayContent | processLinks: props.linkConfig"
120
+ [class]="propsSize()"
121
+ [class.bold]="propsBold()"
122
+ [innerHTML]="displayContent() | processLinks: propsLinkConfig()"
133
123
  ></p>
134
- } @else if (props.allowPartialBold && hasPartialBold()) {
135
- <p [class]="props.size" [class.bold]="props.bold" [innerHTML]="processPartialBold(displayContent)"></p>
124
+ } @else if (propsAllowPartialBold() && hasPartialBold()) {
125
+ <p [class]="propsSize()" [class.bold]="propsBold()" [innerHTML]="processPartialBold()"></p>
136
126
  } @else {
137
- <p [class]="props.size" [class.bold]="props.bold">{{ displayContent }}</p>
127
+ <p [class]="propsSize()" [class.bold]="propsBold()">{{ displayContent() }}</p>
138
128
  }
139
129
  </ion-text>
140
130
  `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":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)}.small{font-size:.75rem;line-height:1.25rem;font-weight:400}.small.bold{font-size:.75rem;line-height:1.25rem;font-weight:700}.medium{font-size:.875rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.medium{font-size:1rem;line-height:1.5rem}}.medium.bold{font-size:.875rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.medium.bold{font-size:1rem;line-height:1.5rem}}.large{font-size:1rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.large{font-size:1.125rem;line-height:1.5rem}}.large.bold{font-size:1rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.large.bold{font-size:1.125rem;line-height:1.5rem}}.xlarge{font-size:1.125rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.xlarge{font-size:1.5rem;line-height:2rem}}.xlarge.bold{font-size:1.125rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.xlarge.bold{font-size:1.5rem;line-height:2rem}}:host ::ng-deep .partial-bold{font-weight:700}\n"] }]
141
- }], propDecorators: { props: [{
142
- type: Input
143
- }] } });
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvdGV4dC90ZXh0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMENBQTBDLENBQUM7O0FBeUI1RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0NHO0FBQ0gsTUFBTSxPQUFPLGFBQWE7SUEzRDFCO1FBMEVFOztXQUVHO1FBQ0gsbUJBQWMsR0FBVyxFQUFFLENBQUM7S0ErRDdCO0lBN0RDLFFBQVE7UUFDTixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSyxtQkFBbUI7UUFDekIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3ZCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2dCQUNwQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDckcsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDM0MsQ0FBQztRQUNILENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdEMsbUVBQW1FO1lBQ25FLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUM7UUFDbkQsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILGtCQUFrQixDQUFDLE9BQXNCO1FBQ3ZDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFFeEIsbUJBQW1CO1FBQ25CLElBQUksZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxzQ0FBc0MsQ0FBQyxDQUFDO1FBRWxHLHdCQUF3QjtRQUN4QixnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsMkJBQTJCLEVBQUUsc0NBQXNDLENBQUMsQ0FBQztRQUVqSCxPQUFPLGdCQUFnQixDQUFDO0lBQzFCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ssa0JBQWtCLENBQUMsT0FBZSxFQUFFLE1BQTJCO1FBQ3JFLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUN0RCxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ2pFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0FoRlUsYUFBYTttR0FBYixhQUFhLGdHQXZEZDs7Ozs7Ozs7Ozs7Ozs7R0FjVCxxaUhBZlMsT0FBTywyRUFBRSxnQkFBZ0I7OzRGQXdEeEIsYUFBYTtrQkEzRHpCLFNBQVM7K0JBQ0UsVUFBVSxjQUNSLElBQUksV0FDUCxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxZQUMxQjs7Ozs7Ozs7Ozs7Ozs7R0FjVCxtQkFFZ0IsdUJBQXVCLENBQUMsTUFBTTs4QkFvRC9DLEtBQUs7c0JBREosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvblRleHQgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IFByb2Nlc3NMaW5rc1BpcGUgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvcGlwZXMvcHJvY2Vzcy1saW5rcy5waXBlJztcbmltcG9ydCB7IFRleHRNZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtdGV4dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtJb25UZXh0LCBQcm9jZXNzTGlua3NQaXBlXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLXRleHQgW2NvbG9yXT1cInByb3BzLmNvbG9yXCI+XG4gICAgICBAaWYgKHByb3BzLnByb2Nlc3NMaW5rcykge1xuICAgICAgICA8cFxuICAgICAgICAgIFtjbGFzc109XCJwcm9wcy5zaXplXCJcbiAgICAgICAgICBbY2xhc3MuYm9sZF09XCJwcm9wcy5ib2xkXCJcbiAgICAgICAgICBbaW5uZXJIVE1MXT1cImRpc3BsYXlDb250ZW50IHwgcHJvY2Vzc0xpbmtzOiBwcm9wcy5saW5rQ29uZmlnXCJcbiAgICAgICAgPjwvcD5cbiAgICAgIH0gQGVsc2UgaWYgKHByb3BzLmFsbG93UGFydGlhbEJvbGQgJiYgaGFzUGFydGlhbEJvbGQoKSkge1xuICAgICAgICA8cCBbY2xhc3NdPVwicHJvcHMuc2l6ZVwiIFtjbGFzcy5ib2xkXT1cInByb3BzLmJvbGRcIiBbaW5uZXJIVE1MXT1cInByb2Nlc3NQYXJ0aWFsQm9sZChkaXNwbGF5Q29udGVudClcIj48L3A+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPHAgW2NsYXNzXT1cInByb3BzLnNpemVcIiBbY2xhc3MuYm9sZF09XCJwcm9wcy5ib2xkXCI+e3sgZGlzcGxheUNvbnRlbnQgfX08L3A+XG4gICAgICB9XG4gICAgPC9pb24tdGV4dD5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG4vKipcbiAqIHZhbC10ZXh0XG4gKlxuICogVGV4dCBjb21wb25lbnQgdGhhdCBzdXBwb3J0cyBzdGF0aWMgY29udGVudCB3aXRoIG9wdGlvbmFsIGludGVycG9sYXRpb24uXG4gKlxuICogQGV4YW1wbGUgU3RhdGljIGNvbnRlbnQ6XG4gKiBgYGBodG1sXG4gKiA8dmFsLXRleHQgW3Byb3BzXT1cIntcbiAqICAgY29udGVudDogJ1N0YXRpYyB0ZXh0JyxcbiAqICAgY29sb3I6ICdwcmltYXJ5JyxcbiAqICAgc2l6ZTogJ21lZGl1bScsXG4gKiAgIGJvbGQ6IGZhbHNlXG4gKiB9XCI+PC92YWwtdGV4dD5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIFdpdGggYXV0b21hdGljIGxpbmsgcHJvY2Vzc2luZzpcbiAqIGBgYGh0bWxcbiAqIDx2YWwtdGV4dCBbcHJvcHNdPVwie1xuICogICBjb250ZW50OiAnVmlzaXQgaHR0cHM6Ly9leGFtcGxlLmNvbSBmb3IgbW9yZSBpbmZvJyxcbiAqICAgcHJvY2Vzc0xpbmtzOiB0cnVlLFxuICogICBjb2xvcjogJ3ByaW1hcnknLFxuICogICBzaXplOiAnbWVkaXVtJ1xuICogfVwiPjwvdmFsLXRleHQ+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBXaXRoIHBhcnRpYWwgYm9sZCBzdXBwb3J0OlxuICogYGBgaHRtbFxuICogPHZhbC10ZXh0IFtwcm9wc109XCJ7XG4gKiAgIGNvbnRlbnQ6ICdIb2xhIDxiPlZpY3RvcjwvYj4sIGPDs21vIGVzdMOhcz8nLFxuICogICBhbGxvd1BhcnRpYWxCb2xkOiB0cnVlLFxuICogICBjb2xvcjogJ2RhcmsnLFxuICogICBzaXplOiAnbWVkaXVtJ1xuICogfVwiPjwvdmFsLXRleHQ+XG4gKiBgYGBcbiAqXG4gKiBAaW5wdXQgcHJvcHM6IFRleHRNZXRhZGF0YSAtIENvbmZpZ3VyYXRpb24gZm9yIHRoZSB0ZXh0IChjb250ZW50LCBjb2xvciwgc2l6ZSwgYm9sZCwgZXRjLilcbiAqL1xuZXhwb3J0IGNsYXNzIFRleHRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKipcbiAgICogVGV4dCBjb25maWd1cmF0aW9uIG9iamVjdC5cbiAgICogQHR5cGUge1RleHRNZXRhZGF0YX1cbiAgICogQHByb3BlcnR5IGNvbnRlbnQgLSBUaGUgdGV4dCB0byBkaXNwbGF5XG4gICAqIEBwcm9wZXJ0eSBjb2xvciAtIFRoZSB0ZXh0IGNvbG9yIChJb25pYyBjb2xvciBzdHJpbmcpXG4gICAqIEBwcm9wZXJ0eSBzaXplIC0gVGhlIHRleHQgc2l6ZSAoJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyB8ICd4bGFyZ2UnKVxuICAgKiBAcHJvcGVydHkgYm9sZCAtIFdoZXRoZXIgdGhlIHRleHQgaXMgYm9sZFxuICAgKiBAcHJvcGVydHkgcHJvY2Vzc0xpbmtzIC0gV2hldGhlciB0byBhdXRvbWF0aWNhbGx5IHByb2Nlc3MgYW5kIGNvbnZlcnQgbGlua3MgaW4gdGV4dCAoZGVmYXVsdDogZmFsc2UpXG4gICAqIEBwcm9wZXJ0eSBsaW5rQ29uZmlnIC0gQ29uZmlndXJhdGlvbiBmb3IgbGluayBwcm9jZXNzaW5nIChjb2xvcnMsIHRhcmdldCBiZWhhdmlvciwgZXRjLilcbiAgICogQHByb3BlcnR5IGFsbG93UGFydGlhbEJvbGQgLSBXaGV0aGVyIHRvIGFsbG93IHBhcnRpYWwgYm9sZCB1c2luZyA8Yj4gb3IgPHN0cm9uZz4gdGFncyAoZGVmYXVsdDogZmFsc2UpXG4gICAqL1xuICBASW5wdXQoKVxuICBwcm9wczogVGV4dE1ldGFkYXRhO1xuXG4gIC8qKlxuICAgKiBUaGUgY29udGVudCB0byBkaXNwbGF5LlxuICAgKi9cbiAgZGlzcGxheUNvbnRlbnQ6IHN0cmluZyA9ICcnO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0dXBEaXNwbGF5Q29udGVudCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB1cCB0aGUgY29udGVudCBiYXNlZCBvbiB0aGUgcHJvcHMgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHByaXZhdGUgc2V0dXBEaXNwbGF5Q29udGVudCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wcm9wcy5jb250ZW50KSB7XG4gICAgICBpZiAodGhpcy5wcm9wcy5jb250ZW50SW50ZXJwb2xhdGlvbikge1xuICAgICAgICB0aGlzLmRpc3BsYXlDb250ZW50ID0gdGhpcy5pbnRlcnBvbGF0ZUNvbnRlbnQodGhpcy5wcm9wcy5jb250ZW50LCB0aGlzLnByb3BzLmNvbnRlbnRJbnRlcnBvbGF0aW9uKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZGlzcGxheUNvbnRlbnQgPSB0aGlzLnByb3BzLmNvbnRlbnQ7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLnByb3BzLmNvbnRlbnRGYWxsYmFjaykge1xuICAgICAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHk6IHVzZSBmYWxsYmFjayBpZiBjb250ZW50IGlzIG5vdCBwcm92aWRlZFxuICAgICAgdGhpcy5kaXNwbGF5Q29udGVudCA9IHRoaXMucHJvcHMuY29udGVudEZhbGxiYWNrO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRpc3BsYXlDb250ZW50ID0gJyc7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGNvbnRlbnQgaGFzIHBhcnRpYWwgYm9sZCB0YWdzLlxuICAgKi9cbiAgaGFzUGFydGlhbEJvbGQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGlzcGxheUNvbnRlbnQ/LmluY2x1ZGVzKCc8Yj4nKSB8fCB0aGlzLmRpc3BsYXlDb250ZW50Py5pbmNsdWRlcygnPHN0cm9uZz4nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm9jZXNzIHBhcnRpYWwgYm9sZCB0YWdzIGluIHRoZSBjb250ZW50LlxuICAgKiBDb252ZXJ0cyA8Yj4gYW5kIDxzdHJvbmc+IHRhZ3MgdG8gcHJvcGVybHkgc3R5bGVkIGJvbGQgc3BhbnMuXG4gICAqXG4gICAqIEBwYXJhbSBjb250ZW50IC0gVGhlIGNvbnRlbnQgc3RyaW5nIHRvIHByb2Nlc3NcbiAgICogQHJldHVybnMgUHJvY2Vzc2VkIGNvbnRlbnQgd2l0aCBib2xkIHN0eWxpbmdcbiAgICovXG4gIHByb2Nlc3NQYXJ0aWFsQm9sZChjb250ZW50OiBzdHJpbmcgfCBudWxsKTogc3RyaW5nIHtcbiAgICBpZiAoIWNvbnRlbnQpIHJldHVybiAnJztcblxuICAgIC8vIFByb2Nlc3MgPGI+IHRhZ3NcbiAgICBsZXQgcHJvY2Vzc2VkQ29udGVudCA9IGNvbnRlbnQucmVwbGFjZSgvPGI+KC4qPyk8XFwvYj4vZ2ksICc8c3BhbiBjbGFzcz1cInBhcnRpYWwtYm9sZFwiPiQxPC9zcGFuPicpO1xuXG4gICAgLy8gUHJvY2VzcyA8c3Ryb25nPiB0YWdzXG4gICAgcHJvY2Vzc2VkQ29udGVudCA9IHByb2Nlc3NlZENvbnRlbnQucmVwbGFjZSgvPHN0cm9uZz4oLio/KTxcXC9zdHJvbmc+L2dpLCAnPHNwYW4gY2xhc3M9XCJwYXJ0aWFsLWJvbGRcIj4kMTwvc3Bhbj4nKTtcblxuICAgIHJldHVybiBwcm9jZXNzZWRDb250ZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEludGVycG9sYXRlIHBsYWNlaG9sZGVycyBpbiBjb250ZW50IHdpdGggcHJvdmlkZWQgdmFsdWVzLlxuICAgKiBTdXBwb3J0cyB7e3BsYWNlaG9sZGVyfX0gZm9ybWF0LlxuICAgKlxuICAgKiBAcGFyYW0gY29udGVudCAtIFRoZSBjb250ZW50IHdpdGggcGxhY2Vob2xkZXJzXG4gICAqIEBwYXJhbSB2YWx1ZXMgLSBPYmplY3Qgd2l0aCBrZXktdmFsdWUgcGFpcnMgdG8gaW50ZXJwb2xhdGVcbiAgICogQHJldHVybnMgSW50ZXJwb2xhdGVkIGNvbnRlbnRcbiAgICovXG4gIHByaXZhdGUgaW50ZXJwb2xhdGVDb250ZW50KGNvbnRlbnQ6IHN0cmluZywgdmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogc3RyaW5nIHtcbiAgICByZXR1cm4gY29udGVudC5yZXBsYWNlKC9cXHtcXHsoXFx3KylcXH1cXH0vZywgKG1hdGNoLCBrZXkpID0+IHtcbiAgICAgIHJldHVybiB2YWx1ZXNba2V5XSAhPT0gdW5kZWZpbmVkID8gU3RyaW5nKHZhbHVlc1trZXldKSA6IG1hdGNoO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
131
+ }] });
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvdGV4dC90ZXh0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOztBQXlCNUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9DRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBM0QxQjtRQTRERTs7O1dBR0c7UUFDTSxVQUFLLEdBQUcsS0FBSyxFQUFnQixDQUFDO1FBRXZDOztXQUVHO1FBQ0gsbUJBQWMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzdCLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsQ0FBQztnQkFBRSxPQUFPLEVBQUUsQ0FBQztZQUVsQixJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDZCxJQUFJLENBQUMsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO29CQUMzQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO2dCQUNwRSxDQUFDO2dCQUNELE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUNuQixDQUFDO1lBQ0QsT0FBTyxDQUFDLENBQUMsZUFBZSxJQUFJLEVBQUUsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztRQUVILHlDQUF5QztRQUN6QyxlQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNqRCxjQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMvQyxjQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMvQyxzQkFBaUIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQy9ELDBCQUFxQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUN2RSxvQkFBZSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFM0Q7O1dBRUc7UUFDSCxtQkFBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDN0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3RDLE9BQU8sT0FBTyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxPQUFPLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25FLENBQUMsQ0FBQyxDQUFDO1FBRUg7O1dBRUc7UUFDSCx1QkFBa0IsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ2pDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsT0FBTztnQkFBRSxPQUFPLEVBQUUsQ0FBQztZQUV4QixJQUFJLFNBQVMsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLHNDQUFzQyxDQUFDLENBQUM7WUFDM0YsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDLDJCQUEyQixFQUFFLHNDQUFzQyxDQUFDLENBQUM7UUFDaEcsQ0FBQyxDQUFDLENBQUM7S0FVSjtJQVJDOztPQUVHO0lBQ0ssa0JBQWtCLENBQUMsT0FBZSxFQUFFLE1BQTJCO1FBQ3JFLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUN0RCxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ2pFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0F6RFUsYUFBYTttR0FBYixhQUFhLHdNQXZEZDs7Ozs7Ozs7Ozs7Ozs7R0FjVCxxaUhBZlMsT0FBTywyRUFBRSxnQkFBZ0I7OzRGQXdEeEIsYUFBYTtrQkEzRHpCLFNBQVM7K0JBQ0UsVUFBVSxjQUNSLElBQUksV0FDUCxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxZQUMxQjs7Ozs7Ozs7Ozs7Ozs7R0FjVCxtQkFFZ0IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW9uVGV4dCB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgUHJvY2Vzc0xpbmtzUGlwZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9waXBlcy9wcm9jZXNzLWxpbmtzLnBpcGUnO1xuaW1wb3J0IHsgVGV4dE1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC10ZXh0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0lvblRleHQsIFByb2Nlc3NMaW5rc1BpcGVdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxpb24tdGV4dCBbY29sb3JdPVwicHJvcHNDb2xvcigpXCI+XG4gICAgICBAaWYgKHByb3BzUHJvY2Vzc0xpbmtzKCkpIHtcbiAgICAgICAgPHBcbiAgICAgICAgICBbY2xhc3NdPVwicHJvcHNTaXplKClcIlxuICAgICAgICAgIFtjbGFzcy5ib2xkXT1cInByb3BzQm9sZCgpXCJcbiAgICAgICAgICBbaW5uZXJIVE1MXT1cImRpc3BsYXlDb250ZW50KCkgfCBwcm9jZXNzTGlua3M6IHByb3BzTGlua0NvbmZpZygpXCJcbiAgICAgICAgPjwvcD5cbiAgICAgIH0gQGVsc2UgaWYgKHByb3BzQWxsb3dQYXJ0aWFsQm9sZCgpICYmIGhhc1BhcnRpYWxCb2xkKCkpIHtcbiAgICAgICAgPHAgW2NsYXNzXT1cInByb3BzU2l6ZSgpXCIgW2NsYXNzLmJvbGRdPVwicHJvcHNCb2xkKClcIiBbaW5uZXJIVE1MXT1cInByb2Nlc3NQYXJ0aWFsQm9sZCgpXCI+PC9wPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxwIFtjbGFzc109XCJwcm9wc1NpemUoKVwiIFtjbGFzcy5ib2xkXT1cInByb3BzQm9sZCgpXCI+e3sgZGlzcGxheUNvbnRlbnQoKSB9fTwvcD5cbiAgICAgIH1cbiAgICA8L2lvbi10ZXh0PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi90ZXh0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbi8qKlxuICogdmFsLXRleHRcbiAqXG4gKiBUZXh0IGNvbXBvbmVudCB0aGF0IHN1cHBvcnRzIHN0YXRpYyBjb250ZW50IHdpdGggb3B0aW9uYWwgaW50ZXJwb2xhdGlvbi5cbiAqXG4gKiBAZXhhbXBsZSBTdGF0aWMgY29udGVudDpcbiAqIGBgYGh0bWxcbiAqIDx2YWwtdGV4dCBbcHJvcHNdPVwie1xuICogICBjb250ZW50OiAnU3RhdGljIHRleHQnLFxuICogICBjb2xvcjogJ3ByaW1hcnknLFxuICogICBzaXplOiAnbWVkaXVtJyxcbiAqICAgYm9sZDogZmFsc2VcbiAqIH1cIj48L3ZhbC10ZXh0PlxuICogYGBgXG4gKlxuICogQGV4YW1wbGUgV2l0aCBhdXRvbWF0aWMgbGluayBwcm9jZXNzaW5nOlxuICogYGBgaHRtbFxuICogPHZhbC10ZXh0IFtwcm9wc109XCJ7XG4gKiAgIGNvbnRlbnQ6ICdWaXNpdCBodHRwczovL2V4YW1wbGUuY29tIGZvciBtb3JlIGluZm8nLFxuICogICBwcm9jZXNzTGlua3M6IHRydWUsXG4gKiAgIGNvbG9yOiAncHJpbWFyeScsXG4gKiAgIHNpemU6ICdtZWRpdW0nXG4gKiB9XCI+PC92YWwtdGV4dD5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIFdpdGggcGFydGlhbCBib2xkIHN1cHBvcnQ6XG4gKiBgYGBodG1sXG4gKiA8dmFsLXRleHQgW3Byb3BzXT1cIntcbiAqICAgY29udGVudDogJ0hvbGEgPGI+VmljdG9yPC9iPiwgY8OzbW8gZXN0w6FzPycsXG4gKiAgIGFsbG93UGFydGlhbEJvbGQ6IHRydWUsXG4gKiAgIGNvbG9yOiAnZGFyaycsXG4gKiAgIHNpemU6ICdtZWRpdW0nXG4gKiB9XCI+PC92YWwtdGV4dD5cbiAqIGBgYFxuICpcbiAqIEBpbnB1dCBwcm9wczogVGV4dE1ldGFkYXRhIC0gQ29uZmlndXJhdGlvbiBmb3IgdGhlIHRleHQgKGNvbnRlbnQsIGNvbG9yLCBzaXplLCBib2xkLCBldGMuKVxuICovXG5leHBvcnQgY2xhc3MgVGV4dENvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBUZXh0IGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgKiBTaWduYWwtYmFzZWQgaW5wdXQgZm9yIGZ1bGwgcmVhY3Rpdml0eSB3aXRoIGNvbXB1dGVkKCkuXG4gICAqL1xuICByZWFkb25seSBwcm9wcyA9IGlucHV0PFRleHRNZXRhZGF0YT4oKTtcblxuICAvKipcbiAgICogQ29tcHV0ZWQgY29udGVudCB0aGF0IFNFIEFDVFVBTElaQSB3aGVuIHByb3BzKCkgY2hhbmdlcy5cbiAgICovXG4gIGRpc3BsYXlDb250ZW50ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHAgPSB0aGlzLnByb3BzKCk7XG4gICAgaWYgKCFwKSByZXR1cm4gJyc7XG5cbiAgICBpZiAocC5jb250ZW50KSB7XG4gICAgICBpZiAocC5jb250ZW50SW50ZXJwb2xhdGlvbikge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnRlcnBvbGF0ZUNvbnRlbnQocC5jb250ZW50LCBwLmNvbnRlbnRJbnRlcnBvbGF0aW9uKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBwLmNvbnRlbnQ7XG4gICAgfVxuICAgIHJldHVybiBwLmNvbnRlbnRGYWxsYmFjayB8fCAnJztcbiAgfSk7XG5cbiAgLy8gQ29tcHV0ZWQgaGVscGVycyBmb3IgdGVtcGxhdGUgYmluZGluZ3NcbiAgcHJvcHNDb2xvciA9IGNvbXB1dGVkKCgpID0+IHRoaXMucHJvcHMoKT8uY29sb3IpO1xuICBwcm9wc1NpemUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnByb3BzKCk/LnNpemUpO1xuICBwcm9wc0JvbGQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnByb3BzKCk/LmJvbGQpO1xuICBwcm9wc1Byb2Nlc3NMaW5rcyA9IGNvbXB1dGVkKCgpID0+IHRoaXMucHJvcHMoKT8ucHJvY2Vzc0xpbmtzKTtcbiAgcHJvcHNBbGxvd1BhcnRpYWxCb2xkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5wcm9wcygpPy5hbGxvd1BhcnRpYWxCb2xkKTtcbiAgcHJvcHNMaW5rQ29uZmlnID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5wcm9wcygpPy5saW5rQ29uZmlnKTtcblxuICAvKipcbiAgICogQ2hlY2sgaWYgY29udGVudCBoYXMgcGFydGlhbCBib2xkIHRhZ3MuXG4gICAqL1xuICBoYXNQYXJ0aWFsQm9sZCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjb250ZW50ID0gdGhpcy5kaXNwbGF5Q29udGVudCgpO1xuICAgIHJldHVybiBjb250ZW50Py5pbmNsdWRlcygnPGI+JykgfHwgY29udGVudD8uaW5jbHVkZXMoJzxzdHJvbmc+Jyk7XG4gIH0pO1xuXG4gIC8qKlxuICAgKiBQcm9jZXNzIHBhcnRpYWwgYm9sZCB0YWdzIGluIHRoZSBjb250ZW50LlxuICAgKi9cbiAgcHJvY2Vzc1BhcnRpYWxCb2xkID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLmRpc3BsYXlDb250ZW50KCk7XG4gICAgaWYgKCFjb250ZW50KSByZXR1cm4gJyc7XG5cbiAgICBsZXQgcHJvY2Vzc2VkID0gY29udGVudC5yZXBsYWNlKC88Yj4oLio/KTxcXC9iPi9naSwgJzxzcGFuIGNsYXNzPVwicGFydGlhbC1ib2xkXCI+JDE8L3NwYW4+Jyk7XG4gICAgcmV0dXJuIHByb2Nlc3NlZC5yZXBsYWNlKC88c3Ryb25nPiguKj8pPFxcL3N0cm9uZz4vZ2ksICc8c3BhbiBjbGFzcz1cInBhcnRpYWwtYm9sZFwiPiQxPC9zcGFuPicpO1xuICB9KTtcblxuICAvKipcbiAgICogSW50ZXJwb2xhdGUgcGxhY2Vob2xkZXJzIGluIGNvbnRlbnQgd2l0aCBwcm92aWRlZCB2YWx1ZXMuXG4gICAqL1xuICBwcml2YXRlIGludGVycG9sYXRlQ29udGVudChjb250ZW50OiBzdHJpbmcsIHZhbHVlczogUmVjb3JkPHN0cmluZywgYW55Pik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNvbnRlbnQucmVwbGFjZSgvXFx7XFx7KFxcdyspXFx9XFx9L2csIChtYXRjaCwga2V5KSA9PiB7XG4gICAgICByZXR1cm4gdmFsdWVzW2tleV0gIT09IHVuZGVmaW5lZCA/IFN0cmluZyh2YWx1ZXNba2V5XSkgOiBtYXRjaDtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, Input, Output, Injectable, signal, makeEnvironmentProviders, APP_INITIALIZER, inject, HostListener, Pipe, ChangeDetectionStrategy, computed, input, ViewChild, ChangeDetectorRef, ElementRef, ContentChild, PLATFORM_ID, Inject, ErrorHandler, DestroyRef, InjectionToken, Optional, runInInjectionContext, effect, TemplateRef, ViewContainerRef, isSignal, Directive } from '@angular/core';
2
+ import { EventEmitter, Component, Input, Output, Injectable, signal, makeEnvironmentProviders, APP_INITIALIZER, inject, HostListener, Pipe, input, computed, ChangeDetectionStrategy, ViewChild, ChangeDetectorRef, ElementRef, ContentChild, PLATFORM_ID, Inject, ErrorHandler, DestroyRef, InjectionToken, Optional, runInInjectionContext, effect, TemplateRef, ViewContainerRef, isSignal, Directive } from '@angular/core';
3
3
  import * as i2$1 from '@ionic/angular/standalone';
4
4
  import { IonAvatar, IonCard, IonIcon, IonButton, IonSpinner, IonText, IonModal, IonHeader, IonToolbar, IonContent, IonButtons, IonTitle, IonProgressBar, IonSkeletonText, IonFab, IonFabButton, IonFabList, IonLabel, IonCardContent, IonCardHeader, IonCardTitle, IonCardSubtitle, IonCheckbox, IonTextarea, IonDatetime, IonDatetimeButton, IonInput, IonSelect, IonSelectOption, IonPopover, IonList, IonItem, IonRadioGroup, IonRadio, IonRange, IonSearchbar, IonSegment, IonSegmentButton, IonToggle, IonAccordion, IonAccordionGroup, IonTabBar, IonTabButton, IonBadge, IonBreadcrumb, IonBreadcrumbs, IonChip, IonNote, ToastController as ToastController$1, IonCol, IonRow, IonRefresher, IonRefresherContent, IonMenuButton, IonFooter, IonListHeader, IonInfiniteScroll, IonInfiniteScrollContent, IonGrid, MenuController, IonMenu, IonMenuToggle, AlertController } from '@ionic/angular/standalone';
5
5
  import * as i1 from '@angular/common';
@@ -2060,62 +2060,52 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
2060
2060
  class TextComponent {
2061
2061
  constructor() {
2062
2062
  /**
2063
- * The content to display.
2063
+ * Text configuration object.
2064
+ * Signal-based input for full reactivity with computed().
2064
2065
  */
2065
- this.displayContent = '';
2066
- }
2067
- ngOnInit() {
2068
- this.setupDisplayContent();
2069
- }
2070
- /**
2071
- * Set up the content based on the props configuration.
2072
- */
2073
- setupDisplayContent() {
2074
- if (this.props.content) {
2075
- if (this.props.contentInterpolation) {
2076
- this.displayContent = this.interpolateContent(this.props.content, this.props.contentInterpolation);
2077
- }
2078
- else {
2079
- this.displayContent = this.props.content;
2066
+ this.props = input();
2067
+ /**
2068
+ * Computed content that SE ACTUALIZA when props() changes.
2069
+ */
2070
+ this.displayContent = computed(() => {
2071
+ const p = this.props();
2072
+ if (!p)
2073
+ return '';
2074
+ if (p.content) {
2075
+ if (p.contentInterpolation) {
2076
+ return this.interpolateContent(p.content, p.contentInterpolation);
2077
+ }
2078
+ return p.content;
2080
2079
  }
2081
- }
2082
- else if (this.props.contentFallback) {
2083
- // Backwards compatibility: use fallback if content is not provided
2084
- this.displayContent = this.props.contentFallback;
2085
- }
2086
- else {
2087
- this.displayContent = '';
2088
- }
2089
- }
2090
- /**
2091
- * Check if content has partial bold tags.
2092
- */
2093
- hasPartialBold() {
2094
- return this.displayContent?.includes('<b>') || this.displayContent?.includes('<strong>');
2095
- }
2096
- /**
2097
- * Process partial bold tags in the content.
2098
- * Converts <b> and <strong> tags to properly styled bold spans.
2099
- *
2100
- * @param content - The content string to process
2101
- * @returns Processed content with bold styling
2102
- */
2103
- processPartialBold(content) {
2104
- if (!content)
2105
- return '';
2106
- // Process <b> tags
2107
- let processedContent = content.replace(/<b>(.*?)<\/b>/gi, '<span class="partial-bold">$1</span>');
2108
- // Process <strong> tags
2109
- processedContent = processedContent.replace(/<strong>(.*?)<\/strong>/gi, '<span class="partial-bold">$1</span>');
2110
- return processedContent;
2080
+ return p.contentFallback || '';
2081
+ });
2082
+ // Computed helpers for template bindings
2083
+ this.propsColor = computed(() => this.props()?.color);
2084
+ this.propsSize = computed(() => this.props()?.size);
2085
+ this.propsBold = computed(() => this.props()?.bold);
2086
+ this.propsProcessLinks = computed(() => this.props()?.processLinks);
2087
+ this.propsAllowPartialBold = computed(() => this.props()?.allowPartialBold);
2088
+ this.propsLinkConfig = computed(() => this.props()?.linkConfig);
2089
+ /**
2090
+ * Check if content has partial bold tags.
2091
+ */
2092
+ this.hasPartialBold = computed(() => {
2093
+ const content = this.displayContent();
2094
+ return content?.includes('<b>') || content?.includes('<strong>');
2095
+ });
2096
+ /**
2097
+ * Process partial bold tags in the content.
2098
+ */
2099
+ this.processPartialBold = computed(() => {
2100
+ const content = this.displayContent();
2101
+ if (!content)
2102
+ return '';
2103
+ let processed = content.replace(/<b>(.*?)<\/b>/gi, '<span class="partial-bold">$1</span>');
2104
+ return processed.replace(/<strong>(.*?)<\/strong>/gi, '<span class="partial-bold">$1</span>');
2105
+ });
2111
2106
  }
2112
2107
  /**
2113
2108
  * Interpolate placeholders in content with provided values.
2114
- * Supports {{placeholder}} format.
2115
- *
2116
- * @param content - The content with placeholders
2117
- * @param values - Object with key-value pairs to interpolate
2118
- * @returns Interpolated content
2119
2109
  */
2120
2110
  interpolateContent(content, values) {
2121
2111
  return content.replace(/\{\{(\w+)\}\}/g, (match, key) => {
@@ -2123,18 +2113,18 @@ class TextComponent {
2123
2113
  });
2124
2114
  }
2125
2115
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2126
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TextComponent, isStandalone: true, selector: "val-text", inputs: { props: "props" }, ngImport: i0, template: `
2127
- <ion-text [color]="props.color">
2128
- @if (props.processLinks) {
2116
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TextComponent, isStandalone: true, selector: "val-text", inputs: { props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
2117
+ <ion-text [color]="propsColor()">
2118
+ @if (propsProcessLinks()) {
2129
2119
  <p
2130
- [class]="props.size"
2131
- [class.bold]="props.bold"
2132
- [innerHTML]="displayContent | processLinks: props.linkConfig"
2120
+ [class]="propsSize()"
2121
+ [class.bold]="propsBold()"
2122
+ [innerHTML]="displayContent() | processLinks: propsLinkConfig()"
2133
2123
  ></p>
2134
- } @else if (props.allowPartialBold && hasPartialBold()) {
2135
- <p [class]="props.size" [class.bold]="props.bold" [innerHTML]="processPartialBold(displayContent)"></p>
2124
+ } @else if (propsAllowPartialBold() && hasPartialBold()) {
2125
+ <p [class]="propsSize()" [class.bold]="propsBold()" [innerHTML]="processPartialBold()"></p>
2136
2126
  } @else {
2137
- <p [class]="props.size" [class.bold]="props.bold">{{ displayContent }}</p>
2127
+ <p [class]="propsSize()" [class.bold]="propsBold()">{{ displayContent() }}</p>
2138
2128
  }
2139
2129
  </ion-text>
2140
2130
  `, isInline: true, styles: [":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)}.small{font-size:.75rem;line-height:1.25rem;font-weight:400}.small.bold{font-size:.75rem;line-height:1.25rem;font-weight:700}.medium{font-size:.875rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.medium{font-size:1rem;line-height:1.5rem}}.medium.bold{font-size:.875rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.medium.bold{font-size:1rem;line-height:1.5rem}}.large{font-size:1rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.large{font-size:1.125rem;line-height:1.5rem}}.large.bold{font-size:1rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.large.bold{font-size:1.125rem;line-height:1.5rem}}.xlarge{font-size:1.125rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.xlarge{font-size:1.5rem;line-height:2rem}}.xlarge.bold{font-size:1.125rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.xlarge.bold{font-size:1.5rem;line-height:2rem}}:host ::ng-deep .partial-bold{font-weight:700}\n"], dependencies: [{ kind: "component", type: IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "pipe", type: ProcessLinksPipe, name: "processLinks" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
@@ -2142,23 +2132,21 @@ class TextComponent {
2142
2132
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TextComponent, decorators: [{
2143
2133
  type: Component,
2144
2134
  args: [{ selector: 'val-text', standalone: true, imports: [IonText, ProcessLinksPipe], template: `
2145
- <ion-text [color]="props.color">
2146
- @if (props.processLinks) {
2135
+ <ion-text [color]="propsColor()">
2136
+ @if (propsProcessLinks()) {
2147
2137
  <p
2148
- [class]="props.size"
2149
- [class.bold]="props.bold"
2150
- [innerHTML]="displayContent | processLinks: props.linkConfig"
2138
+ [class]="propsSize()"
2139
+ [class.bold]="propsBold()"
2140
+ [innerHTML]="displayContent() | processLinks: propsLinkConfig()"
2151
2141
  ></p>
2152
- } @else if (props.allowPartialBold && hasPartialBold()) {
2153
- <p [class]="props.size" [class.bold]="props.bold" [innerHTML]="processPartialBold(displayContent)"></p>
2142
+ } @else if (propsAllowPartialBold() && hasPartialBold()) {
2143
+ <p [class]="propsSize()" [class.bold]="propsBold()" [innerHTML]="processPartialBold()"></p>
2154
2144
  } @else {
2155
- <p [class]="props.size" [class.bold]="props.bold">{{ displayContent }}</p>
2145
+ <p [class]="propsSize()" [class.bold]="propsBold()">{{ displayContent() }}</p>
2156
2146
  }
2157
2147
  </ion-text>
2158
2148
  `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":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)}.small{font-size:.75rem;line-height:1.25rem;font-weight:400}.small.bold{font-size:.75rem;line-height:1.25rem;font-weight:700}.medium{font-size:.875rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.medium{font-size:1rem;line-height:1.5rem}}.medium.bold{font-size:.875rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.medium.bold{font-size:1rem;line-height:1.5rem}}.large{font-size:1rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.large{font-size:1.125rem;line-height:1.5rem}}.large.bold{font-size:1rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.large.bold{font-size:1.125rem;line-height:1.5rem}}.xlarge{font-size:1.125rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.xlarge{font-size:1.5rem;line-height:2rem}}.xlarge.bold{font-size:1.125rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.xlarge.bold{font-size:1.5rem;line-height:2rem}}:host ::ng-deep .partial-bold{font-weight:700}\n"] }]
2159
- }], propDecorators: { props: [{
2160
- type: Input
2161
- }] } });
2149
+ }] });
2162
2150
 
2163
2151
  /**
2164
2152
  * val-title