valtech-components 2.0.727 → 2.0.728

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.
@@ -14,7 +14,7 @@ import { Meta, Title } from '@angular/platform-browser';
14
14
  import QRCodeStyling from 'qr-code-styling';
15
15
  import * as i1$3 from '@angular/forms';
16
16
  import { ReactiveFormsModule, FormsModule, FormControl, Validators, FormBuilder } from '@angular/forms';
17
- import { BehaviorSubject, map, Subject, debounceTime, distinctUntilChanged, switchMap, of, catchError, takeUntil, isObservable, firstValueFrom, EMPTY, from, Observable, throwError, filter as filter$1 } from 'rxjs';
17
+ import { BehaviorSubject, map, Subject, debounceTime, distinctUntilChanged, switchMap, of, catchError, takeUntil, isObservable, firstValueFrom, EMPTY, from, Observable, throwError, filter as filter$1, shareReplay } from 'rxjs';
18
18
  import * as i1$4 from 'ng-otp-input';
19
19
  import { NgOtpInputComponent, NgOtpInputModule } from 'ng-otp-input';
20
20
  import * as i2 from '@ionic/angular';
@@ -50,7 +50,7 @@ import 'prismjs/components/prism-json';
50
50
  * Current version of valtech-components.
51
51
  * This is automatically updated during the publish process.
52
52
  */
53
- const VERSION = '2.0.727';
53
+ const VERSION = '2.0.728';
54
54
 
