valtech-components 2.0.302 → 2.0.305
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/atoms/button/button.component.mjs +103 -23
- package/esm2022/lib/components/types.mjs +1 -1
- package/esm2022/lib/services/lang-provider/content.mjs +1 -72
- package/esm2022/lib/services/lang-provider/lang-provider.service.mjs +4 -9
- package/esm2022/lib/shared/utils/content.mjs +2 -8
- package/esm2022/public-api.mjs +1 -12
- package/fesm2022/valtech-components.mjs +124 -2824
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/atoms/button/button.component.d.ts +33 -2
- package/lib/components/types.d.ts +19 -7
- package/package.json +1 -1
- package/public-api.d.ts +0 -10
- package/esm2022/lib/examples/comprehensive-link-test.component.mjs +0 -208
- package/esm2022/lib/examples/custom-content-demo.component.mjs +0 -291
- package/esm2022/lib/examples/display-demo.component.mjs +0 -518
- package/esm2022/lib/examples/display-simple-example.component.mjs +0 -202
- package/esm2022/lib/examples/link-processing-example.component.mjs +0 -233
- package/esm2022/lib/examples/multi-language-demo.component.mjs +0 -304
- package/esm2022/lib/examples/reactive-components-demo.component.mjs +0 -303
- package/esm2022/lib/examples/reactivity-test.component.mjs +0 -200
- package/esm2022/lib/examples/selector-examples.component.mjs +0 -234
- package/esm2022/lib/examples/user-issue-test.component.mjs +0 -267
- package/lib/examples/comprehensive-link-test.component.d.ts +0 -23
- package/lib/examples/custom-content-demo.component.d.ts +0 -26
- package/lib/examples/display-demo.component.d.ts +0 -62
- package/lib/examples/display-simple-example.component.d.ts +0 -23
- package/lib/examples/link-processing-example.component.d.ts +0 -26
- package/lib/examples/multi-language-demo.component.d.ts +0 -34
- package/lib/examples/reactive-components-demo.component.d.ts +0 -45
- package/lib/examples/reactivity-test.component.d.ts +0 -27
- package/lib/examples/selector-examples.component.d.ts +0 -21
- package/lib/examples/user-issue-test.component.d.ts +0 -31
|
@@ -1,202 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { DisplayComponent } from '../components/atoms/display/display.component';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
/**
|
|
5
|
-
* Ejemplo rápido de uso del componente val-display con contenido reactivo
|
|
6
|
-
*/
|
|
7
|
-
export class DisplayExampleComponent {
|
|
8
|
-
constructor() {
|
|
9
|
-
// ✅ Ejemplos de contenido estático
|
|
10
|
-
this.staticTitle = {
|
|
11
|
-
content: 'Este es un título estático',
|
|
12
|
-
color: 'primary',
|
|
13
|
-
size: 'xlarge',
|
|
14
|
-
};
|
|
15
|
-
this.staticSubtitle = {
|
|
16
|
-
content: 'Este es un subtítulo que no cambia',
|
|
17
|
-
color: 'medium',
|
|
18
|
-
size: 'large',
|
|
19
|
-
};
|
|
20
|
-
// ✅ Ejemplos de contenido reactivo (requiere configuración de i18n)
|
|
21
|
-
this.reactiveWelcome = {
|
|
22
|
-
contentConfig: {
|
|
23
|
-
className: 'displayExample',
|
|
24
|
-
key: 'welcome.title',
|
|
25
|
-
fallback: 'Bienvenido a la aplicación',
|
|
26
|
-
},
|
|
27
|
-
color: 'primary',
|
|
28
|
-
size: 'xlarge',
|
|
29
|
-
};
|
|
30
|
-
this.reactiveDescription = {
|
|
31
|
-
contentConfig: {
|
|
32
|
-
className: 'displayExample',
|
|
33
|
-
key: 'welcome.description',
|
|
34
|
-
fallback: 'Esta descripción cambia según el idioma',
|
|
35
|
-
},
|
|
36
|
-
color: 'dark',
|
|
37
|
-
size: 'medium',
|
|
38
|
-
};
|
|
39
|
-
// ✅ Ejemplos con interpolación de variables
|
|
40
|
-
this.userGreeting = {
|
|
41
|
-
contentConfig: {
|
|
42
|
-
className: 'displayExample',
|
|
43
|
-
key: 'user.greeting',
|
|
44
|
-
fallback: 'Hola, {{name}}! Tienes {{messages}} mensajes.',
|
|
45
|
-
interpolation: {
|
|
46
|
-
name: 'María',
|
|
47
|
-
messages: 5,
|
|
48
|
-
},
|
|
49
|
-
},
|
|
50
|
-
color: 'tertiary',
|
|
51
|
-
size: 'large',
|
|
52
|
-
};
|
|
53
|
-
this.statusMessage = {
|
|
54
|
-
contentConfig: {
|
|
55
|
-
className: 'displayExample',
|
|
56
|
-
key: 'status.online',
|
|
57
|
-
fallback: 'Estado: {{status}} desde {{time}}',
|
|
58
|
-
interpolation: {
|
|
59
|
-
status: 'En línea',
|
|
60
|
-
time: '10:30 AM',
|
|
61
|
-
},
|
|
62
|
-
},
|
|
63
|
-
color: 'success',
|
|
64
|
-
size: 'small',
|
|
65
|
-
};
|
|
66
|
-
// ✅ Ejemplos de diferentes tamaños
|
|
67
|
-
this.smallText = {
|
|
68
|
-
content: 'Texto pequeño (small)',
|
|
69
|
-
color: 'dark',
|
|
70
|
-
size: 'small',
|
|
71
|
-
};
|
|
72
|
-
this.mediumText = {
|
|
73
|
-
content: 'Texto mediano (medium)',
|
|
74
|
-
color: 'dark',
|
|
75
|
-
size: 'medium',
|
|
76
|
-
};
|
|
77
|
-
this.largeText = {
|
|
78
|
-
content: 'Texto grande (large)',
|
|
79
|
-
color: 'dark',
|
|
80
|
-
size: 'large',
|
|
81
|
-
};
|
|
82
|
-
this.xlargeText = {
|
|
83
|
-
content: 'Texto extra grande (xlarge)',
|
|
84
|
-
color: 'dark',
|
|
85
|
-
size: 'xlarge',
|
|
86
|
-
};
|
|
87
|
-
// ✅ Ejemplos de diferentes colores
|
|
88
|
-
this.primaryText = {
|
|
89
|
-
content: 'Texto color primary',
|
|
90
|
-
color: 'primary',
|
|
91
|
-
size: 'medium',
|
|
92
|
-
};
|
|
93
|
-
this.successText = {
|
|
94
|
-
content: 'Texto color success',
|
|
95
|
-
color: 'success',
|
|
96
|
-
size: 'medium',
|
|
97
|
-
};
|
|
98
|
-
this.warningText = {
|
|
99
|
-
content: 'Texto color warning',
|
|
100
|
-
color: 'warning',
|
|
101
|
-
size: 'medium',
|
|
102
|
-
};
|
|
103
|
-
this.dangerText = {
|
|
104
|
-
content: 'Texto color danger',
|
|
105
|
-
color: 'danger',
|
|
106
|
-
size: 'medium',
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DisplayExampleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
110
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DisplayExampleComponent, isStandalone: true, selector: "app-display-example", ngImport: i0, template: `
|
|
111
|
-
<div class="display-examples">
|
|
112
|
-
<h2>Ejemplos de val-display</h2>
|
|
113
|
-
|
|
114
|
-
<!-- Contenido estático -->
|
|
115
|
-
<div class="section">
|
|
116
|
-
<h3>Contenido Estático</h3>
|
|
117
|
-
<val-display [props]="staticTitle"></val-display>
|
|
118
|
-
<val-display [props]="staticSubtitle"></val-display>
|
|
119
|
-
</div>
|
|
120
|
-
|
|
121
|
-
<!-- Contenido reactivo -->
|
|
122
|
-
<div class="section">
|
|
123
|
-
<h3>Contenido Reactivo</h3>
|
|
124
|
-
<val-display [props]="reactiveWelcome"></val-display>
|
|
125
|
-
<val-display [props]="reactiveDescription"></val-display>
|
|
126
|
-
</div>
|
|
127
|
-
|
|
128
|
-
<!-- Contenido con interpolación -->
|
|
129
|
-
<div class="section">
|
|
130
|
-
<h3>Contenido con Variables</h3>
|
|
131
|
-
<val-display [props]="userGreeting"></val-display>
|
|
132
|
-
<val-display [props]="statusMessage"></val-display>
|
|
133
|
-
</div>
|
|
134
|
-
|
|
135
|
-
<!-- Diferentes tamaños -->
|
|
136
|
-
<div class="section">
|
|
137
|
-
<h3>Diferentes Tamaños</h3>
|
|
138
|
-
<val-display [props]="smallText"></val-display>
|
|
139
|
-
<val-display [props]="mediumText"></val-display>
|
|
140
|
-
<val-display [props]="largeText"></val-display>
|
|
141
|
-
<val-display [props]="xlargeText"></val-display>
|
|
142
|
-
</div>
|
|
143
|
-
|
|
144
|
-
<!-- Diferentes colores -->
|
|
145
|
-
<div class="section">
|
|
146
|
-
<h3>Diferentes Colores</h3>
|
|
147
|
-
<val-display [props]="primaryText"></val-display>
|
|
148
|
-
<val-display [props]="successText"></val-display>
|
|
149
|
-
<val-display [props]="warningText"></val-display>
|
|
150
|
-
<val-display [props]="dangerText"></val-display>
|
|
151
|
-
</div>
|
|
152
|
-
</div>
|
|
153
|
-
`, isInline: true, styles: [".display-examples{padding:20px;max-width:800px;margin:0 auto}.section{margin:30px 0;padding:20px;border:1px solid var(--ion-color-light);border-radius:8px;background:var(--ion-color-step-50)}.section h3{margin:0 0 15px;color:var(--ion-color-primary)}val-display{display:block;margin:10px 0}\n"], dependencies: [{ kind: "component", type: DisplayComponent, selector: "val-display", inputs: ["props"] }] }); }
|
|
154
|
-
}
|
|
155
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DisplayExampleComponent, decorators: [{
|
|
156
|
-
type: Component,
|
|
157
|
-
args: [{ selector: 'app-display-example', standalone: true, imports: [DisplayComponent], template: `
|
|
158
|
-
<div class="display-examples">
|
|
159
|
-
<h2>Ejemplos de val-display</h2>
|
|
160
|
-
|
|
161
|
-
<!-- Contenido estático -->
|
|
162
|
-
<div class="section">
|
|
163
|
-
<h3>Contenido Estático</h3>
|
|
164
|
-
<val-display [props]="staticTitle"></val-display>
|
|
165
|
-
<val-display [props]="staticSubtitle"></val-display>
|
|
166
|
-
</div>
|
|
167
|
-
|
|
168
|
-
<!-- Contenido reactivo -->
|
|
169
|
-
<div class="section">
|
|
170
|
-
<h3>Contenido Reactivo</h3>
|
|
171
|
-
<val-display [props]="reactiveWelcome"></val-display>
|
|
172
|
-
<val-display [props]="reactiveDescription"></val-display>
|
|
173
|
-
</div>
|
|
174
|
-
|
|
175
|
-
<!-- Contenido con interpolación -->
|
|
176
|
-
<div class="section">
|
|
177
|
-
<h3>Contenido con Variables</h3>
|
|
178
|
-
<val-display [props]="userGreeting"></val-display>
|
|
179
|
-
<val-display [props]="statusMessage"></val-display>
|
|
180
|
-
</div>
|
|
181
|
-
|
|
182
|
-
<!-- Diferentes tamaños -->
|
|
183
|
-
<div class="section">
|
|
184
|
-
<h3>Diferentes Tamaños</h3>
|
|
185
|
-
<val-display [props]="smallText"></val-display>
|
|
186
|
-
<val-display [props]="mediumText"></val-display>
|
|
187
|
-
<val-display [props]="largeText"></val-display>
|
|
188
|
-
<val-display [props]="xlargeText"></val-display>
|
|
189
|
-
</div>
|
|
190
|
-
|
|
191
|
-
<!-- Diferentes colores -->
|
|
192
|
-
<div class="section">
|
|
193
|
-
<h3>Diferentes Colores</h3>
|
|
194
|
-
<val-display [props]="primaryText"></val-display>
|
|
195
|
-
<val-display [props]="successText"></val-display>
|
|
196
|
-
<val-display [props]="warningText"></val-display>
|
|
197
|
-
<val-display [props]="dangerText"></val-display>
|
|
198
|
-
</div>
|
|
199
|
-
</div>
|
|
200
|
-
`, styles: [".display-examples{padding:20px;max-width:800px;margin:0 auto}.section{margin:30px 0;padding:20px;border:1px solid var(--ion-color-light);border-radius:8px;background:var(--ion-color-step-50)}.section h3{margin:0 0 15px;color:var(--ion-color-primary)}val-display{display:block;margin:10px 0}\n"] }]
|
|
201
|
-
}] });
|
|
202
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGxheS1zaW1wbGUtZXhhbXBsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9leGFtcGxlcy9kaXNwbGF5LXNpbXBsZS1leGFtcGxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDOztBQUdqRjs7R0FFRztBQTZFSCxNQUFNLE9BQU8sdUJBQXVCO0lBNUVwQztRQTZFRSxtQ0FBbUM7UUFDbkMsZ0JBQVcsR0FBb0I7WUFDN0IsT0FBTyxFQUFFLDRCQUE0QjtZQUNyQyxLQUFLLEVBQUUsU0FBUztZQUNoQixJQUFJLEVBQUUsUUFBUTtTQUNmLENBQUM7UUFFRixtQkFBYyxHQUFvQjtZQUNoQyxPQUFPLEVBQUUsb0NBQW9DO1lBQzdDLEtBQUssRUFBRSxRQUFRO1lBQ2YsSUFBSSxFQUFFLE9BQU87U0FDZCxDQUFDO1FBRUYsb0VBQW9FO1FBQ3BFLG9CQUFlLEdBQW9CO1lBQ2pDLGFBQWEsRUFBRTtnQkFDYixTQUFTLEVBQUUsZ0JBQWdCO2dCQUMzQixHQUFHLEVBQUUsZUFBZTtnQkFDcEIsUUFBUSxFQUFFLDRCQUE0QjthQUN2QztZQUNELEtBQUssRUFBRSxTQUFTO1lBQ2hCLElBQUksRUFBRSxRQUFRO1NBQ2YsQ0FBQztRQUVGLHdCQUFtQixHQUFvQjtZQUNyQyxhQUFhLEVBQUU7Z0JBQ2IsU0FBUyxFQUFFLGdCQUFnQjtnQkFDM0IsR0FBRyxFQUFFLHFCQUFxQjtnQkFDMUIsUUFBUSxFQUFFLHlDQUF5QzthQUNwRDtZQUNELEtBQUssRUFBRSxNQUFNO1lBQ2IsSUFBSSxFQUFFLFFBQVE7U0FDZixDQUFDO1FBRUYsNENBQTRDO1FBQzVDLGlCQUFZLEdBQW9CO1lBQzlCLGFBQWEsRUFBRTtnQkFDYixTQUFTLEVBQUUsZ0JBQWdCO2dCQUMzQixHQUFHLEVBQUUsZUFBZTtnQkFDcEIsUUFBUSxFQUFFLCtDQUErQztnQkFDekQsYUFBYSxFQUFFO29CQUNiLElBQUksRUFBRSxPQUFPO29CQUNiLFFBQVEsRUFBRSxDQUFDO2lCQUNaO2FBQ0Y7WUFDRCxLQUFLLEVBQUUsVUFBVTtZQUNqQixJQUFJLEVBQUUsT0FBTztTQUNkLENBQUM7UUFFRixrQkFBYSxHQUFvQjtZQUMvQixhQUFhLEVBQUU7Z0JBQ2IsU0FBUyxFQUFFLGdCQUFnQjtnQkFDM0IsR0FBRyxFQUFFLGVBQWU7Z0JBQ3BCLFFBQVEsRUFBRSxtQ0FBbUM7Z0JBQzdDLGFBQWEsRUFBRTtvQkFDYixNQUFNLEVBQUUsVUFBVTtvQkFDbEIsSUFBSSxFQUFFLFVBQVU7aUJBQ2pCO2FBQ0Y7WUFDRCxLQUFLLEVBQUUsU0FBUztZQUNoQixJQUFJLEVBQUUsT0FBTztTQUNkLENBQUM7UUFFRixtQ0FBbUM7UUFDbkMsY0FBUyxHQUFvQjtZQUMzQixPQUFPLEVBQUUsdUJBQXVCO1lBQ2hDLEtBQUssRUFBRSxNQUFNO1lBQ2IsSUFBSSxFQUFFLE9BQU87U0FDZCxDQUFDO1FBRUYsZUFBVSxHQUFvQjtZQUM1QixPQUFPLEVBQUUsd0JBQXdCO1lBQ2pDLEtBQUssRUFBRSxNQUFNO1lBQ2IsSUFBSSxFQUFFLFFBQVE7U0FDZixDQUFDO1FBRUYsY0FBUyxHQUFvQjtZQUMzQixPQUFPLEVBQUUsc0JBQXNCO1lBQy9CLEtBQUssRUFBRSxNQUFNO1lBQ2IsSUFBSSxFQUFFLE9BQU87U0FDZCxDQUFDO1FBRUYsZUFBVSxHQUFvQjtZQUM1QixPQUFPLEVBQUUsNkJBQTZCO1lBQ3RDLEtBQUssRUFBRSxNQUFNO1lBQ2IsSUFBSSxFQUFFLFFBQVE7U0FDZixDQUFDO1FBRUYsbUNBQW1DO1FBQ25DLGdCQUFXLEdBQW9CO1lBQzdCLE9BQU8sRUFBRSxxQkFBcUI7WUFDOUIsS0FBSyxFQUFFLFNBQVM7WUFDaEIsSUFBSSxFQUFFLFFBQVE7U0FDZixDQUFDO1FBRUYsZ0JBQVcsR0FBb0I7WUFDN0IsT0FBTyxFQUFFLHFCQUFxQjtZQUM5QixLQUFLLEVBQUUsU0FBUztZQUNoQixJQUFJLEVBQUUsUUFBUTtTQUNmLENBQUM7UUFFRixnQkFBVyxHQUFvQjtZQUM3QixPQUFPLEVBQUUscUJBQXFCO1lBQzlCLEtBQUssRUFBRSxTQUFTO1lBQ2hCLElBQUksRUFBRSxRQUFRO1NBQ2YsQ0FBQztRQUVGLGVBQVUsR0FBb0I7WUFDNUIsT0FBTyxFQUFFLG9CQUFvQjtZQUM3QixLQUFLLEVBQUUsUUFBUTtZQUNmLElBQUksRUFBRSxRQUFRO1NBQ2YsQ0FBQztLQUNIOytHQWpIWSx1QkFBdUI7bUdBQXZCLHVCQUF1QiwrRUF4RXhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkNULDhXQTVDUyxnQkFBZ0I7OzRGQXlFZix1QkFBdUI7a0JBNUVuQyxTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1AsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUNqQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJDVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXRvbXMvZGlzcGxheS9kaXNwbGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaXNwbGF5TWV0YWRhdGEgfSBmcm9tICcuLi9jb21wb25lbnRzL2F0b21zL2Rpc3BsYXkvdHlwZXMnO1xuXG4vKipcbiAqIEVqZW1wbG8gcsOhcGlkbyBkZSB1c28gZGVsIGNvbXBvbmVudGUgdmFsLWRpc3BsYXkgY29uIGNvbnRlbmlkbyByZWFjdGl2b1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZGlzcGxheS1leGFtcGxlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0Rpc3BsYXlDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJkaXNwbGF5LWV4YW1wbGVzXCI+XG4gICAgICA8aDI+RWplbXBsb3MgZGUgdmFsLWRpc3BsYXk8L2gyPlxuXG4gICAgICA8IS0tIENvbnRlbmlkbyBlc3TDoXRpY28gLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvblwiPlxuICAgICAgICA8aDM+Q29udGVuaWRvIEVzdMOhdGljbzwvaDM+XG4gICAgICAgIDx2YWwtZGlzcGxheSBbcHJvcHNdPVwic3RhdGljVGl0bGVcIj48L3ZhbC1kaXNwbGF5PlxuICAgICAgICA8dmFsLWRpc3BsYXkgW3Byb3BzXT1cInN0YXRpY1N1YnRpdGxlXCI+PC92YWwtZGlzcGxheT5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIENvbnRlbmlkbyByZWFjdGl2byAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZWN0aW9uXCI+XG4gICAgICAgIDxoMz5Db250ZW5pZG8gUmVhY3Rpdm88L2gzPlxuICAgICAgICA8dmFsLWRpc3BsYXkgW3Byb3BzXT1cInJlYWN0aXZlV2VsY29tZVwiPjwvdmFsLWRpc3BsYXk+XG4gICAgICAgIDx2YWwtZGlzcGxheSBbcHJvcHNdPVwicmVhY3RpdmVEZXNjcmlwdGlvblwiPjwvdmFsLWRpc3BsYXk+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBDb250ZW5pZG8gY29uIGludGVycG9sYWNpw7NuIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb25cIj5cbiAgICAgICAgPGgzPkNvbnRlbmlkbyBjb24gVmFyaWFibGVzPC9oMz5cbiAgICAgICAgPHZhbC1kaXNwbGF5IFtwcm9wc109XCJ1c2VyR3JlZXRpbmdcIj48L3ZhbC1kaXNwbGF5PlxuICAgICAgICA8dmFsLWRpc3BsYXkgW3Byb3BzXT1cInN0YXR1c01lc3NhZ2VcIj48L3ZhbC1kaXNwbGF5PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gRGlmZXJlbnRlcyB0YW1hw7FvcyAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZWN0aW9uXCI+XG4gICAgICAgIDxoMz5EaWZlcmVudGVzIFRhbWHDsW9zPC9oMz5cbiAgICAgICAgPHZhbC1kaXNwbGF5IFtwcm9wc109XCJzbWFsbFRleHRcIj48L3ZhbC1kaXNwbGF5PlxuICAgICAgICA8dmFsLWRpc3BsYXkgW3Byb3BzXT1cIm1lZGl1bVRleHRcIj48L3ZhbC1kaXNwbGF5PlxuICAgICAgICA8dmFsLWRpc3BsYXkgW3Byb3BzXT1cImxhcmdlVGV4dFwiPjwvdmFsLWRpc3BsYXk+XG4gICAgICAgIDx2YWwtZGlzcGxheSBbcHJvcHNdPVwieGxhcmdlVGV4dFwiPjwvdmFsLWRpc3BsYXk+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBEaWZlcmVudGVzIGNvbG9yZXMgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvblwiPlxuICAgICAgICA8aDM+RGlmZXJlbnRlcyBDb2xvcmVzPC9oMz5cbiAgICAgICAgPHZhbC1kaXNwbGF5IFtwcm9wc109XCJwcmltYXJ5VGV4dFwiPjwvdmFsLWRpc3BsYXk+XG4gICAgICAgIDx2YWwtZGlzcGxheSBbcHJvcHNdPVwic3VjY2Vzc1RleHRcIj48L3ZhbC1kaXNwbGF5PlxuICAgICAgICA8dmFsLWRpc3BsYXkgW3Byb3BzXT1cIndhcm5pbmdUZXh0XCI+PC92YWwtZGlzcGxheT5cbiAgICAgICAgPHZhbC1kaXNwbGF5IFtwcm9wc109XCJkYW5nZXJUZXh0XCI+PC92YWwtZGlzcGxheT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAuZGlzcGxheS1leGFtcGxlcyB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuXG4gICAgICAuc2VjdGlvbiB7XG4gICAgICAgIG1hcmdpbjogMzBweCAwO1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pb24tY29sb3ItbGlnaHQpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1jb2xvci1zdGVwLTUwKTtcbiAgICAgIH1cblxuICAgICAgLnNlY3Rpb24gaDMge1xuICAgICAgICBtYXJnaW46IDAgMCAxNXB4IDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItcHJpbWFyeSk7XG4gICAgICB9XG5cbiAgICAgIHZhbC1kaXNwbGF5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIERpc3BsYXlFeGFtcGxlQ29tcG9uZW50IHtcbiAgLy8g4pyFIEVqZW1wbG9zIGRlIGNvbnRlbmlkbyBlc3TDoXRpY29cbiAgc3RhdGljVGl0bGU6IERpc3BsYXlNZXRhZGF0YSA9IHtcbiAgICBjb250ZW50OiAnRXN0ZSBlcyB1biB0w610dWxvIGVzdMOhdGljbycsXG4gICAgY29sb3I6ICdwcmltYXJ5JyxcbiAgICBzaXplOiAneGxhcmdlJyxcbiAgfTtcblxuICBzdGF0aWNTdWJ0aXRsZTogRGlzcGxheU1ldGFkYXRhID0ge1xuICAgIGNvbnRlbnQ6ICdFc3RlIGVzIHVuIHN1YnTDrXR1bG8gcXVlIG5vIGNhbWJpYScsXG4gICAgY29sb3I6ICdtZWRpdW0nLFxuICAgIHNpemU6ICdsYXJnZScsXG4gIH07XG5cbiAgLy8g4pyFIEVqZW1wbG9zIGRlIGNvbnRlbmlkbyByZWFjdGl2byAocmVxdWllcmUgY29uZmlndXJhY2nDs24gZGUgaTE4bilcbiAgcmVhY3RpdmVXZWxjb21lOiBEaXNwbGF5TWV0YWRhdGEgPSB7XG4gICAgY29udGVudENvbmZpZzoge1xuICAgICAgY2xhc3NOYW1lOiAnZGlzcGxheUV4YW1wbGUnLFxuICAgICAga2V5OiAnd2VsY29tZS50aXRsZScsXG4gICAgICBmYWxsYmFjazogJ0JpZW52ZW5pZG8gYSBsYSBhcGxpY2FjacOzbicsXG4gICAgfSxcbiAgICBjb2xvcjogJ3ByaW1hcnknLFxuICAgIHNpemU6ICd4bGFyZ2UnLFxuICB9O1xuXG4gIHJlYWN0aXZlRGVzY3JpcHRpb246IERpc3BsYXlNZXRhZGF0YSA9IHtcbiAgICBjb250ZW50Q29uZmlnOiB7XG4gICAgICBjbGFzc05hbWU6ICdkaXNwbGF5RXhhbXBsZScsXG4gICAgICBrZXk6ICd3ZWxjb21lLmRlc2NyaXB0aW9uJyxcbiAgICAgIGZhbGxiYWNrOiAnRXN0YSBkZXNjcmlwY2nDs24gY2FtYmlhIHNlZ8O6biBlbCBpZGlvbWEnLFxuICAgIH0sXG4gICAgY29sb3I6ICdkYXJrJyxcbiAgICBzaXplOiAnbWVkaXVtJyxcbiAgfTtcblxuICAvLyDinIUgRWplbXBsb3MgY29uIGludGVycG9sYWNpw7NuIGRlIHZhcmlhYmxlc1xuICB1c2VyR3JlZXRpbmc6IERpc3BsYXlNZXRhZGF0YSA9IHtcbiAgICBjb250ZW50Q29uZmlnOiB7XG4gICAgICBjbGFzc05hbWU6ICdkaXNwbGF5RXhhbXBsZScsXG4gICAgICBrZXk6ICd1c2VyLmdyZWV0aW5nJyxcbiAgICAgIGZhbGxiYWNrOiAnSG9sYSwge3tuYW1lfX0hIFRpZW5lcyB7e21lc3NhZ2VzfX0gbWVuc2FqZXMuJyxcbiAgICAgIGludGVycG9sYXRpb246IHtcbiAgICAgICAgbmFtZTogJ01hcsOtYScsXG4gICAgICAgIG1lc3NhZ2VzOiA1LFxuICAgICAgfSxcbiAgICB9LFxuICAgIGNvbG9yOiAndGVydGlhcnknLFxuICAgIHNpemU6ICdsYXJnZScsXG4gIH07XG5cbiAgc3RhdHVzTWVzc2FnZTogRGlzcGxheU1ldGFkYXRhID0ge1xuICAgIGNvbnRlbnRDb25maWc6IHtcbiAgICAgIGNsYXNzTmFtZTogJ2Rpc3BsYXlFeGFtcGxlJyxcbiAgICAgIGtleTogJ3N0YXR1cy5vbmxpbmUnLFxuICAgICAgZmFsbGJhY2s6ICdFc3RhZG86IHt7c3RhdHVzfX0gZGVzZGUge3t0aW1lfX0nLFxuICAgICAgaW50ZXJwb2xhdGlvbjoge1xuICAgICAgICBzdGF0dXM6ICdFbiBsw61uZWEnLFxuICAgICAgICB0aW1lOiAnMTA6MzAgQU0nLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGNvbG9yOiAnc3VjY2VzcycsXG4gICAgc2l6ZTogJ3NtYWxsJyxcbiAgfTtcblxuICAvLyDinIUgRWplbXBsb3MgZGUgZGlmZXJlbnRlcyB0YW1hw7Fvc1xuICBzbWFsbFRleHQ6IERpc3BsYXlNZXRhZGF0YSA9IHtcbiAgICBjb250ZW50OiAnVGV4dG8gcGVxdWXDsW8gKHNtYWxsKScsXG4gICAgY29sb3I6ICdkYXJrJyxcbiAgICBzaXplOiAnc21hbGwnLFxuICB9O1xuXG4gIG1lZGl1bVRleHQ6IERpc3BsYXlNZXRhZGF0YSA9IHtcbiAgICBjb250ZW50OiAnVGV4dG8gbWVkaWFubyAobWVkaXVtKScsXG4gICAgY29sb3I6ICdkYXJrJyxcbiAgICBzaXplOiAnbWVkaXVtJyxcbiAgfTtcblxuICBsYXJnZVRleHQ6IERpc3BsYXlNZXRhZGF0YSA9IHtcbiAgICBjb250ZW50OiAnVGV4dG8gZ3JhbmRlIChsYXJnZSknLFxuICAgIGNvbG9yOiAnZGFyaycsXG4gICAgc2l6ZTogJ2xhcmdlJyxcbiAgfTtcblxuICB4bGFyZ2VUZXh0OiBEaXNwbGF5TWV0YWRhdGEgPSB7XG4gICAgY29udGVudDogJ1RleHRvIGV4dHJhIGdyYW5kZSAoeGxhcmdlKScsXG4gICAgY29sb3I6ICdkYXJrJyxcbiAgICBzaXplOiAneGxhcmdlJyxcbiAgfTtcblxuICAvLyDinIUgRWplbXBsb3MgZGUgZGlmZXJlbnRlcyBjb2xvcmVzXG4gIHByaW1hcnlUZXh0OiBEaXNwbGF5TWV0YWRhdGEgPSB7XG4gICAgY29udGVudDogJ1RleHRvIGNvbG9yIHByaW1hcnknLFxuICAgIGNvbG9yOiAncHJpbWFyeScsXG4gICAgc2l6ZTogJ21lZGl1bScsXG4gIH07XG5cbiAgc3VjY2Vzc1RleHQ6IERpc3BsYXlNZXRhZGF0YSA9IHtcbiAgICBjb250ZW50OiAnVGV4dG8gY29sb3Igc3VjY2VzcycsXG4gICAgY29sb3I6ICdzdWNjZXNzJyxcbiAgICBzaXplOiAnbWVkaXVtJyxcbiAgfTtcblxuICB3YXJuaW5nVGV4dDogRGlzcGxheU1ldGFkYXRhID0ge1xuICAgIGNvbnRlbnQ6ICdUZXh0byBjb2xvciB3YXJuaW5nJyxcbiAgICBjb2xvcjogJ3dhcm5pbmcnLFxuICAgIHNpemU6ICdtZWRpdW0nLFxuICB9O1xuXG4gIGRhbmdlclRleHQ6IERpc3BsYXlNZXRhZGF0YSA9IHtcbiAgICBjb250ZW50OiAnVGV4dG8gY29sb3IgZGFuZ2VyJyxcbiAgICBjb2xvcjogJ2RhbmdlcicsXG4gICAgc2l6ZTogJ21lZGl1bScsXG4gIH07XG59XG4iXX0=
|
|
@@ -1,233 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { TextComponent } from '../components/atoms/text/text.component';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
/**
|
|
5
|
-
* LinkProcessingExampleComponent - Componente de ejemplo que demuestra el procesamiento automático de enlaces.
|
|
6
|
-
*
|
|
7
|
-
* Este componente muestra diferentes casos de uso para el procesamiento automático de enlaces
|
|
8
|
-
* en el componente val-text, incluyendo enlaces externos, rutas internas y configuraciones personalizadas.
|
|
9
|
-
*
|
|
10
|
-
* @example Uso en template:
|
|
11
|
-
* ```html
|
|
12
|
-
* <val-link-processing-example></val-link-processing-example>
|
|
13
|
-
* ```
|
|
14
|
-
*/
|
|
15
|
-
export class LinkProcessingExampleComponent {
|
|
16
|
-
constructor() {
|
|
17
|
-
this.basicTextProps = {
|
|
18
|
-
content: 'Este texto contiene https://angular.io y /dashboard pero no se procesan como enlaces.',
|
|
19
|
-
size: 'medium',
|
|
20
|
-
color: 'dark',
|
|
21
|
-
bold: false,
|
|
22
|
-
processLinks: false,
|
|
23
|
-
};
|
|
24
|
-
this.basicLinksProps = {
|
|
25
|
-
content: 'Visita https://angular.io para documentación o ve a /dashboard para el panel principal.',
|
|
26
|
-
size: 'medium',
|
|
27
|
-
color: 'dark',
|
|
28
|
-
bold: false,
|
|
29
|
-
processLinks: true,
|
|
30
|
-
};
|
|
31
|
-
this.customLinksProps = {
|
|
32
|
-
content: 'Enlaces personalizados: https://github.com/angular/angular y /profile/settings',
|
|
33
|
-
size: 'medium',
|
|
34
|
-
color: 'dark',
|
|
35
|
-
bold: false,
|
|
36
|
-
processLinks: true,
|
|
37
|
-
linkConfig: {
|
|
38
|
-
openExternalInNewTab: true,
|
|
39
|
-
openInternalInNewTab: false,
|
|
40
|
-
linkClass: 'custom-link-style',
|
|
41
|
-
externalLinkClass: 'external-custom',
|
|
42
|
-
internalLinkClass: 'internal-custom',
|
|
43
|
-
},
|
|
44
|
-
};
|
|
45
|
-
this.mixedLinksProps = {
|
|
46
|
-
content: 'Consulta la documentación en https://ionicframework.com/docs, revisa el código en https://github.com/ionic-team/ionic-framework, o navega a /components/buttons para ejemplos internos.',
|
|
47
|
-
size: 'medium',
|
|
48
|
-
color: 'dark',
|
|
49
|
-
bold: false,
|
|
50
|
-
processLinks: true,
|
|
51
|
-
linkConfig: {
|
|
52
|
-
openExternalInNewTab: true,
|
|
53
|
-
openInternalInNewTab: false,
|
|
54
|
-
linkClass: 'processed-link',
|
|
55
|
-
externalLinkClass: 'external-link',
|
|
56
|
-
internalLinkClass: 'internal-link',
|
|
57
|
-
},
|
|
58
|
-
};
|
|
59
|
-
this.sameTabLinksProps = {
|
|
60
|
-
content: 'Estos enlaces no abren en nueva pestaña: https://example.com y /home',
|
|
61
|
-
size: 'medium',
|
|
62
|
-
color: 'dark',
|
|
63
|
-
bold: false,
|
|
64
|
-
processLinks: true,
|
|
65
|
-
linkConfig: {
|
|
66
|
-
openExternalInNewTab: false,
|
|
67
|
-
openInternalInNewTab: false,
|
|
68
|
-
linkClass: 'same-tab-link',
|
|
69
|
-
externalLinkClass: 'external-same-tab',
|
|
70
|
-
internalLinkClass: 'internal-same-tab',
|
|
71
|
-
},
|
|
72
|
-
};
|
|
73
|
-
this.markdownLinksProps = {
|
|
74
|
-
content: 'Consulta [la documentación de Angular](https://angular.io/docs) y ve a [configuración del perfil](/profile/settings) para más opciones.',
|
|
75
|
-
size: 'medium',
|
|
76
|
-
color: 'dark',
|
|
77
|
-
bold: false,
|
|
78
|
-
processLinks: true,
|
|
79
|
-
linkConfig: {
|
|
80
|
-
openExternalInNewTab: true,
|
|
81
|
-
openInternalInNewTab: false,
|
|
82
|
-
processMarkdownLinks: true,
|
|
83
|
-
linkClass: 'markdown-link',
|
|
84
|
-
externalLinkClass: 'markdown-external',
|
|
85
|
-
internalLinkClass: 'markdown-internal',
|
|
86
|
-
},
|
|
87
|
-
};
|
|
88
|
-
this.mixedFormatsProps = {
|
|
89
|
-
content: 'Aquí hay [documentación oficial](https://angular.io/docs), un enlace directo https://github.com/angular/angular, y una ruta interna /dashboard/analytics. ¡Todos funcionan!',
|
|
90
|
-
size: 'medium',
|
|
91
|
-
color: 'dark',
|
|
92
|
-
bold: false,
|
|
93
|
-
processLinks: true,
|
|
94
|
-
linkConfig: {
|
|
95
|
-
openExternalInNewTab: true,
|
|
96
|
-
openInternalInNewTab: false,
|
|
97
|
-
processMarkdownLinks: true,
|
|
98
|
-
linkClass: 'mixed-link',
|
|
99
|
-
externalLinkClass: 'mixed-external',
|
|
100
|
-
internalLinkClass: 'mixed-internal',
|
|
101
|
-
},
|
|
102
|
-
};
|
|
103
|
-
this.punctuationTestProps = {
|
|
104
|
-
content: 'URLs con puntuación final: https://ionicframework.com/docs, también https://angular.io! Pregunta sobre https://github.com/angular? Y punto final: https://typescript.org. Paréntesis (https://rxjs.dev) y comillas "https://zone.js". ¡Todos funcionan!',
|
|
105
|
-
size: 'medium',
|
|
106
|
-
color: 'dark',
|
|
107
|
-
bold: false,
|
|
108
|
-
processLinks: true,
|
|
109
|
-
linkConfig: {
|
|
110
|
-
openExternalInNewTab: true,
|
|
111
|
-
linkClass: 'punctuation-test',
|
|
112
|
-
externalLinkClass: 'external-punct',
|
|
113
|
-
},
|
|
114
|
-
};
|
|
115
|
-
this.complexUrlsProps = {
|
|
116
|
-
content: 'URLs complejas: https://example.com/path?param=value&other=123#section, búsqueda en https://google.com/search?q=angular+components, y API https://api.github.com/repos/owner/repo/issues?state=open. Todos con parámetros y fragmentos.',
|
|
117
|
-
size: 'medium',
|
|
118
|
-
color: 'dark',
|
|
119
|
-
bold: false,
|
|
120
|
-
processLinks: true,
|
|
121
|
-
linkConfig: {
|
|
122
|
-
openExternalInNewTab: true,
|
|
123
|
-
linkClass: 'complex-url',
|
|
124
|
-
externalLinkClass: 'complex-external',
|
|
125
|
-
},
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LinkProcessingExampleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
129
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LinkProcessingExampleComponent, isStandalone: true, selector: "val-link-processing-example", ngImport: i0, template: `
|
|
130
|
-
<div class="link-examples">
|
|
131
|
-
<h2>Ejemplos de Procesamiento de Enlaces</h2>
|
|
132
|
-
|
|
133
|
-
<div class="example-section">
|
|
134
|
-
<h3>Texto sin procesamiento de enlaces:</h3>
|
|
135
|
-
<val-text [props]="basicTextProps"></val-text>
|
|
136
|
-
</div>
|
|
137
|
-
|
|
138
|
-
<div class="example-section">
|
|
139
|
-
<h3>Texto con procesamiento básico de enlaces:</h3>
|
|
140
|
-
<val-text [props]="basicLinksProps"></val-text>
|
|
141
|
-
</div>
|
|
142
|
-
|
|
143
|
-
<div class="example-section">
|
|
144
|
-
<h3>Enlaces con configuración personalizada:</h3>
|
|
145
|
-
<val-text [props]="customLinksProps"></val-text>
|
|
146
|
-
</div>
|
|
147
|
-
|
|
148
|
-
<div class="example-section">
|
|
149
|
-
<h3>Enlaces internos y externos mezclados:</h3>
|
|
150
|
-
<val-text [props]="mixedLinksProps"></val-text>
|
|
151
|
-
</div>
|
|
152
|
-
|
|
153
|
-
<div class="example-section">
|
|
154
|
-
<h3>Enlaces sin abrir en nueva pestaña:</h3>
|
|
155
|
-
<val-text [props]="sameTabLinksProps"></val-text>
|
|
156
|
-
</div>
|
|
157
|
-
|
|
158
|
-
<div class="example-section">
|
|
159
|
-
<h3>Enlaces estilo Markdown [texto](url):</h3>
|
|
160
|
-
<val-text [props]="markdownLinksProps"></val-text>
|
|
161
|
-
</div>
|
|
162
|
-
|
|
163
|
-
<div class="example-section">
|
|
164
|
-
<h3>Mezcla de enlaces directos y Markdown:</h3>
|
|
165
|
-
<val-text [props]="mixedFormatsProps"></val-text>
|
|
166
|
-
</div>
|
|
167
|
-
|
|
168
|
-
<div class="example-section">
|
|
169
|
-
<h3>Corrección de puntuación en URLs:</h3>
|
|
170
|
-
<val-text [props]="punctuationTestProps"></val-text>
|
|
171
|
-
</div>
|
|
172
|
-
|
|
173
|
-
<div class="example-section">
|
|
174
|
-
<h3>URLs complejas con parámetros y fragmentos:</h3>
|
|
175
|
-
<val-text [props]="complexUrlsProps"></val-text>
|
|
176
|
-
</div>
|
|
177
|
-
</div>
|
|
178
|
-
`, isInline: true, styles: [".example-section{margin-bottom:24px;padding:16px;border:1px solid var(--ion-color-light, #f4f5f8);border-radius:8px;background:var(--ion-color-light-tint, #f5f6f9)}h2{color:var(--ion-color-primary, #3880ff);margin-bottom:20px}h3{color:var(--ion-color-dark, #222428);margin-bottom:10px;font-size:16px}\n"], dependencies: [{ kind: "component", type: TextComponent, selector: "val-text", inputs: ["props"] }] }); }
|
|
179
|
-
}
|
|
180
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LinkProcessingExampleComponent, decorators: [{
|
|
181
|
-
type: Component,
|
|
182
|
-
args: [{ selector: 'val-link-processing-example', standalone: true, imports: [TextComponent], template: `
|
|
183
|
-
<div class="link-examples">
|
|
184
|
-
<h2>Ejemplos de Procesamiento de Enlaces</h2>
|
|
185
|
-
|
|
186
|
-
<div class="example-section">
|
|
187
|
-
<h3>Texto sin procesamiento de enlaces:</h3>
|
|
188
|
-
<val-text [props]="basicTextProps"></val-text>
|
|
189
|
-
</div>
|
|
190
|
-
|
|
191
|
-
<div class="example-section">
|
|
192
|
-
<h3>Texto con procesamiento básico de enlaces:</h3>
|
|
193
|
-
<val-text [props]="basicLinksProps"></val-text>
|
|
194
|
-
</div>
|
|
195
|
-
|
|
196
|
-
<div class="example-section">
|
|
197
|
-
<h3>Enlaces con configuración personalizada:</h3>
|
|
198
|
-
<val-text [props]="customLinksProps"></val-text>
|
|
199
|
-
</div>
|
|
200
|
-
|
|
201
|
-
<div class="example-section">
|
|
202
|
-
<h3>Enlaces internos y externos mezclados:</h3>
|
|
203
|
-
<val-text [props]="mixedLinksProps"></val-text>
|
|
204
|
-
</div>
|
|
205
|
-
|
|
206
|
-
<div class="example-section">
|
|
207
|
-
<h3>Enlaces sin abrir en nueva pestaña:</h3>
|
|
208
|
-
<val-text [props]="sameTabLinksProps"></val-text>
|
|
209
|
-
</div>
|
|
210
|
-
|
|
211
|
-
<div class="example-section">
|
|
212
|
-
<h3>Enlaces estilo Markdown [texto](url):</h3>
|
|
213
|
-
<val-text [props]="markdownLinksProps"></val-text>
|
|
214
|
-
</div>
|
|
215
|
-
|
|
216
|
-
<div class="example-section">
|
|
217
|
-
<h3>Mezcla de enlaces directos y Markdown:</h3>
|
|
218
|
-
<val-text [props]="mixedFormatsProps"></val-text>
|
|
219
|
-
</div>
|
|
220
|
-
|
|
221
|
-
<div class="example-section">
|
|
222
|
-
<h3>Corrección de puntuación en URLs:</h3>
|
|
223
|
-
<val-text [props]="punctuationTestProps"></val-text>
|
|
224
|
-
</div>
|
|
225
|
-
|
|
226
|
-
<div class="example-section">
|
|
227
|
-
<h3>URLs complejas con parámetros y fragmentos:</h3>
|
|
228
|
-
<val-text [props]="complexUrlsProps"></val-text>
|
|
229
|
-
</div>
|
|
230
|
-
</div>
|
|
231
|
-
`, styles: [".example-section{margin-bottom:24px;padding:16px;border:1px solid var(--ion-color-light, #f4f5f8);border-radius:8px;background:var(--ion-color-light-tint, #f5f6f9)}h2{color:var(--ion-color-primary, #3880ff);margin-bottom:20px}h3{color:var(--ion-color-dark, #222428);margin-bottom:10px;font-size:16px}\n"] }]
|
|
232
|
-
}] });
|
|
233
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1wcm9jZXNzaW5nLWV4YW1wbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGVjaC1jb21wb25lbnRzL3NyYy9saWIvZXhhbXBsZXMvbGluay1wcm9jZXNzaW5nLWV4YW1wbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOztBQUV4RTs7Ozs7Ozs7OztHQVVHO0FBOEVILE1BQU0sT0FBTyw4QkFBOEI7SUE3RTNDO1FBOEVFLG1CQUFjLEdBQWlCO1lBQzdCLE9BQU8sRUFBRSx1RkFBdUY7WUFDaEcsSUFBSSxFQUFFLFFBQVE7WUFDZCxLQUFLLEVBQUUsTUFBTTtZQUNiLElBQUksRUFBRSxLQUFLO1lBQ1gsWUFBWSxFQUFFLEtBQUs7U0FDcEIsQ0FBQztRQUVGLG9CQUFlLEdBQWlCO1lBQzlCLE9BQU8sRUFBRSx5RkFBeUY7WUFDbEcsSUFBSSxFQUFFLFFBQVE7WUFDZCxLQUFLLEVBQUUsTUFBTTtZQUNiLElBQUksRUFBRSxLQUFLO1lBQ1gsWUFBWSxFQUFFLElBQUk7U0FDbkIsQ0FBQztRQUVGLHFCQUFnQixHQUFpQjtZQUMvQixPQUFPLEVBQUUsZ0ZBQWdGO1lBQ3pGLElBQUksRUFBRSxRQUFRO1lBQ2QsS0FBSyxFQUFFLE1BQU07WUFDYixJQUFJLEVBQUUsS0FBSztZQUNYLFlBQVksRUFBRSxJQUFJO1lBQ2xCLFVBQVUsRUFBRTtnQkFDVixvQkFBb0IsRUFBRSxJQUFJO2dCQUMxQixvQkFBb0IsRUFBRSxLQUFLO2dCQUMzQixTQUFTLEVBQUUsbUJBQW1CO2dCQUM5QixpQkFBaUIsRUFBRSxpQkFBaUI7Z0JBQ3BDLGlCQUFpQixFQUFFLGlCQUFpQjthQUNyQztTQUNGLENBQUM7UUFFRixvQkFBZSxHQUFp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Ozs7Ozs7Ozs7Ozs7OztHQWlEVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGV4dENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXRvbXMvdGV4dC90ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0TWV0YWRhdGEgfSBmcm9tICcuLi9jb21wb25lbnRzL2F0b21zL3RleHQvdHlwZXMnO1xuLyoqXG4gKiBMaW5rUHJvY2Vzc2luZ0V4YW1wbGVDb21wb25lbnQgLSBDb21wb25lbnRlIGRlIGVqZW1wbG8gcXVlIGRlbXVlc3RyYSBlbCBwcm9jZXNhbWllbnRvIGF1dG9tw6F0aWNvIGRlIGVubGFjZXMuXG4gKlxuICogRXN0ZSBjb21wb25lbnRlIG11ZXN0cmEgZGlmZXJlbnRlcyBjYXNvcyBkZSB1c28gcGFyYSBlbCBwcm9jZXNhbWllbnRvIGF1dG9tw6F0aWNvIGRlIGVubGFjZXNcbiAqIGVuIGVsIGNvbXBvbmVudGUgdmFsLXRleHQsIGluY2x1eWVuZG8gZW5sYWNlcyBleHRlcm5vcywgcnV0YXMgaW50ZXJuYXMgeSBjb25maWd1cmFjaW9uZXMgcGVyc29uYWxpemFkYXMuXG4gKlxuICogQGV4YW1wbGUgVXNvIGVuIHRlbXBsYXRlOlxuICogYGBgaHRtbFxuICogPHZhbC1saW5rLXByb2Nlc3NpbmctZXhhbXBsZT48L3ZhbC1saW5rLXByb2Nlc3NpbmctZXhhbXBsZT5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtbGluay1wcm9jZXNzaW5nLWV4YW1wbGUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbVGV4dENvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImxpbmstZXhhbXBsZXNcIj5cbiAgICAgIDxoMj5FamVtcGxvcyBkZSBQcm9jZXNhbWllbnRvIGRlIEVubGFjZXM8L2gyPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZXhhbXBsZS1zZWN0aW9uXCI+XG4gICAgICAgIDxoMz5UZXh0byBzaW4gcHJvY2VzYW1pZW50byBkZSBlbmxhY2VzOjwvaDM+XG4gICAgICAgIDx2YWwtdGV4dCBbcHJvcHNdPVwiYmFzaWNUZXh0UHJvcHNcIj48L3ZhbC10ZXh0PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJleGFtcGxlLXNlY3Rpb25cIj5cbiAgICAgICAgPGgzPlRleHRvIGNvbiBwcm9jZXNhbWllbnRvIGLDoXNpY28gZGUgZW5sYWNlczo8L2gzPlxuICAgICAgICA8dmFsLXRleHQgW3Byb3BzXT1cImJhc2ljTGlua3NQcm9wc1wiPjwvdmFsLXRleHQ+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImV4YW1wbGUtc2VjdGlvblwiPlxuICAgICAgICA8aDM+RW5sYWNlcyBjb24gY29uZmlndXJhY2nDs24gcGVyc29uYWxpemFkYTo8L2gzPlxuICAgICAgICA8dmFsLXRleHQgW3Byb3BzXT1cImN1c3RvbUxpbmtzUHJvcHNcIj48L3ZhbC10ZXh0PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJleGFtcGxlLXNlY3Rpb25cIj5cbiAgICAgICAgPGgzPkVubGFjZXMgaW50ZXJub3MgeSBleHRlcm5vcyBtZXpjbGFkb3M6PC9oMz5cbiAgICAgICAgPHZhbC10ZXh0IFtwcm9wc109XCJtaXhlZExpbmtzUHJvcHNcIj48L3ZhbC10ZXh0PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJleGFtcGxlLXNlY3Rpb25cIj5cbiAgICAgICAgPGgzPkVubGFjZXMgc2luIGFicmlyIGVuIG51ZXZhIHBlc3Rhw7FhOjwvaDM+XG4gICAgICAgIDx2YWwtdGV4dCBbcHJvcHNdPVwic2FtZVRhYkxpbmtzUHJvcHNcIj48L3ZhbC10ZXh0PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJleGFtcGxlLXNlY3Rpb25cIj5cbiAgICAgICAgPGgzPkVubGFjZXMgZXN0aWxvIE1hcmtkb3duIFt0ZXh0b10odXJsKTo8L2gzPlxuICAgICAgICA8dmFsLXRleHQgW3Byb3BzXT1cIm1hcmtkb3duTGlua3NQcm9wc1wiPjwvdmFsLXRleHQ+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImV4YW1wbGUtc2VjdGlvblwiPlxuICAgICAgICA8aDM+TWV6Y2xhIGRlIGVubGFjZXMgZGlyZWN0b3MgeSBNYXJrZG93bjo8L2gzPlxuICAgICAgICA8dmFsLXRleHQgW3Byb3BzXT1cIm1peGVkRm9ybWF0c1Byb3BzXCI+PC92YWwtdGV4dD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZXhhbXBsZS1zZWN0aW9uXCI+XG4gICAgICAgIDxoMz5Db3JyZWNjacOzbiBkZSBwdW50dWFjacOzbiBlbiBVUkxzOjwvaDM+XG4gICAgICAgIDx2YWwtdGV4dCBbcHJvcHNdPVwicHVuY3R1YXRpb25UZXN0UHJvcHNcIj48L3ZhbC10ZXh0PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJleGFtcGxlLXNlY3Rpb25cIj5cbiAgICAgICAgPGgzPlVSTHMgY29tcGxlamFzIGNvbiBwYXLDoW1ldHJvcyB5IGZyYWdtZW50b3M6PC9oMz5cbiAgICAgICAgPHZhbC10ZXh0IFtwcm9wc109XCJjb21wbGV4VXJsc1Byb3BzXCI+PC92YWwtdGV4dD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAuZXhhbXBsZS1zZWN0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICAgICAgcGFkZGluZzogMTZweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0taW9uLWNvbG9yLWxpZ2h0LCAjZjRmNWY4KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tY29sb3ItbGlnaHQtdGludCwgI2Y1ZjZmOSk7XG4gICAgICB9XG5cbiAgICAgIGgyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1wcmltYXJ5LCAjMzg4MGZmKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhcmssICMyMjI0MjgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTGlua1Byb2Nlc3NpbmdFeGFtcGxlQ29tcG9uZW50IHtcbiAgYmFzaWNUZXh0UHJvcHM6IFRleHRNZXRhZGF0YSA9IHtcbiAgICBjb250ZW50OiAnRXN0ZSB0ZXh0byBjb250aWVuZSBodHRwczovL2FuZ3VsYXIuaW8geSAvZGFzaGJvYXJkIHBlcm8gbm8gc2UgcHJvY2VzYW4gY29tbyBlbmxhY2VzLicsXG4gICAgc2l6ZTogJ21lZGl1bScsXG4gICAgY29sb3I6ICdkYXJrJyxcbiAgICBib2xkOiBmYWxzZSxcbiAgICBwcm9jZXNzTGlua3M6IGZhbHNlLFxuICB9O1xuXG4gIGJhc2ljTGlua3NQcm9wczogVGV4dE1ldGFkYXRhID0ge1xuICAgIGNvbnRlbnQ6ICdWaXNpdGEgaHR0cHM6Ly9hbmd1bGFyLmlvIHBhcmEgZG9jdW1lbnRhY2nDs24gbyB2ZSBhIC9kYXNoYm9hcmQgcGFyYSBlbCBwYW5lbCBwcmluY2lwYWwuJyxcbiAgICBzaXplOiAnbWVkaXVtJyxcbiAgICBjb2xvcjogJ2RhcmsnLFxuICAgIGJvbGQ6IGZhbHNlLFxuICAgIHByb2Nlc3NMaW5rczogdHJ1ZSxcbiAgfTtcblxuICBjdXN0b21MaW5rc1Byb3BzOiBUZXh0TWV0YWRhdGEgPSB7XG4gICAgY29udGVudDogJ0VubGFjZXMgcGVyc29uYWxpemFkb3M6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIgeSAvcHJvZmlsZS9zZXR0aW5ncycsXG4gICAgc2l6ZTogJ21lZGl1bScsXG4gICAgY29sb3I6ICdkYXJrJyxcbiAgICBib2xkOiBmYWxzZSxcbiAgICBwcm9jZXNzTGlua3M6IHRydWUsXG4gICAgbGlua0NvbmZpZzoge1xuICAgICAgb3BlbkV4dGVybmFsSW5OZXdUYWI6IHRydWUsXG4gICAgICBvcGVuSW50ZXJuYWxJbk5ld1RhYjogZmFsc2UsXG4gICAgICBsaW5rQ2xhc3M6ICdjdXN0b20tbGluay1zdHlsZScsXG4gICAgICBleHRlcm5hbExpbmtDbGFzczogJ2V4dGVybmFsLWN1c3RvbScsXG4gICAgICBpbnRlcm5hbExpbmtDbGFzczogJ2ludGVybmFsLWN1c3RvbScsXG4gICAgfSxcbiAgfTtcblxuICBtaXhlZExpbmtzUHJvcHM6IFRleHRNZXRhZGF0YSA9IHtcbiAgICBjb250ZW50OlxuICAgICAgJ0NvbnN1bHRhIGxhIGRvY3VtZW50YWNpw7NuIGVuIGh0dHBzOi8vaW9uaWNmcmFtZXdvcmsuY29tL2RvY3MsIHJldmlzYSBlbCBjw7NkaWdvIGVuIGh0dHBzOi8vZ2l0aHViLmNvbS9pb25pYy10ZWFtL2lvbmljLWZyYW1ld29yaywgbyBuYXZlZ2EgYSAvY29tcG9uZW50cy9idXR0b25zIHBhcmEgZWplbXBsb3MgaW50ZXJub3MuJyxcbiAgICBzaXplOiAnbWVkaXVtJyxcbiAgICBjb2xvcjogJ2RhcmsnLFxuICAgIGJvbGQ6IGZhbHNlLFxuICAgIHByb2Nlc3NMaW5rczogdHJ1ZSxcbiAgICBsaW5rQ29uZmlnOiB7XG4gICAgICBvcGVuRXh0ZXJuYWxJbk5ld1RhYjogdHJ1ZSxcbiAgICAgIG9wZW5JbnRlcm5hbEluTmV3VGFiOiBmYWxzZSxcbiAgICAgIGxpbmtDbGFzczogJ3Byb2Nlc3NlZC1saW5rJyxcbiAgICAgIGV4dGVybmFsTGlua0NsYXNzOiAnZXh0ZXJuYWwtbGluaycsXG4gICAgICBpbnRlcm5hbExpbmtDbGFzczogJ2ludGVybmFsLWxpbmsnLFxuICAgIH0sXG4gIH07XG5cbiAgc2FtZVRhYkxpbmtzUHJvcHM6IFRleHRNZXRhZGF0YSA9IHtcbiAgICBjb250ZW50OiAnRXN0b3MgZW5sYWNlcyBubyBhYnJlbiBlbiBudWV2YSBwZXN0YcOxYTogaHR0cHM6Ly9leGFtcGxlLmNvbSB5IC9ob21lJyxcbiAgICBzaXplOiAnbWVkaXVtJyxcbiAgICBjb2xvcjogJ2RhcmsnLFxuICAgIGJvbGQ6IGZhbHNlLFxuICAgIHByb2Nlc3NMaW5rczogdHJ1ZSxcbiAgICBsaW5rQ29uZmlnOiB7XG4gICAgICBvcGVuRXh0ZXJuYWxJbk5ld1RhYjogZmFsc2UsXG4gICAgICBvcGVuSW50ZXJuYWxJbk5ld1RhYjogZmFsc2UsXG4gICAgICBsaW5rQ2xhc3M6ICdzYW1lLXRhYi1saW5rJyxcbiAgICAgIGV4dGVybmFsTGlua0NsYXNzOiAnZXh0ZXJuYWwtc2FtZS10YWInLFxuICAgICAgaW50ZXJuYWxMaW5rQ2xhc3M6ICdpbnRlcm5hbC1zYW1lLXRhYicsXG4gICAgfSxcbiAgfTtcblxuICBtYXJrZG93bkxpbmtzUHJvcHM6IFRleHRNZXRhZGF0YSA9IHtcbiAgICBjb250ZW50OlxuICAgICAgJ0NvbnN1bHRhIFtsYSBkb2N1bWVudGFjacOzbiBkZSBBbmd1bGFyXShodHRwczovL2FuZ3VsYXIuaW8vZG9jcykgeSB2ZSBhIFtjb25maWd1cmFjacOzbiBkZWwgcGVyZmlsXSgvcHJvZmlsZS9zZXR0aW5ncykgcGFyYSBtw6FzIG9wY2lvbmVzLicsXG4gICAgc2l6ZTogJ21lZGl1bScsXG4gICAgY29sb3I6ICdkYXJrJyxcbiAgICBib2xkOiBmYWxzZSxcbiAgICBwcm9jZXNzTGlua3M6IHRydWUsXG4gICAgbGlua0NvbmZpZzoge1xuICAgICAgb3BlbkV4dGVybmFsSW5OZXdUYWI6IHRydWUsXG4gICAgICBvcGVuSW50ZXJuYWxJbk5ld1RhYjogZmFsc2UsXG4gICAgICBwcm9jZXNzTWFya2Rvd25MaW5rczogdHJ1ZSxcbiAgICAgIGxpbmtDbGFzczogJ21hcmtkb3duLWxpbmsnLFxuICAgICAgZXh0ZXJuYWxMaW5rQ2xhc3M6ICdtYXJrZG93bi1leHRlcm5hbCcsXG4gICAgICBpbnRlcm5hbExpbmtDbGFzczogJ21hcmtkb3duLWludGVybmFsJyxcbiAgICB9LFxuICB9O1xuXG4gIG1peGVkRm9ybWF0c1Byb3BzOiBUZXh0TWV0YWRhdGEgPSB7XG4gICAgY29udGVudDpcbiAgICAgICdBcXXDrSBoYXkgW2RvY3VtZW50YWNpw7NuIG9maWNpYWxdKGh0dHBzOi8vYW5ndWxhci5pby9kb2NzKSwgdW4gZW5sYWNlIGRpcmVjdG8gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhciwgeSB1bmEgcnV0YSBpbnRlcm5hIC9kYXNoYm9hcmQvYW5hbHl0aWNzLiDCoVRvZG9zIGZ1bmNpb25hbiEnLFxuICAgIHNpemU6ICdtZWRpdW0nLFxuICAgIGNvbG9yOiAnZGFyaycsXG4gICAgYm9sZDogZmFsc2UsXG4gICAgcHJvY2Vzc0xpbmtzOiB0cnVlLFxuICAgIGxpbmtDb25maWc6IHtcbiAgICAgIG9wZW5FeHRlcm5hbEluTmV3VGFiOiB0cnVlLFxuICAgICAgb3BlbkludGVybmFsSW5OZXdUYWI6IGZhbHNlLFxuICAgICAgcHJvY2Vzc01hcmtkb3duTGlua3M6IHRydWUsXG4gICAgICBsaW5rQ2xhc3M6ICdtaXhlZC1saW5rJyxcbiAgICAgIGV4dGVybmFsTGlua0NsYXNzOiAnbWl4ZWQtZXh0ZXJuYWwnLFxuICAgICAgaW50ZXJuYWxMaW5rQ2xhc3M6ICdtaXhlZC1pbnRlcm5hbCcsXG4gICAgfSxcbiAgfTtcblxuICBwdW5jdHVhdGlvblRlc3RQcm9wczogVGV4dE1ldGFkYXRhID0ge1xuICAgIGNvbnRlbnQ6XG4gICAgICAnVVJMcyBjb24gcHVudHVhY2nDs24gZmluYWw6IGh0dHBzOi8vaW9uaWNmcmFtZXdvcmsuY29tL2RvY3MsIHRhbWJpw6luIGh0dHBzOi8vYW5ndWxhci5pbyEgUHJlZ3VudGEgc29icmUgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXI/IFkgcHVudG8gZmluYWw6IGh0dHBzOi8vdHlwZXNjcmlwdC5vcmcuIFBhcsOpbnRlc2lzIChodHRwczovL3J4anMuZGV2KSB5IGNvbWlsbGFzIFwiaHR0cHM6Ly96b25lLmpzXCIuIMKhVG9kb3MgZnVuY2lvbmFuIScsXG4gICAgc2l6ZTogJ21lZGl1bScsXG4gICAgY29sb3I6ICdkYXJrJyxcbiAgICBib2xkOiBmYWxzZSxcbiAgICBwcm9jZXNzTGlua3M6IHRydWUsXG4gICAgbGlua0NvbmZpZzoge1xuICAgICAgb3BlbkV4dGVybmFsSW5OZXdUYWI6IHRydWUsXG4gICAgICBsaW5rQ2xhc3M6ICdwdW5jdHVhdGlvbi10ZXN0JyxcbiAgICAgIGV4dGVybmFsTGlua0NsYXNzOiAnZXh0ZXJuYWwtcHVuY3QnLFxuICAgIH0sXG4gIH07XG5cbiAgY29tcGxleFVybHNQcm9wczogVGV4dE1ldGFkYXRhID0ge1xuICAgIGNvbnRlbnQ6XG4gICAgICAnVVJMcyBjb21wbGVqYXM6IGh0dHBzOi8vZXhhbXBsZS5jb20vcGF0aD9wYXJhbT12YWx1ZSZvdGhlcj0xMjMjc2VjdGlvbiwgYsO6c3F1ZWRhIGVuIGh0dHBzOi8vZ29vZ2xlLmNvbS9zZWFyY2g/cT1hbmd1bGFyK2NvbXBvbmVudHMsIHkgQVBJIGh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvb3duZXIvcmVwby9pc3N1ZXM/c3RhdGU9b3Blbi4gVG9kb3MgY29uIHBhcsOhbWV0cm9zIHkgZnJhZ21lbnRvcy4nLFxuICAgIHNpemU6ICdtZWRpdW0nLFxuICAgIGNvbG9yOiAnZGFyaycsXG4gICAgYm9sZDogZmFsc2UsXG4gICAgcHJvY2Vzc0xpbmtzOiB0cnVlLFxuICAgIGxpbmtDb25maWc6IHtcbiAgICAgIG9wZW5FeHRlcm5hbEluTmV3VGFiOiB0cnVlLFxuICAgICAgbGlua0NsYXNzOiAnY29tcGxleC11cmwnLFxuICAgICAgZXh0ZXJuYWxMaW5rQ2xhc3M6ICdjb21wbGV4LWV4dGVybmFsJyxcbiAgICB9LFxuICB9O1xufVxuIl19
|