valtech-components 2.0.974 → 2.0.975

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.
Files changed (24) hide show
  1. package/esm2022/lib/components/organisms/settings-hub/settings-hub.component.mjs +152 -0
  2. package/esm2022/lib/components/organisms/settings-hub/settings-hub.i18n.mjs +57 -0
  3. package/esm2022/lib/components/organisms/settings-hub/settings-sections.mjs +137 -0
  4. package/esm2022/lib/components/organisms/settings-hub/settings.routes.mjs +59 -0
  5. package/esm2022/lib/components/organisms/settings-hub/types.mjs +2 -0
  6. package/esm2022/lib/version.mjs +2 -2
  7. package/esm2022/public-api.mjs +5 -1
  8. package/fesm2022/valtech-components.mjs +393 -2
  9. package/fesm2022/valtech-components.mjs.map +1 -1
  10. package/lib/components/atoms/rights-footer/rights-footer.component.d.ts +1 -1
  11. package/lib/components/atoms/text/text.component.d.ts +1 -1
  12. package/lib/components/atoms/user-avatar/user-avatar.component.d.ts +1 -1
  13. package/lib/components/molecules/features-list/features-list.component.d.ts +1 -1
  14. package/lib/components/organisms/article/article.component.d.ts +5 -5
  15. package/lib/components/organisms/landing-steps/landing-steps.component.d.ts +1 -1
  16. package/lib/components/organisms/settings-hub/settings-hub.component.d.ts +43 -0
  17. package/lib/components/organisms/settings-hub/settings-hub.i18n.d.ts +13 -0
  18. package/lib/components/organisms/settings-hub/settings-sections.d.ts +62 -0
  19. package/lib/components/organisms/settings-hub/settings.routes.d.ts +59 -0
  20. package/lib/components/organisms/settings-hub/types.d.ts +37 -0
  21. package/lib/components/organisms/share-profile-modal/share-profile-modal.component.d.ts +1 -1
  22. package/lib/version.d.ts +1 -1
  23. package/package.json +1 -1
  24. package/public-api.d.ts +4 -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.974';
57
+ const VERSION = '2.0.975';
58
58
 
59
59
  // Control de estado de refresco (singleton a nivel de módulo)
60
60
  let isRefreshing = false;
@@ -42805,6 +42805,397 @@ function provideValtechPreferencesRoutes(opts) {
42805
42805
  ];
42806
42806
  }
42807
42807
 
