valtech-components 4.0.156 → 4.0.157
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/cookie-settings/cookie-settings.component.mjs +240 -0
- package/esm2022/lib/services/firebase/analytics.service.mjs +28 -4
- package/esm2022/lib/version.mjs +2 -2
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/valtech-components.mjs +261 -6
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/atoms/rights-footer/rights-footer.component.d.ts +1 -1
- package/lib/components/organisms/article/article.component.d.ts +2 -2
- package/lib/components/organisms/cookie-settings/cookie-settings.component.d.ts +47 -0
- package/lib/components/organisms/login/login.component.d.ts +1 -1
- package/lib/services/firebase/analytics.service.d.ts +6 -0
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, InjectionToken, makeEnvironmentProviders, APP_INITIALIZER, ErrorHandler, Injectable, DestroyRef, Inject, signal, computed, PLATFORM_ID, isDevMode, Optional, runInInjectionContext, effect, Pipe, TemplateRef, ViewContainerRef, input, Directive, EventEmitter, Component, Input, Output, ChangeDetectionStrategy, HostBinding, HostListener, SecurityContext, NgZone, ViewChild, ElementRef, ChangeDetectorRef, output, ContentChild, model, ViewEncapsulation,
|
|
2
|
+
import { inject, InjectionToken, makeEnvironmentProviders, APP_INITIALIZER, ErrorHandler, Injectable, DestroyRef, Inject, signal, computed, PLATFORM_ID, isDevMode, Optional, runInInjectionContext, effect, Pipe, TemplateRef, ViewContainerRef, input, Directive, EventEmitter, Component, Input, Output, ChangeDetectionStrategy, HostBinding, HostListener, SecurityContext, NgZone, ViewChild, ElementRef, ChangeDetectorRef, output, ContentChild, model, ViewEncapsulation, untracked, viewChild, Injector, isSignal } from '@angular/core';
|
|
3
3
|
import { BehaviorSubject, throwError, Subject, map, distinctUntilChanged, filter as filter$1, take as take$1, firstValueFrom, of, from, EMPTY, Observable, interval, debounceTime, switchMap as switchMap$1, catchError as catchError$1, takeUntil, isObservable, forkJoin, race, timer, shareReplay } from 'rxjs';
|
|
4
4
|
import { catchError, switchMap, finalize, filter, take, map as map$1, tap, distinctUntilChanged as distinctUntilChanged$1, retry, timeout, debounceTime as debounceTime$1, takeUntil as takeUntil$1 } from 'rxjs/operators';
|
|
5
5
|
import * as i1$3 from '@angular/common/http';
|
|
@@ -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.
|
|
59
|
+
const VERSION = '4.0.157';
|
|
60
60
|
|
|
61
61
|
// Control de estado de refresco (singleton a nivel de módulo)
|
|
62
62
|
let isRefreshing = false;
|
|
@@ -795,8 +795,7 @@ class AnalyticsService {
|
|
|
795
795
|
return this.isAnalyticsSupported() && this._consentState().settings.analytics === true;
|
|
796
796
|
});
|
|
797
797
|
this.analyticsConfig = config.analyticsConfig ?? {};
|
|
798
|
-
this.consentStorageKey =
|
|
799
|
-
this.analyticsConfig.consentStorageKey ?? DEFAULT_CONSENT_STORAGE_KEY;
|
|
798
|
+
this.consentStorageKey = this.analyticsConfig.consentStorageKey ?? DEFAULT_CONSENT_STORAGE_KEY;
|
|
800
799
|
this.eventPrefix = this.analyticsConfig.eventPrefix ?? '';
|
|
801
800
|
this.samplingRate = this.analyticsConfig.samplingRate ?? 1.0;
|
|
802
801
|
this.initializeAnalytics();
|
|
@@ -811,6 +810,9 @@ class AnalyticsService {
|
|
|
811
810
|
if (!isPlatformBrowser(this.platformId)) {
|
|
812
811
|
return;
|
|
813
812
|
}
|
|
813
|
+
// Consent Mode v2: default denied ANTES de que Firebase/gtag inicialice.
|
|
814
|
+
// Garantiza que no se recolectan datos hasta que el usuario decida.
|
|
815
|
+
this.setConsentModeDefault();
|
|
814
816
|
// Cargar consent desde localStorage
|
|
815
817
|
this.loadConsentFromStorage();
|
|
816
818
|
// Configurar debug mode
|
|
@@ -1191,6 +1193,28 @@ class AnalyticsService {
|
|
|
1191
1193
|
getConsentState() {
|
|
1192
1194
|
return this._consentState();
|
|
1193
1195
|
}
|
|
1196
|
+
/**
|
|
1197
|
+
* Establece el consent default ANTES de que Firebase/gtag inicialice.
|
|
1198
|
+
* Requerido por Google Consent Mode v2 para no recolectar datos hasta
|
|
1199
|
+
* que el usuario tome una decision explicita.
|
|
1200
|
+
*/
|
|
1201
|
+
setConsentModeDefault() {
|
|
1202
|
+
// gtag puede no estar disponible aun (Firebase lo carga async).
|
|
1203
|
+
// Usamos dataLayer directamente, que si esta disponible desde index.html.
|
|
1204
|
+
const w = window;
|
|
1205
|
+
const dataLayer = w['dataLayer'] ?? [];
|
|
1206
|
+
w['dataLayer'] = dataLayer;
|
|
1207
|
+
// push a dataLayer funciona antes de que gtag.js cargue — GA lo consume al cargar.
|
|
1208
|
+
dataLayer.push('consent', 'default', {
|
|
1209
|
+
analytics_storage: 'denied',
|
|
1210
|
+
ad_storage: 'denied',
|
|
1211
|
+
ad_user_data: 'denied',
|
|
1212
|
+
ad_personalization: 'denied',
|
|
1213
|
+
functionality_storage: 'denied',
|
|
1214
|
+
security_storage: 'granted',
|
|
1215
|
+
wait_for_update: 500,
|
|
1216
|
+
});
|
|
1217
|
+
}
|
|
1194
1218
|
/**
|
|
1195
1219
|
* Aplica consent settings a gtag (GA4 Consent Mode v2)
|
|
1196
1220
|
*/
|
|
@@ -1338,7 +1362,7 @@ class AnalyticsService {
|
|
|
1338
1362
|
params,
|
|
1339
1363
|
sent,
|
|
1340
1364
|
};
|
|
1341
|
-
this._debugHistory.update(
|
|
1365
|
+
this._debugHistory.update(history => {
|
|
1342
1366
|
const newHistory = [event, ...history];
|
|
1343
1367
|
return newHistory.slice(0, MAX_DEBUG_HISTORY);
|
|
1344
1368
|
});
|
|
@@ -36054,6 +36078,237 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
36054
36078
|
type: Output
|
|
36055
36079
|
}] } });
|
|
36056
36080
|
|
|
36081
|
+
/** I18n namespace used by the component. Apps can override via I18nService. */
|
|
36082
|
+
const NS$1 = 'CookieSettings';
|
|
36083
|
+
const COOKIE_SETTINGS_I18N = {
|
|
36084
|
+
es: {
|
|
36085
|
+
title: 'Preferencias de cookies',
|
|
36086
|
+
description: 'Controla que tecnologias permites. Puedes cambiar esto en cualquier momento.',
|
|
36087
|
+
categoryEssential: 'Esenciales',
|
|
36088
|
+
categoryEssentialHint: 'Necesarias para autenticacion y seguridad. Siempre activas.',
|
|
36089
|
+
categoryAnalytics: 'Analitica',
|
|
36090
|
+
categoryAnalyticsHint: 'Metricas anonimas de uso para mejorar el servicio.',
|
|
36091
|
+
categoryFunctionality: 'Funcionalidad',
|
|
36092
|
+
categoryFunctionalityHint: 'Recuerdan preferencias como idioma y tema.',
|
|
36093
|
+
categoryAdvertising: 'Publicidad',
|
|
36094
|
+
categoryAdvertisingHint: 'Personalizacion de anuncios. Requerido para publicidad relevante.',
|
|
36095
|
+
notDecidedYet: 'Aun no has tomado una decision explicita.',
|
|
36096
|
+
lastUpdated: 'Ultima actualizacion: {date}',
|
|
36097
|
+
acceptAll: 'Aceptar todo',
|
|
36098
|
+
rejectAll: 'Solo esenciales',
|
|
36099
|
+
save: 'Guardar',
|
|
36100
|
+
saved: 'Preferencias guardadas',
|
|
36101
|
+
},
|
|
36102
|
+
en: {
|
|
36103
|
+
title: 'Cookie preferences',
|
|
36104
|
+
description: 'Control which technologies you allow. You can change this at any time.',
|
|
36105
|
+
categoryEssential: 'Essential',
|
|
36106
|
+
categoryEssentialHint: 'Required for authentication and security. Always on.',
|
|
36107
|
+
categoryAnalytics: 'Analytics',
|
|
36108
|
+
categoryAnalyticsHint: 'Anonymous usage metrics to improve the service.',
|
|
36109
|
+
categoryFunctionality: 'Functionality',
|
|
36110
|
+
categoryFunctionalityHint: 'Remember preferences like language and theme.',
|
|
36111
|
+
categoryAdvertising: 'Advertising',
|
|
36112
|
+
categoryAdvertisingHint: 'Ad personalization. Required for relevant advertising.',
|
|
36113
|
+
notDecidedYet: 'You have not made an explicit decision yet.',
|
|
36114
|
+
lastUpdated: 'Last updated: {date}',
|
|
36115
|
+
acceptAll: 'Accept all',
|
|
36116
|
+
rejectAll: 'Essential only',
|
|
36117
|
+
save: 'Save',
|
|
36118
|
+
saved: 'Preferences saved',
|
|
36119
|
+
},
|
|
36120
|
+
};
|
|
36121
|
+
/**
|
|
36122
|
+
* `val-cookie-settings` — panel de gestion de consent GDPR.
|
|
36123
|
+
*
|
|
36124
|
+
* Self-contained: inyecta AnalyticsService internamente. Solo necesita montarse.
|
|
36125
|
+
* Emite `(saved)` cuando el usuario guarda/acepta/rechaza para que el padre
|
|
36126
|
+
* pueda cerrar un modal, navegar, etc.
|
|
36127
|
+
*
|
|
36128
|
+
* @example
|
|
36129
|
+
* <val-cookie-settings (saved)="onConsentSaved()" />
|
|
36130
|
+
*/
|
|
36131
|
+
class CookieSettingsComponent {
|
|
36132
|
+
ngOnInit() {
|
|
36133
|
+
this.i18n.registerContent(NS$1, COOKIE_SETTINGS_I18N);
|
|
36134
|
+
}
|
|
36135
|
+
constructor() {
|
|
36136
|
+
this.analytics = inject(AnalyticsService);
|
|
36137
|
+
this.i18n = inject(I18nService);
|
|
36138
|
+
this.toast = inject(ToastService);
|
|
36139
|
+
/** Muestra titulo y descripcion. Util desactivarlo cuando la pagina ya tiene header propio. */
|
|
36140
|
+
this.showTitle = signal(true);
|
|
36141
|
+
/** Emite cuando el usuario guarda/acepta/rechaza. */
|
|
36142
|
+
this.saved = new EventEmitter();
|
|
36143
|
+
// FormControls internos
|
|
36144
|
+
this.analyticsCtrl = new FormControl(true, { nonNullable: true });
|
|
36145
|
+
this.functionalityCtrl = new FormControl(true, { nonNullable: true });
|
|
36146
|
+
this.advertisingCtrl = new FormControl(false, { nonNullable: true });
|
|
36147
|
+
this.essentialCtrl = new FormControl({ value: true, disabled: true }, { nonNullable: true });
|
|
36148
|
+
this.categories = [
|
|
36149
|
+
{
|
|
36150
|
+
key: 'security',
|
|
36151
|
+
labelKey: 'categoryEssential',
|
|
36152
|
+
hintKey: 'categoryEssentialHint',
|
|
36153
|
+
control: this.essentialCtrl,
|
|
36154
|
+
disabled: true,
|
|
36155
|
+
},
|
|
36156
|
+
{ key: 'analytics', labelKey: 'categoryAnalytics', hintKey: 'categoryAnalyticsHint', control: this.analyticsCtrl },
|
|
36157
|
+
{
|
|
36158
|
+
key: 'functionality',
|
|
36159
|
+
labelKey: 'categoryFunctionality',
|
|
36160
|
+
hintKey: 'categoryFunctionalityHint',
|
|
36161
|
+
control: this.functionalityCtrl,
|
|
36162
|
+
},
|
|
36163
|
+
{
|
|
36164
|
+
key: 'advertising',
|
|
36165
|
+
labelKey: 'categoryAdvertising',
|
|
36166
|
+
hintKey: 'categoryAdvertisingHint',
|
|
36167
|
+
control: this.advertisingCtrl,
|
|
36168
|
+
},
|
|
36169
|
+
];
|
|
36170
|
+
this.consentState = computed(() => this.analytics.consentState());
|
|
36171
|
+
this.hasDecided = computed(() => this.consentState().hasDecided);
|
|
36172
|
+
this.lastUpdatedText = computed(() => {
|
|
36173
|
+
const ts = this.consentState().updatedAt;
|
|
36174
|
+
if (!ts)
|
|
36175
|
+
return '';
|
|
36176
|
+
return this.t('lastUpdated').replace('{date}', new Date(ts).toLocaleString(this.i18n.lang()));
|
|
36177
|
+
});
|
|
36178
|
+
this.alwaysOnLabel = '✓';
|
|
36179
|
+
// Sync controls desde estado actual de consent
|
|
36180
|
+
effect(() => {
|
|
36181
|
+
const settings = this.consentState().settings;
|
|
36182
|
+
untracked(() => {
|
|
36183
|
+
this.analyticsCtrl.setValue(settings.analytics ?? true, { emitEvent: false });
|
|
36184
|
+
this.functionalityCtrl.setValue(settings.functionality ?? true, { emitEvent: false });
|
|
36185
|
+
this.advertisingCtrl.setValue(settings.advertising ?? false, { emitEvent: false });
|
|
36186
|
+
});
|
|
36187
|
+
}, { allowSignalWrites: true });
|
|
36188
|
+
}
|
|
36189
|
+
onAcceptAll() {
|
|
36190
|
+
this.analytics.grantAllConsent();
|
|
36191
|
+
this.toast.show({ message: this.t('saved'), duration: 2000, color: 'dark', position: 'top' });
|
|
36192
|
+
this.saved.emit({ analytics: true, advertising: true, functionality: true, security: true });
|
|
36193
|
+
}
|
|
36194
|
+
onRejectAll() {
|
|
36195
|
+
this.analytics.denyAllConsent();
|
|
36196
|
+
this.toast.show({ message: this.t('saved'), duration: 2000, color: 'dark', position: 'top' });
|
|
36197
|
+
this.saved.emit({ analytics: false, advertising: false, functionality: false, security: true });
|
|
36198
|
+
}
|
|
36199
|
+
onSave() {
|
|
36200
|
+
const settings = {
|
|
36201
|
+
analytics: this.analyticsCtrl.value,
|
|
36202
|
+
functionality: this.functionalityCtrl.value,
|
|
36203
|
+
advertising: this.advertisingCtrl.value,
|
|
36204
|
+
security: true,
|
|
36205
|
+
};
|
|
36206
|
+
this.analytics.updateConsent(settings);
|
|
36207
|
+
this.toast.show({ message: this.t('saved'), duration: 2000, color: 'dark', position: 'top' });
|
|
36208
|
+
this.saved.emit(settings);
|
|
36209
|
+
}
|
|
36210
|
+
t(key) {
|
|
36211
|
+
const v = this.i18n.t(key, NS$1);
|
|
36212
|
+
if (v && !v.startsWith('['))
|
|
36213
|
+
return v;
|
|
36214
|
+
return COOKIE_SETTINGS_I18N.es[key] ?? key;
|
|
36215
|
+
}
|
|
36216
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CookieSettingsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
36217
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CookieSettingsComponent, isStandalone: true, selector: "val-cookie-settings", inputs: { showTitle: "showTitle" }, outputs: { saved: "saved" }, ngImport: i0, template: `
|
|
36218
|
+
<div class="vcs">
|
|
36219
|
+
@if (showTitle()) {
|
|
36220
|
+
<h2 class="vcs__title">{{ t('title') }}</h2>
|
|
36221
|
+
<p class="vcs__desc">{{ t('description') }}</p>
|
|
36222
|
+
}
|
|
36223
|
+
|
|
36224
|
+
@if (!hasDecided()) {
|
|
36225
|
+
<p class="vcs__status vcs__status--pending">{{ t('notDecidedYet') }}</p>
|
|
36226
|
+
} @else if (lastUpdatedText()) {
|
|
36227
|
+
<p class="vcs__status vcs__status--date">{{ lastUpdatedText() }}</p>
|
|
36228
|
+
}
|
|
36229
|
+
|
|
36230
|
+
<div class="vcs__categories">
|
|
36231
|
+
@for (cat of categories; track cat.key) {
|
|
36232
|
+
<div class="vcs__row" [class.vcs__row--disabled]="cat.disabled">
|
|
36233
|
+
<div class="vcs__row-header">
|
|
36234
|
+
<label class="vcs__row-label">{{ t(cat.labelKey) }}</label>
|
|
36235
|
+
<div class="vcs__toggle-wrap">
|
|
36236
|
+
@if (cat.disabled) {
|
|
36237
|
+
<div class="vcs__always-on">{{ alwaysOnLabel }}</div>
|
|
36238
|
+
} @else {
|
|
36239
|
+
<label class="vcs__switch" [attr.aria-label]="t(cat.labelKey)">
|
|
36240
|
+
<input type="checkbox" class="vcs__checkbox" [formControl]="cat.control" />
|
|
36241
|
+
<span class="vcs__slider"></span>
|
|
36242
|
+
</label>
|
|
36243
|
+
}
|
|
36244
|
+
</div>
|
|
36245
|
+
</div>
|
|
36246
|
+
<p class="vcs__row-hint">{{ t(cat.hintKey) }}</p>
|
|
36247
|
+
</div>
|
|
36248
|
+
}
|
|
36249
|
+
</div>
|
|
36250
|
+
|
|
36251
|
+
<div class="vcs__actions">
|
|
36252
|
+
<ion-button fill="outline" size="small" color="medium" (click)="onRejectAll()">{{ t('rejectAll') }}</ion-button>
|
|
36253
|
+
|
|
36254
|
+
<ion-button fill="outline" size="small" color="dark" (click)="onSave()">{{ t('save') }}</ion-button>
|
|
36255
|
+
|
|
36256
|
+
<ion-button fill="solid" size="small" color="primary" (click)="onAcceptAll()">{{ t('acceptAll') }}</ion-button>
|
|
36257
|
+
</div>
|
|
36258
|
+
</div>
|
|
36259
|
+
`, isInline: true, styles: [".vcs{display:block}.vcs__title{font-size:1.125rem;font-weight:700;color:var(--ion-text-color, #000);margin:0 0 6px}.vcs__desc{font-size:.875rem;color:var(--ion-color-medium, #92949c);margin:0 0 16px;line-height:1.5}.vcs__status{font-size:.8125rem;margin:0 0 16px;padding:8px 12px;border-radius:8px}.vcs__status--pending{background:rgba(var(--ion-color-warning-rgb, 255, 196, 9),.12);color:var(--ion-color-warning-shade, #e0ac08)}.vcs__status--date{background:var(--ion-color-light, #f4f5f8);color:var(--ion-color-medium, #92949c)}.vcs__categories{display:flex;flex-direction:column;gap:0;margin-bottom:20px;border:1px solid var(--ion-border-color, rgba(0, 0, 0, .08));border-radius:12px;overflow:hidden}.vcs__row{padding:14px 16px;border-bottom:1px solid var(--ion-border-color, rgba(0, 0, 0, .06))}.vcs__row:last-child{border-bottom:none}.vcs__row--disabled{opacity:.7}.vcs__row-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.vcs__row-label{font-size:.9375rem;font-weight:600;color:var(--ion-text-color, #000)}.vcs__row-hint{font-size:.8125rem;color:var(--ion-color-medium, #92949c);margin:0;line-height:1.4}.vcs__toggle-wrap{flex-shrink:0}.vcs__always-on{font-size:.75rem;font-weight:600;color:var(--ion-color-success, #2dd36f);padding:2px 8px;background:rgba(var(--ion-color-success-rgb, 45, 211, 111),.12);border-radius:20px}.vcs__switch{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer}.vcs__checkbox{opacity:0;width:0;height:0;position:absolute}.vcs__slider{position:absolute;inset:0;border-radius:24px;background:var(--ion-color-medium, #92949c);transition:background .2s ease}.vcs__slider:before{content:\"\";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:3px;left:3px;transition:transform .2s ease;box-shadow:0 1px 3px #0003}.vcs__checkbox:checked+.vcs__slider{background:var(--ion-color-primary, #7026df)}.vcs__checkbox:checked+.vcs__slider:before{transform:translate(20px)}.vcs__actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}@media (max-width: 480px){.vcs__actions{flex-direction:column-reverse}.vcs__actions ion-button{width:100%}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$7.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
36260
|
+
}
|
|
36261
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CookieSettingsComponent, decorators: [{
|
|
36262
|
+
type: Component,
|
|
36263
|
+
args: [{ selector: 'val-cookie-settings', standalone: true, imports: [CommonModule, ReactiveFormsModule, IonButton], template: `
|
|
36264
|
+
<div class="vcs">
|
|
36265
|
+
@if (showTitle()) {
|
|
36266
|
+
<h2 class="vcs__title">{{ t('title') }}</h2>
|
|
36267
|
+
<p class="vcs__desc">{{ t('description') }}</p>
|
|
36268
|
+
}
|
|
36269
|
+
|
|
36270
|
+
@if (!hasDecided()) {
|
|
36271
|
+
<p class="vcs__status vcs__status--pending">{{ t('notDecidedYet') }}</p>
|
|
36272
|
+
} @else if (lastUpdatedText()) {
|
|
36273
|
+
<p class="vcs__status vcs__status--date">{{ lastUpdatedText() }}</p>
|
|
36274
|
+
}
|
|
36275
|
+
|
|
36276
|
+
<div class="vcs__categories">
|
|
36277
|
+
@for (cat of categories; track cat.key) {
|
|
36278
|
+
<div class="vcs__row" [class.vcs__row--disabled]="cat.disabled">
|
|
36279
|
+
<div class="vcs__row-header">
|
|
36280
|
+
<label class="vcs__row-label">{{ t(cat.labelKey) }}</label>
|
|
36281
|
+
<div class="vcs__toggle-wrap">
|
|
36282
|
+
@if (cat.disabled) {
|
|
36283
|
+
<div class="vcs__always-on">{{ alwaysOnLabel }}</div>
|
|
36284
|
+
} @else {
|
|
36285
|
+
<label class="vcs__switch" [attr.aria-label]="t(cat.labelKey)">
|
|
36286
|
+
<input type="checkbox" class="vcs__checkbox" [formControl]="cat.control" />
|
|
36287
|
+
<span class="vcs__slider"></span>
|
|
36288
|
+
</label>
|
|
36289
|
+
}
|
|
36290
|
+
</div>
|
|
36291
|
+
</div>
|
|
36292
|
+
<p class="vcs__row-hint">{{ t(cat.hintKey) }}</p>
|
|
36293
|
+
</div>
|
|
36294
|
+
}
|
|
36295
|
+
</div>
|
|
36296
|
+
|
|
36297
|
+
<div class="vcs__actions">
|
|
36298
|
+
<ion-button fill="outline" size="small" color="medium" (click)="onRejectAll()">{{ t('rejectAll') }}</ion-button>
|
|
36299
|
+
|
|
36300
|
+
<ion-button fill="outline" size="small" color="dark" (click)="onSave()">{{ t('save') }}</ion-button>
|
|
36301
|
+
|
|
36302
|
+
<ion-button fill="solid" size="small" color="primary" (click)="onAcceptAll()">{{ t('acceptAll') }}</ion-button>
|
|
36303
|
+
</div>
|
|
36304
|
+
</div>
|
|
36305
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".vcs{display:block}.vcs__title{font-size:1.125rem;font-weight:700;color:var(--ion-text-color, #000);margin:0 0 6px}.vcs__desc{font-size:.875rem;color:var(--ion-color-medium, #92949c);margin:0 0 16px;line-height:1.5}.vcs__status{font-size:.8125rem;margin:0 0 16px;padding:8px 12px;border-radius:8px}.vcs__status--pending{background:rgba(var(--ion-color-warning-rgb, 255, 196, 9),.12);color:var(--ion-color-warning-shade, #e0ac08)}.vcs__status--date{background:var(--ion-color-light, #f4f5f8);color:var(--ion-color-medium, #92949c)}.vcs__categories{display:flex;flex-direction:column;gap:0;margin-bottom:20px;border:1px solid var(--ion-border-color, rgba(0, 0, 0, .08));border-radius:12px;overflow:hidden}.vcs__row{padding:14px 16px;border-bottom:1px solid var(--ion-border-color, rgba(0, 0, 0, .06))}.vcs__row:last-child{border-bottom:none}.vcs__row--disabled{opacity:.7}.vcs__row-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.vcs__row-label{font-size:.9375rem;font-weight:600;color:var(--ion-text-color, #000)}.vcs__row-hint{font-size:.8125rem;color:var(--ion-color-medium, #92949c);margin:0;line-height:1.4}.vcs__toggle-wrap{flex-shrink:0}.vcs__always-on{font-size:.75rem;font-weight:600;color:var(--ion-color-success, #2dd36f);padding:2px 8px;background:rgba(var(--ion-color-success-rgb, 45, 211, 111),.12);border-radius:20px}.vcs__switch{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer}.vcs__checkbox{opacity:0;width:0;height:0;position:absolute}.vcs__slider{position:absolute;inset:0;border-radius:24px;background:var(--ion-color-medium, #92949c);transition:background .2s ease}.vcs__slider:before{content:\"\";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:3px;left:3px;transition:transform .2s ease;box-shadow:0 1px 3px #0003}.vcs__checkbox:checked+.vcs__slider{background:var(--ion-color-primary, #7026df)}.vcs__checkbox:checked+.vcs__slider:before{transform:translate(20px)}.vcs__actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}@media (max-width: 480px){.vcs__actions{flex-direction:column-reverse}.vcs__actions ion-button{width:100%}}\n"] }]
|
|
36306
|
+
}], ctorParameters: () => [], propDecorators: { showTitle: [{
|
|
36307
|
+
type: Input
|
|
36308
|
+
}], saved: [{
|
|
36309
|
+
type: Output
|
|
36310
|
+
}] } });
|
|
36311
|
+
|
|
36057
36312
|
/**
|
|
36058
36313
|
* DebugConsole Types
|
|
36059
36314
|
*
|
|
@@ -70497,5 +70752,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
70497
70752
|
* Generated bundle index. Do not edit.
|
|
70498
70753
|
*/
|
|
70499
70754
|
|
|
70500
|
-
export { ACTION_CARD_DEFAULTS, AD_SIZE_MAP, API_TABLE_COLUMN_LABELS, APP_VERSION_PLATFORM_PLUGIN, APP_VERSION_REMOTE_PLUGIN, ARTICLE_CARD_DEFAULTS, ARTICLE_SPACING, ARTICLE_STRIP_DEFAULTS, AUTH_CTA_DEFAULTS, AVATAR_UPLOAD_DEFAULTS, AboutViewComponent, AccordionComponent, AccountViewComponent, ActionCardComponent, ActionHeaderComponent, ActionType, AdSlotComponent, AdsLoaderService, AdsService, AlertBoxComponent, AnalyticsErrorHandler, AnalyticsRouterTracker, AnalyticsService, AnimatedTerminalComponent, ApiKeyCreateModalComponent, ApiKeyService, ApiKeysModalComponent, ApiKeysViewComponent, AppConfigService, AppVersionService, ArticleBuilder, ArticleCardComponent, ArticleComponent, ArticleStripComponent, AttachmentUploaderComponent, AuthBackgroundComponent, AuthCtaComponent, AuthService, AuthStateService, AuthStorageService, AuthSyncService, AvatarComponent, AvatarUploadComponent, BOTTOM_NAV_DEFAULTS, BannerComponent, BlogPostBuilder, BottomNavComponent, BoxComponent, BreadcrumbComponent, ButtonComponent, ButtonGroupComponent, CALLOUT_LABELS, CHEV_KEYS, CIRCLE_KEYS, COMMON_COUNTRY_CODES, COMMON_CURRENCIES, CORNER_KEYS, CTA_CARD_DEFAULTS, CURRENCY_INFO, CardComponent, CardSection, CardType, CardsCarouselComponent, ChangeEmailModalComponent, ChangePasswordModalComponent, CheckInputComponent, CheckboxRadioInputComponent, ChipGroupComponent, CodeDisplayComponent, CommandDisplayComponent, CommentComponent, CommentInputComponent, CommentSectionComponent, CompanyFooterComponent, ComponentStates, ConfirmationDialogService, ContainerComponent, ContentLoaderComponent, ContentReactionComponent, ContentService, ContentTransformer, CookieBannerComponent, CountdownComponent, CreateOrgModalComponent, CtaCardComponent, CurrencyInputComponent, DEFAULT_ADS_CONFIG, DEFAULT_APP_CONFIG_SERVICE_CONFIG, DEFAULT_APP_VERSION_SERVICE_CONFIG, DEFAULT_AUTH_CONFIG, DEFAULT_BACK_HEADER, DEFAULT_BUTTON_PRESETS, DEFAULT_CANCEL_BUTTON, DEFAULT_CHECK_INTERVAL_MS, DEFAULT_CONFIRM_BUTTON, DEFAULT_COUNTDOWN_LABELS, DEFAULT_COUNTDOWN_LABELS_EN, DEFAULT_DEBUG_CONSOLE_CONFIG, DEFAULT_DONATION_CONFIG, DEFAULT_EMPTY_STATE, DEFAULT_EMULATOR_CONFIG, DEFAULT_FEEDBACK_CONFIG, DEFAULT_FEEDBACK_TYPE_OPTIONS, DEFAULT_HOME_HEADER, DEFAULT_INFINITE_LIST_METADATA, DEFAULT_LOGIN_LOGO, DEFAULT_MODAL_CANCEL_BUTTON, DEFAULT_MODAL_CONFIRM_BUTTON, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLATFORMS, DEFAULT_PRESETS, DEFAULT_REFRESHER_METADATA, DEFAULT_SKELETON_CONFIG, DEFAULT_SPLASH_SCREEN_CONFIG, DataTableComponent, DateInputComponent, DatePickerComponent, DateRangeInputComponent, DebugConsoleComponent, DeleteAccountModalComponent, DetailSkeletonComponent, DeviceService, DisplayComponent, DividerComponent, DocsApiTableComponent, DocsBreadcrumbComponent, DocsBuilder, DocsCalloutComponent, DocsCodeExampleComponent, DocsLayoutComponent, DocsNavLinksComponent, DocsNavigationService, DocsPageComponent, DocsSearchComponent, DocsSectionComponent, DocsShellComponent, DocsSidebarComponent, DocsTocComponent, DonationService, DownloadService, EditOrgModalComponent, EmptyStateComponent, EntityCardComponent, ExpandableTextComponent, FEATURES_LIST_DEFAULTS, FUN_MODAL_DEFAULTS, FabComponent, FaqComponent, FeaturesListComponent, FeedbackFormComponent, FeedbackService, FieldListComponent, FileInputComponent, FirebaseService, FirestoreCollectionFactory, FirestoreService, FontSizeOption, FontSizeSelectorComponent, FontSizeService, FooterComponent, FooterLinksComponent, FormComponent, FormFieldComponent, FormSkeletonComponent, FunHeaderComponent, FunModalComponent, GlassComponent, GlowCardComponent, GlowComponent, GridSkeletonComponent, HANDOFF_ROUTE_PARAM, HANDOFF_TOKEN_PARAM, HandoffService, HapticsService, HasPermissionDirective, HeaderComponent, HintComponent, HorizontalScrollComponent, HrefComponent, I18nService, IMAGE_DEFAULTS, INITIAL_AUTH_STATE, INITIAL_MFA_STATE, INVITATION_CARD_DEFAULTS, IONIC_COLORS$5 as IONIC_COLORS, Icon, IconComponent, IconService, ImageComponent, ImageCropComponent, ImageService, InAppBrowserService, InfiniteListComponent, InfoComponent, InputI18nHelper, InputType, InvitationCardComponent, InviteMemberModalComponent, ItemListComponent, LANG_STORAGE_KEY$1 as LANG_STORAGE_KEY, LEGAL_CONTENT_CONFIG, LOGGED_IN_HINT_COOKIE, LOGIN_DEFAULTS, LandingSplitComponent, LandingStepsComponent, LanguageSelectorComponent, LanguageSelectorV2Component, LayeredCardComponent, LegalContentService, LegalLinkService, LinkComponent, LinkProcessorService, LinkedProvidersComponent, LinksAccordionComponent, LinksCakeComponent, ListSkeletonComponent, LoadingDirective, LocalStorageService, LocaleService, LoginAttemptModalComponent, LoginComponent, MEDIA_OBJECT_DEFAULTS, MEMBER_CARD_DEFAULTS, METRIC_CARD_DEFAULTS, MODAL_SIZES, MOTIF_KEYS, MOTION, MaintenancePageComponent, MarkdownArticleParserService, MediaObjectComponent, MemberCardComponent, MemberDetailModalComponent, MemberImportModalComponent, MenuComponent, MessagingService, MetaService, MetricCardComponent, MfaModalComponent, ModalService, ModalShellComponent, MultiSelectSearchComponent, NUM_KEYS, NavigationService, NetworkBannerComponent, NetworkStatusService, NewsBuilder, NoContentComponent, NotesBoxComponent, NotificationActionService, NotificationPreferencesViewComponent, NotificationsService, NotificationsViewComponent, NumberFromToComponent, NumberStepperComponent, OAUTH_PROVIDERS_INFO, OAuthCallbackComponent, OAuthService, OptionCardsComponent, OrgInfoSheetComponent, OrgService, OrgSwitchService, OrganizationViewComponent, PATTERN_MOTIFS, PATTERN_PALETTES, PATTERN_STYLE_CONFIGS, PLATFORM_CONFIGS, PageContentComponent, PageLinksComponent, PageRefreshService, PageTemplateComponent, PageWavesComponent, PageWrapperComponent, PaginationComponent, PaginationService, PasswordInputComponent, PatternComponent, PermissionCatalogService, PermissionSelectorComponent, PermissionsModalComponent, PermissionsViewComponent, PhoneInputComponent, PillComponent, PinInputComponent, PlainCodeBoxComponent, PopoverSelectorComponent, PreferencesService, PreferencesViewComponent, PresetService, PriceTagComponent, ProcessLinksPipe, ProfileSkeletonComponent, ProfileViewComponent, ProgressBarComponent, ProgressRingComponent, ProgressStatusComponent, PrompterComponent, QR_PRESETS, QrCodeComponent, QrGeneratorService, QrScannerComponent, QueryBuilder, QuoteBoxComponent, REQUEST_STATUSES, RadioInputComponent, RangeInputComponent, RatingComponent, RefresherComponent, RequestFirestoreService, RequestFormBuilderService, RequestFormComponent, RequestModalComponent, RequestService, RightsFooterComponent, RotatingTextComponent, SEARCH_HEADER_DEFAULTS, SETTINGS_SECTIONS_CATALOG, SHAPE_KEYS, SHARE_PROFILE_MODAL_DEFAULTS, SKELETON_LAYOUT_DEFAULT_ROWS, SKELETON_PRESETS, SOLID_KEYS, STATS_BAR_DEFAULTS, STROKE_KEYS, SearchHeaderComponent, SearchSelectorComponent, SearchbarComponent, SectionHeaderComponent, SecurityViewComponent, SegmentControlComponent, SelectSearchComponent, SessionListModalComponent, SessionService, SettingsHubComponent, ShareButtonsComponent, ShareProfileModalComponent, SimpleComponent, SkeletonComponent, SkeletonLayoutComponent, SkeletonService, SplashComponent, SplashScreenService, StatsBarComponent, StatsCardComponent, StepperComponent, StorageService, SwipeCarouselComponent, SwitchOrgModalComponent, TRI_KEYS, TabbedContentComponent, TableSkeletonComponent, TabsComponent, Terminal404Component, TestimonialCardComponent, TestimonialCarouselComponent, TextComponent, TextInputComponent, TextareaInputComponent, ThemeOption, ThemeService, TicketCardComponent, TicketCardImageService, TimelineComponent, TitleBlockComponent, TitleComponent, ToastService, ToggleInputComponent, TokenService, ToolbarActionType, ToolbarComponent, TransferOwnershipModalComponent, TranslatePipe, TypedCollection, UPDATE_BANNER_DEFAULT_CONTENT, UPDATE_BANNER_I18N_NAMESPACE, UpdateBannerComponent, UserAvatarComponent, UsernameInputComponent, VALTECH_ADS_CONFIG, VALTECH_APP_CONFIG, VALTECH_APP_VERSION, VALTECH_AUTH_CONFIG, VALTECH_COMPANY_LINKS, VALTECH_CONTENT_CONFIG, VALTECH_DEBUG_CONSOLE, VALTECH_DEFAULT_CONTENT, VALTECH_DONATION_CONFIG, VALTECH_FEEDBACK_CONFIG, VALTECH_FIREBASE_CONFIG, VALTECH_FOOTER_I18N, VALTECH_FOOTER_LOGO, VALTECH_LANGUAGE_SELECTOR, VALTECH_LEGAL_CONFIG, VALTECH_NETWORK_ERROR_KEY, VALTECH_SETTINGS_MENU_LINKS, VALTECH_SITE_PATHS, VALTECH_SOCIAL_LINKS, VALTECH_SPLASH_SCREEN, VALTECH_WEB_BASE_URLS, VALTECH_WHATSAPP_CONFIG, VERSION, ValtechErrorService, VerifyViewComponent, WhatsappFabComponent, WhatsappService, WizardComponent, WizardFooterComponent, applyDefaultValueToControl, authGuard, authInterceptor, authPasswordValidator, beautifyLegalArticle, blogPost, buildCompanyFooterProps, buildFooterLinks, buildLegalLinkResolver, buildPath, buildSettingsCards, button, canSubmitRequestType, collections, connectPageRefresh, createErrorStateProps, createFirebaseConfig, createGlowCardProps, createInitialPaginationState, createNumberFromToField, createPageState, createPermissionLabeler, createRefreshableStream, createTitleProps, docs, errorLoggingInterceptor, extractPathParams, generatePatternTiles, generateRandomTile, getAppInfo, getAppVersion, getCollectionPath, getDocumentId, getTimeOfDayKey, goToTop, groupPermissionsByScope, guestGuard, hasEmulators, iconButton, interpretError, isAtEnd, isCollectionPath, isDocumentPath, isEmulatorMode, isIonicColor, isValidPath, joinPath, maxLength, mulberry32, news, parseMarkdownArticle, permissionGuard, permissionGuardFromRoute, provideLegalContent, provideSplashScreen, provideValtechAboutRoutes, provideValtechAccountRoutes, provideValtechAds, provideValtechApiKeysRoutes, provideValtechAppConfig, provideValtechAppVersion, provideValtechAppVersionHttp, provideValtechAuth, provideValtechAuthInterceptor, provideValtechContent, provideValtechDebugConsole, provideValtechDonations, provideValtechErrorHandling, provideValtechFeedback, provideValtechFirebase, provideValtechI18n, provideValtechLegal, provideValtechNotificationPreferencesRoutes, provideValtechNotificationsRoutes, provideValtechOrganizationRoutes, provideValtechPermissionsRoutes, provideValtechPreferencesRoutes, provideValtechPresets, provideValtechProfileRoutes, provideValtechSecurityRoutes, provideValtechSettingsRoutes, provideValtechSite, provideValtechSkeleton, provideValtechWhatsapp, query, rbacGuard, renderPatternSvgInner, replaceSpecialChars, requestSubmitMode, resolveColor, resolveInputDefaultValue, resolveIonicColor, resolveWebBaseUrl, roleGuard, selectableRequestTypes, storagePaths, superAdminGuard, toArticle };
|
|
70755
|
+
export { ACTION_CARD_DEFAULTS, AD_SIZE_MAP, API_TABLE_COLUMN_LABELS, APP_VERSION_PLATFORM_PLUGIN, APP_VERSION_REMOTE_PLUGIN, ARTICLE_CARD_DEFAULTS, ARTICLE_SPACING, ARTICLE_STRIP_DEFAULTS, AUTH_CTA_DEFAULTS, AVATAR_UPLOAD_DEFAULTS, AboutViewComponent, AccordionComponent, AccountViewComponent, ActionCardComponent, ActionHeaderComponent, ActionType, AdSlotComponent, AdsLoaderService, AdsService, AlertBoxComponent, AnalyticsErrorHandler, AnalyticsRouterTracker, AnalyticsService, AnimatedTerminalComponent, ApiKeyCreateModalComponent, ApiKeyService, ApiKeysModalComponent, ApiKeysViewComponent, AppConfigService, AppVersionService, ArticleBuilder, ArticleCardComponent, ArticleComponent, ArticleStripComponent, AttachmentUploaderComponent, AuthBackgroundComponent, AuthCtaComponent, AuthService, AuthStateService, AuthStorageService, AuthSyncService, AvatarComponent, AvatarUploadComponent, BOTTOM_NAV_DEFAULTS, BannerComponent, BlogPostBuilder, BottomNavComponent, BoxComponent, BreadcrumbComponent, ButtonComponent, ButtonGroupComponent, CALLOUT_LABELS, CHEV_KEYS, CIRCLE_KEYS, COMMON_COUNTRY_CODES, COMMON_CURRENCIES, CORNER_KEYS, CTA_CARD_DEFAULTS, CURRENCY_INFO, CardComponent, CardSection, CardType, CardsCarouselComponent, ChangeEmailModalComponent, ChangePasswordModalComponent, CheckInputComponent, CheckboxRadioInputComponent, ChipGroupComponent, CodeDisplayComponent, CommandDisplayComponent, CommentComponent, CommentInputComponent, CommentSectionComponent, CompanyFooterComponent, ComponentStates, ConfirmationDialogService, ContainerComponent, ContentLoaderComponent, ContentReactionComponent, ContentService, ContentTransformer, CookieBannerComponent, CookieSettingsComponent, CountdownComponent, CreateOrgModalComponent, CtaCardComponent, CurrencyInputComponent, DEFAULT_ADS_CONFIG, DEFAULT_APP_CONFIG_SERVICE_CONFIG, DEFAULT_APP_VERSION_SERVICE_CONFIG, DEFAULT_AUTH_CONFIG, DEFAULT_BACK_HEADER, DEFAULT_BUTTON_PRESETS, DEFAULT_CANCEL_BUTTON, DEFAULT_CHECK_INTERVAL_MS, DEFAULT_CONFIRM_BUTTON, DEFAULT_COUNTDOWN_LABELS, DEFAULT_COUNTDOWN_LABELS_EN, DEFAULT_DEBUG_CONSOLE_CONFIG, DEFAULT_DONATION_CONFIG, DEFAULT_EMPTY_STATE, DEFAULT_EMULATOR_CONFIG, DEFAULT_FEEDBACK_CONFIG, DEFAULT_FEEDBACK_TYPE_OPTIONS, DEFAULT_HOME_HEADER, DEFAULT_INFINITE_LIST_METADATA, DEFAULT_LOGIN_LOGO, DEFAULT_MODAL_CANCEL_BUTTON, DEFAULT_MODAL_CONFIRM_BUTTON, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLATFORMS, DEFAULT_PRESETS, DEFAULT_REFRESHER_METADATA, DEFAULT_SKELETON_CONFIG, DEFAULT_SPLASH_SCREEN_CONFIG, DataTableComponent, DateInputComponent, DatePickerComponent, DateRangeInputComponent, DebugConsoleComponent, DeleteAccountModalComponent, DetailSkeletonComponent, DeviceService, DisplayComponent, DividerComponent, DocsApiTableComponent, DocsBreadcrumbComponent, DocsBuilder, DocsCalloutComponent, DocsCodeExampleComponent, DocsLayoutComponent, DocsNavLinksComponent, DocsNavigationService, DocsPageComponent, DocsSearchComponent, DocsSectionComponent, DocsShellComponent, DocsSidebarComponent, DocsTocComponent, DonationService, DownloadService, EditOrgModalComponent, EmptyStateComponent, EntityCardComponent, ExpandableTextComponent, FEATURES_LIST_DEFAULTS, FUN_MODAL_DEFAULTS, FabComponent, FaqComponent, FeaturesListComponent, FeedbackFormComponent, FeedbackService, FieldListComponent, FileInputComponent, FirebaseService, FirestoreCollectionFactory, FirestoreService, FontSizeOption, FontSizeSelectorComponent, FontSizeService, FooterComponent, FooterLinksComponent, FormComponent, FormFieldComponent, FormSkeletonComponent, FunHeaderComponent, FunModalComponent, GlassComponent, GlowCardComponent, GlowComponent, GridSkeletonComponent, HANDOFF_ROUTE_PARAM, HANDOFF_TOKEN_PARAM, HandoffService, HapticsService, HasPermissionDirective, HeaderComponent, HintComponent, HorizontalScrollComponent, HrefComponent, I18nService, IMAGE_DEFAULTS, INITIAL_AUTH_STATE, INITIAL_MFA_STATE, INVITATION_CARD_DEFAULTS, IONIC_COLORS$5 as IONIC_COLORS, Icon, IconComponent, IconService, ImageComponent, ImageCropComponent, ImageService, InAppBrowserService, InfiniteListComponent, InfoComponent, InputI18nHelper, InputType, InvitationCardComponent, InviteMemberModalComponent, ItemListComponent, LANG_STORAGE_KEY$1 as LANG_STORAGE_KEY, LEGAL_CONTENT_CONFIG, LOGGED_IN_HINT_COOKIE, LOGIN_DEFAULTS, LandingSplitComponent, LandingStepsComponent, LanguageSelectorComponent, LanguageSelectorV2Component, LayeredCardComponent, LegalContentService, LegalLinkService, LinkComponent, LinkProcessorService, LinkedProvidersComponent, LinksAccordionComponent, LinksCakeComponent, ListSkeletonComponent, LoadingDirective, LocalStorageService, LocaleService, LoginAttemptModalComponent, LoginComponent, MEDIA_OBJECT_DEFAULTS, MEMBER_CARD_DEFAULTS, METRIC_CARD_DEFAULTS, MODAL_SIZES, MOTIF_KEYS, MOTION, MaintenancePageComponent, MarkdownArticleParserService, MediaObjectComponent, MemberCardComponent, MemberDetailModalComponent, MemberImportModalComponent, MenuComponent, MessagingService, MetaService, MetricCardComponent, MfaModalComponent, ModalService, ModalShellComponent, MultiSelectSearchComponent, NUM_KEYS, NavigationService, NetworkBannerComponent, NetworkStatusService, NewsBuilder, NoContentComponent, NotesBoxComponent, NotificationActionService, NotificationPreferencesViewComponent, NotificationsService, NotificationsViewComponent, NumberFromToComponent, NumberStepperComponent, OAUTH_PROVIDERS_INFO, OAuthCallbackComponent, OAuthService, OptionCardsComponent, OrgInfoSheetComponent, OrgService, OrgSwitchService, OrganizationViewComponent, PATTERN_MOTIFS, PATTERN_PALETTES, PATTERN_STYLE_CONFIGS, PLATFORM_CONFIGS, PageContentComponent, PageLinksComponent, PageRefreshService, PageTemplateComponent, PageWavesComponent, PageWrapperComponent, PaginationComponent, PaginationService, PasswordInputComponent, PatternComponent, PermissionCatalogService, PermissionSelectorComponent, PermissionsModalComponent, PermissionsViewComponent, PhoneInputComponent, PillComponent, PinInputComponent, PlainCodeBoxComponent, PopoverSelectorComponent, PreferencesService, PreferencesViewComponent, PresetService, PriceTagComponent, ProcessLinksPipe, ProfileSkeletonComponent, ProfileViewComponent, ProgressBarComponent, ProgressRingComponent, ProgressStatusComponent, PrompterComponent, QR_PRESETS, QrCodeComponent, QrGeneratorService, QrScannerComponent, QueryBuilder, QuoteBoxComponent, REQUEST_STATUSES, RadioInputComponent, RangeInputComponent, RatingComponent, RefresherComponent, RequestFirestoreService, RequestFormBuilderService, RequestFormComponent, RequestModalComponent, RequestService, RightsFooterComponent, RotatingTextComponent, SEARCH_HEADER_DEFAULTS, SETTINGS_SECTIONS_CATALOG, SHAPE_KEYS, SHARE_PROFILE_MODAL_DEFAULTS, SKELETON_LAYOUT_DEFAULT_ROWS, SKELETON_PRESETS, SOLID_KEYS, STATS_BAR_DEFAULTS, STROKE_KEYS, SearchHeaderComponent, SearchSelectorComponent, SearchbarComponent, SectionHeaderComponent, SecurityViewComponent, SegmentControlComponent, SelectSearchComponent, SessionListModalComponent, SessionService, SettingsHubComponent, ShareButtonsComponent, ShareProfileModalComponent, SimpleComponent, SkeletonComponent, SkeletonLayoutComponent, SkeletonService, SplashComponent, SplashScreenService, StatsBarComponent, StatsCardComponent, StepperComponent, StorageService, SwipeCarouselComponent, SwitchOrgModalComponent, TRI_KEYS, TabbedContentComponent, TableSkeletonComponent, TabsComponent, Terminal404Component, TestimonialCardComponent, TestimonialCarouselComponent, TextComponent, TextInputComponent, TextareaInputComponent, ThemeOption, ThemeService, TicketCardComponent, TicketCardImageService, TimelineComponent, TitleBlockComponent, TitleComponent, ToastService, ToggleInputComponent, TokenService, ToolbarActionType, ToolbarComponent, TransferOwnershipModalComponent, TranslatePipe, TypedCollection, UPDATE_BANNER_DEFAULT_CONTENT, UPDATE_BANNER_I18N_NAMESPACE, UpdateBannerComponent, UserAvatarComponent, UsernameInputComponent, VALTECH_ADS_CONFIG, VALTECH_APP_CONFIG, VALTECH_APP_VERSION, VALTECH_AUTH_CONFIG, VALTECH_COMPANY_LINKS, VALTECH_CONTENT_CONFIG, VALTECH_DEBUG_CONSOLE, VALTECH_DEFAULT_CONTENT, VALTECH_DONATION_CONFIG, VALTECH_FEEDBACK_CONFIG, VALTECH_FIREBASE_CONFIG, VALTECH_FOOTER_I18N, VALTECH_FOOTER_LOGO, VALTECH_LANGUAGE_SELECTOR, VALTECH_LEGAL_CONFIG, VALTECH_NETWORK_ERROR_KEY, VALTECH_SETTINGS_MENU_LINKS, VALTECH_SITE_PATHS, VALTECH_SOCIAL_LINKS, VALTECH_SPLASH_SCREEN, VALTECH_WEB_BASE_URLS, VALTECH_WHATSAPP_CONFIG, VERSION, ValtechErrorService, VerifyViewComponent, WhatsappFabComponent, WhatsappService, WizardComponent, WizardFooterComponent, applyDefaultValueToControl, authGuard, authInterceptor, authPasswordValidator, beautifyLegalArticle, blogPost, buildCompanyFooterProps, buildFooterLinks, buildLegalLinkResolver, buildPath, buildSettingsCards, button, canSubmitRequestType, collections, connectPageRefresh, createErrorStateProps, createFirebaseConfig, createGlowCardProps, createInitialPaginationState, createNumberFromToField, createPageState, createPermissionLabeler, createRefreshableStream, createTitleProps, docs, errorLoggingInterceptor, extractPathParams, generatePatternTiles, generateRandomTile, getAppInfo, getAppVersion, getCollectionPath, getDocumentId, getTimeOfDayKey, goToTop, groupPermissionsByScope, guestGuard, hasEmulators, iconButton, interpretError, isAtEnd, isCollectionPath, isDocumentPath, isEmulatorMode, isIonicColor, isValidPath, joinPath, maxLength, mulberry32, news, parseMarkdownArticle, permissionGuard, permissionGuardFromRoute, provideLegalContent, provideSplashScreen, provideValtechAboutRoutes, provideValtechAccountRoutes, provideValtechAds, provideValtechApiKeysRoutes, provideValtechAppConfig, provideValtechAppVersion, provideValtechAppVersionHttp, provideValtechAuth, provideValtechAuthInterceptor, provideValtechContent, provideValtechDebugConsole, provideValtechDonations, provideValtechErrorHandling, provideValtechFeedback, provideValtechFirebase, provideValtechI18n, provideValtechLegal, provideValtechNotificationPreferencesRoutes, provideValtechNotificationsRoutes, provideValtechOrganizationRoutes, provideValtechPermissionsRoutes, provideValtechPreferencesRoutes, provideValtechPresets, provideValtechProfileRoutes, provideValtechSecurityRoutes, provideValtechSettingsRoutes, provideValtechSite, provideValtechSkeleton, provideValtechWhatsapp, query, rbacGuard, renderPatternSvgInner, replaceSpecialChars, requestSubmitMode, resolveColor, resolveInputDefaultValue, resolveIonicColor, resolveWebBaseUrl, roleGuard, selectableRequestTypes, storagePaths, superAdminGuard, toArticle };
|
|
70501
70756
|
//# sourceMappingURL=valtech-components.mjs.map
|