valtech-components 4.0.162 → 4.0.165
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/html-viewer-modal/html-viewer-modal.component.mjs +102 -0
- package/esm2022/lib/components/organisms/profile-view/profile-view.component.mjs +12 -1
- package/esm2022/lib/services/auth/oauth-callback.component.mjs +15 -11
- package/esm2022/lib/services/auth/oauth.service.mjs +46 -1
- package/esm2022/lib/version.mjs +2 -2
- package/esm2022/public-api.mjs +4 -1
- package/fesm2022/valtech-components.mjs +169 -13
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/organisms/html-viewer-modal/html-viewer-modal.component.d.ts +29 -0
- package/lib/services/auth/oauth.service.d.ts +1 -0
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
- package/src/lib/services/firebase/firebase-messaging-sw.js +145 -0
|
@@ -25,7 +25,7 @@ import { getApps, getApp, initializeApp as initializeApp$1 } from 'firebase/app'
|
|
|
25
25
|
import * as i2$1 from '@ionic/angular/standalone';
|
|
26
26
|
import { AlertController, IonAvatar, IonCard, IonIcon, IonButton, IonSpinner, IonText, IonModal, IonHeader, IonToolbar, IonContent, IonButtons, IonTitle, IonProgressBar, IonSkeletonText, IonFab, IonFabButton, IonFabList, IonLabel, IonCardContent, IonCardHeader, IonCardTitle, IonCardSubtitle, IonCheckbox, IonRadio, IonRadioGroup, IonTextarea, IonDatetime, IonSelect, IonSelectOption, IonPopover, IonList, IonItem, IonInput, IonChip, IonRange, IonSearchbar, IonSegment, IonSegmentButton, IonToggle, IonRippleEffect, IonAccordion, IonAccordionGroup, IonTabBar, IonTabButton, IonBadge, IonBreadcrumb, IonBreadcrumbs, IonNote, IonDatetimeButton, ToastController as ToastController$1, IonCol, IonRow, IonRefresher, IonRefresherContent, IonMenuButton, IonFooter, IonListHeader, IonInfiniteScroll, IonInfiniteScrollContent, IonGrid, MenuController, IonMenu, IonMenuToggle, IonSplitPane } from '@ionic/angular/standalone';
|
|
27
27
|
import { addIcons } from 'ionicons';
|
|
28
|
-
import { addOutline, addCircleOutline, alertOutline, alertCircleOutline, arrowBackOutline, arrowForwardOutline, arrowDownOutline, settings, settingsOutline, checkmarkCircleOutline, ellipsisHorizontalOutline, notifications, notificationsOutline, openOutline, closeOutline, chatbubblesOutline, shareOutline, heart, heartOutline, home, homeOutline, eyeOffOutline, eyeOutline, scanOutline, chevronDownOutline, chevronForwardOutline, checkmarkOutline, clipboardOutline, copyOutline, filterOutline, locationOutline, calendarOutline, businessOutline, logoTwitter, logoInstagram, logoLinkedin, logoYoutube, logoTiktok, logoFacebook, logoGoogle, createOutline, trashOutline, playOutline, peopleOutline, phonePortraitOutline, refreshOutline, documentTextOutline, lockClosedOutline, cloudUploadOutline, textOutline, informationCircleOutline, logoNpm, removeOutline, optionsOutline, personOutline, shieldCheckmarkOutline, keyOutline, desktopOutline, logOutOutline, cloudDownloadOutline, cloudOutline, gitBranchOutline, layersOutline, serverOutline, warningOutline, bulbOutline, lockOpenOutline, diamondOutline, add, close, share, create, trash, star, camera, mic, send, downloadOutline, chevronDown, language, globeOutline, checkmark, list, grid, apps, menu, search, person, helpCircle, informationCircle, documentText, mail, calendar, folder, chevronForward, ellipsisHorizontal, chevronBack, playBack, playForward, ellipse, starOutline, starHalf, heartHalf, checkmarkCircle, timeOutline, flag, trendingUp, trendingDown, remove, analytics, people, cash, cart, eye, chatbubbleOutline, thumbsUpOutline, thumbsUp, happyOutline, happy, sadOutline, sad, chevronUp, pin, pencil, callOutline, logoWhatsapp, paperPlaneOutline, mailOutline, chevronDownCircleOutline, closeCircle, alertCircle, logoApple, logoMicrosoft, linkOutline, unlinkOutline, cloudOfflineOutline, documentOutline, attachOutline, cameraOutline, closeCircleOutline, imageOutline, chevronBackOutline, sendOutline, chatbubbleEllipsesOutline, swapVerticalOutline, chevronUpOutline, searchOutline, cartOutline, chatbubble, compass, compassOutline, gridOutline, listOutline, folderOutline, documents, documentsOutline, statsChart, statsChartOutline, laptopOutline, swapHorizontalOutline, codeSlashOutline, notificationsOffOutline, alarmOutline, chatboxEllipsesOutline, checkmarkDoneOutline, cogOutline, shareSocialOutline, helpCircleOutline, menuOutline, stopCircleOutline, videocamOffOutline } from 'ionicons/icons';
|
|
28
|
+
import { addOutline, addCircleOutline, alertOutline, alertCircleOutline, arrowBackOutline, arrowForwardOutline, arrowDownOutline, settings, settingsOutline, checkmarkCircleOutline, ellipsisHorizontalOutline, notifications, notificationsOutline, openOutline, closeOutline, chatbubblesOutline, shareOutline, heart, heartOutline, home, homeOutline, eyeOffOutline, eyeOutline, scanOutline, chevronDownOutline, chevronForwardOutline, checkmarkOutline, clipboardOutline, copyOutline, filterOutline, locationOutline, calendarOutline, businessOutline, logoTwitter, logoInstagram, logoLinkedin, logoYoutube, logoTiktok, logoFacebook, logoGoogle, createOutline, trashOutline, playOutline, peopleOutline, phonePortraitOutline, refreshOutline, documentTextOutline, lockClosedOutline, cloudUploadOutline, textOutline, informationCircleOutline, logoNpm, removeOutline, optionsOutline, personOutline, shieldCheckmarkOutline, keyOutline, desktopOutline, logOutOutline, cloudDownloadOutline, cloudOutline, gitBranchOutline, layersOutline, serverOutline, warningOutline, bulbOutline, lockOpenOutline, diamondOutline, add, close, share, create, trash, star, camera, mic, send, downloadOutline, chevronDown, language, globeOutline, checkmark, list, grid, apps, menu, search, person, helpCircle, informationCircle, documentText, mail, calendar, folder, chevronForward, ellipsisHorizontal, chevronBack, playBack, playForward, ellipse, starOutline, starHalf, heartHalf, checkmarkCircle, timeOutline, flag, trendingUp, trendingDown, remove, analytics, people, cash, cart, eye, chatbubbleOutline, thumbsUpOutline, thumbsUp, happyOutline, happy, sadOutline, sad, chevronUp, pin, pencil, callOutline, logoWhatsapp, paperPlaneOutline, mailOutline, chevronDownCircleOutline, closeCircle, alertCircle, logoApple, logoMicrosoft, linkOutline, unlinkOutline, cloudOfflineOutline, documentOutline, attachOutline, cameraOutline, closeCircleOutline, imageOutline, printOutline, chevronBackOutline, sendOutline, chatbubbleEllipsesOutline, swapVerticalOutline, chevronUpOutline, searchOutline, cartOutline, chatbubble, compass, compassOutline, gridOutline, listOutline, folderOutline, documents, documentsOutline, statsChart, statsChartOutline, laptopOutline, swapHorizontalOutline, codeSlashOutline, notificationsOffOutline, alarmOutline, chatboxEllipsesOutline, checkmarkDoneOutline, cogOutline, shareSocialOutline, helpCircleOutline, menuOutline, stopCircleOutline, videocamOffOutline } from 'ionicons/icons';
|
|
29
29
|
import { Browser } from '@capacitor/browser';
|
|
30
30
|
import * as i1$6 from '@angular/platform-browser';
|
|
31
31
|
import { DomSanitizer, Meta, Title } from '@angular/platform-browser';
|
|
@@ -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.165';
|
|
60
60
|
|
|
61
61
|
// Control de estado de refresco (singleton a nivel de módulo)
|
|
62
62
|
let isRefreshing = false;
|
|
@@ -6543,6 +6543,7 @@ class OAuthService {
|
|
|
6543
6543
|
this.popup = null;
|
|
6544
6544
|
this.messageHandler = null;
|
|
6545
6545
|
this.checkClosedInterval = null;
|
|
6546
|
+
this.broadcastChannel = null;
|
|
6546
6547
|
/**
|
|
6547
6548
|
* Nonce del flujo OAuth en curso (M-07). Vive SOLO en memoria — un XSS no lo
|
|
6548
6549
|
* puede leer de localStorage/sessionStorage. Viaja al backend (client_nonce),
|
|
@@ -6563,6 +6564,11 @@ class OAuthService {
|
|
|
6563
6564
|
// Nonce de flujo (M-07): vive solo en este objeto (no en storage), viaja
|
|
6564
6565
|
// al backend en client_nonce y vuelve en el callback. El opener lo verifica
|
|
6565
6566
|
// → un oauth_callback_data forjado en localStorage por XSS no lo conoce.
|
|
6567
|
+
// Limpiar datos stale de intentos anteriores ANTES de abrir el popup.
|
|
6568
|
+
// Sin esto, un intento previo fallido deja datos en localStorage que el
|
|
6569
|
+
// intervalo de este intento encuentra inmediatamente como "demasiado viejos"
|
|
6570
|
+
// y descarta, impidiendo que los datos frescos del nuevo popup sean detectados.
|
|
6571
|
+
this.clearLocalStorageFallback();
|
|
6566
6572
|
const nonce = this.generateNonce();
|
|
6567
6573
|
this.expectedNonce = nonce;
|
|
6568
6574
|
// popup=true sobrevive el bounce cross-origin (Google/MS borran window.name
|
|
@@ -6619,6 +6625,39 @@ class OAuthService {
|
|
|
6619
6625
|
});
|
|
6620
6626
|
};
|
|
6621
6627
|
window.addEventListener('message', this.messageHandler);
|
|
6628
|
+
// BroadcastChannel: canal adicional immune a COOP (funciona entre misma
|
|
6629
|
+
// origin sin importar el browsing context group). Es el canal más fiable
|
|
6630
|
+
// cuando COOP sever el link opener→popup al pasar por Google/MS.
|
|
6631
|
+
try {
|
|
6632
|
+
this.broadcastChannel = new BroadcastChannel('valtech-oauth-callback');
|
|
6633
|
+
this.broadcastChannel.onmessage = (event) => {
|
|
6634
|
+
const data = event.data;
|
|
6635
|
+
if (data?.type !== 'oauth-callback')
|
|
6636
|
+
return;
|
|
6637
|
+
if (!this.isNonceValid(data))
|
|
6638
|
+
return;
|
|
6639
|
+
this.clearLocalStorageFallback();
|
|
6640
|
+
this.cleanup();
|
|
6641
|
+
this.ngZone.run(() => {
|
|
6642
|
+
if (data.error) {
|
|
6643
|
+
observer.error(data.error);
|
|
6644
|
+
}
|
|
6645
|
+
else if (data.tokens) {
|
|
6646
|
+
observer.next(data.tokens);
|
|
6647
|
+
observer.complete();
|
|
6648
|
+
}
|
|
6649
|
+
else {
|
|
6650
|
+
observer.error({
|
|
6651
|
+
code: 'INVALID_RESPONSE',
|
|
6652
|
+
message: 'Respuesta inválida del servidor de autenticación',
|
|
6653
|
+
});
|
|
6654
|
+
}
|
|
6655
|
+
});
|
|
6656
|
+
};
|
|
6657
|
+
}
|
|
6658
|
+
catch {
|
|
6659
|
+
// BroadcastChannel no disponible (contextos muy restringidos) — ignorar
|
|
6660
|
+
}
|
|
6622
6661
|
// Polling de localStorage (COOP workaround - no podemos detectar popup.closed)
|
|
6623
6662
|
// También verifica si el popup se cerró manualmente
|
|
6624
6663
|
this.checkClosedInterval = setInterval(() => {
|
|
@@ -6836,6 +6875,12 @@ class OAuthService {
|
|
|
6836
6875
|
clearInterval(this.checkClosedInterval);
|
|
6837
6876
|
this.checkClosedInterval = null;
|
|
6838
6877
|
}
|
|
6878
|
+
if (this.broadcastChannel) {
|
|
6879
|
+
this.broadcastChannel.close();
|
|
6880
|
+
this.broadcastChannel = null;
|
|
6881
|
+
}
|
|
6882
|
+
// Limpiar datos del popup en storage para no contaminar el próximo intento.
|
|
6883
|
+
this.clearLocalStorageFallback();
|
|
6839
6884
|
// COOP (Google usa same-origin) puede severar la BCG del popup → acceder a
|
|
6840
6885
|
// popup.closed o llamar popup.close() lanza SecurityError. Sin este try/catch,
|
|
6841
6886
|
// cleanup() tira, ngZone.run() nunca se llama y el observer no emite → sin
|
|
@@ -34103,32 +34148,36 @@ class OAuthCallbackComponent {
|
|
|
34103
34148
|
if (this.clientNonce) {
|
|
34104
34149
|
data.nonce = this.clientNonce;
|
|
34105
34150
|
}
|
|
34106
|
-
//
|
|
34151
|
+
// BroadcastChannel: canal principal immune a COOP. Funciona entre misma origin
|
|
34152
|
+
// sin importar el browsing context group. El opener lo escucha en OAuthService.
|
|
34153
|
+
try {
|
|
34154
|
+
const bc = new BroadcastChannel('valtech-oauth-callback');
|
|
34155
|
+
bc.postMessage(data);
|
|
34156
|
+
bc.close();
|
|
34157
|
+
}
|
|
34158
|
+
catch (e) {
|
|
34159
|
+
console.warn('[OAuthCallback] BroadcastChannel failed:', e);
|
|
34160
|
+
}
|
|
34161
|
+
// localStorage: fallback secundario (para contextos sin BroadcastChannel o
|
|
34162
|
+
// con storage partitioning restringido).
|
|
34107
34163
|
try {
|
|
34108
34164
|
localStorage.setItem('oauth_callback_data', JSON.stringify(data));
|
|
34109
34165
|
localStorage.setItem('oauth_callback_timestamp', Date.now().toString());
|
|
34110
|
-
console.log('[OAuthCallback] Saved to localStorage as fallback');
|
|
34111
34166
|
}
|
|
34112
34167
|
catch (e) {
|
|
34113
34168
|
console.warn('[OAuthCallback] Could not save to localStorage:', e);
|
|
34114
34169
|
}
|
|
34115
|
-
//
|
|
34170
|
+
// postMessage: tercer fallback (funciona cuando no hay COOP estricto).
|
|
34116
34171
|
try {
|
|
34117
34172
|
if (window.opener && !window.opener.closed) {
|
|
34118
34173
|
window.opener.postMessage(data, window.location.origin);
|
|
34119
|
-
console.log('[OAuthCallback] postMessage sent to opener');
|
|
34120
34174
|
}
|
|
34121
34175
|
else if (window.parent !== window) {
|
|
34122
34176
|
window.parent.postMessage(data, window.location.origin);
|
|
34123
|
-
console.log('[OAuthCallback] postMessage sent to parent');
|
|
34124
|
-
}
|
|
34125
|
-
else {
|
|
34126
|
-
console.log('[OAuthCallback] No opener/parent available, using localStorage only');
|
|
34127
34177
|
}
|
|
34128
34178
|
}
|
|
34129
34179
|
catch (e) {
|
|
34130
|
-
// COOP blocks postMessage
|
|
34131
|
-
console.warn('[OAuthCallback] postMessage blocked (COOP), using localStorage fallback:', e);
|
|
34180
|
+
// COOP blocks postMessage — los dos fallbacks anteriores cubren este caso
|
|
34132
34181
|
}
|
|
34133
34182
|
}
|
|
34134
34183
|
closeAfterDelay() {
|
|
@@ -35146,6 +35195,102 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
35146
35195
|
type: Output
|
|
35147
35196
|
}] } });
|
|
35148
35197
|
|
|
35198
|
+
addIcons({ printOutline, downloadOutline });
|
|
35199
|
+
/**
|
|
35200
|
+
* `val-html-viewer-modal` — Modal para visualizar y descargar/imprimir HTML.
|
|
35201
|
+
* Se abre como sheet a pantalla completa en móviles.
|
|
35202
|
+
*
|
|
35203
|
+
* Renderiza HTML embebido en un iframe (los estilos deben estar inline o
|
|
35204
|
+
* embebidos en el HTML). Botones de Imprimir (print via iframe) y Descargar
|
|
35205
|
+
* (blob export). Toolbar con botón Cerrar.
|
|
35206
|
+
*
|
|
35207
|
+
* Uso: ModalService.openSheet({ component: HtmlViewerModalComponent, componentProps: { html: "...", title: "..." } })
|
|
35208
|
+
*
|
|
35209
|
+
* Props:
|
|
35210
|
+
* - html: string — HTML completo con estilos embebidos (requerido)
|
|
35211
|
+
* - title: string — Nombre del archivo a descargar (default: "documento")
|
|
35212
|
+
*
|
|
35213
|
+
* El componente recibe `_modalRef` inyectado por ModalService para cerrar.
|
|
35214
|
+
*/
|
|
35215
|
+
class HtmlViewerModalComponent {
|
|
35216
|
+
constructor() {
|
|
35217
|
+
this.html = '';
|
|
35218
|
+
this.title = 'documento';
|
|
35219
|
+
}
|
|
35220
|
+
dismiss() {
|
|
35221
|
+
this._modalRef?.dismiss();
|
|
35222
|
+
}
|
|
35223
|
+
printContent() {
|
|
35224
|
+
const iframe = document.querySelector('iframe');
|
|
35225
|
+
if (iframe?.contentWindow) {
|
|
35226
|
+
iframe.contentWindow.print();
|
|
35227
|
+
}
|
|
35228
|
+
}
|
|
35229
|
+
downloadContent() {
|
|
35230
|
+
const blob = new Blob([this.html], { type: 'text/html;charset=utf-8' });
|
|
35231
|
+
const url = window.URL.createObjectURL(blob);
|
|
35232
|
+
const link = document.createElement('a');
|
|
35233
|
+
link.href = url;
|
|
35234
|
+
link.download = `${this.title}-${new Date().getTime()}.html`;
|
|
35235
|
+
link.click();
|
|
35236
|
+
window.URL.revokeObjectURL(url);
|
|
35237
|
+
}
|
|
35238
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HtmlViewerModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35239
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: HtmlViewerModalComponent, isStandalone: true, selector: "val-html-viewer-modal", inputs: { html: "html", title: "title" }, ngImport: i0, template: `
|
|
35240
|
+
<ion-header>
|
|
35241
|
+
<ion-toolbar>
|
|
35242
|
+
<ion-buttons slot="start">
|
|
35243
|
+
<ion-button fill="clear" color="dark" (click)="dismiss()">
|
|
35244
|
+
<strong>Cerrar</strong>
|
|
35245
|
+
</ion-button>
|
|
35246
|
+
</ion-buttons>
|
|
35247
|
+
<ion-buttons slot="end">
|
|
35248
|
+
<ion-button fill="clear" color="primary" (click)="printContent()" title="Imprimir">
|
|
35249
|
+
<ion-icon name="print-outline" slot="icon-only" />
|
|
35250
|
+
</ion-button>
|
|
35251
|
+
<ion-button fill="clear" color="primary" (click)="downloadContent()" title="Descargar">
|
|
35252
|
+
<ion-icon name="download-outline" slot="icon-only" />
|
|
35253
|
+
</ion-button>
|
|
35254
|
+
</ion-buttons>
|
|
35255
|
+
</ion-toolbar>
|
|
35256
|
+
</ion-header>
|
|
35257
|
+
|
|
35258
|
+
<ion-content>
|
|
35259
|
+
<iframe [srcdoc]="html" style="width: 100%; height: 100%; border: none;" title="Visor de documento"></iframe>
|
|
35260
|
+
</ion-content>
|
|
35261
|
+
`, isInline: true, styles: [":host{display:flex;flex-direction:column}ion-content{--padding-bottom: 0;--padding-top: 0}iframe{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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"] }, { kind: "component", type: IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
|
|
35262
|
+
}
|
|
35263
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HtmlViewerModalComponent, decorators: [{
|
|
35264
|
+
type: Component,
|
|
35265
|
+
args: [{ selector: 'val-html-viewer-modal', standalone: true, imports: [CommonModule, IonButton, IonHeader, IonToolbar, IonButtons, IonContent, IonIcon], template: `
|
|
35266
|
+
<ion-header>
|
|
35267
|
+
<ion-toolbar>
|
|
35268
|
+
<ion-buttons slot="start">
|
|
35269
|
+
<ion-button fill="clear" color="dark" (click)="dismiss()">
|
|
35270
|
+
<strong>Cerrar</strong>
|
|
35271
|
+
</ion-button>
|
|
35272
|
+
</ion-buttons>
|
|
35273
|
+
<ion-buttons slot="end">
|
|
35274
|
+
<ion-button fill="clear" color="primary" (click)="printContent()" title="Imprimir">
|
|
35275
|
+
<ion-icon name="print-outline" slot="icon-only" />
|
|
35276
|
+
</ion-button>
|
|
35277
|
+
<ion-button fill="clear" color="primary" (click)="downloadContent()" title="Descargar">
|
|
35278
|
+
<ion-icon name="download-outline" slot="icon-only" />
|
|
35279
|
+
</ion-button>
|
|
35280
|
+
</ion-buttons>
|
|
35281
|
+
</ion-toolbar>
|
|
35282
|
+
</ion-header>
|
|
35283
|
+
|
|
35284
|
+
<ion-content>
|
|
35285
|
+
<iframe [srcdoc]="html" style="width: 100%; height: 100%; border: none;" title="Visor de documento"></iframe>
|
|
35286
|
+
</ion-content>
|
|
35287
|
+
`, styles: [":host{display:flex;flex-direction:column}ion-content{--padding-bottom: 0;--padding-top: 0}iframe{display:block}\n"] }]
|
|
35288
|
+
}], propDecorators: { html: [{
|
|
35289
|
+
type: Input
|
|
35290
|
+
}], title: [{
|
|
35291
|
+
type: Input
|
|
35292
|
+
}] } });
|
|
35293
|
+
|
|
35149
35294
|
/**
|
|
35150
35295
|
* Default values for ShareProfileModalMetadata.
|
|
35151
35296
|
*/
|
|
@@ -45347,6 +45492,17 @@ class ProfileViewComponent {
|
|
|
45347
45492
|
this.i18n.registerDefaults(ns, PROFILE_VIEW_I18N);
|
|
45348
45493
|
this.nav.setBackHeader('pageTitle', ns, { withMenu: true });
|
|
45349
45494
|
connectPageRefresh(() => this.loadFromApi());
|
|
45495
|
+
// Cargar perfil inmediatamente si el usuario ya está autenticado.
|
|
45496
|
+
// Sin esto, si auth.user() ya estaba populado al montar el componente
|
|
45497
|
+
// (sesión restaurada), el effect no dispara y la página queda vacía
|
|
45498
|
+
// hasta que el usuario hace pull-to-refresh (Regla: no esperar a que
|
|
45499
|
+
// una signal cambie si ya tiene valor inicial).
|
|
45500
|
+
void this.firebase.whenFirebaseAuthReady().then(() => {
|
|
45501
|
+
const uid = this._userId();
|
|
45502
|
+
if (uid) {
|
|
45503
|
+
void this.loadFromApi();
|
|
45504
|
+
}
|
|
45505
|
+
});
|
|
45350
45506
|
effect(onCleanup => {
|
|
45351
45507
|
const uid = this._userId();
|
|
45352
45508
|
if (!uid) {
|
|
@@ -70759,5 +70915,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
70759
70915
|
* Generated bundle index. Do not edit.
|
|
70760
70916
|
*/
|
|
70761
70917
|
|
|
70762
|
-
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 };
|
|
70918
|
+
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, HtmlViewerModalComponent, 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 };
|
|
70763
70919
|
//# sourceMappingURL=valtech-components.mjs.map
|