55
55
  /**
56
56
  * Servicio para gestionar presets de componentes.
@@ -34922,6 +34922,344 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
34922
34922
  }]
34923
34923
  }] });
34924
34924
 
34925
+ const BOX_DRAWING = /[┌┐└┘├┤┬┴┼─│╔╗╚╝═║]/;
34926
+ const CALLOUT_RE = /^>\s*\[!(NOTE|TIP|INFO|WARNING|CAUTION|IMPORTANT)\]\s*(.*)$/i;
34927
+ const FENCE_RE = /^```([\w-]*)\s*$/;
34928
+ const HEADING_RE = /^(#{1,6})\s+(.+)$/;
34929
+ const SEPARATOR_RE = /^\s*(?:-{3,}|\*{3,}|_{3,})\s*$/;
34930
+ const UNORDERED_RE = /^\s*[-*+]\s+(.+)$/;
34931
+ const CHECKLIST_RE = /^\s*[-*+]\s+\[([ xX])\]\s+(.+)$/;
34932
+ const ORDERED_RE = /^\s*\d+\.\s+(.+)$/;
34933
+ const TABLE_DIVIDER_RE = /^\s*\|?[\s:|-]+\|?\s*$/;
34934
+ const TABLE_ROW_RE = /^\s*\|(.+)\|\s*$/;
34935
+ /**
34936
+ * Converts Markdown documents into ArticleMetadata for the val-article organism.
34937
+ *
34938
+ * Supported syntax:
34939
+ * - Headings (#, ##, ### …) → title / subtitle
34940
+ * - Paragraphs → paragraph (with `processLinks` + `allowPartialBold`)
34941
+ * - Lists (-, *, 1.) → unordered / ordered list (- [ ] / - [x] for checklist)
34942
+ * - Blockquotes (>) → quote, with GitHub callouts `> [!NOTE|TIP|INFO|WARNING|CAUTION|IMPORTANT]` mapped to notes
34943
+ * - Code fences (```lang) → code
34944
+ * - Box-drawing ASCII art (┌┐└┘│─) auto-wrapped as code
34945
+ * - Tables → flattened into paragraphs with bold keys
34946
+ * - Horizontal rules (---, ***, ___) → separator
34947
+ */
34948
+ class MarkdownArticleParserService {
34949
+ parse(markdown, config) {
34950
+ const lines = this.normalize(markdown).split('\n');
34951
+ const elements = [];
34952
+ let i = 0;
34953
+ while (i < lines.length) {
34954
+ const line = lines[i];
34955
+ if (line.trim() === '') {
34956
+ i++;
34957
+ continue;
34958
+ }
34959
+ // Fenced code block
34960
+ const fence = line.match(FENCE_RE);
34961
+ if (fence) {
34962
+ const lang = fence[1] || undefined;
34963
+ const body = [];
34964
+ i++;
34965
+ while (i < lines.length && !FENCE_RE.test(lines[i])) {
34966
+ body.push(lines[i]);
34967
+ i++;
34968
+ }
34969
+ i++; // skip closing fence
34970
+ elements.push({
34971
+ type: 'code',
34972
+ props: { code: body.join('\n'), language: lang, theme: 'dark' },
34973
+ });
34974
+ continue;
34975
+ }
34976
+ // ASCII box-drawing art → treat as code block
34977
+ if (BOX_DRAWING.test(line)) {
34978
+ const body = [];
34979
+ while (i < lines.length && (lines[i].trim() === '' || BOX_DRAWING.test(lines[i]))) {
34980
+ body.push(lines[i]);
34981
+ i++;
34982
+ }
34983
+ // Trim trailing blank lines from the block
34984
+ while (body.length && body[body.length - 1].trim() === '')
34985
+ body.pop();
34986
+ elements.push({
34987
+ type: 'code',
34988
+ props: { code: body.join('\n'), language: 'text', theme: 'dark' },
34989
+ });
34990
+ continue;
34991
+ }
34992
+ // Separator
34993
+ if (SEPARATOR_RE.test(line)) {
34994
+ elements.push({ type: 'separator', props: { style: 'line' } });
34995
+ i++;
34996
+ continue;
34997
+ }
34998
+ // Heading
34999
+ const heading = line.match(HEADING_RE);
35000
+ if (heading) {
35001
+ elements.push(this.makeHeading(heading[1].length, heading[2].trim()));
35002
+ i++;
35003
+ continue;
35004
+ }
35005
+ // Callout / blockquote (consume contiguous `>` lines)
35006
+ if (line.startsWith('>')) {
35007
+ const block = [];
35008
+ while (i < lines.length && lines[i].startsWith('>')) {
35009
+ block.push(lines[i]);
35010
+ i++;
35011
+ }
35012
+ elements.push(this.makeQuoteOrCallout(block));
35013
+ continue;
35014
+ }
35015
+ // Table (consume contiguous `|` lines)
35016
+ if (TABLE_ROW_RE.test(line)) {
35017
+ const rows = [];
35018
+ while (i < lines.length && TABLE_ROW_RE.test(lines[i])) {
35019
+ rows.push(lines[i]);
35020
+ i++;
35021
+ }
35022
+ elements.push(...this.makeTable(rows));
35023
+ continue;
35024
+ }
35025
+ // List (checklist / unordered / ordered) — consume contiguous lines
35026
+ if (CHECKLIST_RE.test(line) || UNORDERED_RE.test(line) || ORDERED_RE.test(line)) {
35027
+ const listType = CHECKLIST_RE.test(line)
35028
+ ? 'checklist'
35029
+ : ORDERED_RE.test(line)
35030
+ ? 'ordered'
35031
+ : 'unordered';
35032
+ const items = [];
35033
+ while (i < lines.length && lines[i].trim() !== '') {
35034
+ const cur = lines[i];
35035
+ const check = cur.match(CHECKLIST_RE);
35036
+ const unord = cur.match(UNORDERED_RE);
35037
+ const ord = cur.match(ORDERED_RE);
35038
+ if (check)
35039
+ items.push({ text: check[2].trim() });
35040
+ else if (ord && listType === 'ordered')
35041
+ items.push({ text: ord[1].trim() });
35042
+ else if (unord && listType !== 'ordered')
35043
+ items.push({ text: unord[1].trim() });
35044
+ else
35045
+ break;
35046
+ i++;
35047
+ }
35048
+ elements.push({ type: 'list', props: { items, listType } });
35049
+ continue;
35050
+ }
35051
+ // Paragraph — consume contiguous non-empty lines that aren't a special block
35052
+ const paragraph = [];
35053
+ while (i < lines.length && lines[i].trim() !== '' && !this.startsNewBlock(lines[i])) {
35054
+ paragraph.push(lines[i]);
35055
+ i++;
35056
+ }
35057
+ const text = paragraph.join(' ').trim();
35058
+ if (text) {
35059
+ elements.push({
35060
+ type: 'paragraph',
35061
+ props: {
35062
+ content: text,
35063
+ size: 'medium',
35064
+ color: 'dark',
35065
+ bold: false,
35066
+ processLinks: true,
35067
+ allowPartialBold: true,
35068
+ },
35069
+ });
35070
+ }
35071
+ }
35072
+ return {
35073
+ elements,
35074
+ maxWidth: '900px',
35075
+ centered: true,
35076
+ theme: 'auto',
35077
+ ...config,
35078
+ };
35079
+ }
35080
+ normalize(md) {
35081
+ return md.replace(/\r\n/g, '\n').replace(/\r/g, '\n');
35082
+ }
35083
+ startsNewBlock(line) {
35084
+ return (HEADING_RE.test(line) ||
35085
+ FENCE_RE.test(line) ||
35086
+ SEPARATOR_RE.test(line) ||
35087
+ TABLE_ROW_RE.test(line) ||
35088
+ UNORDERED_RE.test(line) ||
35089
+ ORDERED_RE.test(line) ||
35090
+ CHECKLIST_RE.test(line) ||
35091
+ line.startsWith('>') ||
35092
+ BOX_DRAWING.test(line));
35093
+ }
35094
+ makeHeading(level, content) {
35095
+ if (level === 1) {
35096
+ return {
35097
+ type: 'title',
35098
+ props: { content, size: 'xlarge', color: 'dark', bold: true },
35099
+ };
35100
+ }
35101
+ const size = level === 2 ? 'large' : level === 3 ? 'medium' : 'small';
35102
+ return {
35103
+ type: 'subtitle',
35104
+ props: { content, size, color: 'dark', bold: true },
35105
+ };
35106
+ }
35107
+ makeQuoteOrCallout(block) {
35108
+ const first = block[0];
35109
+ const callout = first.match(CALLOUT_RE);
35110
+ const lines = block.map(l => l.replace(/^>\s?/, ''));
35111
+ if (callout) {
35112
+ const type = callout[1].toUpperCase();
35113
+ const firstLineRest = callout[2] || '';
35114
+ const rest = lines.slice(1).join(' ').trim();
35115
+ const text = [firstLineRest, rest].filter(Boolean).join(' ').trim();
35116
+ return this.makeNote(type, text);
35117
+ }
35118
+ const text = lines.join(' ').trim();
35119
+ return {
35120
+ type: 'quote',
35121
+ props: {
35122
+ content: text,
35123
+ size: 'medium',
35124
+ color: 'medium',
35125
+ bold: false,
35126
+ showQuoteMark: true,
35127
+ alignment: 'left',
35128
+ },
35129
+ };
35130
+ }
35131
+ makeNote(kind, text) {
35132
+ const map = {
35133
+ NOTE: { color: 'primary', prefix: 'Nota' },
35134
+ TIP: { color: 'success', prefix: 'Tip' },
35135
+ INFO: { color: 'tertiary', prefix: 'Info' },
35136
+ IMPORTANT: { color: 'warning', prefix: 'Importante' },
35137
+ WARNING: { color: 'warning', prefix: 'Atención' },
35138
+ CAUTION: { color: 'danger', prefix: 'Precaución' },
35139
+ };
35140
+ const cfg = map[kind];
35141
+ return {
35142
+ type: 'note',
35143
+ props: {
35144
+ text,
35145
+ prefix: `${cfg.prefix}:`,
35146
+ color: cfg.color,
35147
+ textColor: 'dark',
35148
+ size: 'medium',
35149
+ rounded: true,
35150
+ },
35151
+ };
35152
+ }
35153
+ /**
35154
+ * Tables are flattened into a header subtitle (if present) followed by one paragraph per
35155
+ * data row using `**col[0]:** col[1] · **col[2]:** col[3] …` format. val-article has no
35156
+ * native table element so this preserves the information without breaking the layout.
35157
+ */
35158
+ makeTable(rows) {
35159
+ const parsed = rows
35160
+ .filter(r => !TABLE_DIVIDER_RE.test(r))
35161
+ .map(r => r
35162
+ .trim()
35163
+ .replace(/^\|/, '')
35164
+ .replace(/\|$/, '')
35165
+ .split('|')
35166
+ .map(c => c.trim()));
35167
+ if (parsed.length === 0)
35168
+ return [];
35169
+ const header = parsed[0];
35170
+ const dataRows = parsed.slice(1);
35171
+ if (dataRows.length === 0) {
35172
+ return [
35173
+ {
35174
+ type: 'paragraph',
35175
+ props: {
35176
+ content: header.join(' · '),
35177
+ size: 'medium',
35178
+ color: 'dark',
35179
+ bold: false,
35180
+ processLinks: true,
35181
+ allowPartialBold: true,
35182
+ },
35183
+ },
35184
+ ];
35185
+ }
35186
+ return dataRows.map(row => {
35187
+ const pairs = row.map((cell, idx) => {
35188
+ const key = header[idx] ?? '';
35189
+ return key ? `**${key}:** ${cell}` : cell;
35190
+ });
35191
+ return {
35192
+ type: 'paragraph',
35193
+ props: {
35194
+ content: pairs.join(' · '),
35195
+ size: 'medium',
35196
+ color: 'dark',
35197
+ bold: false,
35198
+ processLinks: true,
35199
+ allowPartialBold: true,
35200
+ },
35201
+ };
35202
+ });
35203
+ }
35204
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MarkdownArticleParserService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
35205
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MarkdownArticleParserService, providedIn: 'root' }); }
35206
+ }
35207
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MarkdownArticleParserService, decorators: [{
35208
+ type: Injectable,
35209
+ args: [{ providedIn: 'root' }]
35210
+ }] });
35211
+
35212
+ /**
35213
+ * Loads Markdown legal documents from `/assets/legal/{locale}/{slug}.md` and parses them
35214
+ * into ArticleMetadata ready for `<val-article>`. Caches parsed results by `locale:slug`
35215
+ * so multiple views consuming the same doc share one HTTP request.
35216
+ */
35217
+ class LegalContentService {
35218
+ constructor() {
35219
+ this.http = inject(HttpClient);
35220
+ this.parser = inject(MarkdownArticleParserService);
35221
+ this.DEFAULT_BASE = '/assets/legal';
35222
+ this.cache = new Map();
35223
+ }
35224
+ load(slug, options = {}) {
35225
+ const locale = (options.locale ?? 'es').toLowerCase();
35226
+ const base = options.basePath ?? this.DEFAULT_BASE;
35227
+ const fallback = options.fallbackLocale === undefined ? 'es' : options.fallbackLocale;
35228
+ const key = `${base}|${locale}|${slug}`;
35229
+ const cached = this.cache.get(key);
35230
+ if (cached)
35231
+ return cached;
35232
+ const primary = this.fetchAndParse(`${base}/${locale}/${slug}.md`);
35233
+ const stream = fallback && fallback !== locale
35234
+ ? primary.pipe(catchError(() => this.fetchAndParse(`${base}/${fallback}/${slug}.md`)))
35235
+ : primary;
35236
+ const shared = stream.pipe(shareReplay({ bufferSize: 1, refCount: false }));
35237
+ this.cache.set(key, shared);
35238
+ return shared;
35239
+ }
35240
+ /** Returns the raw Markdown string without parsing. Useful for debugging. */
35241
+ raw(slug, options = {}) {
35242
+ const locale = (options.locale ?? 'es').toLowerCase();
35243
+ const base = options.basePath ?? this.DEFAULT_BASE;
35244
+ return this.http.get(`${base}/${locale}/${slug}.md`, { responseType: 'text' });
35245
+ }
35246
+ /** Clears the in-memory cache. Call when the user changes locale at runtime. */
35247
+ invalidate() {
35248
+ this.cache.clear();
35249
+ }
35250
+ fetchAndParse(url) {
35251
+ return this.http.get(url, { responseType: 'text' }).pipe(switchMap(md => md && md.trim().length > 0
35252
+ ? of(this.parser.parse(md))
35253
+ : throwError(() => new Error(`Empty legal doc: ${url}`))), map(parsed => parsed));
35254
+ }
35255
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LegalContentService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
35256
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LegalContentService, providedIn: 'root' }); }
35257
+ }
35258
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LegalContentService, decorators: [{
35259
+ type: Injectable,
35260
+ args: [{ providedIn: 'root' }]
35261
+ }] });
35262
+
34925
35263
  /**
34926
35264
  * Cross-Platform Version Helpers
34927
35265
  *
@@ -42069,5 +42407,5 @@ function buildFooterLinks(links, t) {
42069
42407
  * Generated bundle index. Do not edit.
42070
42408
  */