42808
+ /**
42809
+ * Catálogo default de secciones del HUB de settings (8 entradas). `logout` va
42810
+ * incluida pero sin `routerLink` (la maneja un callback). Mismo set, mismos
42811
+ * tokens/iconos/rutas que el builder original de showcase
42812
+ * (`shared/settings-action-cards.ts`) que esta promoción reemplaza.
42813
+ */
42814
+ const SETTINGS_SECTIONS_CATALOG = [
42815
+ {
42816
+ token: 'action-general',
42817
+ titleKey: 'general',
42818
+ descKey: 'generalDesc',
42819
+ ionicon: 'options-outline',
42820
+ routerLink: '/app/settings/general',
42821
+ showChevron: true,
42822
+ shadowed: true,
42823
+ },
42824
+ {
42825
+ token: 'action-account',
42826
+ titleKey: 'account',
42827
+ descKey: 'accountDesc',
42828
+ ionicon: 'business-outline',
42829
+ routerLink: '/app/settings/account',
42830
+ showChevron: true,
42831
+ shadowed: true,
42832
+ },
42833
+ {
42834
+ token: 'action-profile',
42835
+ titleKey: 'editProfile',
42836
+ descKey: 'editProfileDesc',
42837
+ ionicon: 'person-outline',
42838
+ routerLink: '/app/settings/profile',
42839
+ showChevron: true,
42840
+ shadowed: true,
42841
+ },
42842
+ {
42843
+ token: 'action-preferences',
42844
+ titleKey: 'preferences',
42845
+ descKey: 'preferencesDesc',
42846
+ ionicon: 'options-outline',
42847
+ routerLink: '/app/settings/preferences',
42848
+ showChevron: true,
42849
+ shadowed: true,
42850
+ },
42851
+ {
42852
+ token: 'action-notifications',
42853
+ titleKey: 'notifications',
42854
+ descKey: 'notificationsDesc',
42855
+ ionicon: 'notifications-outline',
42856
+ routerLink: '/app/settings/notifications',
42857
+ showChevron: true,
42858
+ shadowed: true,
42859
+ },
42860
+ {
42861
+ token: 'action-security',
42862
+ titleKey: 'security',
42863
+ descKey: 'securityDesc',
42864
+ ionicon: 'shield-checkmark-outline',
42865
+ routerLink: '/app/settings/security',
42866
+ showChevron: true,
42867
+ shadowed: true,
42868
+ },
42869
+ {
42870
+ token: 'action-about',
42871
+ titleKey: 'about',
42872
+ descKey: 'aboutDesc',
42873
+ ionicon: 'information-circle-outline',
42874
+ routerLink: '/app/about',
42875
+ showChevron: true,
42876
+ shadowed: true,
42877
+ },
42878
+ {
42879
+ token: 'action-logout',
42880
+ titleKey: 'logout',
42881
+ ionicon: 'log-out-outline',
42882
+ showChevron: false,
42883
+ shadowed: true,
42884
+ },
42885
+ ];
42886
+ const CATALOG_BASE = '/app/settings';
42887
+ /**
42888
+ * Construye el grid de cards de navegación del HUB de settings (versión
42889
+ * promovida del `buildSettingsActionCards` de showcase). Usa el catálogo
42890
+ * default + las `include` del consumer, filtra `exclude`, gatea logout por
42891
+ * `includeLogout`, reordena por `order` y reescribe las rutas por `basePath`.
42892
+ *
42893
+ * El `t` resuelve los `titleKey`/`descKey` contra el namespace de labels
42894
+ * (default del componente: `Dashboard`). `logout` NO tiene `routerLink` — el
42895
+ * consumer maneja el flujo de cierre de sesión por token / callback.
42896
+ */
42897
+ function buildSettingsCards(t, options = {}) {
42898
+ const exclude = new Set(options.exclude ?? []);
42899
+ const includeLogout = options.includeLogout ?? false;
42900
+ const basePath = options.basePath;
42901
+ const sections = [...SETTINGS_SECTIONS_CATALOG, ...(options.include ?? [])];
42902
+ let resolved = sections.filter(s => {
42903
+ if (exclude.has(s.token))
42904
+ return false;
42905
+ if (s.token === 'action-logout' && !includeLogout)
42906
+ return false;
42907
+ return true;
42908
+ });
42909
+ if (options.order && options.order.length > 0) {
42910
+ const rank = new Map(options.order.map((token, i) => [token, i]));
42911
+ resolved = [...resolved].sort((a, b) => {
42912
+ const ra = rank.has(a.token) ? rank.get(a.token) : Number.MAX_SAFE_INTEGER;
42913
+ const rb = rank.has(b.token) ? rank.get(b.token) : Number.MAX_SAFE_INTEGER;
42914
+ return ra - rb;
42915
+ });
42916
+ }
42917
+ return resolved.map(s => {
42918
+ const card = {
42919
+ token: s.token,
42920
+ title: t(s.titleKey),
42921
+ icon: {
42922
+ ionicon: s.ionicon,
42923
+ color: 'dark',
42924
+ backgroundColor: 'light',
42925
+ },
42926
+ showChevron: s.showChevron ?? true,
42927
+ shadowed: s.shadowed ?? true,
42928
+ };
42929
+ if (s.descKey)
42930
+ card.description = t(s.descKey);
42931
+ if (s.routerLink) {
42932
+ card.routerLink = basePath ? rewriteBasePath(s.routerLink, basePath) : s.routerLink;
42933
+ }
42934
+ return card;
42935
+ });
42936
+ }
42937
+ /** Reescribe el prefijo `/app/settings` de una ruta del catálogo por `basePath`. */
42938
+ function rewriteBasePath(routerLink, basePath) {
42939
+ if (routerLink.startsWith(CATALOG_BASE)) {
42940
+ return basePath + routerLink.slice(CATALOG_BASE.length);
42941
+ }
42942
+ return routerLink;
42943
+ }
42944
+
42945
+ /**
42946
+ * Defaults i18n embebidos en `val-settings-hub`. Dos sets, uno por namespace
42947
+ * (ver `SettingsHubConfig.i18nNamespace` / `.pageI18nNamespace`). Auto-registrados
42948
+ * en el constructor SOLO si el namespace no existe (respeta override del consumer).
42949
+ *
42950
+ * `SETTINGS_HUB_LABELS_I18N` — labels de cada sección (namespace `Dashboard` por
42951
+ * default). Mismo set que showcase mantiene en `src/i18n/index.ts` (queda como
42952
+ * override). `SETTINGS_HUB_PAGE_I18N` — header del HUB (namespace
42953
+ * `Settings.Preferences` por default), tomado de la page Preferencias original.
42954
+ */
42955
+ const SETTINGS_HUB_LABELS_I18N = {
42956
+ es: {
42957
+ general: 'General',
42958
+ generalDesc: 'Apariencia e idioma',
42959
+ account: 'Cuenta',
42960
+ accountDesc: 'Organizaciones y sesión',
42961
+ editProfile: 'Editar perfil',
42962
+ editProfileDesc: 'Actualiza tu información personal',
42963
+ preferences: 'Preferencias',
42964
+ preferencesDesc: 'Tema, idioma y otras opciones',
42965
+ notifications: 'Notificaciones',
42966
+ notificationsDesc: 'Configura tus preferencias',
42967
+ security: 'Seguridad',
42968
+ securityDesc: 'Gestiona contraseñas y MFA',
42969
+ about: 'Acerca de',
42970
+ aboutDesc: 'Versión, feedback y enlaces útiles',
42971
+ logout: 'Cerrar sesión',
42972
+ },
42973
+ en: {
42974
+ general: 'General',
42975
+ generalDesc: 'Appearance and language',
42976
+ account: 'Account',
42977
+ accountDesc: 'Organizations and session',
42978
+ editProfile: 'Edit profile',
42979
+ editProfileDesc: 'Update your personal information',
42980
+ preferences: 'Preferences',
42981
+ preferencesDesc: 'Theme, language and other options',
42982
+ notifications: 'Notifications',
42983
+ notificationsDesc: 'Configure your preferences',
42984
+ security: 'Security',
42985
+ securityDesc: 'Manage passwords and MFA',
42986
+ about: 'About',
42987
+ aboutDesc: 'Version, feedback and useful links',
42988
+ logout: 'Sign out',
42989
+ },
42990
+ };
42991
+ const SETTINGS_HUB_PAGE_I18N = {
42992
+ es: {
42993
+ pageTitle: 'Preferencias',
42994
+ pageDescription: 'Ajusta tu cuenta y la app',
42995
+ },
42996
+ en: {
42997
+ pageTitle: 'Preferences',
42998
+ pageDescription: 'Tune your account and the app',
42999
+ },
43000
+ };
43001
+
43002
+ const DEFAULT_LABELS_NS = 'Dashboard';
43003
+ const DEFAULT_PAGE_NS = 'Settings.Preferences';
43004
+ /**
43005
+ * `val-settings-hub` — portada de la sección Settings (organism). Renderiza un
43006
+ * header (título + descripción) + un grid de `val-action-card` que navega a las
43007
+ * sub-vistas. Promovido desde `showcase` (`pages/settings/pages/preferences`)
43008
+ * bajo el proceso de ADR-021.
43009
+ *
43010
+ * Las cards salen de `buildSettingsCards` sobre el catálogo default
43011
+ * (`SETTINGS_SECTIONS_CATALOG`), filtrado/extendido/reordenado por la config.
43012
+ *
43013
+ * Navegación: cards con `routerLink` navegan vía `Router`; la card de logout
43014
+ * (sin ruta) invoca `config.onLogout`. Cada click emite `config.onSectionClick`.
43015
+ *
43016
+ * NO renderiza ion-content — vive dentro de val-page-wrapper.
43017
+ *
43018
+ * Auto-registra sus dos sets de defaults i18n (labels + header) en sus
43019
+ * respectivos namespaces si el consumer no los proveyó.
43020
+ */
43021
+ class SettingsHubComponent {
43022
+ get labelsNs() {
43023
+ return this.resolvedConfig().i18nNamespace;
43024
+ }
43025
+ get pageNs() {
43026
+ return this.resolvedConfig().pageI18nNamespace;
43027
+ }
43028
+ constructor() {
43029
+ this.nav = inject(NavigationService);
43030
+ this.i18n = inject(I18nService);
43031
+ this.router = inject(Router);
43032
+ this.route = inject(ActivatedRoute, { optional: true });
43033
+ this.resolvedConfig = computed(() => {
43034
+ const fromRoute = (this.route?.snapshot.data['settingsHubConfig'] ?? {});
43035
+ const merged = { ...fromRoute, ...(this.config ?? {}) };
43036
+ return {
43037
+ ...merged,
43038
+ i18nNamespace: merged.i18nNamespace ?? DEFAULT_LABELS_NS,
43039
+ pageI18nNamespace: merged.pageI18nNamespace ?? DEFAULT_PAGE_NS,
43040
+ };
43041
+ });
43042
+ this.pageTitle = computed(() => {
43043
+ this.i18n.lang();
43044
+ return this.i18n.t('pageTitle', this.pageNs);
43045
+ });
43046
+ this.pageDescription = computed(() => {
43047
+ this.i18n.lang();
43048
+ return this.i18n.t('pageDescription', this.pageNs);
43049
+ });
43050
+ /** Cards del HUB, resueltas desde la config. */
43051
+ this.actionCards = computed(() => {
43052
+ this.i18n.lang();
43053
+ const cfg = this.resolvedConfig();
43054
+ return buildSettingsCards(k => this.i18n.t(k, cfg.i18nNamespace), {
43055
+ exclude: cfg.exclude,
43056
+ include: cfg.include,
43057
+ order: cfg.order,
43058
+ includeLogout: cfg.includeLogout,
43059
+ basePath: cfg.basePath,
43060
+ });
43061
+ });
43062
+ // Auto-registro i18n — respeta override del consumer. Los namespaces pueden
43063
+ // venir de @Input.config o del route data; los resolvemos acá.
43064
+ const labelsNs = this.labelsNs;
43065
+ if (!this.i18n.hasNamespace(labelsNs)) {
43066
+ this.i18n.registerContent(labelsNs, SETTINGS_HUB_LABELS_I18N);
43067
+ }
43068
+ const pageNs = this.pageNs;
43069
+ if (!this.i18n.hasNamespace(pageNs)) {
43070
+ this.i18n.registerContent(pageNs, SETTINGS_HUB_PAGE_I18N);
43071
+ }
43072
+ this.nav.setBackHeader('pageTitle', pageNs, { withMenu: true });
43073
+ }
43074
+ onActionClick(action) {
43075
+ const token = action.token;
43076
+ this.resolvedConfig().onSectionClick?.(token ?? '');
43077
+ if (token === 'action-logout') {
43078
+ this.resolvedConfig().onLogout?.();
43079
+ return;
43080
+ }
43081
+ if (action.routerLink) {
43082
+ this.router.navigate(Array.isArray(action.routerLink) ? action.routerLink : [action.routerLink]);
43083
+ }
43084
+ }
43085
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SettingsHubComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
43086
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SettingsHubComponent, isStandalone: true, selector: "val-settings-hub", inputs: { config: "config" }, ngImport: i0, template: `
43087
+ <div class="page">
43088
+ <header class="page-header">
43089
+ <val-display [props]="{ size: 'small', color: 'dark', content: pageTitle() }" />
43090
+ <val-title
43091
+ [props]="{
43092
+ size: 'large',
43093
+ color: 'dark',
43094
+ bold: false,
43095
+ content: pageDescription(),
43096
+ }"
43097
+ />
43098
+ </header>
43099
+
43100
+ <ion-grid class="cards-grid">
43101
+ <ion-row>
43102
+ @for (action of actionCards(); track action.token) {
43103
+ <ion-col size="12" size-sm="6">
43104
+ <val-action-card [props]="action" (onClick)="onActionClick(action)" />
43105
+ </ion-col>
43106
+ }
43107
+ </ion-row>
43108
+ </ion-grid>
43109
+ </div>
43110
+ `, isInline: true, styles: [".page{padding:16px 0;max-width:720px;margin:0 auto}.page-header{margin-bottom:16px}.cards-grid{margin:0 -4px;padding:0}.cards-grid ion-col{padding:4px}\n"], dependencies: [{ kind: "component", type: IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: IonRow, selector: "ion-row" }, { kind: "component", type: IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: ActionCardComponent, selector: "val-action-card", inputs: ["props"], outputs: ["onClick"] }, { kind: "component", type: DisplayComponent, selector: "val-display", inputs: ["props"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }] }); }
43111
+ }
43112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SettingsHubComponent, decorators: [{
43113
+ type: Component,
43114
+ args: [{ selector: 'val-settings-hub', standalone: true, imports: [IonGrid, IonRow, IonCol, ActionCardComponent, DisplayComponent, TitleComponent], template: `
43115
+ <div class="page">
43116
+ <header class="page-header">
43117
+ <val-display [props]="{ size: 'small', color: 'dark', content: pageTitle() }" />
43118
+ <val-title
43119
+ [props]="{
43120
+ size: 'large',
43121
+ color: 'dark',
43122
+ bold: false,
43123
+ content: pageDescription(),
43124
+ }"
43125
+ />
43126
+ </header>
43127
+
43128
+ <ion-grid class="cards-grid">
43129
+ <ion-row>
43130
+ @for (action of actionCards(); track action.token) {
43131
+ <ion-col size="12" size-sm="6">
43132
+ <val-action-card [props]="action" (onClick)="onActionClick(action)" />
43133
+ </ion-col>
43134
+ }
43135
+ </ion-row>
43136
+ </ion-grid>
43137
+ </div>
43138
+ `, styles: [".page{padding:16px 0;max-width:720px;margin:0 auto}.page-header{margin-bottom:16px}.cards-grid{margin:0 -4px;padding:0}.cards-grid ion-col{padding:4px}\n"] }]
43139
+ }], ctorParameters: () => [], propDecorators: { config: [{
43140
+ type: Input
43141
+ }] } });
43142
+
43143
+ /**
43144
+ * Helper para montar el bloque completo de Settings en una app del factory: el
43145
+ * HUB de navegación (`val-settings-hub`) en el index + las vistas promovidas
43146
+ * (Perfil, Preferencias) + las rutas propias de la app (`extraRoutes`).
43147
+ *
43148
+ * Pensado para apps nuevas (greenfield) que adoptan el set entero. showcase NO
43149
+ * lo usa hoy (preserva su `settings.routes.ts` por la semántica de sus muchas
43150
+ * secciones no promovidas — ver guía de promoción), pero el provider debe
43151
+ * existir y compilar para el resto de apps.
43152
+ *
43153
+ * @example
43154
+ * ```ts
43155
+ * // app.routes.ts
43156
+ * import { provideValtechSettingsRoutes } from 'valtech-components';
43157
+ *
43158
+ * export const routes: Routes = [
43159
+ * {
43160
+ * path: 'app',
43161
+ * children: [
43162
+ * ...provideValtechSettingsRoutes({
43163
+ * hubConfig: { onLogout: () => auth.logoutWithConfirmation() },
43164
+ * extraRoutes: [
43165
+ * { path: 'security', loadComponent: () => ... },
43166
+ * ],
43167
+ * }),
43168
+ * ],
43169
+ * },
43170
+ * ];
43171
+ * ```
43172
+ */
43173
+ function provideValtechSettingsRoutes(opts) {
43174
+ const basePath = opts?.basePath ?? 'settings';
43175
+ const includeProfile = opts?.includeProfile ?? true;
43176
+ const includePreferences = opts?.includePreferences ?? true;
43177
+ return [
43178
+ {
43179
+ path: basePath,
43180
+ children: [
43181
+ {
43182
+ path: '',
43183
+ component: SettingsHubComponent,
43184
+ data: { settingsHubConfig: opts?.hubConfig },
43185
+ },
43186
+ ...(includeProfile ? provideValtechProfileRoutes({ config: opts?.profileConfig }) : []),
43187
+ ...(includePreferences
43188
+ ? provideValtechPreferencesRoutes({
43189
+ path: opts?.preferencesPath ?? 'preferences',
43190
+ config: opts?.preferencesConfig,
43191
+ })
43192
+ : []),
43193
+ ...(opts?.extraRoutes ?? []),
43194
+ ],
43195
+ },
43196
+ ];
43197
+ }
43198
+
42808
43199
  /** Built-in label sets for the three platform locales. */
42809
43200
  const CALLOUT_LABELS = {
42810
43201
  es: {
@@ -53680,5 +54071,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
53680
54071
  * Generated bundle index. Do not edit.
53681
54072
  */
53682
54073
 
53683
- 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, 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, 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, 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, provideValtechSite, provideValtechSkeleton, query, renderPatternSvgInner, replaceSpecialChars, resolveColor$1 as resolveColor, resolveInputDefaultValue, resolveWebBaseUrl, roleGuard, storagePaths, superAdminGuard, toArticle };
54074
+ 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 };
53684
54075
  //# sourceMappingURL=valtech-components.mjs.map