valtech-components 2.0.977 → 2.0.979
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/form/form.component.mjs +6 -1
- package/esm2022/lib/components/organisms/preferences-view/preferences-view.component.mjs +68 -1
- package/esm2022/lib/components/organisms/preferences-view/preferences-view.i18n.mjs +11 -1
- package/esm2022/lib/components/organisms/preferences-view/types.mjs +1 -1
- package/esm2022/lib/components/types.mjs +1 -1
- package/esm2022/lib/config/company-footer.config.mjs +69 -11
- package/esm2022/lib/services/font-size/font-size.service.mjs +53 -0
- package/esm2022/lib/services/preferences/preferences.service.mjs +31 -5
- package/esm2022/lib/services/preferences/preferences.types.mjs +1 -1
- package/esm2022/lib/services/requests/types.mjs +1 -1
- package/esm2022/lib/shared/constants/storage.mjs +2 -1
- package/esm2022/lib/version.mjs +2 -2
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/valtech-components.mjs +228 -14
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/atoms/rights-footer/rights-footer.component.d.ts +1 -1
- package/lib/components/atoms/text/text.component.d.ts +1 -1
- package/lib/components/atoms/user-avatar/user-avatar.component.d.ts +1 -1
- package/lib/components/molecules/features-list/features-list.component.d.ts +1 -1
- package/lib/components/organisms/article/article.component.d.ts +4 -7
- package/lib/components/organisms/preferences-view/preferences-view.component.d.ts +5 -1
- package/lib/components/organisms/preferences-view/types.d.ts +5 -1
- package/lib/components/types.d.ts +5 -2
- package/lib/config/company-footer.config.d.ts +42 -0
- package/lib/services/font-size/font-size.service.d.ts +16 -0
- package/lib/services/preferences/preferences.service.d.ts +8 -3
- package/lib/services/preferences/preferences.types.d.ts +4 -0
- package/lib/services/requests/types.d.ts +1 -1
- package/lib/shared/constants/storage.d.ts +1 -0
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -54,7 +54,7 @@ import 'prismjs/components/prism-json';
|
|
|
54
54
|
* Current version of valtech-components.
|
|
55
55
|
* This is automatically updated during the publish process.
|
|
56
56
|
*/
|
|
57
|
-
const VERSION = '2.0.
|
|
57
|
+
const VERSION = '2.0.979';
|
|
58
58
|
|
|
59
59
|
// Control de estado de refresco (singleton a nivel de módulo)
|
|
60
60
|
let isRefreshing = false;
|
|
@@ -16689,6 +16689,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
16689
16689
|
|
|
16690
16690
|
const LANG = 'LANG';
|
|
16691
16691
|
const THEME = 'THEME';
|
|
16692
|
+
const FONT_SIZE = 'FONT_SIZE';
|
|
16692
16693
|
|
|
16693
16694
|
/**
|
|
16694
16695
|
* Utility service for interacting with browser localStorage in a type-safe way.
|
|
@@ -30723,6 +30724,11 @@ class FormComponent {
|
|
|
30723
30724
|
* Actualiza el cache de actions basado en el estado actual del form.
|
|
30724
30725
|
*/
|
|
30725
30726
|
updateActionsCache() {
|
|
30727
|
+
// En modo controlled (o sin submit) no hay botón propio que cachear.
|
|
30728
|
+
if (!this.props.actions) {
|
|
30729
|
+
this.actionsCache = [];
|
|
30730
|
+
return;
|
|
30731
|
+
}
|
|
30726
30732
|
let actionState = this.props.actions.state;
|
|
30727
30733
|
if (this.props.state === ComponentStates.WORKING) {
|
|
30728
30734
|
// Submit real del form en curso → botón en loading (spinner).
|
|
@@ -42300,6 +42306,54 @@ function provideValtechProfileRoutes(opts) {
|
|
|
42300
42306
|
];
|
|
42301
42307
|
}
|
|
42302
42308
|
|
|
42309
|
+
var FontSizeOption;
|
|
42310
|
+
(function (FontSizeOption) {
|
|
42311
|
+
FontSizeOption["SMALL"] = "small";
|
|
42312
|
+
FontSizeOption["MEDIUM"] = "medium";
|
|
42313
|
+
FontSizeOption["LARGE"] = "large";
|
|
42314
|
+
})(FontSizeOption || (FontSizeOption = {}));
|
|
42315
|
+
const SIZE_PX = {
|
|
42316
|
+
[FontSizeOption.SMALL]: '14px',
|
|
42317
|
+
[FontSizeOption.MEDIUM]: '16px',
|
|
42318
|
+
[FontSizeOption.LARGE]: '19px',
|
|
42319
|
+
};
|
|
42320
|
+
class FontSizeService {
|
|
42321
|
+
constructor(platformId) {
|
|
42322
|
+
this._size = signal(FontSizeOption.MEDIUM);
|
|
42323
|
+
this.size = this._size.asReadonly();
|
|
42324
|
+
this.isBrowser = isPlatformBrowser(platformId);
|
|
42325
|
+
if (!this.isBrowser)
|
|
42326
|
+
return;
|
|
42327
|
+
const stored = LocalStorageService.get(FONT_SIZE);
|
|
42328
|
+
const initial = stored && SIZE_PX[stored] ? stored : FontSizeOption.MEDIUM;
|
|
42329
|
+
this._size.set(initial);
|
|
42330
|
+
this.applySize(initial);
|
|
42331
|
+
}
|
|
42332
|
+
setSize(size) {
|
|
42333
|
+
if (!SIZE_PX[size])
|
|
42334
|
+
return;
|
|
42335
|
+
this._size.set(size);
|
|
42336
|
+
if (this.isBrowser) {
|
|
42337
|
+
LocalStorageService.set(FONT_SIZE, size);
|
|
42338
|
+
}
|
|
42339
|
+
this.applySize(size);
|
|
42340
|
+
}
|
|
42341
|
+
applySize(size) {
|
|
42342
|
+
if (!this.isBrowser)
|
|
42343
|
+
return;
|
|
42344
|
+
document.documentElement.style.fontSize = SIZE_PX[size];
|
|
42345
|
+
}
|
|
42346
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FontSizeService, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
42347
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FontSizeService, providedIn: 'root' }); }
|
|
42348
|
+
}
|
|
42349
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FontSizeService, decorators: [{
|
|
42350
|
+
type: Injectable,
|
|
42351
|
+
args: [{ providedIn: 'root' }]
|
|
42352
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
42353
|
+
type: Inject,
|
|
42354
|
+
args: [PLATFORM_ID]
|
|
42355
|
+
}] }] });
|
|
42356
|
+
|
|
42303
42357
|
/**
|
|
42304
42358
|
* PreferencesService — preferencias del user en el doc canónico Firestore
|
|
42305
42359
|
* `/apps/{appId}/users/{uid}/preferences/main`.
|
|
@@ -42315,15 +42369,17 @@ function provideValtechProfileRoutes(opts) {
|
|
|
42315
42369
|
* Auto-bind al user actual via `AuthService.user()`. Sin user (logout) → unbind.
|
|
42316
42370
|
*/
|
|
42317
42371
|
class PreferencesService {
|
|
42318
|
-
constructor(config, firestore, auth, http, themeService, i18n) {
|
|
42372
|
+
constructor(config, firestore, auth, http, themeService, fontSizeService, i18n) {
|
|
42319
42373
|
this.config = config;
|
|
42320
42374
|
this.firestore = firestore;
|
|
42321
42375
|
this.auth = auth;
|
|
42322
42376
|
this.http = http;
|
|
42323
42377
|
this.themeService = themeService;
|
|
42378
|
+
this.fontSizeService = fontSizeService;
|
|
42324
42379
|
this.i18n = i18n;
|
|
42325
42380
|
this._theme = signal('auto');
|
|
42326
42381
|
this._language = signal('es');
|
|
42382
|
+
this._fontSize = signal('medium');
|
|
42327
42383
|
// Default `false` (opt-in). El user debe activar explícitamente las notificaciones;
|
|
42328
42384
|
// no asumimos consentimiento implícito. Backend debe coincidir.
|
|
42329
42385
|
this._notificationsMaster = signal(false);
|
|
@@ -42331,6 +42387,7 @@ class PreferencesService {
|
|
|
42331
42387
|
this._synced = signal(false);
|
|
42332
42388
|
this.theme = this._theme.asReadonly();
|
|
42333
42389
|
this.language = this._language.asReadonly();
|
|
42390
|
+
this.fontSize = this._fontSize.asReadonly();
|
|
42334
42391
|
this.notificationsMaster = this._notificationsMaster.asReadonly();
|
|
42335
42392
|
this.synced = this._synced.asReadonly();
|
|
42336
42393
|
/**
|
|
@@ -42379,6 +42436,15 @@ class PreferencesService {
|
|
|
42379
42436
|
this.i18n.setLanguage(l);
|
|
42380
42437
|
}
|
|
42381
42438
|
});
|
|
42439
|
+
// Side-effect: aplicar fontSize local cuando llega snapshot real.
|
|
42440
|
+
effect(() => {
|
|
42441
|
+
if (!this._synced())
|
|
42442
|
+
return;
|
|
42443
|
+
const fs = this._fontSize();
|
|
42444
|
+
if (this.fontSizeService) {
|
|
42445
|
+
this.fontSizeService.setSize(fs);
|
|
42446
|
+
}
|
|
42447
|
+
});
|
|
42382
42448
|
}
|
|
42383
42449
|
/** Actualiza preferencias via backend. Optimistic UI: aplica local, revierte si falla. */
|
|
42384
42450
|
async update(partial) {
|
|
@@ -42386,12 +42452,15 @@ class PreferencesService {
|
|
|
42386
42452
|
const prev = {
|
|
42387
42453
|
theme: this._theme(),
|
|
42388
42454
|
language: this._language(),
|
|
42455
|
+
fontSize: this._fontSize(),
|
|
42389
42456
|
master: this._notificationsMaster(),
|
|
42390
42457
|
};
|
|
42391
42458
|
if (partial.theme)
|
|
42392
42459
|
this._theme.set(partial.theme);
|
|
42393
42460
|
if (partial.language)
|
|
42394
42461
|
this._language.set(partial.language);
|
|
42462
|
+
if (partial.fontSize)
|
|
42463
|
+
this._fontSize.set(partial.fontSize);
|
|
42395
42464
|
if (partial.notifications && typeof partial.notifications.master === 'boolean') {
|
|
42396
42465
|
this._notificationsMaster.set(partial.notifications.master);
|
|
42397
42466
|
}
|
|
@@ -42411,6 +42480,8 @@ class PreferencesService {
|
|
|
42411
42480
|
this._theme.set(res.theme);
|
|
42412
42481
|
if (res.language)
|
|
42413
42482
|
this._language.set(res.language);
|
|
42483
|
+
if (res.fontSize)
|
|
42484
|
+
this._fontSize.set(res.fontSize);
|
|
42414
42485
|
if (typeof res.notifications?.master === 'boolean') {
|
|
42415
42486
|
this._notificationsMaster.set(res.notifications.master);
|
|
42416
42487
|
}
|
|
@@ -42420,6 +42491,7 @@ class PreferencesService {
|
|
|
42420
42491
|
// Revert optimistic.
|
|
42421
42492
|
this._theme.set(prev.theme);
|
|
42422
42493
|
this._language.set(prev.language);
|
|
42494
|
+
this._fontSize.set(prev.fontSize);
|
|
42423
42495
|
this._notificationsMaster.set(prev.master);
|
|
42424
42496
|
throw err;
|
|
42425
42497
|
}
|
|
@@ -42433,6 +42505,9 @@ class PreferencesService {
|
|
|
42433
42505
|
setLanguage(language) {
|
|
42434
42506
|
return this.update({ language });
|
|
42435
42507
|
}
|
|
42508
|
+
setFontSize(fontSize) {
|
|
42509
|
+
return this.update({ fontSize });
|
|
42510
|
+
}
|
|
42436
42511
|
setNotificationsMaster(enabled) {
|
|
42437
42512
|
return this.update({ notifications: { master: enabled } });
|
|
42438
42513
|
}
|
|
@@ -42462,6 +42537,8 @@ class PreferencesService {
|
|
|
42462
42537
|
this._theme.set(doc.theme);
|
|
42463
42538
|
if (doc.language)
|
|
42464
42539
|
this._language.set(doc.language);
|
|
42540
|
+
if (doc.fontSize)
|
|
42541
|
+
this._fontSize.set(doc.fontSize);
|
|
42465
42542
|
if (doc.notifications && typeof doc.notifications.master === 'boolean') {
|
|
42466
42543
|
this._notificationsMaster.set(doc.notifications.master);
|
|
42467
42544
|
}
|
|
@@ -42474,7 +42551,7 @@ class PreferencesService {
|
|
|
42474
42551
|
this.currentUserId = undefined;
|
|
42475
42552
|
this._synced.set(false);
|
|
42476
42553
|
}
|
|
42477
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PreferencesService, deps: [{ token: VALTECH_AUTH_CONFIG }, { token: FirestoreService }, { token: AuthService }, { token: i1$3.HttpClient }, { token: ThemeService, optional: true }, { token: I18nService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
42554
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PreferencesService, deps: [{ token: VALTECH_AUTH_CONFIG }, { token: FirestoreService }, { token: AuthService }, { token: i1$3.HttpClient }, { token: ThemeService, optional: true }, { token: FontSizeService, optional: true }, { token: I18nService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
42478
42555
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PreferencesService, providedIn: 'root' }); }
|
|
42479
42556
|
}
|
|
42480
42557
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PreferencesService, decorators: [{
|
|
@@ -42485,6 +42562,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
42485
42562
|
args: [VALTECH_AUTH_CONFIG]
|
|
42486
42563
|
}] }, { type: FirestoreService }, { type: AuthService }, { type: i1$3.HttpClient }, { type: ThemeService, decorators: [{
|
|
42487
42564
|
type: Optional
|
|
42565
|
+
}] }, { type: FontSizeService, decorators: [{
|
|
42566
|
+
type: Optional
|
|
42488
42567
|
}] }, { type: I18nService, decorators: [{
|
|
42489
42568
|
type: Optional
|
|
42490
42569
|
}] }] });
|
|
@@ -42510,6 +42589,11 @@ const PREFERENCES_VIEW_I18N = {
|
|
|
42510
42589
|
themeAuto: 'Auto',
|
|
42511
42590
|
languageTitle: 'Idioma',
|
|
42512
42591
|
languageHint: 'Idioma de la interfaz y de los correos que recibes.',
|
|
42592
|
+
fontSizeTitle: 'Tamaño de texto',
|
|
42593
|
+
fontSizeHint: 'Ajusta el tamaño de la letra en toda la app.',
|
|
42594
|
+
fontSizeSmall: 'Pequeño',
|
|
42595
|
+
fontSizeMedium: 'Mediano',
|
|
42596
|
+
fontSizeLarge: 'Grande',
|
|
42513
42597
|
saveError: 'No se pudo guardar la preferencia.',
|
|
42514
42598
|
},
|
|
42515
42599
|
en: {
|
|
@@ -42522,6 +42606,11 @@ const PREFERENCES_VIEW_I18N = {
|
|
|
42522
42606
|
themeAuto: 'Auto',
|
|
42523
42607
|
languageTitle: 'Language',
|
|
42524
42608
|
languageHint: 'Language of the interface and of the emails you receive.',
|
|
42609
|
+
fontSizeTitle: 'Text size',
|
|
42610
|
+
fontSizeHint: 'Adjust the font size across the entire app.',
|
|
42611
|
+
fontSizeSmall: 'Small',
|
|
42612
|
+
fontSizeMedium: 'Medium',
|
|
42613
|
+
fontSizeLarge: 'Large',
|
|
42525
42614
|
saveError: 'Could not save preference.',
|
|
42526
42615
|
},
|
|
42527
42616
|
};
|
|
@@ -42561,10 +42650,12 @@ class PreferencesViewComponent {
|
|
|
42561
42650
|
return {
|
|
42562
42651
|
showTheme: merged.showTheme ?? true,
|
|
42563
42652
|
showLanguage: merged.showLanguage ?? true,
|
|
42653
|
+
showFontSize: merged.showFontSize ?? true,
|
|
42564
42654
|
supportedLanguages: merged.supportedLanguages ?? DEFAULT_LANGUAGES,
|
|
42565
42655
|
i18nNamespace: merged.i18nNamespace ?? DEFAULT_NAMESPACE,
|
|
42566
42656
|
onThemeChanged: merged.onThemeChanged,
|
|
42567
42657
|
onLanguageChanged: merged.onLanguageChanged,
|
|
42658
|
+
onFontSizeChanged: merged.onFontSizeChanged,
|
|
42568
42659
|
};
|
|
42569
42660
|
});
|
|
42570
42661
|
this.saving = signal(false);
|
|
@@ -42574,6 +42665,8 @@ class PreferencesViewComponent {
|
|
|
42574
42665
|
this.themeHint = computed(() => this.t('themeHint'));
|
|
42575
42666
|
this.langTitle = computed(() => this.t('languageTitle'));
|
|
42576
42667
|
this.langHint = computed(() => this.t('languageHint'));
|
|
42668
|
+
this.fontSizeTitle = computed(() => this.t('fontSizeTitle'));
|
|
42669
|
+
this.fontSizeHint = computed(() => this.t('fontSizeHint'));
|
|
42577
42670
|
this.themeProps = computed(() => ({
|
|
42578
42671
|
value: this.prefs.theme(),
|
|
42579
42672
|
disabled: this.saving(),
|
|
@@ -42591,6 +42684,15 @@ class PreferencesViewComponent {
|
|
|
42591
42684
|
expand: 'block',
|
|
42592
42685
|
fill: 'outline',
|
|
42593
42686
|
}));
|
|
42687
|
+
this.fontSizeProps = computed(() => ({
|
|
42688
|
+
value: this.prefs.fontSize(),
|
|
42689
|
+
disabled: this.saving(),
|
|
42690
|
+
options: [
|
|
42691
|
+
{ value: 'small', label: this.t('fontSizeSmall') },
|
|
42692
|
+
{ value: 'medium', label: this.t('fontSizeMedium') },
|
|
42693
|
+
{ value: 'large', label: this.t('fontSizeLarge') },
|
|
42694
|
+
],
|
|
42695
|
+
}));
|
|
42594
42696
|
// Auto-registro i18n — respeta override del consumer. El namespace puede
|
|
42595
42697
|
// venir de @Input.config o del route data; lo resolvemos acá.
|
|
42596
42698
|
const ns = this.ns;
|
|
@@ -42605,6 +42707,12 @@ class PreferencesViewComponent {
|
|
|
42605
42707
|
const theme = value;
|
|
42606
42708
|
await this.dispatch(() => this.prefs.setTheme(theme), () => this.resolvedConfig().onThemeChanged?.(theme));
|
|
42607
42709
|
}
|
|
42710
|
+
async onFontSizeChange(value) {
|
|
42711
|
+
const fontSize = value;
|
|
42712
|
+
if (this.saving() || value === this.prefs.fontSize())
|
|
42713
|
+
return;
|
|
42714
|
+
await this.dispatch(() => this.prefs.setFontSize(fontSize), () => this.resolvedConfig().onFontSizeChanged?.(fontSize));
|
|
42715
|
+
}
|
|
42608
42716
|
async onLanguageChange(value) {
|
|
42609
42717
|
const lang = value;
|
|
42610
42718
|
if (!this.resolvedConfig().supportedLanguages.includes(lang))
|
|
@@ -42696,6 +42804,30 @@ class PreferencesViewComponent {
|
|
|
42696
42804
|
</div>
|
|
42697
42805
|
</section>
|
|
42698
42806
|
}
|
|
42807
|
+
|
|
42808
|
+
@if (resolvedConfig().showFontSize) {
|
|
42809
|
+
<section class="settings-section">
|
|
42810
|
+
<val-title
|
|
42811
|
+
[props]="{
|
|
42812
|
+
size: 'medium',
|
|
42813
|
+
color: 'dark',
|
|
42814
|
+
bold: true,
|
|
42815
|
+
content: fontSizeTitle(),
|
|
42816
|
+
}"
|
|
42817
|
+
/>
|
|
42818
|
+
<div class="section-body">
|
|
42819
|
+
<val-text
|
|
42820
|
+
[props]="{
|
|
42821
|
+
size: 'medium',
|
|
42822
|
+
color: 'dark',
|
|
42823
|
+
bold: false,
|
|
42824
|
+
content: fontSizeHint(),
|
|
42825
|
+
}"
|
|
42826
|
+
/>
|
|
42827
|
+
<val-segment-control [props]="fontSizeProps()" (segmentChange)="onFontSizeChange($event)" />
|
|
42828
|
+
</div>
|
|
42829
|
+
</section>
|
|
42830
|
+
}
|
|
42699
42831
|
</div>
|
|
42700
42832
|
`, isInline: true, styles: [".page{padding:16px 0;max-width:720px;margin:0 auto}.settings-section{padding:16px 0}.settings-section+.settings-section{border-top:1px solid var(--val-border-color, rgba(0, 0, 0, .08))}.section-body{display:flex;flex-direction:column;gap:10px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: SegmentControlComponent, selector: "val-segment-control", inputs: ["preset", "props"], outputs: ["segmentChange"] }, { kind: "component", type: LanguageSelectorComponent, selector: "val-language-selector", inputs: ["props"], outputs: ["languageChange"] }, { kind: "component", type: DisplayComponent, selector: "val-display", inputs: ["props"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }, { kind: "component", type: TextComponent, selector: "val-text", inputs: ["props"] }] }); }
|
|
42701
42833
|
}
|
|
@@ -42769,6 +42901,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
42769
42901
|
</div>
|
|
42770
42902
|
</section>
|
|
42771
42903
|
}
|
|
42904
|
+
|
|
42905
|
+
@if (resolvedConfig().showFontSize) {
|
|
42906
|
+
<section class="settings-section">
|
|
42907
|
+
<val-title
|
|
42908
|
+
[props]="{
|
|
42909
|
+
size: 'medium',
|
|
42910
|
+
color: 'dark',
|
|
42911
|
+
bold: true,
|
|
42912
|
+
content: fontSizeTitle(),
|
|
42913
|
+
}"
|
|
42914
|
+
/>
|
|
42915
|
+
<div class="section-body">
|
|
42916
|
+
<val-text
|
|
42917
|
+
[props]="{
|
|
42918
|
+
size: 'medium',
|
|
42919
|
+
color: 'dark',
|
|
42920
|
+
bold: false,
|
|
42921
|
+
content: fontSizeHint(),
|
|
42922
|
+
}"
|
|
42923
|
+
/>
|
|
42924
|
+
<val-segment-control [props]="fontSizeProps()" (segmentChange)="onFontSizeChange($event)" />
|
|
42925
|
+
</div>
|
|
42926
|
+
</section>
|
|
42927
|
+
}
|
|
42772
42928
|
</div>
|
|
42773
42929
|
`, styles: [".page{padding:16px 0;max-width:720px;margin:0 auto}.settings-section{padding:16px 0}.settings-section+.settings-section{border-top:1px solid var(--val-border-color, rgba(0, 0, 0, .08))}.section-body{display:flex;flex-direction:column;gap:10px}\n"] }]
|
|
42774
42930
|
}], ctorParameters: () => [], propDecorators: { config: [{
|
|
@@ -52976,16 +53132,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
52976
53132
|
type: Output
|
|
52977
53133
|
}] } });
|
|
52978
53134
|
|
|
52979
|
-
/**
|
|
52980
|
-
* Shared Company Footer Configuration
|
|
52981
|
-
*
|
|
52982
|
-
* This configuration is shared across all Valtech products:
|
|
52983
|
-
* - ui-docs
|
|
52984
|
-
* - showcase
|
|
52985
|
-
* - myvaltech (company website)
|
|
52986
|
-
*
|
|
52987
|
-
* When links or social profiles change, update here and publish a new version.
|
|
52988
|
-
*/
|
|
52989
53135
|
/**
|
|
52990
53136
|
* Social media links for Valtech
|
|
52991
53137
|
*/
|
|
@@ -53107,6 +53253,74 @@ function buildFooterLinks(links, t, resolver) {
|
|
|
53107
53253
|
};
|
|
53108
53254
|
});
|
|
53109
53255
|
}
|
|
53256
|
+
/**
|
|
53257
|
+
* Builds a `CompanyLinkResolver` that rewrites cross-app `legal`/`site` links to
|
|
53258
|
+
* the main brand site via `LegalLinkService`, leaving `support` (and any other)
|
|
53259
|
+
* links untouched.
|
|
53260
|
+
*
|
|
53261
|
+
* Satellite apps (showcase, sigify, …) wire `provideValtechSite(env)` so that
|
|
53262
|
+
* `legal`/`site` links resolve to the canonical main-site URLs; `support` links
|
|
53263
|
+
* stay per-app. This is the generic half of an app's footer resolver — apps that
|
|
53264
|
+
* need extra per-link overrides (e.g. redirecting `/feedback` to an authed route)
|
|
53265
|
+
* compose this with their own logic.
|
|
53266
|
+
*
|
|
53267
|
+
* @param legal Injected `LegalLinkService` (no-op when running as the main site).
|
|
53268
|
+
* @param locale Getter for the active locale (e.g. `() => i18n.lang()`) — appended
|
|
53269
|
+
* as `?lang=` when the resolved URL is cross-origin.
|
|
53270
|
+
*
|
|
53271
|
+
* @example
|
|
53272
|
+
* const base = buildLegalLinkResolver(legal, () => i18n.lang());
|
|
53273
|
+
* const resolver: CompanyLinkResolver = (link) =>
|
|
53274
|
+
* link.url === '/feedback' ? { url: '/app/feedback', external: false } : base(link);
|
|
53275
|
+
*/
|
|
53276
|
+
function buildLegalLinkResolver(legal, locale) {
|
|
53277
|
+
return (link) => {
|
|
53278
|
+
const shouldRewrite = link.kind === 'legal' || link.kind === 'site';
|
|
53279
|
+
return {
|
|
53280
|
+
url: shouldRewrite ? legal.resolve(link.url, { locale: locale() }) : link.url,
|
|
53281
|
+
external: link.external || (shouldRewrite && legal.isExternal(link.url)),
|
|
53282
|
+
};
|
|
53283
|
+
};
|
|
53284
|
+
}
|
|
53285
|
+
/**
|
|
53286
|
+
* Builds the shared `CompanyFooterMetadata` used across Valtech apps (login,
|
|
53287
|
+
* legal, public landing, …) so the footer stays consistent. Assembles the
|
|
53288
|
+
* standard left/right link sections, logo, social links and language selector
|
|
53289
|
+
* from the shared config.
|
|
53290
|
+
*
|
|
53291
|
+
* Call from a `computed()` that reads the active language for reactivity.
|
|
53292
|
+
*
|
|
53293
|
+
* @param t Translation helper for the `Layout` namespace.
|
|
53294
|
+
* @param linkResolver Optional resolver applied to every footer link — typically
|
|
53295
|
+
* `buildLegalLinkResolver(...)` (or an app wrapper) to point `legal`/`site`
|
|
53296
|
+
* links at the main site when running as a satellite app.
|
|
53297
|
+
*/
|
|
53298
|
+
function buildCompanyFooterProps(t, linkResolver) {
|
|
53299
|
+
return {
|
|
53300
|
+
links: {
|
|
53301
|
+
leftLinks: {
|
|
53302
|
+
title: t('footerLeftTitle'),
|
|
53303
|
+
size: 'small',
|
|
53304
|
+
links: buildFooterLinks(VALTECH_COMPANY_LINKS.legal, t, linkResolver),
|
|
53305
|
+
},
|
|
53306
|
+
rightLinks: {
|
|
53307
|
+
title: t('footerRightTitle'),
|
|
53308
|
+
size: 'small',
|
|
53309
|
+
links: buildFooterLinks(VALTECH_COMPANY_LINKS.support, t, linkResolver),
|
|
53310
|
+
},
|
|
53311
|
+
logoCssVariable: VALTECH_FOOTER_LOGO.logoCssVariable,
|
|
53312
|
+
logoAlt: VALTECH_FOOTER_LOGO.logoAlt,
|
|
53313
|
+
logoRoute: VALTECH_FOOTER_LOGO.logoRoute,
|
|
53314
|
+
socialLinks: VALTECH_SOCIAL_LINKS,
|
|
53315
|
+
languageSelector: VALTECH_LANGUAGE_SELECTOR,
|
|
53316
|
+
},
|
|
53317
|
+
rights: {
|
|
53318
|
+
fullText: t('copyrightText'),
|
|
53319
|
+
align: 'center',
|
|
53320
|
+
},
|
|
53321
|
+
withPadding: true,
|
|
53322
|
+
};
|
|
53323
|
+
}
|
|
53110
53324
|
|
|
53111
53325
|
/**
|
|
53112
53326
|
* Shared configuration exports
|
|
@@ -54069,5 +54283,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
54069
54283
|
* Generated bundle index. Do not edit.
|
|
54070
54284
|
*/
|
|
54071
54285
|
|
|
54072
|
-
export { ACTION_CARD_DEFAULTS, AD_SIZE_MAP, API_TABLE_COLUMN_LABELS, ARTICLE_CARD_DEFAULTS, ARTICLE_SPACING, ARTICLE_STRIP_DEFAULTS, AUTH_CTA_DEFAULTS, AVATAR_UPLOAD_DEFAULTS, AccordionComponent, ActionCardComponent, ActionHeaderComponent, ActionType, AdSlotComponent, AdsLoaderService, AdsService, AlertBoxComponent, AnalyticsErrorHandler, AnalyticsRouterTracker, AnalyticsService, AnimatedTerminalComponent, AppConfigService, AppVersionService, ArticleBuilder, ArticleCardComponent, ArticleComponent, ArticleStripComponent, AttachmentUploaderComponent, AuthBackgroundComponent, AuthCtaComponent, AuthService, AuthStateService, AuthStorageService, AuthSyncService, AvatarComponent, AvatarUploadComponent, BOTTOM_NAV_DEFAULTS, BannerComponent, BaseDefault, BlogPostBuilder, BottomNavComponent, BoxComponent, BreadcrumbComponent, ButtonComponent, ButtonGroupComponent, CALLOUT_LABELS, CHEV_KEYS, CIRCLE_KEYS, COMMON_COUNTRY_CODES, COMMON_CURRENCIES, CONTENT_CARD_DEFAULTS, CORNER_KEYS, CTA_CARD_DEFAULTS, CURRENCY_INFO, CardComponent, CardSection, CardType, CardsCarouselComponent, ChangeEmailModalComponent, ChangePasswordModalComponent, CheckInputComponent, CheckboxRadioInputComponent, ChipGroupComponent, ClearDefault, ClearDefaultBlock, ClearDefaultFull, ClearDefaultRound, ClearDefaultRoundBlock, ClearDefaultRoundFull, CodeDisplayComponent, CommandDisplayComponent, CommentComponent, CommentInputComponent, CommentSectionComponent, CompanyFooterComponent, ComponentStates, ConfirmationDialogService, ContainerComponent, ContentCardComponent, ContentLoaderComponent, ContentReactionComponent, ContentService, ContentTransformer, CookieBannerComponent, CountdownComponent, CtaCardComponent, CurrencyInputComponent, DEFAULT_ADS_CONFIG, DEFAULT_APP_CONFIG_SERVICE_CONFIG, DEFAULT_APP_VERSION_SERVICE_CONFIG, DEFAULT_AUTH_CONFIG, DEFAULT_BACK_HEADER, 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_MODAL_CANCEL_BUTTON, DEFAULT_MODAL_CONFIRM_BUTTON, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLATFORMS, DEFAULT_REFRESHER_METADATA, DEFAULT_SKELETON_CONFIG, DEFAULT_SPLASH_SCREEN_CONFIG, DataTableComponent, DateInputComponent, DateRangeInputComponent, DebugConsoleComponent, DetailSkeletonComponent, DeviceService, DisplayComponent, DividerComponent, DocsApiTableComponent, DocsBreadcrumbComponent, DocsBuilder, DocsCalloutComponent, DocsCodeExampleComponent, DocsLayoutComponent, DocsNavLinksComponent, DocsNavigationService, DocsPageComponent, DocsSearchComponent, DocsSectionComponent, DocsShellComponent, DocsSidebarComponent, DocsTocComponent, DonationService, DownloadService, EmailInputComponent, EmptyStateComponent, ExpandableTextComponent, FEATURES_LIST_DEFAULTS, FUN_MODAL_DEFAULTS, FabComponent, FaqComponent, FeaturesListComponent, FeedbackFormComponent, FeedbackService, FileInputComponent, FirebaseService, FirestoreCollectionFactory, FirestoreService, FooterComponent, FooterLinksComponent, FormComponent, FormSkeletonComponent, FunHeaderComponent, FunModalComponent, GlassComponent, GlowCardComponent, GlowComponent, GridSkeletonComponent, HANDOFF_ROUTE_PARAM, HANDOFF_TOKEN_PARAM, HandoffService, HasPermissionDirective, HeaderComponent, HintComponent, HorizontalScrollComponent, HourInputComponent, HrefComponent, I18nService, IMAGE_DEFAULTS, INFO_CARD_DEFAULTS, INITIAL_AUTH_STATE, INITIAL_MFA_STATE, INVITATION_CARD_DEFAULTS, Icon, IconComponent, IconService, ImageComponent, ImageCropComponent, ImageService, InAppBrowserService, InfiniteListComponent, InfoCardComponent, InfoComponent, InputI18nHelper, InputType, InvitationCardComponent, ItemListComponent, LANG_STORAGE_KEY$1 as LANG_STORAGE_KEY, LEGAL_CONTENT_CONFIG, LOGIN_DEFAULTS, LandingSplitComponent, LandingStepsComponent, LanguageSelectorComponent, LayeredCardComponent, LegalContentService, LegalLinkService, LinkComponent, LinkProcessorService, LinkedProvidersComponent, LinksAccordionComponent, LinksCakeComponent, ListSkeletonComponent, LoadingDirective, LocalStorageService, LocaleService, LoginComponent, MEDIA_OBJECT_DEFAULTS, MEMBER_CARD_DEFAULTS, METRIC_CARD_DEFAULTS, MODAL_SIZES, MOTIF_KEYS, MOTION, MaintenancePageComponent, MarkdownArticleParserService, MediaObjectComponent, MemberCardComponent, MenuComponent, MessagingService, MetaService, MetricCardComponent, MfaModalComponent, ModalService, ModalShellComponent, MultiSelectSearchComponent, NUM_KEYS, NavigationService, NetworkBannerComponent, NetworkStatusService, NewsBuilder, NoContentComponent, NotesBoxComponent, NotificationActionService, NotificationsService, NumberFromToComponent, NumberInputComponent, NumberStepperComponent, OAUTH_PROVIDERS_INFO, OAuthCallbackComponent, OAuthService, OrgService, OrgSwitchService, OutlineDefault, OutlineDefaultBlock, OutlineDefaultFull, OutlineDefaultRound, OutlineDefaultRoundBlock, OutlineDefaultRoundFull, PATTERN_MOTIFS, PATTERN_PALETTES, PATTERN_STYLE_CONFIGS, PLATFORM_CONFIGS, PageContentComponent, PageLinksComponent, PageRefreshService, PageTemplateComponent, PageWavesComponent, PageWrapperComponent, PaginationComponent, PaginationService, PasswordInputComponent, PatternComponent, PhoneInputComponent, PillComponent, PinInputComponent, PlainCodeBoxComponent, PopoverSelectorComponent, PreferencesService, PreferencesViewComponent, PresetService, PriceTagComponent, PrimarySolidBlockButton, PrimarySolidBlockHrefButton, PrimarySolidBlockIconButton, PrimarySolidBlockIconHrefButton, PrimarySolidDefaultRoundButton, PrimarySolidDefaultRoundHrefButton, PrimarySolidDefaultRoundIconButton, PrimarySolidDefaultRoundIconHrefButton, PrimarySolidFullButton, PrimarySolidFullHrefButton, PrimarySolidFullIconButton, PrimarySolidFullIconHrefButton, PrimarySolidLargeRoundButton, PrimarySolidLargeRoundHrefButton, PrimarySolidLargeRoundIconButton, PrimarySolidLargeRoundIconHrefButton, PrimarySolidSmallRoundButton, PrimarySolidSmallRoundHrefButton, PrimarySolidSmallRoundIconButton, PrimarySolidSmallRoundIconHrefButton, ProcessLinksPipe, ProfileSkeletonComponent, ProfileViewComponent, ProgressBarComponent, ProgressRingComponent, ProgressStatusComponent, PrompterComponent, QR_PRESETS, QrCodeComponent, QrGeneratorService, QueryBuilder, QuoteBoxComponent, REQUEST_STATUSES, RadioInputComponent, RangeInputComponent, RatingComponent, RefresherComponent, RequestFirestoreService, RequestFormBuilderService, 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, SecondarySolidBlockButton, SecondarySolidBlockHrefButton, SecondarySolidBlockIconButton, SecondarySolidBlockIconHrefButton, SecondarySolidDefaultRoundButton, SecondarySolidDefaultRoundHrefButton, SecondarySolidDefaultRoundIconButton, SecondarySolidDefaultRoundIconHrefButton, SecondarySolidFullButton, SecondarySolidFullHrefButton, SecondarySolidFullIconButton, SecondarySolidFullIconHrefButton, SecondarySolidLargeRoundButton, SecondarySolidLargeRoundHrefButton, SecondarySolidLargeRoundIconButton, SecondarySolidLargeRoundIconHrefButton, SecondarySolidSmallRoundButton, SecondarySolidSmallRoundHrefButton, SecondarySolidSmallRoundIconButton, SecondarySolidSmallRoundIconHrefButton, SegmentControlComponent, SelectSearchComponent, SessionService, SettingsHubComponent, ShareButtonsComponent, ShareProfileModalComponent, SimpleComponent, SkeletonComponent, SkeletonLayoutComponent, SkeletonService, SolidBlockButton, SolidDefault, SolidDefaultBlock, SolidDefaultButton, SolidDefaultFull, SolidDefaultRound, SolidDefaultRoundBlock, SolidDefaultRoundButton, SolidDefaultRoundFull, SolidFullButton, SolidLargeButton, SolidLargeRoundButton, SolidSmallButton, SolidSmallRoundButton, SplashScreenService, StatsBarComponent, StatsCardComponent, StepperComponent, StorageService, SwipeCarouselComponent, TRI_KEYS, TabbedContentComponent, TableSkeletonComponent, TabsComponent, Terminal404Component, TestimonialCardComponent, TestimonialCarouselComponent, TextComponent, TextInputComponent, TextareaInputComponent, ThemeOption, ThemeService, TimelineComponent, TitleBlockComponent, TitleComponent, ToastService, ToggleInputComponent, TokenService, ToolbarActionType, ToolbarComponent, 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_SITE_PATHS, VALTECH_SOCIAL_LINKS, VALTECH_SPLASH_SCREEN, VALTECH_WEB_BASE_URLS, VERSION, ValtechErrorService, WizardComponent, WizardFooterComponent, applyDefaultValueToControl, authGuard, authInterceptor, authPasswordValidator, beautifyLegalArticle, blogPost, buildFooterLinks, buildPath, buildSettingsCards, collections, connectPageRefresh, createErrorStateProps, createFirebaseConfig, createGlowCardProps, createInitialPaginationState, createNumberFromToField, createRefreshableStream, createTitleProps, docs, errorLoggingInterceptor, extractPathParams, generatePatternTiles, generateRandomTile, getAppInfo, getAppVersion, getCollectionPath, getDocumentId, getTimeOfDayKey, goToTop, guestGuard, hasEmulators, interpretError, isAtEnd, isCollectionPath, isDocumentPath, isEmulatorMode, isValidPath, joinPath, maxLength, mulberry32, news, parseMarkdownArticle, permissionGuard, permissionGuardFromRoute, provideLegalContent, provideSplashScreen, provideValtechAds, provideValtechAppConfig, provideValtechAppVersion, provideValtechAuth, provideValtechAuthInterceptor, provideValtechContent, provideValtechDebugConsole, provideValtechDonations, provideValtechErrorHandling, provideValtechFeedback, provideValtechFirebase, provideValtechI18n, provideValtechLegal, provideValtechPreferencesRoutes, provideValtechPresets, provideValtechProfileRoutes, provideValtechSettingsRoutes, provideValtechSite, provideValtechSkeleton, query, renderPatternSvgInner, replaceSpecialChars, resolveColor$1 as resolveColor, resolveInputDefaultValue, resolveWebBaseUrl, roleGuard, storagePaths, superAdminGuard, toArticle };
|
|
54286
|
+
export { ACTION_CARD_DEFAULTS, AD_SIZE_MAP, API_TABLE_COLUMN_LABELS, ARTICLE_CARD_DEFAULTS, ARTICLE_SPACING, ARTICLE_STRIP_DEFAULTS, AUTH_CTA_DEFAULTS, AVATAR_UPLOAD_DEFAULTS, AccordionComponent, ActionCardComponent, ActionHeaderComponent, ActionType, AdSlotComponent, AdsLoaderService, AdsService, AlertBoxComponent, AnalyticsErrorHandler, AnalyticsRouterTracker, AnalyticsService, AnimatedTerminalComponent, AppConfigService, AppVersionService, ArticleBuilder, ArticleCardComponent, ArticleComponent, ArticleStripComponent, AttachmentUploaderComponent, AuthBackgroundComponent, AuthCtaComponent, AuthService, AuthStateService, AuthStorageService, AuthSyncService, AvatarComponent, AvatarUploadComponent, BOTTOM_NAV_DEFAULTS, BannerComponent, BaseDefault, BlogPostBuilder, BottomNavComponent, BoxComponent, BreadcrumbComponent, ButtonComponent, ButtonGroupComponent, CALLOUT_LABELS, CHEV_KEYS, CIRCLE_KEYS, COMMON_COUNTRY_CODES, COMMON_CURRENCIES, CONTENT_CARD_DEFAULTS, CORNER_KEYS, CTA_CARD_DEFAULTS, CURRENCY_INFO, CardComponent, CardSection, CardType, CardsCarouselComponent, ChangeEmailModalComponent, ChangePasswordModalComponent, CheckInputComponent, CheckboxRadioInputComponent, ChipGroupComponent, ClearDefault, ClearDefaultBlock, ClearDefaultFull, ClearDefaultRound, ClearDefaultRoundBlock, ClearDefaultRoundFull, CodeDisplayComponent, CommandDisplayComponent, CommentComponent, CommentInputComponent, CommentSectionComponent, CompanyFooterComponent, ComponentStates, ConfirmationDialogService, ContainerComponent, ContentCardComponent, ContentLoaderComponent, ContentReactionComponent, ContentService, ContentTransformer, CookieBannerComponent, CountdownComponent, CtaCardComponent, CurrencyInputComponent, DEFAULT_ADS_CONFIG, DEFAULT_APP_CONFIG_SERVICE_CONFIG, DEFAULT_APP_VERSION_SERVICE_CONFIG, DEFAULT_AUTH_CONFIG, DEFAULT_BACK_HEADER, 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_MODAL_CANCEL_BUTTON, DEFAULT_MODAL_CONFIRM_BUTTON, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLATFORMS, DEFAULT_REFRESHER_METADATA, DEFAULT_SKELETON_CONFIG, DEFAULT_SPLASH_SCREEN_CONFIG, DataTableComponent, DateInputComponent, DateRangeInputComponent, DebugConsoleComponent, DetailSkeletonComponent, DeviceService, DisplayComponent, DividerComponent, DocsApiTableComponent, DocsBreadcrumbComponent, DocsBuilder, DocsCalloutComponent, DocsCodeExampleComponent, DocsLayoutComponent, DocsNavLinksComponent, DocsNavigationService, DocsPageComponent, DocsSearchComponent, DocsSectionComponent, DocsShellComponent, DocsSidebarComponent, DocsTocComponent, DonationService, DownloadService, EmailInputComponent, EmptyStateComponent, ExpandableTextComponent, FEATURES_LIST_DEFAULTS, FUN_MODAL_DEFAULTS, FabComponent, FaqComponent, FeaturesListComponent, FeedbackFormComponent, FeedbackService, FileInputComponent, FirebaseService, FirestoreCollectionFactory, FirestoreService, FontSizeOption, FontSizeService, FooterComponent, FooterLinksComponent, FormComponent, FormSkeletonComponent, FunHeaderComponent, FunModalComponent, GlassComponent, GlowCardComponent, GlowComponent, GridSkeletonComponent, HANDOFF_ROUTE_PARAM, HANDOFF_TOKEN_PARAM, HandoffService, HasPermissionDirective, HeaderComponent, HintComponent, HorizontalScrollComponent, HourInputComponent, HrefComponent, I18nService, IMAGE_DEFAULTS, INFO_CARD_DEFAULTS, INITIAL_AUTH_STATE, INITIAL_MFA_STATE, INVITATION_CARD_DEFAULTS, Icon, IconComponent, IconService, ImageComponent, ImageCropComponent, ImageService, InAppBrowserService, InfiniteListComponent, InfoCardComponent, InfoComponent, InputI18nHelper, InputType, InvitationCardComponent, ItemListComponent, LANG_STORAGE_KEY$1 as LANG_STORAGE_KEY, LEGAL_CONTENT_CONFIG, LOGIN_DEFAULTS, LandingSplitComponent, LandingStepsComponent, LanguageSelectorComponent, LayeredCardComponent, LegalContentService, LegalLinkService, LinkComponent, LinkProcessorService, LinkedProvidersComponent, LinksAccordionComponent, LinksCakeComponent, ListSkeletonComponent, LoadingDirective, LocalStorageService, LocaleService, LoginComponent, MEDIA_OBJECT_DEFAULTS, MEMBER_CARD_DEFAULTS, METRIC_CARD_DEFAULTS, MODAL_SIZES, MOTIF_KEYS, MOTION, MaintenancePageComponent, MarkdownArticleParserService, MediaObjectComponent, MemberCardComponent, MenuComponent, MessagingService, MetaService, MetricCardComponent, MfaModalComponent, ModalService, ModalShellComponent, MultiSelectSearchComponent, NUM_KEYS, NavigationService, NetworkBannerComponent, NetworkStatusService, NewsBuilder, NoContentComponent, NotesBoxComponent, NotificationActionService, NotificationsService, NumberFromToComponent, NumberInputComponent, NumberStepperComponent, OAUTH_PROVIDERS_INFO, OAuthCallbackComponent, OAuthService, OrgService, OrgSwitchService, OutlineDefault, OutlineDefaultBlock, OutlineDefaultFull, OutlineDefaultRound, OutlineDefaultRoundBlock, OutlineDefaultRoundFull, PATTERN_MOTIFS, PATTERN_PALETTES, PATTERN_STYLE_CONFIGS, PLATFORM_CONFIGS, PageContentComponent, PageLinksComponent, PageRefreshService, PageTemplateComponent, PageWavesComponent, PageWrapperComponent, PaginationComponent, PaginationService, PasswordInputComponent, PatternComponent, PhoneInputComponent, PillComponent, PinInputComponent, PlainCodeBoxComponent, PopoverSelectorComponent, PreferencesService, PreferencesViewComponent, PresetService, PriceTagComponent, PrimarySolidBlockButton, PrimarySolidBlockHrefButton, PrimarySolidBlockIconButton, PrimarySolidBlockIconHrefButton, PrimarySolidDefaultRoundButton, PrimarySolidDefaultRoundHrefButton, PrimarySolidDefaultRoundIconButton, PrimarySolidDefaultRoundIconHrefButton, PrimarySolidFullButton, PrimarySolidFullHrefButton, PrimarySolidFullIconButton, PrimarySolidFullIconHrefButton, PrimarySolidLargeRoundButton, PrimarySolidLargeRoundHrefButton, PrimarySolidLargeRoundIconButton, PrimarySolidLargeRoundIconHrefButton, PrimarySolidSmallRoundButton, PrimarySolidSmallRoundHrefButton, PrimarySolidSmallRoundIconButton, PrimarySolidSmallRoundIconHrefButton, ProcessLinksPipe, ProfileSkeletonComponent, ProfileViewComponent, ProgressBarComponent, ProgressRingComponent, ProgressStatusComponent, PrompterComponent, QR_PRESETS, QrCodeComponent, QrGeneratorService, QueryBuilder, QuoteBoxComponent, REQUEST_STATUSES, RadioInputComponent, RangeInputComponent, RatingComponent, RefresherComponent, RequestFirestoreService, RequestFormBuilderService, 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, SecondarySolidBlockButton, SecondarySolidBlockHrefButton, SecondarySolidBlockIconButton, SecondarySolidBlockIconHrefButton, SecondarySolidDefaultRoundButton, SecondarySolidDefaultRoundHrefButton, SecondarySolidDefaultRoundIconButton, SecondarySolidDefaultRoundIconHrefButton, SecondarySolidFullButton, SecondarySolidFullHrefButton, SecondarySolidFullIconButton, SecondarySolidFullIconHrefButton, SecondarySolidLargeRoundButton, SecondarySolidLargeRoundHrefButton, SecondarySolidLargeRoundIconButton, SecondarySolidLargeRoundIconHrefButton, SecondarySolidSmallRoundButton, SecondarySolidSmallRoundHrefButton, SecondarySolidSmallRoundIconButton, SecondarySolidSmallRoundIconHrefButton, SegmentControlComponent, SelectSearchComponent, SessionService, SettingsHubComponent, ShareButtonsComponent, ShareProfileModalComponent, SimpleComponent, SkeletonComponent, SkeletonLayoutComponent, SkeletonService, SolidBlockButton, SolidDefault, SolidDefaultBlock, SolidDefaultButton, SolidDefaultFull, SolidDefaultRound, SolidDefaultRoundBlock, SolidDefaultRoundButton, SolidDefaultRoundFull, SolidFullButton, SolidLargeButton, SolidLargeRoundButton, SolidSmallButton, SolidSmallRoundButton, SplashScreenService, StatsBarComponent, StatsCardComponent, StepperComponent, StorageService, SwipeCarouselComponent, TRI_KEYS, TabbedContentComponent, TableSkeletonComponent, TabsComponent, Terminal404Component, TestimonialCardComponent, TestimonialCarouselComponent, TextComponent, TextInputComponent, TextareaInputComponent, ThemeOption, ThemeService, TimelineComponent, TitleBlockComponent, TitleComponent, ToastService, ToggleInputComponent, TokenService, ToolbarActionType, ToolbarComponent, 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_SITE_PATHS, VALTECH_SOCIAL_LINKS, VALTECH_SPLASH_SCREEN, VALTECH_WEB_BASE_URLS, VERSION, ValtechErrorService, WizardComponent, WizardFooterComponent, applyDefaultValueToControl, authGuard, authInterceptor, authPasswordValidator, beautifyLegalArticle, blogPost, buildCompanyFooterProps, buildFooterLinks, buildLegalLinkResolver, buildPath, buildSettingsCards, collections, connectPageRefresh, createErrorStateProps, createFirebaseConfig, createGlowCardProps, createInitialPaginationState, createNumberFromToField, createRefreshableStream, createTitleProps, docs, errorLoggingInterceptor, extractPathParams, generatePatternTiles, generateRandomTile, getAppInfo, getAppVersion, getCollectionPath, getDocumentId, getTimeOfDayKey, goToTop, guestGuard, hasEmulators, interpretError, isAtEnd, isCollectionPath, isDocumentPath, isEmulatorMode, isValidPath, joinPath, maxLength, mulberry32, news, parseMarkdownArticle, permissionGuard, permissionGuardFromRoute, provideLegalContent, provideSplashScreen, provideValtechAds, provideValtechAppConfig, provideValtechAppVersion, provideValtechAuth, provideValtechAuthInterceptor, provideValtechContent, provideValtechDebugConsole, provideValtechDonations, provideValtechErrorHandling, provideValtechFeedback, provideValtechFirebase, provideValtechI18n, provideValtechLegal, provideValtechPreferencesRoutes, provideValtechPresets, provideValtechProfileRoutes, provideValtechSettingsRoutes, provideValtechSite, provideValtechSkeleton, query, renderPatternSvgInner, replaceSpecialChars, resolveColor$1 as resolveColor, resolveInputDefaultValue, resolveWebBaseUrl, roleGuard, storagePaths, superAdminGuard, toArticle };
|
|
54073
54287
|
//# sourceMappingURL=valtech-components.mjs.map
|