valtech-components 4.0.132 → 4.0.134

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.
@@ -56,7 +56,7 @@ import { BrowserMultiFormatReader } from '@zxing/browser';
56
56
  * Current version of valtech-components.
57
57
  * This is automatically updated during the publish process.
58
58
  */
59
- const VERSION = '4.0.132';
59
+ const VERSION = '4.0.134';
60
60
 
61
61
  // Control de estado de refresco (singleton a nivel de módulo)
62
62
  let isRefreshing = false;
@@ -17195,7 +17195,6 @@ class LanguageSelectorV2Component {
17195
17195
  <span class="lsv2__flag">{{ f }}</span>
17196
17196
  }
17197
17197
  <span class="lsv2__name">{{ name(current()) }}</span>
17198
- <span class="lsv2__chevron" aria-hidden="true">⌄</span>
17199
17198
  </button>
17200
17199
 
17201
17200
  @if (open()) {
@@ -17220,7 +17219,7 @@ class LanguageSelectorV2Component {
17220
17219
  </ul>
17221
17220
  }
17222
17221
  </div>
17223
- `, isInline: true, styles: [".lsv2{position:relative;display:inline-block}.lsv2__trigger{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;margin:0;font-size:.9375rem;font-weight:600;line-height:1.2;cursor:pointer;color:var(--ion-text-color, #1a1a1a);background:var(--ion-card-background, var(--ion-background-color, #ffffff));border:1.5px solid var(--ion-color-dark, #1a1a1a);border-radius:10px;transition:border-color .15s ease,box-shadow .15s ease}.lsv2__trigger.is-open,.lsv2__trigger:focus-visible{border-color:var(--ion-color-primary);outline:none;box-shadow:0 0 0 3px rgba(var(--ion-color-primary-rgb, 112, 38, 223),.15)}.lsv2__flag{font-size:1.15em;line-height:1}.lsv2__name{white-space:nowrap}.lsv2__chevron{margin-left:2px;font-size:1em;line-height:1;opacity:.55}.lsv2__menu{position:absolute;top:calc(100% + 6px);left:0;z-index:50;min-width:100%;margin:0;padding:6px;list-style:none;background:var(--ion-card-background, var(--ion-background-color, #ffffff));border:1px solid var(--ion-border-color, rgba(0, 0, 0, .12));border-radius:12px;box-shadow:0 8px 24px #00000029}.lsv2__option{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;cursor:pointer;white-space:nowrap;color:var(--ion-text-color, #1a1a1a);transition:background .12s ease}.lsv2__option:hover{background:var(--ion-color-light, rgba(0, 0, 0, .05))}.lsv2__option.is-active{font-weight:700}.lsv2__check{margin-left:auto;color:var(--ion-color-primary);font-weight:700}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
17222
+ `, isInline: true, styles: [".lsv2{position:relative;display:inline-block}.lsv2__trigger{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;margin:0;font-size:.9375rem;font-weight:600;line-height:1.2;cursor:pointer;color:var(--ion-text-color, #1a1a1a);background:var(--ion-card-background, var(--ion-background-color, #ffffff));border:1.5px solid var(--ion-color-dark, #1a1a1a);border-radius:10px;transition:border-color .15s ease,box-shadow .15s ease}.lsv2__trigger.is-open,.lsv2__trigger:focus-visible{border-color:var(--ion-color-primary);outline:none;box-shadow:0 0 0 3px rgba(var(--ion-color-primary-rgb, 112, 38, 223),.15)}.lsv2__flag{font-size:1.15em;line-height:1}.lsv2__name{white-space:nowrap}.lsv2__menu{position:absolute;top:calc(100% + 6px);left:0;z-index:50;min-width:100%;margin:0;padding:6px;list-style:none;background:var(--ion-card-background, var(--ion-background-color, #ffffff));border:1px solid var(--ion-border-color, rgba(0, 0, 0, .12));border-radius:12px;box-shadow:0 8px 24px #00000029}.lsv2__option{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;cursor:pointer;white-space:nowrap;color:var(--ion-text-color, #1a1a1a);transition:background .12s ease}.lsv2__option:hover{background:var(--ion-color-light, rgba(0, 0, 0, .05))}.lsv2__option.is-active{font-weight:700}.lsv2__check{margin-left:auto;color:var(--ion-color-primary);font-weight:700}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
17224
17223
  }
17225
17224
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LanguageSelectorV2Component, decorators: [{
17226
17225
  type: Component,
@@ -17239,7 +17238,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
17239
17238
  <span class="lsv2__flag">{{ f }}</span>
17240
17239
  }
17241
17240
  <span class="lsv2__name">{{ name(current()) }}</span>
17242
- <span class="lsv2__chevron" aria-hidden="true">⌄</span>
17243
17241
  </button>
17244
17242
 
17245
17243
  @if (open()) {
@@ -17264,7 +17262,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
17264
17262
  </ul>
17265
17263
  }
17266
17264
  </div>
17267
- `, styles: [".lsv2{position:relative;display:inline-block}.lsv2__trigger{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;margin:0;font-size:.9375rem;font-weight:600;line-height:1.2;cursor:pointer;color:var(--ion-text-color, #1a1a1a);background:var(--ion-card-background, var(--ion-background-color, #ffffff));border:1.5px solid var(--ion-color-dark, #1a1a1a);border-radius:10px;transition:border-color .15s ease,box-shadow .15s ease}.lsv2__trigger.is-open,.lsv2__trigger:focus-visible{border-color:var(--ion-color-primary);outline:none;box-shadow:0 0 0 3px rgba(var(--ion-color-primary-rgb, 112, 38, 223),.15)}.lsv2__flag{font-size:1.15em;line-height:1}.lsv2__name{white-space:nowrap}.lsv2__chevron{margin-left:2px;font-size:1em;line-height:1;opacity:.55}.lsv2__menu{position:absolute;top:calc(100% + 6px);left:0;z-index:50;min-width:100%;margin:0;padding:6px;list-style:none;background:var(--ion-card-background, var(--ion-background-color, #ffffff));border:1px solid var(--ion-border-color, rgba(0, 0, 0, .12));border-radius:12px;box-shadow:0 8px 24px #00000029}.lsv2__option{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;cursor:pointer;white-space:nowrap;color:var(--ion-text-color, #1a1a1a);transition:background .12s ease}.lsv2__option:hover{background:var(--ion-color-light, rgba(0, 0, 0, .05))}.lsv2__option.is-active{font-weight:700}.lsv2__check{margin-left:auto;color:var(--ion-color-primary);font-weight:700}\n"] }]
17265
+ `, styles: [".lsv2{position:relative;display:inline-block}.lsv2__trigger{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;margin:0;font-size:.9375rem;font-weight:600;line-height:1.2;cursor:pointer;color:var(--ion-text-color, #1a1a1a);background:var(--ion-card-background, var(--ion-background-color, #ffffff));border:1.5px solid var(--ion-color-dark, #1a1a1a);border-radius:10px;transition:border-color .15s ease,box-shadow .15s ease}.lsv2__trigger.is-open,.lsv2__trigger:focus-visible{border-color:var(--ion-color-primary);outline:none;box-shadow:0 0 0 3px rgba(var(--ion-color-primary-rgb, 112, 38, 223),.15)}.lsv2__flag{font-size:1.15em;line-height:1}.lsv2__name{white-space:nowrap}.lsv2__menu{position:absolute;top:calc(100% + 6px);left:0;z-index:50;min-width:100%;margin:0;padding:6px;list-style:none;background:var(--ion-card-background, var(--ion-background-color, #ffffff));border:1px solid var(--ion-border-color, rgba(0, 0, 0, .12));border-radius:12px;box-shadow:0 8px 24px #00000029}.lsv2__option{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;cursor:pointer;white-space:nowrap;color:var(--ion-text-color, #1a1a1a);transition:background .12s ease}.lsv2__option:hover{background:var(--ion-color-light, rgba(0, 0, 0, .05))}.lsv2__option.is-active{font-weight:700}.lsv2__check{margin-left:auto;color:var(--ion-color-primary);font-weight:700}\n"] }]
17268
17266
  }], propDecorators: { props: [{
17269
17267
  type: Input
17270
17268
  }], languageChange: [{
@@ -51594,7 +51592,6 @@ const PERMISSIONS_VIEW_I18N = {
51594
51592
  // Grupos de alcance
51595
51593
  groupApp: 'Permisos de la app',
51596
51594
  groupOrg: 'Permisos de la organización',
51597
- groupPlatform: 'Permisos de plataforma',
51598
51595
  groupOther: 'Otras apps',
51599
51596
  // Roles del sistema
51600
51597
  roleViewer: 'Visor',
@@ -51650,7 +51647,6 @@ const PERMISSIONS_VIEW_I18N = {
51650
51647
  noPermissions: 'No permissions assigned.',
51651
51648
  groupApp: 'App permissions',
51652
51649
  groupOrg: 'Organization permissions',
51653
- groupPlatform: 'Platform permissions',
51654
51650
  groupOther: 'Other apps',
51655
51651
  roleViewer: 'Viewer',
51656
51652
  roleEditor: 'Editor',
@@ -51836,12 +51832,18 @@ class PermissionsViewComponent {
51836
51832
  }
51837
51833
  const groups = [];
51838
51834
  if (appPerms.length) {
51839
- groups.push({ key: 'app', label: this.tt('groupApp'), perms: appPerms });
51835
+ groups.push({
51836
+ key: 'app',
51837
+ label: this.tt('groupApp'),
51838
+ scope: 'app',
51839
+ perms: appPerms,
51840
+ });
51840
51841
  }
51841
51842
  if (orgPerms.length) {
51842
51843
  groups.push({
51843
51844
  key: 'org',
51844
51845
  label: this.tt('groupOrg'),
51846
+ scope: 'org',
51845
51847
  perms: orgPerms,
51846
51848
  });
51847
51849
  }
@@ -51849,6 +51851,8 @@ class PermissionsViewComponent {
51849
51851
  groups.push({
51850
51852
  key: `other:${appId}`,
51851
51853
  label: `${this.tt('groupOther')}: ${this.appLabel(appId)}`,
51854
+ scope: 'other',
51855
+ appId,
51852
51856
  perms,
51853
51857
  });
51854
51858
  }
@@ -51954,8 +51958,8 @@ class PermissionsViewComponent {
51954
51958
  </div>
51955
51959
  } @else {
51956
51960
  @for (g of role.groups; track g.key) {
51957
- <div class="perm-group">
51958
- <span class="perm-group__label">{{ g.label }}</span>
51961
+ <div [class]="'perm-group perm-group--' + g.scope">
51962
+ <span class="perm-group__badge">{{ g.label }}</span>
51959
51963
  <div class="perm-chips">
51960
51964
  @for (p of g.perms; track p) {
51961
51965
  <span class="perm-chip">{{ p }}</span>
@@ -52015,8 +52019,8 @@ class PermissionsViewComponent {
52015
52019
  </div>
52016
52020
  } @else {
52017
52021
  @for (g of role.groups; track g.key) {
52018
- <div class="perm-group">
52019
- <span class="perm-group__label">{{ g.label }}</span>
52022
+ <div [class]="'perm-group perm-group--' + g.scope">
52023
+ <span class="perm-group__badge">{{ g.label }}</span>
52020
52024
  <div class="perm-chips">
52021
52025
  @for (p of g.perms; track p) {
52022
52026
  <span class="perm-chip">{{ p }}</span>
@@ -52033,7 +52037,7 @@ class PermissionsViewComponent {
52033
52037
  }
52034
52038
  }
52035
52039
  </div>
52036
- `, isInline: true, styles: [".page{padding:16px 0;max-width:720px;margin:0 auto}.page-header{margin-bottom:24px}.spinner-row,.error-row{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px 0}.perm-section{margin-bottom:32px}.perm-section__header{margin-bottom:12px}.role-list{display:flex;flex-direction:column;gap:10px}.role-card{border:1.5px solid var(--ion-color-light);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.role-card__header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.role-card__name{font-size:.9375rem;font-weight:600;color:var(--ion-color-dark)}.role-card__desc{font-size:.8125rem;color:var(--ion-color-medium);line-height:1.4}.perm-group{display:flex;flex-direction:column;gap:6px}.perm-group__label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ion-color-medium)}.perm-chips{display:flex;flex-wrap:wrap;gap:6px}.perm-chip{font-size:.75rem;padding:3px 10px;border-radius:20px;background:var(--ion-color-light);color:var(--ion-color-dark)}.perm-chip--empty{color:var(--ion-color-medium);background:transparent;padding-left:0}\n"], dependencies: [{ kind: "component", type: SkeletonLayoutComponent, selector: "val-skeleton-layout", inputs: ["props"] }, { kind: "component", type: DisplayComponent, selector: "val-display", inputs: ["props"] }, { kind: "component", type: PillComponent, selector: "val-pill", inputs: ["preset", "props"], outputs: ["pillClick", "pillAction"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }, { kind: "component", type: TextComponent, selector: "val-text", inputs: ["props"] }, { kind: "component", type: ButtonComponent, selector: "val-button", inputs: ["preset", "props"], outputs: ["onClick"] }] }); }
52040
+ `, isInline: true, styles: [".page{padding:16px 0;max-width:720px;margin:0 auto}.page-header{margin-bottom:24px}.spinner-row,.error-row{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px 0}.perm-section{margin-bottom:32px}.perm-section__header{margin-bottom:12px}.role-list{display:flex;flex-direction:column;gap:10px}.role-card{border:1.5px solid var(--ion-color-light);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.role-card__header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.role-card__name{font-size:.9375rem;font-weight:600;color:var(--ion-color-dark)}.role-card__desc{font-size:.8125rem;color:var(--ion-color-medium);line-height:1.4}.perm-group{display:flex;flex-direction:column;gap:6px}.perm-group__badge{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 9px;border-radius:6px}.perm-group--app .perm-group__badge{color:var(--ion-color-primary);background:rgba(var(--ion-color-primary-rgb),.12)}.perm-group--org .perm-group__badge{color:var(--ion-color-medium-shade, var(--ion-color-medium));background:var(--ion-color-light-shade, rgba(0, 0, 0, .06))}.perm-group--other .perm-group__badge{color:var(--ion-color-tertiary);background:rgba(var(--ion-color-tertiary-rgb),.12)}.perm-chips{display:flex;flex-wrap:wrap;gap:6px}.perm-chip{font-size:.75rem;padding:3px 10px;border-radius:20px;background:var(--ion-color-light);color:var(--ion-color-dark)}.perm-group--app .perm-chip{background:rgba(var(--ion-color-primary-rgb),.08)}.perm-group--other .perm-chip{background:rgba(var(--ion-color-tertiary-rgb),.08)}.perm-chip--empty{color:var(--ion-color-medium);background:transparent;padding-left:0}\n"], dependencies: [{ kind: "component", type: SkeletonLayoutComponent, selector: "val-skeleton-layout", inputs: ["props"] }, { kind: "component", type: DisplayComponent, selector: "val-display", inputs: ["props"] }, { kind: "component", type: PillComponent, selector: "val-pill", inputs: ["preset", "props"], outputs: ["pillClick", "pillAction"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }, { kind: "component", type: TextComponent, selector: "val-text", inputs: ["props"] }, { kind: "component", type: ButtonComponent, selector: "val-button", inputs: ["preset", "props"], outputs: ["onClick"] }] }); }
52037
52041
  }
52038
52042
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PermissionsViewComponent, decorators: [{
52039
52043
  type: Component,
@@ -52108,8 +52112,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
52108
52112
  </div>
52109
52113
  } @else {
52110
52114
  @for (g of role.groups; track g.key) {
52111
- <div class="perm-group">
52112
- <span class="perm-group__label">{{ g.label }}</span>
52115
+ <div [class]="'perm-group perm-group--' + g.scope">
52116
+ <span class="perm-group__badge">{{ g.label }}</span>
52113
52117
  <div class="perm-chips">
52114
52118
  @for (p of g.perms; track p) {
52115
52119
  <span class="perm-chip">{{ p }}</span>
@@ -52169,8 +52173,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
52169
52173
  </div>
52170
52174
  } @else {
52171
52175
  @for (g of role.groups; track g.key) {
52172
- <div class="perm-group">
52173
- <span class="perm-group__label">{{ g.label }}</span>
52176
+ <div [class]="'perm-group perm-group--' + g.scope">
52177
+ <span class="perm-group__badge">{{ g.label }}</span>
52174
52178
  <div class="perm-chips">
52175
52179
  @for (p of g.perms; track p) {
52176
52180
  <span class="perm-chip">{{ p }}</span>
@@ -52187,7 +52191,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
52187
52191
  }
52188
52192
  }
52189
52193
  </div>
52190
- `, styles: [".page{padding:16px 0;max-width:720px;margin:0 auto}.page-header{margin-bottom:24px}.spinner-row,.error-row{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px 0}.perm-section{margin-bottom:32px}.perm-section__header{margin-bottom:12px}.role-list{display:flex;flex-direction:column;gap:10px}.role-card{border:1.5px solid var(--ion-color-light);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.role-card__header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.role-card__name{font-size:.9375rem;font-weight:600;color:var(--ion-color-dark)}.role-card__desc{font-size:.8125rem;color:var(--ion-color-medium);line-height:1.4}.perm-group{display:flex;flex-direction:column;gap:6px}.perm-group__label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ion-color-medium)}.perm-chips{display:flex;flex-wrap:wrap;gap:6px}.perm-chip{font-size:.75rem;padding:3px 10px;border-radius:20px;background:var(--ion-color-light);color:var(--ion-color-dark)}.perm-chip--empty{color:var(--ion-color-medium);background:transparent;padding-left:0}\n"] }]
52194
+ `, styles: [".page{padding:16px 0;max-width:720px;margin:0 auto}.page-header{margin-bottom:24px}.spinner-row,.error-row{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px 0}.perm-section{margin-bottom:32px}.perm-section__header{margin-bottom:12px}.role-list{display:flex;flex-direction:column;gap:10px}.role-card{border:1.5px solid var(--ion-color-light);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.role-card__header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.role-card__name{font-size:.9375rem;font-weight:600;color:var(--ion-color-dark)}.role-card__desc{font-size:.8125rem;color:var(--ion-color-medium);line-height:1.4}.perm-group{display:flex;flex-direction:column;gap:6px}.perm-group__badge{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 9px;border-radius:6px}.perm-group--app .perm-group__badge{color:var(--ion-color-primary);background:rgba(var(--ion-color-primary-rgb),.12)}.perm-group--org .perm-group__badge{color:var(--ion-color-medium-shade, var(--ion-color-medium));background:var(--ion-color-light-shade, rgba(0, 0, 0, .06))}.perm-group--other .perm-group__badge{color:var(--ion-color-tertiary);background:rgba(var(--ion-color-tertiary-rgb),.12)}.perm-chips{display:flex;flex-wrap:wrap;gap:6px}.perm-chip{font-size:.75rem;padding:3px 10px;border-radius:20px;background:var(--ion-color-light);color:var(--ion-color-dark)}.perm-group--app .perm-chip{background:rgba(var(--ion-color-primary-rgb),.08)}.perm-group--other .perm-chip{background:rgba(var(--ion-color-tertiary-rgb),.08)}.perm-chip--empty{color:var(--ion-color-medium);background:transparent;padding-left:0}\n"] }]
52191
52195
  }], ctorParameters: () => [], propDecorators: { config: [{
52192
52196
  type: Input
52193
52197
  }], isModal: [{