valtech-components 2.0.347 → 2.0.349
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/display/display.component.mjs +10 -3
- package/esm2022/lib/components/atoms/title/title.component.mjs +13 -3
- package/esm2022/lib/components/molecules/title-block/title-block.component.mjs +16 -5
- package/esm2022/lib/components/organisms/banner/banner.component.mjs +16 -6
- package/esm2022/lib/components/organisms/no-content/no-content.component.mjs +5 -1
- package/esm2022/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.mjs +12 -6
- package/esm2022/lib/components/organisms/wizard/wizard.component.mjs +18 -4
- package/fesm2022/valtech-components.mjs +80 -18
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/atoms/display/display.component.d.ts +4 -2
- package/lib/components/atoms/title/title.component.d.ts +5 -2
- package/lib/components/molecules/title-block/title-block.component.d.ts +5 -3
- package/lib/components/organisms/article/article.component.d.ts +3 -3
- package/lib/components/organisms/banner/banner.component.d.ts +5 -3
- package/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.d.ts +5 -3
- package/package.json +1 -1
- package/src/lib/components/styles/prism.scss +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, Component, Input, Output, Injectable, inject, InjectionToken, Inject, Pipe, ChangeDetectionStrategy, ViewChild
|
|
2
|
+
import { EventEmitter, Component, Input, Output, Injectable, inject, InjectionToken, Inject, ChangeDetectorRef, Pipe, ChangeDetectionStrategy, ViewChild } from '@angular/core';
|
|
3
3
|
import { IonAvatar, IonCard, IonIcon, IonButton, IonSpinner, IonText, IonProgressBar, IonCardContent, IonCardHeader, IonCardTitle, IonCardSubtitle, IonCheckbox, IonButtons, IonTextarea, IonDatetime, IonDatetimeButton, IonModal, IonInput, IonSelect, IonSelectOption, IonLabel, IonRadioGroup, IonRadio, IonSearchbar, IonToolbar, IonTitle, IonMenuButton, IonFooter, IonHeader, IonList, IonListHeader, IonNote, IonItem, IonContent } from '@ionic/angular/standalone';
|
|
4
4
|
import * as i1 from '@angular/common';
|
|
5
5
|
import { CommonModule, NgStyle, AsyncPipe, NgFor, NgClass } from '@angular/common';
|
|
@@ -1579,10 +1579,17 @@ class DisplayComponent {
|
|
|
1579
1579
|
constructor() {
|
|
1580
1580
|
this.subscriptions = new Subscription();
|
|
1581
1581
|
this.langService = inject(LangService);
|
|
1582
|
+
this.cdr = inject(ChangeDetectorRef);
|
|
1582
1583
|
}
|
|
1583
1584
|
ngOnInit() {
|
|
1584
1585
|
this.initializeDisplayContent();
|
|
1585
1586
|
}
|
|
1587
|
+
ngOnChanges(changes) {
|
|
1588
|
+
if (changes['props']) {
|
|
1589
|
+
this.initializeDisplayContent();
|
|
1590
|
+
this.cdr.detectChanges();
|
|
1591
|
+
}
|
|
1592
|
+
}
|
|
1586
1593
|
ngOnDestroy() {
|
|
1587
1594
|
this.subscriptions.unsubscribe();
|
|
1588
1595
|
}
|
|
@@ -1603,7 +1610,7 @@ class DisplayComponent {
|
|
|
1603
1610
|
this.displayContent$ = of('');
|
|
1604
1611
|
}
|
|
1605
1612
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1606
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DisplayComponent, isStandalone: true, selector: "val-display", inputs: { props: "props" }, ngImport: i0, template: `
|
|
1613
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DisplayComponent, isStandalone: true, selector: "val-display", inputs: { props: "props" }, usesOnChanges: true, ngImport: i0, template: `
|
|
1607
1614
|
<ion-text [color]="props.color">
|
|
1608
1615
|
<p [class]="props.size">
|
|
1609
1616
|
{{ displayContent$ | async }}
|
|
@@ -2599,8 +2606,18 @@ function createTextProps(contentConfig, styleConfig = {}) {
|
|
|
2599
2606
|
class TitleComponent {
|
|
2600
2607
|
constructor() {
|
|
2601
2608
|
this.langService = inject(LangService);
|
|
2609
|
+
this.cdr = inject(ChangeDetectorRef);
|
|
2602
2610
|
}
|
|
2603
2611
|
ngOnInit() {
|
|
2612
|
+
this.updateContent();
|
|
2613
|
+
}
|
|
2614
|
+
ngOnChanges(changes) {
|
|
2615
|
+
if (changes['props']) {
|
|
2616
|
+
this.updateContent();
|
|
2617
|
+
this.cdr.detectChanges();
|
|
2618
|
+
}
|
|
2619
|
+
}
|
|
2620
|
+
updateContent() {
|
|
2604
2621
|
// Always convert to Observable for consistent template handling
|
|
2605
2622
|
if (shouldUseReactiveContent(this.props)) {
|
|
2606
2623
|
// Use reactive content with LangService
|
|
@@ -2614,7 +2631,7 @@ class TitleComponent {
|
|
|
2614
2631
|
}
|
|
2615
2632
|
}
|
|
2616
2633
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2617
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: TitleComponent, isStandalone: true, selector: "val-title", inputs: { props: "props" }, ngImport: i0, template: `
|
|
2634
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: TitleComponent, isStandalone: true, selector: "val-title", inputs: { props: "props" }, usesOnChanges: true, ngImport: i0, template: `
|
|
2618
2635
|
<ion-text [color]="props.color">
|
|
2619
2636
|
@if (!props.bold) {
|
|
2620
2637
|
<p [ngClass]="[props.size]" [class.thin]="props.thin">
|
|
@@ -4283,10 +4300,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
4283
4300
|
* @input props: TitleBlockMetada - Configuration for the title block (title, aboveTitle, bellowTitle, position)
|
|
4284
4301
|
*/
|
|
4285
4302
|
class TitleBlockComponent {
|
|
4286
|
-
constructor() {
|
|
4303
|
+
constructor(cdr) {
|
|
4304
|
+
this.cdr = cdr;
|
|
4305
|
+
}
|
|
4287
4306
|
ngOnInit() { }
|
|
4288
|
-
|
|
4289
|
-
|
|
4307
|
+
ngOnChanges(changes) {
|
|
4308
|
+
if (changes['props']) {
|
|
4309
|
+
// Forzar detección de cambios múltiple
|
|
4310
|
+
this.cdr.detectChanges();
|
|
4311
|
+
setTimeout(() => {
|
|
4312
|
+
this.cdr.detectChanges();
|
|
4313
|
+
}, 0);
|
|
4314
|
+
}
|
|
4315
|
+
}
|
|
4316
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TitleBlockComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4317
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TitleBlockComponent, isStandalone: true, selector: "val-title-block", inputs: { props: "props" }, usesOnChanges: true, ngImport: i0, template: `
|
|
4290
4318
|
<div [ngClass]="['titles-container', props.position]">
|
|
4291
4319
|
<val-title
|
|
4292
4320
|
*ngIf="props.aboveTitle"
|
|
@@ -4353,7 +4381,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
4353
4381
|
></val-title>
|
|
4354
4382
|
</div>
|
|
4355
4383
|
`, 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)}val-button,val-title,val-display{display:inline-block}.titles-container{width:100%;display:flex;flex-direction:column;flex-wrap:wrap}.titles-container.left{align-content:flex-start;align-items:start;text-align:left}.titles-container.center{align-content:center;align-items:center;text-align:center}.titles-container.right{align-content:flex-end;align-items:end;text-align:end}.titles-container.leftocenter{align-content:flex-start;align-items:start;text-align:left}@media (min-width: 768px){.titles-container.leftocenter{align-content:center;align-items:center;text-align:center}}\n"] }]
|
|
4356
|
-
}], ctorParameters: () => [], propDecorators: { props: [{
|
|
4384
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { props: [{
|
|
4357
4385
|
type: Input
|
|
4358
4386
|
}] } });
|
|
4359
4387
|
|
|
@@ -6477,19 +6505,29 @@ class ArticleBuilder {
|
|
|
6477
6505
|
* @output onClose - Emits when the banner is closed
|
|
6478
6506
|
*/
|
|
6479
6507
|
class BannerComponent {
|
|
6480
|
-
constructor() {
|
|
6508
|
+
constructor(cdr) {
|
|
6509
|
+
this.cdr = cdr;
|
|
6481
6510
|
this.onClick = new EventEmitter();
|
|
6482
6511
|
this.onClose = new EventEmitter();
|
|
6483
6512
|
}
|
|
6484
6513
|
ngOnInit() { }
|
|
6514
|
+
ngOnChanges(changes) {
|
|
6515
|
+
if (changes['props']) {
|
|
6516
|
+
// Forzar detección de cambios múltiple
|
|
6517
|
+
this.cdr.detectChanges();
|
|
6518
|
+
setTimeout(() => {
|
|
6519
|
+
this.cdr.detectChanges();
|
|
6520
|
+
}, 0);
|
|
6521
|
+
}
|
|
6522
|
+
}
|
|
6485
6523
|
clickHandler(token) {
|
|
6486
6524
|
this.onClick.emit(token);
|
|
6487
6525
|
}
|
|
6488
6526
|
closeHandler() {
|
|
6489
6527
|
this.onClose.emit();
|
|
6490
6528
|
}
|
|
6491
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6492
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BannerComponent, isStandalone: true, selector: "val-banner", inputs: { props: "props" }, outputs: { onClick: "onClick", onClose: "onClose" }, ngImport: i0, template: `
|
|
6529
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BannerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6530
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BannerComponent, isStandalone: true, selector: "val-banner", inputs: { props: "props" }, outputs: { onClick: "onClick", onClose: "onClose" }, usesOnChanges: true, ngImport: i0, template: `
|
|
6493
6531
|
<val-box
|
|
6494
6532
|
[props]="{
|
|
6495
6533
|
icon: props.closable ? 'close-outline' : '',
|
|
@@ -6550,7 +6588,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
6550
6588
|
</div>
|
|
6551
6589
|
</val-box>
|
|
6552
6590
|
`, 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)}.content-container{display:flex;justify-content:space-between}.content-container.center{flex-direction:column}.content-container.column{flex-direction:row}.content-container.row{flex-direction:column}.content-container.middle{align-items:center}.content-container.top{align-items:flex-start}.content-container.bottom{align-items:flex-end}.content-container.hybrid{flex-direction:column;align-items:flex-start}@media (min-width: 768px){.content-container.hybrid{flex-direction:row;align-items:center}}.buttons-container{align-items:center;display:flex;margin-top:1rem;margin-bottom:.0625rem}.buttons-container.column{margin-top:0rem}\n"] }]
|
|
6553
|
-
}], ctorParameters: () => [], propDecorators: { props: [{
|
|
6591
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { props: [{
|
|
6554
6592
|
type: Input
|
|
6555
6593
|
}], onClick: [{
|
|
6556
6594
|
type: Output
|
|
@@ -7678,7 +7716,11 @@ class NoContentComponent {
|
|
|
7678
7716
|
ngOnInit() { }
|
|
7679
7717
|
ngOnChanges(changes) {
|
|
7680
7718
|
if (changes['props']) {
|
|
7719
|
+
// Forzar detección de cambios múltiple para asegurar actualización
|
|
7681
7720
|
this.cdr.detectChanges();
|
|
7721
|
+
setTimeout(() => {
|
|
7722
|
+
this.cdr.detectChanges();
|
|
7723
|
+
}, 0);
|
|
7682
7724
|
}
|
|
7683
7725
|
}
|
|
7684
7726
|
onClickHandler(token) {
|
|
@@ -7727,11 +7769,17 @@ var MOTION;
|
|
|
7727
7769
|
})(MOTION || (MOTION = {}));
|
|
7728
7770
|
|
|
7729
7771
|
class WizardFooterComponent {
|
|
7730
|
-
constructor() {
|
|
7772
|
+
constructor(cdr) {
|
|
7773
|
+
this.cdr = cdr;
|
|
7731
7774
|
this.onClick = new EventEmitter();
|
|
7732
7775
|
this.wrapperId = 'wizard-wrapper';
|
|
7733
7776
|
}
|
|
7734
7777
|
ngOnInit() { }
|
|
7778
|
+
ngOnChanges(changes) {
|
|
7779
|
+
if (changes['props']) {
|
|
7780
|
+
this.cdr.detectChanges();
|
|
7781
|
+
}
|
|
7782
|
+
}
|
|
7735
7783
|
clickHandler(token) {
|
|
7736
7784
|
if (!token) {
|
|
7737
7785
|
return;
|
|
@@ -7764,8 +7812,8 @@ class WizardFooterComponent {
|
|
|
7764
7812
|
tryToStep(motion) {
|
|
7765
7813
|
this.onClick.emit({ current: this.props.current, motion });
|
|
7766
7814
|
}
|
|
7767
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WizardFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7768
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: WizardFooterComponent, isStandalone: true, selector: "val-wizard-footer", inputs: { props: "props" }, outputs: { onClick: "onClick" }, ngImport: i0, template: `
|
|
7815
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WizardFooterComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7816
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: WizardFooterComponent, isStandalone: true, selector: "val-wizard-footer", inputs: { props: "props" }, outputs: { onClick: "onClick" }, usesOnChanges: true, ngImport: i0, template: `
|
|
7769
7817
|
<val-footer
|
|
7770
7818
|
[props]="{
|
|
7771
7819
|
bordered: false,
|
|
@@ -7818,7 +7866,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
7818
7866
|
></val-button-group>
|
|
7819
7867
|
</val-footer>
|
|
7820
7868
|
` }]
|
|
7821
|
-
}], ctorParameters: () => [], propDecorators: { props: [{
|
|
7869
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { props: [{
|
|
7822
7870
|
type: Input
|
|
7823
7871
|
}], onClick: [{
|
|
7824
7872
|
type: Output
|
|
@@ -7844,7 +7892,17 @@ class WizardComponent {
|
|
|
7844
7892
|
updateCurrentStep() {
|
|
7845
7893
|
if (this.props?.steps && this.props?.current) {
|
|
7846
7894
|
this.currentStep = this.props.steps[this.props.current];
|
|
7847
|
-
|
|
7895
|
+
// Forzar nueva referencia de objeto para asegurar detección de cambios
|
|
7896
|
+
// Agregar timestamp para garantizar que es un objeto completamente nuevo
|
|
7897
|
+
this.currentStepTitles = this.currentStep?.titles
|
|
7898
|
+
? {
|
|
7899
|
+
...JSON.parse(JSON.stringify(this.currentStep.titles)),
|
|
7900
|
+
_timestamp: Date.now(), // Forzar nueva referencia
|
|
7901
|
+
_step: this.props.current, // Agregar identificador del paso
|
|
7902
|
+
}
|
|
7903
|
+
: null;
|
|
7904
|
+
// Forzar detección de cambios inmediatamente
|
|
7905
|
+
this.cdr.detectChanges();
|
|
7848
7906
|
}
|
|
7849
7907
|
}
|
|
7850
7908
|
working() {
|
|
@@ -7880,7 +7938,11 @@ class WizardComponent {
|
|
|
7880
7938
|
}
|
|
7881
7939
|
this.props.current = newStep;
|
|
7882
7940
|
this.updateCurrentStep();
|
|
7941
|
+
// Forzar múltiples ciclos de detección de cambios
|
|
7883
7942
|
this.cdr.detectChanges();
|
|
7943
|
+
setTimeout(() => {
|
|
7944
|
+
this.cdr.detectChanges();
|
|
7945
|
+
}, 0);
|
|
7884
7946
|
goToTop(this.wrapperId);
|
|
7885
7947
|
}
|
|
7886
7948
|
setError(error) {
|
|
@@ -7909,7 +7971,7 @@ class WizardComponent {
|
|
|
7909
7971
|
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: `
|
|
7910
7972
|
<div [id]="wrapperId" class="wrapper">
|
|
7911
7973
|
<ng-container *ngIf="props.state !== 'ERROR'">
|
|
7912
|
-
<val-no-content [props]="currentStepTitles"></val-no-content>
|
|
7974
|
+
<val-no-content [props]="currentStepTitles" [attr.data-step]="props.current"></val-no-content>
|
|
7913
7975
|
<div class="step">
|
|
7914
7976
|
<div *ngIf="props.state === 'WORKING'">
|
|
7915
7977
|
<val-content-loader
|
|
@@ -7935,7 +7997,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
7935
7997
|
args: [{ selector: 'val-wizard', standalone: true, imports: [CommonModule, NoContentComponent, ContentLoaderComponent], template: `
|
|
7936
7998
|
<div [id]="wrapperId" class="wrapper">
|
|
7937
7999
|
<ng-container *ngIf="props.state !== 'ERROR'">
|
|
7938
|
-
<val-no-content [props]="currentStepTitles"></val-no-content>
|
|
8000
|
+
<val-no-content [props]="currentStepTitles" [attr.data-step]="props.current"></val-no-content>
|
|
7939
8001
|
<div class="step">
|
|
7940
8002
|
<div *ngIf="props.state === 'WORKING'">
|
|
7941
8003
|
<val-content-loader
|