valtech-components 2.0.356 → 2.0.358

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.
@@ -3576,6 +3576,7 @@ class ExpandableTextComponent {
3576
3576
  constructor() {
3577
3577
  this.expanded = false;
3578
3578
  this.defaultColor = 'primary';
3579
+ this.langService = inject(LangService);
3579
3580
  }
3580
3581
  get truncatedText() {
3581
3582
  const maxLength = this.props.limit || 100; // Longitud por defecto
@@ -3584,6 +3585,9 @@ class ExpandableTextComponent {
3584
3585
  get isTruncated() {
3585
3586
  return this.props.content?.length > (this.props.limit || 100);
3586
3587
  }
3588
+ getExpandText() {
3589
+ return this.props.expandText || this.langService.getText('_global', 'seeMore', 'ver más');
3590
+ }
3587
3591
  toggleExpand() {
3588
3592
  this.expanded = !this.expanded;
3589
3593
  }
@@ -3598,7 +3602,7 @@ class ExpandableTextComponent {
3598
3602
  <span class="content">{{ expanded ? props.content : truncatedText }}</span>
3599
3603
  @if (!expanded && isTruncated) {
3600
3604
  <span class="see-more" [style.color]="this.color()" (click)="toggleExpand()">
3601
- {{ props.expandText || 'ver más' }}
3605
+ {{ getExpandText() }}
3602
3606
  </span>
3603
3607
  }
3604
3608
  </p>
@@ -3615,7 +3619,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
3615
3619
  <span class="content">{{ expanded ? props.content : truncatedText }}</span>
3616
3620
  @if (!expanded && isTruncated) {
3617
3621
  <span class="see-more" [style.color]="this.color()" (click)="toggleExpand()">
3618
- {{ props.expandText || 'ver más' }}
3622
+ {{ getExpandText() }}
3619
3623
  </span>
3620
3624
  }
3621
3625
  </p>
@@ -3817,9 +3821,28 @@ class PopoverSelectorComponent {
3817
3821
  * Emits the selected value(s).
3818
3822
  */
3819
3823
  this.selectionChange = new EventEmitter();
3824
+ this.langService = inject(LangService);
3820
3825
  // Register required icons
3821
3826
  addIcons({ chevronDown });
3822
3827
  }
3828
+ /**
3829
+ * Get reactive placeholder text.
3830
+ */
3831
+ getPlaceholderText() {
3832
+ return this.props.placeholder || this.langService.getText('_global', 'select', 'Seleccionar...');
3833
+ }
3834
+ /**
3835
+ * Get reactive cancel text.
3836
+ */
3837
+ getCancelText() {
3838
+ return this.props.cancelText || this.langService.getText('_global', 'cancel', 'Cancelar');
3839
+ }
3840
+ /**
3841
+ * Get reactive ok text.
3842
+ */
3843
+ getOkText() {
3844
+ return this.props.okText || this.langService.getText('_global', 'ok', 'Aceptar');
3845
+ }
3823
3846
  /**
3824
3847
  * Handle selection change from the ion-select.
3825
3848
  * @param event - The ion-select change event
@@ -3835,18 +3858,19 @@ class PopoverSelectorComponent {
3835
3858
  */
3836
3859
  getDisplayText() {
3837
3860
  if (!this.props.selectedValue) {
3838
- return this.props.placeholder || 'Seleccionar...';
3861
+ return this.getPlaceholderText();
3839
3862
  }
3840
3863
  if (Array.isArray(this.props.selectedValue)) {
3841
3864
  // Multiple selection
3842
3865
  if (this.props.selectedValue.length === 0) {
3843
- return this.props.placeholder || 'Seleccionar...';
3866
+ return this.getPlaceholderText();
3844
3867
  }
3845
3868
  if (this.props.selectedValue.length === 1) {
3846
3869
  const option = this.props.options.find(opt => opt.value === this.props.selectedValue[0]);
3847
3870
  return option?.label || this.props.selectedValue[0];
3848
3871
  }
3849
- return `${this.props.selectedValue.length} seleccionados`;
3872
+ const selectedText = this.langService.getText('_global', 'selected', 'seleccionados');
3873
+ return `${this.props.selectedValue.length} ${selectedText}`;
3850
3874
  }
3851
3875
  // Single selection
3852
3876
  const selectedOption = this.props.options.find(opt => opt.value === this.props.selectedValue);
@@ -3858,12 +3882,12 @@ class PopoverSelectorComponent {
3858
3882
  <ion-label *ngIf="props.label" class="selector-label">{{ props.label }}</ion-label>
3859
3883
  <ion-select
3860
3884
  [value]="props.selectedValue"
3861
- [placeholder]="props.placeholder || 'Seleccionar...'"
3885
+ [placeholder]="getPlaceholderText()"
3862
3886
  [interface]="props.interface || 'popover'"
3863
3887
  [multiple]="props.multiple || false"
3864
3888
  [disabled]="props.disabled || false"
3865
- [cancelText]="props.cancelText || 'Cancelar'"
3866
- [okText]="props.okText || 'Aceptar'"
3889
+ [cancelText]="getCancelText()"
3890
+ [okText]="getOkText()"
3867
3891
  (ionChange)="onSelectionChange($event)"
3868
3892
  class="popover-selector-select"
3869
3893
  >
@@ -3900,12 +3924,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
3900
3924
  <ion-label *ngIf="props.label" class="selector-label">{{ props.label }}</ion-label>
3901
3925
  <ion-select
3902
3926
  [value]="props.selectedValue"
3903
- [placeholder]="props.placeholder || 'Seleccionar...'"
3927
+ [placeholder]="getPlaceholderText()"
3904
3928
  [interface]="props.interface || 'popover'"
3905
3929
  [multiple]="props.multiple || false"
3906
3930
  [disabled]="props.disabled || false"
3907
- [cancelText]="props.cancelText || 'Cancelar'"
3908
- [okText]="props.okText || 'Aceptar'"
3931
+ [cancelText]="getCancelText()"
3932
+ [okText]="getOkText()"
3909
3933
  (ionChange)="onSelectionChange($event)"
3910
3934
  class="popover-selector-select"
3911
3935
  >
@@ -4090,7 +4114,7 @@ class LanguageSelectorComponent {
4090
4114
  selectedValue: currentLanguage,
4091
4115
  label: this.props.showLabel !== false ? '' : undefined, // Will be set by label subscription
4092
4116
  icon: 'language',
4093
- placeholder: 'Seleccionar idioma...',
4117
+ placeholder: this.langService.getText('_global', 'selectLanguage', 'Seleccionar idioma...'),
4094
4118
  color: this.props.color || 'medium',
4095
4119
  size: this.props.size || 'default',
4096
4120
  fill: this.props.fill || 'outline',
@@ -5174,11 +5198,10 @@ const replaceSpecialChars = (text) => text.normalize('NFD').replace(/[\u0300-\u0
5174
5198
  */
5175
5199
  class SelectSearchComponent {
5176
5200
  constructor() {
5177
- this.label = 'Seleccionar';
5178
5201
  this.labelProperty = 'name';
5179
5202
  this.valueProperty = 'id';
5180
5203
  this.multiple = false;
5181
- this.placeholder = 'Seleccione una opción';
5204
+ this.langService = inject(LangService);
5182
5205
  this.icon = inject(IconService);
5183
5206
  this.changeDetector = inject(ChangeDetectorRef);
5184
5207
  this.searchTerm = '';
@@ -5187,6 +5210,8 @@ class SelectSearchComponent {
5187
5210
  this.displayValue = '';
5188
5211
  this.previousOptions = [];
5189
5212
  this.isProcessingChanges = false;
5213
+ this.label = this.langService.getText('_global', 'select', 'Seleccionar');
5214
+ this.placeholder = this.langService.getText('_global', 'selectOption', 'Seleccione una opción');
5190
5215
  }
5191
5216
  ngOnInit() {
5192
5217
  this.initializeItems();
@@ -5514,7 +5539,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
5514
5539
  </ng-template>
5515
5540
  </ion-modal>
5516
5541
  `, styles: ["ion-header{padding:8px 8px 0}\n"] }]
5517
- }], propDecorators: { modal: [{
5542
+ }], ctorParameters: () => [], propDecorators: { modal: [{
5518
5543
  type: ViewChild,
5519
5544
  args: ['modal']
5520
5545
  }], label: [{
@@ -5565,6 +5590,7 @@ class CodeDisplayComponent {
5565
5590
  constructor(cdr) {
5566
5591
  this.cdr = cdr;
5567
5592
  this.toast = inject(ToastController);
5593
+ this.langService = inject(LangService);
5568
5594
  this.selectedTab = 0;
5569
5595
  }
5570
5596
  ngOnChanges(changes) {
@@ -5592,7 +5618,8 @@ class CodeDisplayComponent {
5592
5618
  try {
5593
5619
  const code = this.props.tabs.length > 0 ? this.props.tabs[this.selectedTab]?.code : this.props.code;
5594
5620
  await Clipboard.write({ string: code || '' });
5595
- this.presentToast('Copiado al portapapeles!');
5621
+ const copiedMessage = this.langService.getText('_global', 'copied', '¡Copiado al portapapeles!');
5622
+ this.presentToast(copiedMessage);
5596
5623
  }
5597
5624
  catch (error) {
5598
5625
  console.error('Error al copiar al portapapeles:', error);
@@ -5621,7 +5648,7 @@ class CodeDisplayComponent {
5621
5648
  </div>
5622
5649
  </div>
5623
5650
  <div class="code-content">
5624
- <span class="language-badge">{{ props.tabs[selectedTab]?.language || props.language }}</span>
5651
+ <!-- <span class="language-badge">{{ props.tabs[selectedTab]?.language || props.language }}</span> -->
5625
5652
  <ion-button fill="clear" class="copy-button" (click)="copyToClipboard()">
5626
5653
  <ion-icon name="copy-outline"></ion-icon>
5627
5654
  </ion-button>
@@ -5645,7 +5672,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
5645
5672
  </div>
5646
5673
  </div>
5647
5674
  <div class="code-content">
5648
- <span class="language-badge">{{ props.tabs[selectedTab]?.language || props.language }}</span>
5675
+ <!-- <span class="language-badge">{{ props.tabs[selectedTab]?.language || props.language }}</span> -->
5649
5676
  <ion-button fill="clear" class="copy-button" (click)="copyToClipboard()">
5650
5677
  <ion-icon name="copy-outline"></ion-icon>
5651
5678
  </ion-button>
@@ -5807,6 +5834,7 @@ class PlainCodeBoxComponent {
5807
5834
  constructor() {
5808
5835
  this.toast = inject(ToastController);
5809
5836
  this.cdr = inject(ChangeDetectorRef);
5837
+ this.langService = inject(LangService);
5810
5838
  this.props = { lines: [] };
5811
5839
  }
5812
5840
  ngOnChanges(changes) {
@@ -5829,7 +5857,8 @@ class PlainCodeBoxComponent {
5829
5857
  await Clipboard.write({
5830
5858
  string: fullCode,
5831
5859
  });
5832
- this.presentToast('Copiado al portapapeles!');
5860
+ const copiedMessage = this.langService.getText('_global', 'copied', '¡Copiado al portapapeles!');
5861
+ this.presentToast(copiedMessage);
5833
5862
  }
5834
5863
  }
5835
5864
  async presentToast(message) {
@@ -5850,7 +5879,7 @@ class PlainCodeBoxComponent {
5850
5879
  <pre><code [class]="'language-' + (props.language || 'bash')" #codeBlock><ng-container *ngFor="let line of props.lines; let i = index"><span [class]="line.type ? 'line-' + line.type : 'line-normal'">{{ line.text }}</span><br *ngIf="i < props.lines.length - 1">
5851
5880
  </ng-container></code></pre>
5852
5881
  </div>
5853
- `, isInline: true, styles: [".code-box-container{position:relative;background-color:#282c34;border-radius:16px;overflow:hidden;box-shadow:0 4px 15px #0009;margin:0;padding:16px}@media (prefers-color-scheme: light){.code-box-container{background-color:#fff;box-shadow:0 2px 4px #0000001a}}.copy-button{position:absolute;top:8px;right:8px;z-index:10;--padding-start: 2px;--padding-end: 2px;--padding-top: 2px;--padding-bottom: 2px;min-width:28px;min-height:28px;height:28px;width:28px;color:#61afef;background:#0006;border-radius:6px;box-shadow:0 1px 4px #0000000d;display:flex;align-items:center;justify-content:center;transition:background .2s ease,color .2s ease}.copy-button:hover{background:#00000080;color:#8cc4ff}.copy-button ion-icon{font-size:1.2em;margin:0}@media (prefers-color-scheme: light){.copy-button{color:var(--ion-color-primary, #007bff);background:#ffffffb3}.copy-button:hover{background:#ffffffe6;color:var(--ion-color-primary-tint, #3880ff)}}pre{margin:0;padding:0;background-color:transparent;min-width:100%;min-height:100%;white-space:pre-wrap;word-break:normal;font-family:Roboto Mono,monospace}code{font-family:Roboto Mono,monospace;font-size:.9em;line-height:1.6;display:block;white-space:inherit;word-break:inherit;color:#abb2bf;margin:0;padding:0}@media (prefers-color-scheme: light){code{color:#333}}code .line-normal{color:#abb2bf}@media (prefers-color-scheme: light){code .line-normal{color:#333}}code .line-command{color:#c678dd}@media (prefers-color-scheme: light){code .line-command{color:var(--ion-color-primary, #3880ff)}}code .line-error{color:#e06c75}@media (prefers-color-scheme: light){code .line-error{color:var(--ion-color-danger, #eb445a)}}code .line-success{color:#98c379}@media (prefers-color-scheme: light){code .line-success{color:var(--ion-color-success, #2dd36f)}}code .token.comment{color:#5c6370}code .token.selector,code .token.string{color:#98c379}code .token.punctuation{color:#abb2bf}code .token.operator{color:#c678dd}code .token.boolean,code .token.number{color:#d19a66}code .token.function{color:#61afef}code .token.keyword{color:#c678dd}code .token.class-name{color:#e6c07b}code .token.tag{color:#e06c75}code .token.attr-name{color:#d19a66}code .token.attr-value{color:#98c379}code .token.property{color:#56b6c2}code .token.variable{color:#e06c75}@media (max-width: 600px){.code-box-container{border-radius:16px;padding:12px}.copy-button{top:6px;right:6px;min-width:24px;min-height:24px;height:24px;width:24px}.copy-button ion-icon{font-size:1em}pre{padding:0;margin:0}code{font-size:.8em;line-height:1.5;margin:0;padding:0}}@media (min-width: 601px) and (max-width: 1024px){code{font-size:.9em}}@media (min-width: 1025px){code{font-size:1em}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }] }); }
5882
+ `, isInline: true, styles: [".code-box-container{position:relative;background-color:#282c34;border-radius:16px;overflow:hidden;box-shadow:0 4px 15px #0009;margin:0}@media (prefers-color-scheme: light){.code-box-container{background-color:#fff;box-shadow:0 2px 4px #0000001a}}.copy-button{position:absolute;top:8px;right:8px;z-index:10;--padding-start: 2px;--padding-end: 2px;--padding-top: 2px;--padding-bottom: 2px;min-width:28px;min-height:28px;height:28px;width:28px;color:#61afef;background:#0006;border-radius:6px;box-shadow:0 1px 4px #0000000d;display:flex;align-items:center;justify-content:center;transition:background .2s ease,color .2s ease}.copy-button:hover{background:#00000080;color:#8cc4ff}.copy-button ion-icon{font-size:1.2em;margin:0}@media (prefers-color-scheme: light){.copy-button{color:var(--ion-color-primary, #007bff);background:#ffffffb3}.copy-button:hover{background:#ffffffe6;color:var(--ion-color-primary-tint, #3880ff)}}pre{margin:0;padding:0;background-color:transparent;min-width:100%;min-height:100%;white-space:pre-wrap;word-break:normal;font-family:Roboto Mono,monospace}code{font-family:Roboto Mono,monospace;font-size:.9em;line-height:1.6;display:block;white-space:inherit;word-break:inherit;color:#abb2bf;margin:0;padding:0}@media (prefers-color-scheme: light){code{color:#333}}code .line-normal{color:#abb2bf}@media (prefers-color-scheme: light){code .line-normal{color:#333}}code .line-command{color:#c678dd}@media (prefers-color-scheme: light){code .line-command{color:var(--ion-color-primary, #3880ff)}}code .line-error{color:#e06c75}@media (prefers-color-scheme: light){code .line-error{color:var(--ion-color-danger, #eb445a)}}code .line-success{color:#98c379}@media (prefers-color-scheme: light){code .line-success{color:var(--ion-color-success, #2dd36f)}}code .token.comment{color:#5c6370}code .token.selector,code .token.string{color:#98c379}code .token.punctuation{color:#abb2bf}code .token.operator{color:#c678dd}code .token.boolean,code .token.number{color:#d19a66}code .token.function{color:#61afef}code .token.keyword{color:#c678dd}code .token.class-name{color:#e6c07b}code .token.tag{color:#e06c75}code .token.attr-name{color:#d19a66}code .token.attr-value{color:#98c379}code .token.property{color:#56b6c2}code .token.variable{color:#e06c75}@media (max-width: 600px){.code-box-container{border-radius:16px}.copy-button{top:6px;right:6px;min-width:24px;min-height:24px;height:24px;width:24px}.copy-button ion-icon{font-size:1em}pre{padding:0;margin:0}code{font-size:.8em;line-height:1.5;margin:0}}@media (min-width: 601px) and (max-width: 1024px){code{font-size:.9em}}@media (min-width: 1025px){code{font-size:1em}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }] }); }
5854
5883
  }
5855
5884
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PlainCodeBoxComponent, decorators: [{
5856
5885
  type: Component,
@@ -5862,7 +5891,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
5862
5891
  <pre><code [class]="'language-' + (props.language || 'bash')" #codeBlock><ng-container *ngFor="let line of props.lines; let i = index"><span [class]="line.type ? 'line-' + line.type : 'line-normal'">{{ line.text }}</span><br *ngIf="i < props.lines.length - 1">
5863
5892
  </ng-container></code></pre>
5864
5893
  </div>
5865
- `, styles: [".code-box-container{position:relative;background-color:#282c34;border-radius:16px;overflow:hidden;box-shadow:0 4px 15px #0009;margin:0;padding:16px}@media (prefers-color-scheme: light){.code-box-container{background-color:#fff;box-shadow:0 2px 4px #0000001a}}.copy-button{position:absolute;top:8px;right:8px;z-index:10;--padding-start: 2px;--padding-end: 2px;--padding-top: 2px;--padding-bottom: 2px;min-width:28px;min-height:28px;height:28px;width:28px;color:#61afef;background:#0006;border-radius:6px;box-shadow:0 1px 4px #0000000d;display:flex;align-items:center;justify-content:center;transition:background .2s ease,color .2s ease}.copy-button:hover{background:#00000080;color:#8cc4ff}.copy-button ion-icon{font-size:1.2em;margin:0}@media (prefers-color-scheme: light){.copy-button{color:var(--ion-color-primary, #007bff);background:#ffffffb3}.copy-button:hover{background:#ffffffe6;color:var(--ion-color-primary-tint, #3880ff)}}pre{margin:0;padding:0;background-color:transparent;min-width:100%;min-height:100%;white-space:pre-wrap;word-break:normal;font-family:Roboto Mono,monospace}code{font-family:Roboto Mono,monospace;font-size:.9em;line-height:1.6;display:block;white-space:inherit;word-break:inherit;color:#abb2bf;margin:0;padding:0}@media (prefers-color-scheme: light){code{color:#333}}code .line-normal{color:#abb2bf}@media (prefers-color-scheme: light){code .line-normal{color:#333}}code .line-command{color:#c678dd}@media (prefers-color-scheme: light){code .line-command{color:var(--ion-color-primary, #3880ff)}}code .line-error{color:#e06c75}@media (prefers-color-scheme: light){code .line-error{color:var(--ion-color-danger, #eb445a)}}code .line-success{color:#98c379}@media (prefers-color-scheme: light){code .line-success{color:var(--ion-color-success, #2dd36f)}}code .token.comment{color:#5c6370}code .token.selector,code .token.string{color:#98c379}code .token.punctuation{color:#abb2bf}code .token.operator{color:#c678dd}code .token.boolean,code .token.number{color:#d19a66}code .token.function{color:#61afef}code .token.keyword{color:#c678dd}code .token.class-name{color:#e6c07b}code .token.tag{color:#e06c75}code .token.attr-name{color:#d19a66}code .token.attr-value{color:#98c379}code .token.property{color:#56b6c2}code .token.variable{color:#e06c75}@media (max-width: 600px){.code-box-container{border-radius:16px;padding:12px}.copy-button{top:6px;right:6px;min-width:24px;min-height:24px;height:24px;width:24px}.copy-button ion-icon{font-size:1em}pre{padding:0;margin:0}code{font-size:.8em;line-height:1.5;margin:0;padding:0}}@media (min-width: 601px) and (max-width: 1024px){code{font-size:.9em}}@media (min-width: 1025px){code{font-size:1em}}\n"] }]
5894
+ `, styles: [".code-box-container{position:relative;background-color:#282c34;border-radius:16px;overflow:hidden;box-shadow:0 4px 15px #0009;margin:0}@media (prefers-color-scheme: light){.code-box-container{background-color:#fff;box-shadow:0 2px 4px #0000001a}}.copy-button{position:absolute;top:8px;right:8px;z-index:10;--padding-start: 2px;--padding-end: 2px;--padding-top: 2px;--padding-bottom: 2px;min-width:28px;min-height:28px;height:28px;width:28px;color:#61afef;background:#0006;border-radius:6px;box-shadow:0 1px 4px #0000000d;display:flex;align-items:center;justify-content:center;transition:background .2s ease,color .2s ease}.copy-button:hover{background:#00000080;color:#8cc4ff}.copy-button ion-icon{font-size:1.2em;margin:0}@media (prefers-color-scheme: light){.copy-button{color:var(--ion-color-primary, #007bff);background:#ffffffb3}.copy-button:hover{background:#ffffffe6;color:var(--ion-color-primary-tint, #3880ff)}}pre{margin:0;padding:0;background-color:transparent;min-width:100%;min-height:100%;white-space:pre-wrap;word-break:normal;font-family:Roboto Mono,monospace}code{font-family:Roboto Mono,monospace;font-size:.9em;line-height:1.6;display:block;white-space:inherit;word-break:inherit;color:#abb2bf;margin:0;padding:0}@media (prefers-color-scheme: light){code{color:#333}}code .line-normal{color:#abb2bf}@media (prefers-color-scheme: light){code .line-normal{color:#333}}code .line-command{color:#c678dd}@media (prefers-color-scheme: light){code .line-command{color:var(--ion-color-primary, #3880ff)}}code .line-error{color:#e06c75}@media (prefers-color-scheme: light){code .line-error{color:var(--ion-color-danger, #eb445a)}}code .line-success{color:#98c379}@media (prefers-color-scheme: light){code .line-success{color:var(--ion-color-success, #2dd36f)}}code .token.comment{color:#5c6370}code .token.selector,code .token.string{color:#98c379}code .token.punctuation{color:#abb2bf}code .token.operator{color:#c678dd}code .token.boolean,code .token.number{color:#d19a66}code .token.function{color:#61afef}code .token.keyword{color:#c678dd}code .token.class-name{color:#e6c07b}code .token.tag{color:#e06c75}code .token.attr-name{color:#d19a66}code .token.attr-value{color:#98c379}code .token.property{color:#56b6c2}code .token.variable{color:#e06c75}@media (max-width: 600px){.code-box-container{border-radius:16px}.copy-button{top:6px;right:6px;min-width:24px;min-height:24px;height:24px;width:24px}.copy-button ion-icon{font-size:1em}pre{padding:0;margin:0}code{font-size:.8em;line-height:1.5;margin:0}}@media (min-width: 601px) and (max-width: 1024px){code{font-size:.9em}}@media (min-width: 1025px){code{font-size:1em}}\n"] }]
5866
5895
  }], ctorParameters: () => [], propDecorators: { props: [{
5867
5896
  type: Input
5868
5897
  }], codeBlock: [{
@@ -7869,12 +7898,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
7869
7898
  }] } });
7870
7899
 
7871
7900
  class WizardComponent {
7872
- constructor(cdr) {
7873
- this.cdr = cdr;
7901
+ constructor() {
7874
7902
  this.onClick = new EventEmitter();
7875
7903
  this.wrapperId = 'wizard-wrapper';
7876
7904
  this.currentStep = null;
7877
7905
  this.currentStepTitles = null;
7906
+ this.cdr = inject(ChangeDetectorRef);
7907
+ this.langService = inject(LangService);
7908
+ this.loadingText = this.langService.getText('_global', 'pleaseWait', 'Por favor espere...');
7878
7909
  }
7879
7910
  ngOnInit() {
7880
7911
  this.updateCurrentStep();
@@ -7963,7 +7994,7 @@ class WizardComponent {
7963
7994
  }
7964
7995
  this.onClick.emit({ current: this.props.current, motion: MOTION.RETRY });
7965
7996
  }
7966
- 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 }); }
7997
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WizardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7967
7998
  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: `
7968
7999
  <div [id]="wrapperId" class="wrapper">
7969
8000
  <ng-container *ngIf="props.state !== 'ERROR'">
@@ -7975,7 +8006,7 @@ class WizardComponent {
7975
8006
  name: 'circular',
7976
8007
  color: 'primary',
7977
8008
  size: 'large',
7978
- text: 'Por favor espere...',
8009
+ text: loadingText,
7979
8010
  }"
7980
8011
  />
7981
8012
  </div>
@@ -8001,7 +8032,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
8001
8032
  name: 'circular',
8002
8033
  color: 'primary',
8003
8034
  size: 'large',
8004
- text: 'Por favor espere...',
8035
+ text: loadingText,
8005
8036
  }"
8006
8037
  />
8007
8038
  </div>
@@ -8013,7 +8044,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
8013
8044
  </ng-container>
8014
8045
  </div>
8015
8046
  `, 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"] }]
8016
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { props: [{
8047
+ }], ctorParameters: () => [], propDecorators: { props: [{
8017
8048
  type: Input
8018
8049
  }], onClick: [{
8019
8050
  type: Output
@@ -8194,6 +8225,7 @@ const globalContentData = {
8194
8225
  refresh: 'Actualizar',
8195
8226
  // Common states and messages
8196
8227
  loading: 'Cargando...',
8228
+ pleaseWait: 'Por favor espere...',
8197
8229
  noData: 'No hay datos disponibles',
8198
8230
  error: 'Error',
8199
8231
  success: 'Éxito',
@@ -8218,7 +8250,13 @@ const globalContentData = {
8218
8250
  unsavedChanges: 'Tienes cambios sin guardar. ¿Deseas continuar?',
8219
8251
  // Common placeholders
8220
8252
  searchPlaceholder: 'Buscar...',
8253
+ select: 'Seleccionar...',
8254
+ selectOption: 'Seleccione una opción',
8255
+ selectLanguage: 'Seleccionar idioma...',
8256
+ // Status messages
8221
8257
  copied: '¡Copiado al portapapeles!',
8258
+ seeMore: 'ver más',
8259
+ selected: 'seleccionados',
8222
8260
  },
8223
8261
  en: {
8224
8262
  // Common buttons
@@ -8242,6 +8280,7 @@ const globalContentData = {
8242
8280
  refresh: 'Refresh',
8243
8281
  // Common states and messages
8244
8282
  loading: 'Loading...',
8283
+ pleaseWait: 'Please wait...',
8245
8284
  noData: 'No data available',
8246
8285
  error: 'Error',
8247
8286
  success: 'Success',
@@ -8266,7 +8305,13 @@ const globalContentData = {
8266
8305
  unsavedChanges: 'You have unsaved changes. Do you want to continue?',
8267
8306
  // Common placeholders
8268
8307
  searchPlaceholder: 'Search...',
8308
+ select: 'Select...',
8309
+ selectOption: 'Select an option',
8310
+ selectLanguage: 'Select language...',
8311
+ // Status messages
8269
8312
  copied: 'Copied to clipboard!',
8313
+ seeMore: 'see more',
8314
+ selected: 'selected',
8270
8315
  },
8271
8316
  };
8272
8317
  const GlobalContent = new TextContent(globalContentData);