valtech-components 2.0.343 → 2.0.344
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/organisms/wizard/wizard.component.mjs +40 -59
- package/fesm2022/valtech-components.mjs +38 -57
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/organisms/article/article.component.d.ts +2 -2
- package/lib/components/organisms/wizard/wizard.component.d.ts +7 -35
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
3
3
|
import { goToTop } from '../../../shared/utils/dom';
|
|
4
4
|
import { ContentLoaderComponent } from '../../molecules/content-loader/content-loader.component';
|
|
5
5
|
import { ComponentStates } from '../../types';
|
|
@@ -7,92 +7,73 @@ import { NoContentComponent } from '../no-content/no-content.component';
|
|
|
7
7
|
import { MOTION } from './types';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
import * as i1 from "@angular/common";
|
|
10
|
-
/**
|
|
11
|
-
* WizardComponent
|
|
12
|
-
*
|
|
13
|
-
* Componente para flujos de pasos (wizard) reutilizable, con soporte para estados, errores y navegación entre pasos.
|
|
14
|
-
* Permite mostrar contenido personalizado por paso y manejar acciones de navegación.
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* <val-wizard [props]="wizardProps" (onClick)="handleWizardNav($event)">
|
|
18
|
-
* <div step>Contenido del paso</div>
|
|
19
|
-
* </val-wizard>
|
|
20
|
-
*
|
|
21
|
-
* @input props {WizardMetadata} - Metadatos del wizard, pasos y estado.
|
|
22
|
-
* @output onClick - Emite el paso actual y la acción de navegación (MOTION).
|
|
23
|
-
*/
|
|
24
10
|
export class WizardComponent {
|
|
25
|
-
constructor() {
|
|
26
|
-
|
|
27
|
-
* Evento emitido al hacer click en una acción de navegación.
|
|
28
|
-
*/
|
|
11
|
+
constructor(cdr) {
|
|
12
|
+
this.cdr = cdr;
|
|
29
13
|
this.onClick = new EventEmitter();
|
|
30
14
|
this.wrapperId = 'wizard-wrapper';
|
|
15
|
+
this.currentStep = null;
|
|
16
|
+
}
|
|
17
|
+
ngOnInit() {
|
|
18
|
+
this.updateCurrentStep();
|
|
19
|
+
}
|
|
20
|
+
ngOnChanges(changes) {
|
|
21
|
+
if (changes['props']) {
|
|
22
|
+
this.updateCurrentStep();
|
|
23
|
+
this.cdr.detectChanges();
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
updateCurrentStep() {
|
|
27
|
+
if (this.props?.steps && this.props.current) {
|
|
28
|
+
this.currentStep = this.props.steps[this.props.current];
|
|
29
|
+
}
|
|
31
30
|
}
|
|
32
|
-
ngOnInit() { }
|
|
33
|
-
/**
|
|
34
|
-
* Cambia el estado del wizard a 'WORKING' y deshabilita los botones del paso actual.
|
|
35
|
-
*/
|
|
36
31
|
working() {
|
|
37
32
|
this.props.state = ComponentStates.WORKING;
|
|
38
|
-
this.
|
|
39
|
-
|
|
40
|
-
|
|
33
|
+
if (this.currentStep?.buttons) {
|
|
34
|
+
this.currentStep.buttons.forEach(button => {
|
|
35
|
+
button.state = ComponentStates.DISABLED;
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
this.cdr.detectChanges();
|
|
41
39
|
}
|
|
42
|
-
/**
|
|
43
|
-
* Cambia el estado del wizard a 'ENABLED' y habilita los botones del paso actual.
|
|
44
|
-
* No realiza cambios si ya está en estado 'ENABLED'.
|
|
45
|
-
*/
|
|
46
40
|
done() {
|
|
47
41
|
if (this.props.state === ComponentStates.ENABLED) {
|
|
48
42
|
return;
|
|
49
43
|
}
|
|
50
44
|
this.props.state = ComponentStates.ENABLED;
|
|
51
|
-
this.
|
|
52
|
-
|
|
53
|
-
|
|
45
|
+
if (this.currentStep?.buttons) {
|
|
46
|
+
this.currentStep.buttons.forEach(button => {
|
|
47
|
+
button.state = ComponentStates.ENABLED;
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
this.cdr.detectChanges();
|
|
54
51
|
}
|
|
55
|
-
/**
|
|
56
|
-
* Devuelve el paso actual del wizard.
|
|
57
|
-
*/
|
|
58
52
|
get Current() {
|
|
59
|
-
return this.props.steps[this.props.current];
|
|
53
|
+
return this.currentStep || this.props.steps[this.props.current];
|
|
60
54
|
}
|
|
61
|
-
/**
|
|
62
|
-
* Cambia el paso actual del wizard y hace scroll al inicio.
|
|
63
|
-
* @param newStep Nuevo índice de paso
|
|
64
|
-
*/
|
|
65
55
|
setCurrent(newStep) {
|
|
66
56
|
if (newStep === this.props.current) {
|
|
67
57
|
return;
|
|
68
58
|
}
|
|
69
59
|
this.props.current = newStep;
|
|
60
|
+
this.updateCurrentStep();
|
|
61
|
+
this.cdr.detectChanges();
|
|
70
62
|
goToTop(this.wrapperId);
|
|
71
63
|
}
|
|
72
|
-
/**
|
|
73
|
-
* Establece el estado de error y muestra el mensaje de error en el banner inferior.
|
|
74
|
-
* @param error Mensaje de error a mostrar
|
|
75
|
-
*/
|
|
76
64
|
setError(error) {
|
|
77
65
|
if (this.props.state === ComponentStates.ERROR) {
|
|
78
66
|
return;
|
|
79
67
|
}
|
|
80
68
|
this.props.error.titles.bottomContent.content.bellowTitle.content = error;
|
|
81
69
|
this.props.state = ComponentStates.ERROR;
|
|
70
|
+
this.cdr.detectChanges();
|
|
82
71
|
goToTop(this.wrapperId);
|
|
83
72
|
}
|
|
84
|
-
/**
|
|
85
|
-
* Reinicia el estado de error y vuelve a estado 'ENABLED'.
|
|
86
|
-
*/
|
|
87
73
|
reset() {
|
|
88
74
|
this.props.error.titles.bottomContent.content.bellowTitle.content = '';
|
|
89
75
|
this.done();
|
|
90
76
|
}
|
|
91
|
-
/**
|
|
92
|
-
* Maneja el click en el banner de error y emite el evento de navegación.
|
|
93
|
-
* Si el token contiene 'retry', reinicia el wizard.
|
|
94
|
-
* @param token Token de la acción clicada
|
|
95
|
-
*/
|
|
96
77
|
clickHandler(token) {
|
|
97
78
|
if (!token) {
|
|
98
79
|
return;
|
|
@@ -102,11 +83,11 @@ export class WizardComponent {
|
|
|
102
83
|
}
|
|
103
84
|
this.onClick.emit({ current: this.props.current, motion: MOTION.RETRY });
|
|
104
85
|
}
|
|
105
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WizardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
106
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: WizardComponent, isStandalone: true, selector: "val-wizard", inputs: { props: "props" }, outputs: { onClick: "onClick" }, ngImport: i0, template: `
|
|
86
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WizardComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
87
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: WizardComponent, isStandalone: true, selector: "val-wizard", inputs: { props: "props" }, outputs: { onClick: "onClick" }, usesOnChanges: true, ngImport: i0, template: `
|
|
107
88
|
<div [id]="wrapperId" class="wrapper">
|
|
108
89
|
<ng-container *ngIf="props.state !== 'ERROR'">
|
|
109
|
-
<val-no-content [props]="
|
|
90
|
+
<val-no-content *ngIf="currentStep" [props]="currentStep.titles"></val-no-content>
|
|
110
91
|
<div class="step">
|
|
111
92
|
<div *ngIf="props.state === 'WORKING'">
|
|
112
93
|
<val-content-loader
|
|
@@ -132,7 +113,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
132
113
|
args: [{ selector: 'val-wizard', standalone: true, imports: [CommonModule, NoContentComponent, ContentLoaderComponent], template: `
|
|
133
114
|
<div [id]="wrapperId" class="wrapper">
|
|
134
115
|
<ng-container *ngIf="props.state !== 'ERROR'">
|
|
135
|
-
<val-no-content [props]="
|
|
116
|
+
<val-no-content *ngIf="currentStep" [props]="currentStep.titles"></val-no-content>
|
|
136
117
|
<div class="step">
|
|
137
118
|
<div *ngIf="props.state === 'WORKING'">
|
|
138
119
|
<val-content-loader
|
|
@@ -152,9 +133,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
152
133
|
</ng-container>
|
|
153
134
|
</div>
|
|
154
135
|
`, 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)}.wrapper{height:auto;display:flex;flex-direction:column;justify-content:space-between;position:relative;min-height:320px}.step{min-height:9.375rem;margin:16px 0;text-align:center}\n"] }]
|
|
155
|
-
}], ctorParameters: () => [], propDecorators: { props: [{
|
|
136
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { props: [{
|
|
156
137
|
type: Input
|
|
157
138
|
}], onClick: [{
|
|
158
139
|
type: Output
|
|
159
140
|
}] } });
|
|
160
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6YXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL3dpemFyZC93aXphcmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxNQUFNLEVBQXdCLE1BQU0sU0FBUyxDQUFDOzs7QUErQnZELE1BQU0sT0FBTyxlQUFlO0lBVTFCLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBTDFDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBdUMsQ0FBQztRQUVsRSxjQUFTLEdBQUcsZ0JBQWdCLENBQUM7UUFDN0IsZ0JBQVcsR0FBZ0IsSUFBSSxDQUFDO0lBRWEsQ0FBQztJQUU5QyxRQUFRO1FBQ04sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDM0IsQ0FB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LEtBQWM7UUFDekIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDZixDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzNFLENBQUM7K0dBNUZVLGVBQWU7bUdBQWYsZUFBZSx3SkF6QmhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JULGt3RkF2QlMsWUFBWSxtSUFBRSxrQkFBa0Isb0dBQUUsc0JBQXNCOzs0RkEwQnZELGVBQWU7a0JBN0IzQixTQUFTOytCQUNFLFlBQVksY0FDVixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsc0JBQXNCLENBQUMsWUFDekQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQlQ7c0ZBS0QsS0FBSztzQkFESixLQUFLO2dCQUlOLE9BQU87c0JBRE4sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdvVG9Ub3AgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvdXRpbHMvZG9tJztcbmltcG9ydCB7IENvbnRlbnRMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvY29udGVudC1sb2FkZXIvY29udGVudC1sb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IENvbXBvbmVudFN0YXRlcyB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IE5vQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4uL25vLWNvbnRlbnQvbm8tY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTU9USU9OLCBTdGVwLCBXaXphcmRNZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtd2l6YXJkJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTm9Db250ZW50Q29tcG9uZW50LCBDb250ZW50TG9hZGVyQ29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IFtpZF09XCJ3cmFwcGVySWRcIiBjbGFzcz1cIndyYXBwZXJcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcm9wcy5zdGF0ZSAhPT0gJ0VSUk9SJ1wiPlxuICAgICAgICA8dmFsLW5vLWNvbnRlbnQgKm5nSWY9XCJjdXJyZW50U3RlcFwiIFtwcm9wc109XCJjdXJyZW50U3RlcC50aXRsZXNcIj48L3ZhbC1uby1jb250ZW50PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RlcFwiPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJwcm9wcy5zdGF0ZSA9PT0gJ1dPUktJTkcnXCI+XG4gICAgICAgICAgICA8dmFsLWNvbnRlbnQtbG9hZGVyXG4gICAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgICAgbmFtZTogJ2NpcmN1bGFyJyxcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3ByaW1hcnknLFxuICAgICAgICAgICAgICAgIHNpemU6ICdsYXJnZScsXG4gICAgICAgICAgICAgICAgdGV4dDogJ1BvciBmYXZvciBlc3BlcmUuLi4nLFxuICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3N0ZXBdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInByb3BzLnN0YXRlID09PSAnRVJST1InXCI+XG4gICAgICAgIDx2YWwtbm8tY29udGVudCBbcHJvcHNdPVwicHJvcHMuZXJyb3IudGl0bGVzXCIgKG9uQ2xpY2spPVwiY2xpY2tIYW5kbGVyKCRldmVudClcIj48L3ZhbC1uby1jb250ZW50PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3dpemFyZC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBXaXphcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIHByb3BzOiBXaXphcmRNZXRhZGF0YTtcblxuICBAT3V0cHV0KClcbiAgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8eyBjdXJyZW50OiBudW1iZXI7IG1vdGlvbjogTU9USU9OIH0+KCk7XG5cbiAgd3JhcHBlcklkID0gJ3dpemFyZC13cmFwcGVyJztcbiAgY3VycmVudFN0ZXA6IFN0ZXAgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy51cGRhdGVDdXJyZW50U3RlcCgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydwcm9wcyddKSB7XG4gICAgICB0aGlzLnVwZGF0ZUN1cnJlbnRTdGVwKCk7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDdXJyZW50U3RlcCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wcm9wcz8uc3RlcHMgJiYgdGhpcy5wcm9wcy5jdXJyZW50KSB7XG4gICAgICB0aGlzLmN1cnJlbnRTdGVwID0gdGhpcy5wcm9wcy5zdGVwc1t0aGlzLnByb3BzLmN1cnJlbnRdO1xuICAgIH1cbiAgfVxuXG4gIHdvcmtpbmcoKSB7XG4gICAgdGhpcy5wcm9wcy5zdGF0ZSA9IENvbXBvbmVudFN0YXRlcy5XT1JLSU5HO1xuICAgIGlmICh0aGlzLmN1cnJlbnRTdGVwPy5idXR0b25zKSB7XG4gICAgICB0aGlzLmN1cnJlbnRTdGVwLmJ1dHRvbnMuZm9yRWFjaChidXR0b24gPT4ge1xuICAgICAgICBidXR0b24uc3RhdGUgPSBDb21wb25lbnRTdGF0ZXMuRElTQUJMRUQ7XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgZG9uZSgpIHtcbiAgICBpZiAodGhpcy5wcm9wcy5zdGF0ZSA9PT0gQ29tcG9uZW50U3RhdGVzLkVOQUJMRUQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnByb3BzLnN0YXRlID0gQ29tcG9uZW50U3RhdGVzLkVOQUJMRUQ7XG4gICAgaWYgKHRoaXMuY3VycmVudFN0ZXA/LmJ1dHRvbnMpIHtcbiAgICAgIHRoaXMuY3VycmVudFN0ZXAuYnV0dG9ucy5mb3JFYWNoKGJ1dHRvbiA9PiB7XG4gICAgICAgIGJ1dHRvbi5zdGF0ZSA9IENvbXBvbmVudFN0YXRlcy5FTkFCTEVEO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGdldCBDdXJyZW50KCk6IFN0ZXAge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRTdGVwIHx8IHRoaXMucHJvcHMuc3RlcHNbdGhpcy5wcm9wcy5jdXJyZW50XTtcbiAgfVxuXG4gIHNldEN1cnJlbnQobmV3U3RlcDogbnVtYmVyKSB7XG4gICAgaWYgKG5ld1N0ZXAgPT09IHRoaXMucHJvcHMuY3VycmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnByb3BzLmN1cnJlbnQgPSBuZXdTdGVwO1xuICAgIHRoaXMudXBkYXRlQ3VycmVudFN0ZXAoKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgZ29Ub1RvcCh0aGlzLndyYXBwZXJJZCk7XG4gIH1cblxuICBzZXRFcnJvcihlcnJvcjogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMucHJvcHMuc3RhdGUgPT09IENvbXBvbmVudFN0YXRlcy5FUlJPUikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucHJvcHMuZXJyb3IudGl0bGVzLmJvdHRvbUNvbnRlbnQuY29udGVudC5iZWxsb3dUaXRsZS5jb250ZW50ID0gZXJyb3I7XG4gICAgdGhpcy5wcm9wcy5zdGF0ZSA9IENvbXBvbmVudFN0YXRlcy5FUlJPUjtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgZ29Ub1RvcCh0aGlzLndyYXBwZXJJZCk7XG4gIH1cblxuICByZXNldCgpIHtcbiAgICB0aGlzLnByb3BzLmVycm9yLnRpdGxlcy5ib3R0b21Db250ZW50LmNvbnRlbnQuYmVsbG93VGl0bGUuY29udGVudCA9ICcnO1xuICAgIHRoaXMuZG9uZSgpO1xuICB9XG5cbiAgY2xpY2tIYW5kbGVyKHRva2VuPzogc3RyaW5nKSB7XG4gICAgaWYgKCF0b2tlbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodG9rZW4uaW5jbHVkZXMoJ3JldHJ5JykpIHtcbiAgICAgIHRoaXMucmVzZXQoKTtcbiAgICB9XG5cbiAgICB0aGlzLm9uQ2xpY2suZW1pdCh7IGN1cnJlbnQ6IHRoaXMucHJvcHMuY3VycmVudCwgbW90aW9uOiBNT1RJT04uUkVUUlkgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -7825,92 +7825,73 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
7825
7825
|
type: Output
|
|
7826
7826
|
}] } });
|
|
7827
7827
|
|
|
7828
|
-
/**
|
|
7829
|
-
* WizardComponent
|
|
7830
|
-
*
|
|
7831
|
-
* Componente para flujos de pasos (wizard) reutilizable, con soporte para estados, errores y navegación entre pasos.
|
|
7832
|
-
* Permite mostrar contenido personalizado por paso y manejar acciones de navegación.
|
|
7833
|
-
*
|
|
7834
|
-
* @example
|
|
7835
|
-
* <val-wizard [props]="wizardProps" (onClick)="handleWizardNav($event)">
|
|
7836
|
-
* <div step>Contenido del paso</div>
|
|
7837
|
-
* </val-wizard>
|
|
7838
|
-
*
|
|
7839
|
-
* @input props {WizardMetadata} - Metadatos del wizard, pasos y estado.
|
|
7840
|
-
* @output onClick - Emite el paso actual y la acción de navegación (MOTION).
|
|
7841
|
-
*/
|
|
7842
7828
|
class WizardComponent {
|
|
7843
|
-
constructor() {
|
|
7844
|
-
|
|
7845
|
-
* Evento emitido al hacer click en una acción de navegación.
|
|
7846
|
-
*/
|
|
7829
|
+
constructor(cdr) {
|
|
7830
|
+
this.cdr = cdr;
|
|
7847
7831
|
this.onClick = new EventEmitter();
|
|
7848
7832
|
this.wrapperId = 'wizard-wrapper';
|
|
7833
|
+
this.currentStep = null;
|
|
7834
|
+
}
|
|
7835
|
+
ngOnInit() {
|
|
7836
|
+
this.updateCurrentStep();
|
|
7837
|
+
}
|
|
7838
|
+
ngOnChanges(changes) {
|
|
7839
|
+
if (changes['props']) {
|
|
7840
|
+
this.updateCurrentStep();
|
|
7841
|
+
this.cdr.detectChanges();
|
|
7842
|
+
}
|
|
7843
|
+
}
|
|
7844
|
+
updateCurrentStep() {
|
|
7845
|
+
if (this.props?.steps && this.props.current) {
|
|
7846
|
+
this.currentStep = this.props.steps[this.props.current];
|
|
7847
|
+
}
|
|
7849
7848
|
}
|
|
7850
|
-
ngOnInit() { }
|
|
7851
|
-
/**
|
|
7852
|
-
* Cambia el estado del wizard a 'WORKING' y deshabilita los botones del paso actual.
|
|
7853
|
-
*/
|
|
7854
7849
|
working() {
|
|
7855
7850
|
this.props.state = ComponentStates.WORKING;
|
|
7856
|
-
this.
|
|
7857
|
-
|
|
7858
|
-
|
|
7851
|
+
if (this.currentStep?.buttons) {
|
|
7852
|
+
this.currentStep.buttons.forEach(button => {
|
|
7853
|
+
button.state = ComponentStates.DISABLED;
|
|
7854
|
+
});
|
|
7855
|
+
}
|
|
7856
|
+
this.cdr.detectChanges();
|
|
7859
7857
|
}
|
|
7860
|
-
/**
|
|
7861
|
-
* Cambia el estado del wizard a 'ENABLED' y habilita los botones del paso actual.
|
|
7862
|
-
* No realiza cambios si ya está en estado 'ENABLED'.
|
|
7863
|
-
*/
|
|
7864
7858
|
done() {
|
|
7865
7859
|
if (this.props.state === ComponentStates.ENABLED) {
|
|
7866
7860
|
return;
|
|
7867
7861
|
}
|
|
7868
7862
|
this.props.state = ComponentStates.ENABLED;
|
|
7869
|
-
this.
|
|
7870
|
-
|
|
7871
|
-
|
|
7863
|
+
if (this.currentStep?.buttons) {
|
|
7864
|
+
this.currentStep.buttons.forEach(button => {
|
|
7865
|
+
button.state = ComponentStates.ENABLED;
|
|
7866
|
+
});
|
|
7867
|
+
}
|
|
7868
|
+
this.cdr.detectChanges();
|
|
7872
7869
|
}
|
|
7873
|
-
/**
|
|
7874
|
-
* Devuelve el paso actual del wizard.
|
|
7875
|
-
*/
|
|
7876
7870
|
get Current() {
|
|
7877
|
-
return this.props.steps[this.props.current];
|
|
7871
|
+
return this.currentStep || this.props.steps[this.props.current];
|
|
7878
7872
|
}
|
|
7879
|
-
/**
|
|
7880
|
-
* Cambia el paso actual del wizard y hace scroll al inicio.
|
|
7881
|
-
* @param newStep Nuevo índice de paso
|
|
7882
|
-
*/
|
|
7883
7873
|
setCurrent(newStep) {
|
|
7884
7874
|
if (newStep === this.props.current) {
|
|
7885
7875
|
return;
|
|
7886
7876
|
}
|
|
7887
7877
|
this.props.current = newStep;
|
|
7878
|
+
this.updateCurrentStep();
|
|
7879
|
+
this.cdr.detectChanges();
|
|
7888
7880
|
goToTop(this.wrapperId);
|
|
7889
7881
|
}
|
|
7890
|
-
/**
|
|
7891
|
-
* Establece el estado de error y muestra el mensaje de error en el banner inferior.
|
|
7892
|
-
* @param error Mensaje de error a mostrar
|
|
7893
|
-
*/
|
|
7894
7882
|
setError(error) {
|
|
7895
7883
|
if (this.props.state === ComponentStates.ERROR) {
|
|
7896
7884
|
return;
|
|
7897
7885
|
}
|
|
7898
7886
|
this.props.error.titles.bottomContent.content.bellowTitle.content = error;
|
|
7899
7887
|
this.props.state = ComponentStates.ERROR;
|
|
7888
|
+
this.cdr.detectChanges();
|
|
7900
7889
|
goToTop(this.wrapperId);
|
|
7901
7890
|
}
|
|
7902
|
-
/**
|
|
7903
|
-
* Reinicia el estado de error y vuelve a estado 'ENABLED'.
|
|
7904
|
-
*/
|
|
7905
7891
|
reset() {
|
|
7906
7892
|
this.props.error.titles.bottomContent.content.bellowTitle.content = '';
|
|
7907
7893
|
this.done();
|
|
7908
7894
|
}
|
|
7909
|
-
/**
|
|
7910
|
-
* Maneja el click en el banner de error y emite el evento de navegación.
|
|
7911
|
-
* Si el token contiene 'retry', reinicia el wizard.
|
|
7912
|
-
* @param token Token de la acción clicada
|
|
7913
|
-
*/
|
|
7914
7895
|
clickHandler(token) {
|
|
7915
7896
|
if (!token) {
|
|
7916
7897
|
return;
|
|
@@ -7920,11 +7901,11 @@ class WizardComponent {
|
|
|
7920
7901
|
}
|
|
7921
7902
|
this.onClick.emit({ current: this.props.current, motion: MOTION.RETRY });
|
|
7922
7903
|
}
|
|
7923
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WizardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7924
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: WizardComponent, isStandalone: true, selector: "val-wizard", inputs: { props: "props" }, outputs: { onClick: "onClick" }, ngImport: i0, template: `
|
|
7904
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WizardComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7905
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: WizardComponent, isStandalone: true, selector: "val-wizard", inputs: { props: "props" }, outputs: { onClick: "onClick" }, usesOnChanges: true, ngImport: i0, template: `
|
|
7925
7906
|
<div [id]="wrapperId" class="wrapper">
|
|
7926
7907
|
<ng-container *ngIf="props.state !== 'ERROR'">
|
|
7927
|
-
<val-no-content [props]="
|
|
7908
|
+
<val-no-content *ngIf="currentStep" [props]="currentStep.titles"></val-no-content>
|
|
7928
7909
|
<div class="step">
|
|
7929
7910
|
<div *ngIf="props.state === 'WORKING'">
|
|
7930
7911
|
<val-content-loader
|
|
@@ -7950,7 +7931,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
7950
7931
|
args: [{ selector: 'val-wizard', standalone: true, imports: [CommonModule, NoContentComponent, ContentLoaderComponent], template: `
|
|
7951
7932
|
<div [id]="wrapperId" class="wrapper">
|
|
7952
7933
|
<ng-container *ngIf="props.state !== 'ERROR'">
|
|
7953
|
-
<val-no-content [props]="
|
|
7934
|
+
<val-no-content *ngIf="currentStep" [props]="currentStep.titles"></val-no-content>
|
|
7954
7935
|
<div class="step">
|
|
7955
7936
|
<div *ngIf="props.state === 'WORKING'">
|
|
7956
7937
|
<val-content-loader
|
|
@@ -7970,7 +7951,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
7970
7951
|
</ng-container>
|
|
7971
7952
|
</div>
|
|
7972
7953
|
`, 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)}.wrapper{height:auto;display:flex;flex-direction:column;justify-content:space-between;position:relative;min-height:320px}.step{min-height:9.375rem;margin:16px 0;text-align:center}\n"] }]
|
|
7973
|
-
}], ctorParameters: () => [], propDecorators: { props: [{
|
|
7954
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { props: [{
|
|
7974
7955
|
type: Input
|
|
7975
7956
|
}], onClick: [{
|
|
7976
7957
|
type: Output
|