42071
42409
 
42072
- export { ACTION_CARD_DEFAULTS, AD_SIZE_MAP, API_TABLE_COLUMN_LABELS, ARTICLE_SPACING, AVATAR_UPLOAD_DEFAULTS, AccordionComponent, ActionCardComponent, ActionHeaderComponent, ActionType, AdSlotComponent, AdsLoaderService, AdsService, AlertBoxComponent, AnalyticsErrorHandler, AnalyticsRouterTracker, AnalyticsService, AppConfigService, ArticleBuilder, ArticleComponent, AuthBackgroundComponent, AuthService, AuthStateService, AuthStorageService, AuthSyncService, AvatarComponent, AvatarUploadComponent, BOTTOM_NAV_DEFAULTS, BannerComponent, BaseDefault, BlogPostBuilder, BottomNavComponent, BoxComponent, BreadcrumbComponent, ButtonComponent, ButtonGroupComponent, COMMON_COUNTRY_CODES, COMMON_CURRENCIES, CURRENCY_INFO, CardComponent, CardSection, CardType, CardsCarouselComponent, CheckInputComponent, CheckboxRadioInputComponent, ChipGroupComponent, ClearDefault, ClearDefaultBlock, ClearDefaultFull, ClearDefaultRound, ClearDefaultRoundBlock, ClearDefaultRoundFull, CodeDisplayComponent, CommandDisplayComponent, CommentComponent, CommentInputComponent, CommentSectionComponent, CompanyFooterComponent, ComponentStates, ConfirmationDialogService, ContainerComponent, ContentLoaderComponent, ContentReactionComponent, ContentTransformer, CountdownComponent, CurrencyInputComponent, DEFAULT_ADS_CONFIG, DEFAULT_APP_CONFIG_SERVICE_CONFIG, DEFAULT_AUTH_CONFIG, DEFAULT_BACK_HEADER, DEFAULT_CANCEL_BUTTON, DEFAULT_CONFIRM_BUTTON, DEFAULT_COUNTDOWN_LABELS, DEFAULT_COUNTDOWN_LABELS_EN, 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, DataTableComponent, DateInputComponent, DateRangeInputComponent, DetailSkeletonComponent, DeviceService, DisplayComponent, DividerComponent, DocsApiTableComponent, DocsBreadcrumbComponent, DocsBuilder, DocsCalloutComponent, DocsCodeExampleComponent, DocsLayoutComponent, DocsNavLinksComponent, DocsNavigationService, DocsPageComponent, DocsSearchComponent, DocsSectionComponent, DocsShellComponent, DocsSidebarComponent, DocsTocComponent, DownloadService, EmailInputComponent, ExpandableTextComponent, FEATURES_LIST_DEFAULTS, FabComponent, FeaturesListComponent, FeedbackFormComponent, FeedbackService, FileInputComponent, FirebaseService, FirestoreCollectionFactory, FirestoreService, FooterComponent, FooterLinksComponent, FormComponent, FormFooterComponent, FormSkeletonComponent, FunHeaderComponent, GlowCardComponent, GridSkeletonComponent, HANDOFF_ROUTE_PARAM, HANDOFF_TOKEN_PARAM, HandoffService, HeaderComponent, HintComponent, HorizontalScrollComponent, HourInputComponent, HrefComponent, I18nService, IMAGE_DEFAULTS, INITIAL_AUTH_STATE, INITIAL_MFA_STATE, Icon, IconComponent, IconService, ImageComponent, ImageCropComponent, ImageService, InAppBrowserService, InfiniteListComponent, InfoComponent, InputI18nHelper, InputType, ItemListComponent, LANG_STORAGE_KEY$1 as LANG_STORAGE_KEY, LOGIN_DEFAULTS, LanguageSelectorComponent, LayeredCardComponent, LinkComponent, LinkProcessorService, LinkedProvidersComponent, LinksAccordionComponent, LinksCakeComponent, ListSkeletonComponent, LoadingDirective, LocalStorageService, LocaleService, LoginComponent, MODAL_SIZES, MOTION, MaintenancePageComponent, MenuComponent, MessagingService, MetaService, ModalService, MultiSelectSearchComponent, NavigationService, NewsBuilder, NoContentComponent, NotesBoxComponent, NotificationActionService, NotificationsService, NumberFromToComponent, NumberInputComponent, NumberStepperComponent, OAUTH_PROVIDERS_INFO, OAuthCallbackComponent, OAuthService, OrgSwitchService, OutlineDefault, OutlineDefaultBlock, OutlineDefaultFull, OutlineDefaultRound, OutlineDefaultRoundBlock, OutlineDefaultRoundFull, PLATFORM_CONFIGS, PageContentComponent, PageTemplateComponent, PageWrapperComponent, PaginationComponent, PaginationService, PasswordInputComponent, PhoneInputComponent, PillComponent, PinInputComponent, PlainCodeBoxComponent, PopoverSelectorComponent, PresetService, PriceTagComponent, PrimarySolidBlockButton, PrimarySolidBlockHrefButton, PrimarySolidBlockIconButton, PrimarySolidBlockIconHrefButton, PrimarySolidDefaultRoundButton, PrimarySolidDefaultRoundHrefButton, PrimarySolidDefaultRoundIconButton, PrimarySolidDefaultRoundIconHrefButton, PrimarySolidFullButton, PrimarySolidFullHrefButton, PrimarySolidFullIconButton, PrimarySolidFullIconHrefButton, PrimarySolidLargeRoundButton, PrimarySolidLargeRoundHrefButton, PrimarySolidLargeRoundIconButton, PrimarySolidLargeRoundIconHrefButton, PrimarySolidSmallRoundButton, PrimarySolidSmallRoundHrefButton, PrimarySolidSmallRoundIconButton, PrimarySolidSmallRoundIconHrefButton, ProcessLinksPipe, ProfileSkeletonComponent, ProgressBarComponent, ProgressRingComponent, ProgressStatusComponent, PrompterComponent, QR_PRESETS, QrCodeComponent, QrGeneratorService, QueryBuilder, QuoteBoxComponent, RadioInputComponent, RangeInputComponent, RatingComponent, RefresherComponent, RightsFooterComponent, RotatingTextComponent, SKELETON_PRESETS, 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, SimpleComponent, SkeletonComponent, SkeletonService, SolidBlockButton, SolidDefault, SolidDefaultBlock, SolidDefaultButton, SolidDefaultFull, SolidDefaultRound, SolidDefaultRoundBlock, SolidDefaultRoundButton, SolidDefaultRoundFull, SolidFullButton, SolidLargeButton, SolidLargeRoundButton, SolidSmallButton, SolidSmallRoundButton, StatsCardComponent, StepperComponent, StorageService, SwipeCarouselComponent, TabbedContentComponent, TableSkeletonComponent, TabsComponent, Terminal404Component, TestimonialCardComponent, TestimonialCarouselComponent, TextComponent, TextInputComponent, TextareaInputComponent, ThemeOption, ThemeService, TimelineComponent, TitleBlockComponent, TitleComponent, ToastService, ToggleInputComponent, TokenService, ToolbarActionType, ToolbarComponent, TranslatePipe, TypedCollection, UpdateBannerComponent, UsernameInputComponent, VALTECH_ADS_CONFIG, VALTECH_APP_CONFIG, VALTECH_AUTH_CONFIG, VALTECH_COMPANY_LINKS, VALTECH_DEFAULT_CONTENT, VALTECH_FEEDBACK_CONFIG, VALTECH_FIREBASE_CONFIG, VALTECH_FOOTER_I18N, VALTECH_FOOTER_LOGO, VALTECH_LANGUAGE_SELECTOR, VALTECH_SOCIAL_LINKS, VERSION, WizardComponent, WizardFooterComponent, applyDefaultValueToControl, authGuard, authInterceptor, blogPost, buildFooterLinks, buildPath, collections, createFirebaseConfig, createGlowCardProps, createInitialPaginationState, createNumberFromToField, createTitleProps, docs, extractPathParams, getAppInfo, getAppVersion, getCollectionPath, getDocumentId, getTimeOfDayKey, goToTop, guestGuard, hasEmulators, isAtEnd, isCollectionPath, isDocumentPath, isEmulatorMode, isValidPath, joinPath, maxLength, news, permissionGuard, permissionGuardFromRoute, provideValtechAds, provideValtechAppConfig, provideValtechAuth, provideValtechAuthInterceptor, provideValtechFeedback, provideValtechFirebase, provideValtechI18n, provideValtechPresets, provideValtechSkeleton, query, replaceSpecialChars, resolveColor, resolveInputDefaultValue, roleGuard, storagePaths, superAdminGuard, toArticle };
42410
+ export { ACTION_CARD_DEFAULTS, AD_SIZE_MAP, API_TABLE_COLUMN_LABELS, ARTICLE_SPACING, AVATAR_UPLOAD_DEFAULTS, AccordionComponent, ActionCardComponent, ActionHeaderComponent, ActionType, AdSlotComponent, AdsLoaderService, AdsService, AlertBoxComponent, AnalyticsErrorHandler, AnalyticsRouterTracker, AnalyticsService, AppConfigService, ArticleBuilder, ArticleComponent, AuthBackgroundComponent, AuthService, AuthStateService, AuthStorageService, AuthSyncService, AvatarComponent, AvatarUploadComponent, BOTTOM_NAV_DEFAULTS, BannerComponent, BaseDefault, BlogPostBuilder, BottomNavComponent, BoxComponent, BreadcrumbComponent, ButtonComponent, ButtonGroupComponent, COMMON_COUNTRY_CODES, COMMON_CURRENCIES, CURRENCY_INFO, CardComponent, CardSection, CardType, CardsCarouselComponent, CheckInputComponent, CheckboxRadioInputComponent, ChipGroupComponent, ClearDefault, ClearDefaultBlock, ClearDefaultFull, ClearDefaultRound, ClearDefaultRoundBlock, ClearDefaultRoundFull, CodeDisplayComponent, CommandDisplayComponent, CommentComponent, CommentInputComponent, CommentSectionComponent, CompanyFooterComponent, ComponentStates, ConfirmationDialogService, ContainerComponent, ContentLoaderComponent, ContentReactionComponent, ContentTransformer, CountdownComponent, CurrencyInputComponent, DEFAULT_ADS_CONFIG, DEFAULT_APP_CONFIG_SERVICE_CONFIG, DEFAULT_AUTH_CONFIG, DEFAULT_BACK_HEADER, DEFAULT_CANCEL_BUTTON, DEFAULT_CONFIRM_BUTTON, DEFAULT_COUNTDOWN_LABELS, DEFAULT_COUNTDOWN_LABELS_EN, 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, DataTableComponent, DateInputComponent, DateRangeInputComponent, DetailSkeletonComponent, DeviceService, DisplayComponent, DividerComponent, DocsApiTableComponent, DocsBreadcrumbComponent, DocsBuilder, DocsCalloutComponent, DocsCodeExampleComponent, DocsLayoutComponent, DocsNavLinksComponent, DocsNavigationService, DocsPageComponent, DocsSearchComponent, DocsSectionComponent, DocsShellComponent, DocsSidebarComponent, DocsTocComponent, DownloadService, EmailInputComponent, ExpandableTextComponent, FEATURES_LIST_DEFAULTS, FabComponent, FeaturesListComponent, FeedbackFormComponent, FeedbackService, FileInputComponent, FirebaseService, FirestoreCollectionFactory, FirestoreService, FooterComponent, FooterLinksComponent, FormComponent, FormFooterComponent, FormSkeletonComponent, FunHeaderComponent, GlowCardComponent, GridSkeletonComponent, HANDOFF_ROUTE_PARAM, HANDOFF_TOKEN_PARAM, HandoffService, HeaderComponent, HintComponent, HorizontalScrollComponent, HourInputComponent, HrefComponent, I18nService, IMAGE_DEFAULTS, INITIAL_AUTH_STATE, INITIAL_MFA_STATE, Icon, IconComponent, IconService, ImageComponent, ImageCropComponent, ImageService, InAppBrowserService, InfiniteListComponent, InfoComponent, InputI18nHelper, InputType, ItemListComponent, LANG_STORAGE_KEY$1 as LANG_STORAGE_KEY, LOGIN_DEFAULTS, LanguageSelectorComponent, LayeredCardComponent, LegalContentService, LinkComponent, LinkProcessorService, LinkedProvidersComponent, LinksAccordionComponent, LinksCakeComponent, ListSkeletonComponent, LoadingDirective, LocalStorageService, LocaleService, LoginComponent, MODAL_SIZES, MOTION, MaintenancePageComponent, MarkdownArticleParserService, MenuComponent, MessagingService, MetaService, ModalService, MultiSelectSearchComponent, NavigationService, NewsBuilder, NoContentComponent, NotesBoxComponent, NotificationActionService, NotificationsService, NumberFromToComponent, NumberInputComponent, NumberStepperComponent, OAUTH_PROVIDERS_INFO, OAuthCallbackComponent, OAuthService, OrgSwitchService, OutlineDefault, OutlineDefaultBlock, OutlineDefaultFull, OutlineDefaultRound, OutlineDefaultRoundBlock, OutlineDefaultRoundFull, PLATFORM_CONFIGS, PageContentComponent, PageTemplateComponent, PageWrapperComponent, PaginationComponent, PaginationService, PasswordInputComponent, PhoneInputComponent, PillComponent, PinInputComponent, PlainCodeBoxComponent, PopoverSelectorComponent, PresetService, PriceTagComponent, PrimarySolidBlockButton, PrimarySolidBlockHrefButton, PrimarySolidBlockIconButton, PrimarySolidBlockIconHrefButton, PrimarySolidDefaultRoundButton, PrimarySolidDefaultRoundHrefButton, PrimarySolidDefaultRoundIconButton, PrimarySolidDefaultRoundIconHrefButton, PrimarySolidFullButton, PrimarySolidFullHrefButton, PrimarySolidFullIconButton, PrimarySolidFullIconHrefButton, PrimarySolidLargeRoundButton, PrimarySolidLargeRoundHrefButton, PrimarySolidLargeRoundIconButton, PrimarySolidLargeRoundIconHrefButton, PrimarySolidSmallRoundButton, PrimarySolidSmallRoundHrefButton, PrimarySolidSmallRoundIconButton, PrimarySolidSmallRoundIconHrefButton, ProcessLinksPipe, ProfileSkeletonComponent, ProgressBarComponent, ProgressRingComponent, ProgressStatusComponent, PrompterComponent, QR_PRESETS, QrCodeComponent, QrGeneratorService, QueryBuilder, QuoteBoxComponent, RadioInputComponent, RangeInputComponent, RatingComponent, RefresherComponent, RightsFooterComponent, RotatingTextComponent, SKELETON_PRESETS, 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, SimpleComponent, SkeletonComponent, SkeletonService, SolidBlockButton, SolidDefault, SolidDefaultBlock, SolidDefaultButton, SolidDefaultFull, SolidDefaultRound, SolidDefaultRoundBlock, SolidDefaultRoundButton, SolidDefaultRoundFull, SolidFullButton, SolidLargeButton, SolidLargeRoundButton, SolidSmallButton, SolidSmallRoundButton, StatsCardComponent, StepperComponent, StorageService, SwipeCarouselComponent, TabbedContentComponent, TableSkeletonComponent, TabsComponent, Terminal404Component, TestimonialCardComponent, TestimonialCarouselComponent, TextComponent, TextInputComponent, TextareaInputComponent, ThemeOption, ThemeService, TimelineComponent, TitleBlockComponent, TitleComponent, ToastService, ToggleInputComponent, TokenService, ToolbarActionType, ToolbarComponent, TranslatePipe, TypedCollection, UpdateBannerComponent, UsernameInputComponent, VALTECH_ADS_CONFIG, VALTECH_APP_CONFIG, VALTECH_AUTH_CONFIG, VALTECH_COMPANY_LINKS, VALTECH_DEFAULT_CONTENT, VALTECH_FEEDBACK_CONFIG, VALTECH_FIREBASE_CONFIG, VALTECH_FOOTER_I18N, VALTECH_FOOTER_LOGO, VALTECH_LANGUAGE_SELECTOR, VALTECH_SOCIAL_LINKS, VERSION, WizardComponent, WizardFooterComponent, applyDefaultValueToControl, authGuard, authInterceptor, blogPost, buildFooterLinks, buildPath, collections, createFirebaseConfig, createGlowCardProps, createInitialPaginationState, createNumberFromToField, createTitleProps, docs, extractPathParams, getAppInfo, getAppVersion, getCollectionPath, getDocumentId, getTimeOfDayKey, goToTop, guestGuard, hasEmulators, isAtEnd, isCollectionPath, isDocumentPath, isEmulatorMode, isValidPath, joinPath, maxLength, news, permissionGuard, permissionGuardFromRoute, provideValtechAds, provideValtechAppConfig, provideValtechAuth, provideValtechAuthInterceptor, provideValtechFeedback, provideValtechFirebase, provideValtechI18n, provideValtechPresets, provideValtechSkeleton, query, replaceSpecialChars, resolveColor, resolveInputDefaultValue, roleGuard, storagePaths, superAdminGuard, toArticle };
42073
42411
  //# sourceMappingURL=valtech-components.mjs.map