valtech-components 4.0.73 → 4.0.75

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.
@@ -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.73';
59
+ const VERSION = '4.0.75';
60
60
 
61
61
  // Control de estado de refresco (singleton a nivel de módulo)
62
62
  let isRefreshing = false;
@@ -64382,6 +64382,315 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
64382
64382
  type: Output
64383
64383
  }] } });
64384
64384
 
64385
+ class RequestService {
64386
+ constructor(config, http) {
64387
+ this.config = config;
64388
+ this.http = http;
64389
+ }
64390
+ get baseUrl() {
64391
+ return `${this.config.apiUrl}/v2/requests`;
64392
+ }
64393
+ get typesUrl() {
64394
+ return `${this.config.apiUrl}/v2/request-types`;
64395
+ }
64396
+ // ── Requests ──
64397
+ createRequest(payload) {
64398
+ return this.http.post(this.baseUrl, payload);
64399
+ }
64400
+ createAnonymousRequest(payload) {
64401
+ return this.http.post(`${this.baseUrl}/anonymous`, payload);
64402
+ }
64403
+ listRequests(params) {
64404
+ const qs = this.buildQueryString(params);
64405
+ return this.http.get(`${this.baseUrl}${qs}`);
64406
+ }
64407
+ listMyRequests(params) {
64408
+ const qs = this.buildQueryString(params);
64409
+ return this.http.get(`${this.baseUrl}/my${qs}`);
64410
+ }
64411
+ getRequest(id) {
64412
+ return this.http
64413
+ .get(`${this.baseUrl}/${id}`)
64414
+ .pipe(map$1(r => r.request));
64415
+ }
64416
+ updateRequest(id, payload) {
64417
+ return this.http
64418
+ .put(`${this.baseUrl}/${id}`, payload)
64419
+ .pipe(map$1(r => r.request));
64420
+ }
64421
+ transition(id, payload) {
64422
+ return this.http.post(`${this.baseUrl}/${id}/transition`, payload);
64423
+ }
64424
+ // ── Comments ──
64425
+ addComment(requestId, payload) {
64426
+ return this.http
64427
+ .post(`${this.baseUrl}/${requestId}/comments`, payload)
64428
+ .pipe(map$1(r => r.comment));
64429
+ }
64430
+ listComments(requestId) {
64431
+ return this.http.get(`${this.baseUrl}/${requestId}/comments`);
64432
+ }
64433
+ // ── Request Types ──
64434
+ listRequestTypes() {
64435
+ return this.http.get(this.typesUrl);
64436
+ }
64437
+ getRequestType(typeId) {
64438
+ return this.http.get(`${this.typesUrl}/${typeId}`);
64439
+ }
64440
+ createRequestType(payload) {
64441
+ return this.http
64442
+ .post(this.typesUrl, payload)
64443
+ .pipe(map$1(r => r.typeConfig));
64444
+ }
64445
+ updateRequestType(typeId, payload) {
64446
+ return this.http
64447
+ .put(`${this.typesUrl}/${typeId}`, payload)
64448
+ .pipe(map$1(r => r.typeConfig));
64449
+ }
64450
+ deleteRequestType(typeId) {
64451
+ return this.http.delete(`${this.typesUrl}/${typeId}`);
64452
+ }
64453
+ // ── Helpers ──
64454
+ buildQueryString(params) {
64455
+ if (!params)
64456
+ return '';
64457
+ const qs = new URLSearchParams();
64458
+ if (params.type)
64459
+ qs.set('type', params.type);
64460
+ if (params.status)
64461
+ qs.set('status', params.status);
64462
+ if (params.limit != null)
64463
+ qs.set('limit', String(params.limit));
64464
+ if (params.nextToken)
64465
+ qs.set('nextToken', params.nextToken);
64466
+ const str = qs.toString();
64467
+ return str ? `?${str}` : '';
64468
+ }
64469
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RequestService, deps: [{ token: VALTECH_AUTH_CONFIG }, { token: i1$3.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
64470
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RequestService, providedIn: 'root' }); }
64471
+ }
64472
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RequestService, decorators: [{
64473
+ type: Injectable,
64474
+ args: [{ providedIn: 'root' }]
64475
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
64476
+ type: Inject,
64477
+ args: [VALTECH_AUTH_CONFIG]
64478
+ }] }, { type: i1$3.HttpClient }] });
64479
+
64480
+ const REQUEST_FORM_I18N = {
64481
+ es: {
64482
+ title: 'Título',
64483
+ titlePlaceholder: 'Describe brevemente tu solicitud',
64484
+ titleValidation: 'El título debe tener al menos 3 caracteres',
64485
+ description: 'Descripción',
64486
+ descriptionPlaceholder: 'Añade más detalles aquí',
64487
+ descriptionValidation: 'La descripción es demasiado larga',
64488
+ submit: 'Enviar',
64489
+ success: 'Solicitud enviada exitosamente',
64490
+ error: 'Error al enviar la solicitud',
64491
+ },
64492
+ en: {
64493
+ title: 'Title',
64494
+ titlePlaceholder: 'Briefly describe your request',
64495
+ titleValidation: 'Title must be at least 3 characters',
64496
+ description: 'Description',
64497
+ descriptionPlaceholder: 'Add more details here',
64498
+ descriptionValidation: 'Description is too long',
64499
+ submit: 'Submit',
64500
+ success: 'Request submitted successfully',
64501
+ error: 'Error submitting the request',
64502
+ },
64503
+ };
64504
+ class RequestFormComponent {
64505
+ constructor() {
64506
+ this.props = { type: '' };
64507
+ this.onSubmit = new EventEmitter();
64508
+ this.onCancel = new EventEmitter();
64509
+ this.i18n = inject(I18nService);
64510
+ this.requestService = inject(RequestService);
64511
+ this.feedbackService = inject(FeedbackService);
64512
+ this.isSubmitting = signal(false);
64513
+ this.isSuccess = signal(false);
64514
+ this.error = signal(null);
64515
+ this.currentAttachments = [];
64516
+ addIcons({ checkmarkCircleOutline, closeCircleOutline });
64517
+ if (!this.i18n.hasNamespace('RequestForm')) {
64518
+ this.i18n.registerDefaults('RequestForm', REQUEST_FORM_I18N);
64519
+ }
64520
+ }
64521
+ ngOnInit() {
64522
+ this.formProps = this.buildFormProps();
64523
+ }
64524
+ buildFormProps() {
64525
+ return {
64526
+ name: '',
64527
+ sections: [
64528
+ {
64529
+ name: '',
64530
+ order: 0,
64531
+ fields: [
64532
+ {
64533
+ token: 'request-title',
64534
+ name: 'title',
64535
+ label: this.props.titleLabel ?? this.t('title'),
64536
+ hint: '',
64537
+ placeholder: this.props.titlePlaceholder ?? this.t('titlePlaceholder'),
64538
+ type: InputType.TEXT,
64539
+ order: 1,
64540
+ validators: [Validators.required, Validators.minLength(3), Validators.maxLength(300)],
64541
+ errors: {
64542
+ required: this.t('titleValidation'),
64543
+ minlength: this.t('titleValidation'),
64544
+ maxlength: this.t('titleValidation'),
64545
+ },
64546
+ state: ComponentStates.ENABLED,
64547
+ },
64548
+ {
64549
+ token: 'request-description',
64550
+ name: 'description',
64551
+ label: this.props.descriptionLabel ?? this.t('description'),
64552
+ hint: '',
64553
+ placeholder: this.props.descriptionPlaceholder ?? this.t('descriptionPlaceholder'),
64554
+ type: InputType.TEXTAREA,
64555
+ order: 2,
64556
+ validators: [Validators.maxLength(5000)],
64557
+ errors: { maxlength: this.t('descriptionValidation') },
64558
+ state: ComponentStates.ENABLED,
64559
+ },
64560
+ ],
64561
+ },
64562
+ ],
64563
+ actions: {
64564
+ type: 'submit',
64565
+ color: 'dark',
64566
+ fill: 'solid',
64567
+ shape: 'round',
64568
+ expand: 'block',
64569
+ text: this.props.submitButtonText ?? this.t('submit'),
64570
+ state: ComponentStates.ENABLED,
64571
+ },
64572
+ state: ComponentStates.ENABLED,
64573
+ };
64574
+ }
64575
+ async handleFormSubmit(submitted) {
64576
+ if (this.isSubmitting())
64577
+ return;
64578
+ if (this.currentAttachments.some(a => a.status === 'uploading'))
64579
+ return;
64580
+ this.isSubmitting.set(true);
64581
+ this.error.set(null);
64582
+ this.isSuccess.set(false);
64583
+ this.formProps.state = ComponentStates.WORKING;
64584
+ this.formProps.actions.state = ComponentStates.WORKING;
64585
+ try {
64586
+ const title = submitted.fields['title'].trim();
64587
+ const description = submitted.fields['description']?.trim() ?? '';
64588
+ const attachmentUrls = this.currentAttachments.filter(a => a.status === 'ready').map(a => a.url);
64589
+ const result = await firstValueFrom(this.requestService.createRequest({
64590
+ type: this.props.type,
64591
+ title,
64592
+ fields: {
64593
+ ...(description ? { description } : {}),
64594
+ ...(attachmentUrls.length ? { attachmentUrls } : {}),
64595
+ },
64596
+ }));
64597
+ this.isSuccess.set(true);
64598
+ this.onSubmit.emit({
64599
+ requestId: result.requestId,
64600
+ request: result.request,
64601
+ type: this.props.type,
64602
+ title,
64603
+ attachmentUrls,
64604
+ });
64605
+ }
64606
+ catch (err) {
64607
+ this.error.set(err.error?.message || err.message || this.t('error'));
64608
+ }
64609
+ finally {
64610
+ this.isSubmitting.set(false);
64611
+ this.formProps.state = ComponentStates.ENABLED;
64612
+ this.formProps.actions.state = ComponentStates.ENABLED;
64613
+ }
64614
+ }
64615
+ onAttachmentsChange(items) {
64616
+ this.currentAttachments = items;
64617
+ }
64618
+ onCancelClick() {
64619
+ this.onCancel.emit();
64620
+ }
64621
+ t(key) {
64622
+ return this.i18n.t(key, 'RequestForm');
64623
+ }
64624
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RequestFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
64625
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: RequestFormComponent, isStandalone: true, selector: "val-request-form", inputs: { props: "props" }, outputs: { onSubmit: "onSubmit", onCancel: "onCancel" }, ngImport: i0, template: `
64626
+ <div class="request-form-wrapper" [class.compact]="props.compact" [ngClass]="props.cssClass">
64627
+ <val-form [props]="formProps" (onSubmit)="handleFormSubmit($event)">
64628
+ @if (props.showAttachments !== false) {
64629
+ <val-attachment-uploader [props]="{ maxFiles: 5 }" (attachmentsChange)="onAttachmentsChange($event)" />
64630
+ }
64631
+
64632
+ @if (error()) {
64633
+ <div class="request-alert error">
64634
+ <ion-icon name="close-circle-outline" aria-hidden="true" />
64635
+ <span>{{ error() }}</span>
64636
+ </div>
64637
+ }
64638
+
64639
+ @if (isSuccess()) {
64640
+ <div class="request-alert success">
64641
+ <ion-icon name="checkmark-circle-outline" aria-hidden="true" />
64642
+ <span>{{ props.successMessage || t('success') }}</span>
64643
+ </div>
64644
+ }
64645
+ </val-form>
64646
+
64647
+ @if (props.cancelButtonText) {
64648
+ <ion-button fill="outline" color="medium" expand="block" class="cancel-button" (click)="onCancelClick()">
64649
+ {{ props.cancelButtonText }}
64650
+ </ion-button>
64651
+ }
64652
+ </div>
64653
+ `, isInline: true, styles: [".request-form-wrapper{display:flex;flex-direction:column;gap:8px;&.compact{gap:4px}}.request-alert{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:8px;margin-top:8px;&.error{background-color:var(--ion-color-danger-tint);color:var(--ion-color-danger-shade)}&.success{background-color:var(--ion-color-success-tint);color:var(--ion-color-success-shade)}ion-icon{font-size:1.25rem}}.cancel-button{margin-top:8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: FormComponent, selector: "val-form", inputs: ["props"], outputs: ["onSubmit", "onInvalid", "onSelectChange"] }, { kind: "component", type: AttachmentUploaderComponent, selector: "val-attachment-uploader", inputs: ["props"], outputs: ["attachmentsChange"] }, { 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: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
64654
+ }
64655
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RequestFormComponent, decorators: [{
64656
+ type: Component,
64657
+ args: [{ selector: 'val-request-form', standalone: true, imports: [CommonModule, FormComponent, AttachmentUploaderComponent, IonButton, IonIcon], template: `
64658
+ <div class="request-form-wrapper" [class.compact]="props.compact" [ngClass]="props.cssClass">
64659
+ <val-form [props]="formProps" (onSubmit)="handleFormSubmit($event)">
64660
+ @if (props.showAttachments !== false) {
64661
+ <val-attachment-uploader [props]="{ maxFiles: 5 }" (attachmentsChange)="onAttachmentsChange($event)" />
64662
+ }
64663
+
64664
+ @if (error()) {
64665
+ <div class="request-alert error">
64666
+ <ion-icon name="close-circle-outline" aria-hidden="true" />
64667
+ <span>{{ error() }}</span>
64668
+ </div>
64669
+ }
64670
+
64671
+ @if (isSuccess()) {
64672
+ <div class="request-alert success">
64673
+ <ion-icon name="checkmark-circle-outline" aria-hidden="true" />
64674
+ <span>{{ props.successMessage || t('success') }}</span>
64675
+ </div>
64676
+ }
64677
+ </val-form>
64678
+
64679
+ @if (props.cancelButtonText) {
64680
+ <ion-button fill="outline" color="medium" expand="block" class="cancel-button" (click)="onCancelClick()">
64681
+ {{ props.cancelButtonText }}
64682
+ </ion-button>
64683
+ }
64684
+ </div>
64685
+ `, styles: [".request-form-wrapper{display:flex;flex-direction:column;gap:8px;&.compact{gap:4px}}.request-alert{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:8px;margin-top:8px;&.error{background-color:var(--ion-color-danger-tint);color:var(--ion-color-danger-shade)}&.success{background-color:var(--ion-color-success-tint);color:var(--ion-color-success-shade)}ion-icon{font-size:1.25rem}}.cancel-button{margin-top:8px}\n"] }]
64686
+ }], ctorParameters: () => [], propDecorators: { props: [{
64687
+ type: Input
64688
+ }], onSubmit: [{
64689
+ type: Output
64690
+ }], onCancel: [{
64691
+ type: Output
64692
+ }] } });
64693
+
64385
64694
  const DEFAULT_SPLASH_SCREEN_CONFIG = {
64386
64695
  fadeOutDuration: 300,
64387
64696
  };
@@ -67272,101 +67581,6 @@ const REQUEST_STATUSES = [
67272
67581
  'closed',
67273
67582
  ];
67274
67583
 
67275
- class RequestService {
67276
- constructor(config, http) {
67277
- this.config = config;
67278
- this.http = http;
67279
- }
67280
- get baseUrl() {
67281
- return `${this.config.apiUrl}/v2/requests`;
67282
- }
67283
- get typesUrl() {
67284
- return `${this.config.apiUrl}/v2/request-types`;
67285
- }
67286
- // ── Requests ──
67287
- createRequest(payload) {
67288
- return this.http.post(this.baseUrl, payload);
67289
- }
67290
- createAnonymousRequest(payload) {
67291
- return this.http.post(`${this.baseUrl}/anonymous`, payload);
67292
- }
67293
- listRequests(params) {
67294
- const qs = this.buildQueryString(params);
67295
- return this.http.get(`${this.baseUrl}${qs}`);
67296
- }
67297
- listMyRequests(params) {
67298
- const qs = this.buildQueryString(params);
67299
- return this.http.get(`${this.baseUrl}/my${qs}`);
67300
- }
67301
- getRequest(id) {
67302
- return this.http
67303
- .get(`${this.baseUrl}/${id}`)
67304
- .pipe(map$1(r => r.request));
67305
- }
67306
- updateRequest(id, payload) {
67307
- return this.http
67308
- .put(`${this.baseUrl}/${id}`, payload)
67309
- .pipe(map$1(r => r.request));
67310
- }
67311
- transition(id, payload) {
67312
- return this.http.post(`${this.baseUrl}/${id}/transition`, payload);
67313
- }
67314
- // ── Comments ──
67315
- addComment(requestId, payload) {
67316
- return this.http
67317
- .post(`${this.baseUrl}/${requestId}/comments`, payload)
67318
- .pipe(map$1(r => r.comment));
67319
- }
67320
- listComments(requestId) {
67321
- return this.http.get(`${this.baseUrl}/${requestId}/comments`);
67322
- }
67323
- // ── Request Types ──
67324
- listRequestTypes() {
67325
- return this.http.get(this.typesUrl);
67326
- }
67327
- getRequestType(typeId) {
67328
- return this.http.get(`${this.typesUrl}/${typeId}`);
67329
- }
67330
- createRequestType(payload) {
67331
- return this.http
67332
- .post(this.typesUrl, payload)
67333
- .pipe(map$1(r => r.typeConfig));
67334
- }
67335
- updateRequestType(typeId, payload) {
67336
- return this.http
67337
- .put(`${this.typesUrl}/${typeId}`, payload)
67338
- .pipe(map$1(r => r.typeConfig));
67339
- }
67340
- deleteRequestType(typeId) {
67341
- return this.http.delete(`${this.typesUrl}/${typeId}`);
67342
- }
67343
- // ── Helpers ──
67344
- buildQueryString(params) {
67345
- if (!params)
67346
- return '';
67347
- const qs = new URLSearchParams();
67348
- if (params.type)
67349
- qs.set('type', params.type);
67350
- if (params.status)
67351
- qs.set('status', params.status);
67352
- if (params.limit != null)
67353
- qs.set('limit', String(params.limit));
67354
- if (params.nextToken)
67355
- qs.set('nextToken', params.nextToken);
67356
- const str = qs.toString();
67357
- return str ? `?${str}` : '';
67358
- }
67359
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RequestService, deps: [{ token: VALTECH_AUTH_CONFIG }, { token: i1$3.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
67360
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RequestService, providedIn: 'root' }); }
67361
- }
67362
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RequestService, decorators: [{
67363
- type: Injectable,
67364
- args: [{ providedIn: 'root' }]
67365
- }], ctorParameters: () => [{ type: undefined, decorators: [{
67366
- type: Inject,
67367
- args: [VALTECH_AUTH_CONFIG]
67368
- }] }, { type: i1$3.HttpClient }] });
67369
-
67370
67584
  class RequestFormBuilderService {
67371
67585
  constructor() {
67372
67586
  this.i18n = inject(I18nService);
@@ -68592,5 +68806,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
68592
68806
  * Generated bundle index. Do not edit.
68593
68807
  */
68594
68808
 
68595
- export { ACTION_CARD_DEFAULTS, AD_SIZE_MAP, API_TABLE_COLUMN_LABELS, APP_VERSION_PLATFORM_PLUGIN, APP_VERSION_REMOTE_PLUGIN, ARTICLE_CARD_DEFAULTS, ARTICLE_SPACING, ARTICLE_STRIP_DEFAULTS, AUTH_CTA_DEFAULTS, AVATAR_UPLOAD_DEFAULTS, AboutViewComponent, AccordionComponent, AccountViewComponent, ActionCardComponent, ActionHeaderComponent, ActionType, AdSlotComponent, AdsLoaderService, AdsService, AlertBoxComponent, AnalyticsErrorHandler, AnalyticsRouterTracker, AnalyticsService, AnimatedTerminalComponent, ApiKeyCreateModalComponent, ApiKeyService, ApiKeysModalComponent, ApiKeysViewComponent, AppConfigService, AppVersionService, ArticleBuilder, ArticleCardComponent, ArticleComponent, ArticleStripComponent, AttachmentUploaderComponent, AuthBackgroundComponent, AuthCtaComponent, AuthService, AuthStateService, AuthStorageService, AuthSyncService, AvatarComponent, AvatarUploadComponent, BOTTOM_NAV_DEFAULTS, BannerComponent, BlogPostBuilder, BottomNavComponent, BoxComponent, BreadcrumbComponent, ButtonComponent, ButtonGroupComponent, CALLOUT_LABELS, CHEV_KEYS, CIRCLE_KEYS, COMMON_COUNTRY_CODES, COMMON_CURRENCIES, CORNER_KEYS, CTA_CARD_DEFAULTS, CURRENCY_INFO, CardComponent, CardSection, CardType, CardsCarouselComponent, ChangeEmailModalComponent, ChangePasswordModalComponent, CheckInputComponent, CheckboxRadioInputComponent, ChipGroupComponent, CodeDisplayComponent, CommandDisplayComponent, CommentComponent, CommentInputComponent, CommentSectionComponent, CompanyFooterComponent, ComponentStates, ConfirmationDialogService, ContainerComponent, ContentLoaderComponent, ContentReactionComponent, ContentService, ContentTransformer, CookieBannerComponent, CountdownComponent, CreateOrgModalComponent, CtaCardComponent, CurrencyInputComponent, DEFAULT_ADS_CONFIG, DEFAULT_APP_CONFIG_SERVICE_CONFIG, DEFAULT_APP_VERSION_SERVICE_CONFIG, DEFAULT_AUTH_CONFIG, DEFAULT_BACK_HEADER, DEFAULT_BUTTON_PRESETS, DEFAULT_CANCEL_BUTTON, DEFAULT_CHECK_INTERVAL_MS, DEFAULT_CONFIRM_BUTTON, DEFAULT_COUNTDOWN_LABELS, DEFAULT_COUNTDOWN_LABELS_EN, DEFAULT_DEBUG_CONSOLE_CONFIG, DEFAULT_DONATION_CONFIG, DEFAULT_EMPTY_STATE, DEFAULT_EMULATOR_CONFIG, DEFAULT_FEEDBACK_CONFIG, DEFAULT_FEEDBACK_TYPE_OPTIONS, DEFAULT_HOME_HEADER, DEFAULT_INFINITE_LIST_METADATA, DEFAULT_LOGIN_LOGO, DEFAULT_MODAL_CANCEL_BUTTON, DEFAULT_MODAL_CONFIRM_BUTTON, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLATFORMS, DEFAULT_PRESETS, DEFAULT_REFRESHER_METADATA, DEFAULT_SKELETON_CONFIG, DEFAULT_SPLASH_SCREEN_CONFIG, DataTableComponent, DateInputComponent, DatePickerComponent, DateRangeInputComponent, DebugConsoleComponent, DeleteAccountModalComponent, DetailSkeletonComponent, DeviceService, DisplayComponent, DividerComponent, DocsApiTableComponent, DocsBreadcrumbComponent, DocsBuilder, DocsCalloutComponent, DocsCodeExampleComponent, DocsLayoutComponent, DocsNavLinksComponent, DocsNavigationService, DocsPageComponent, DocsSearchComponent, DocsSectionComponent, DocsShellComponent, DocsSidebarComponent, DocsTocComponent, DonationService, DownloadService, EditOrgModalComponent, EmptyStateComponent, EntityCardComponent, ExpandableTextComponent, FEATURES_LIST_DEFAULTS, FUN_MODAL_DEFAULTS, FabComponent, FaqComponent, FeaturesListComponent, FeedbackFormComponent, FeedbackService, FieldListComponent, FileInputComponent, FirebaseService, FirestoreCollectionFactory, FirestoreService, FontSizeOption, FontSizeSelectorComponent, FontSizeService, FooterComponent, FooterLinksComponent, FormComponent, FormSkeletonComponent, FunHeaderComponent, FunModalComponent, GlassComponent, GlowCardComponent, GlowComponent, GridSkeletonComponent, HANDOFF_ROUTE_PARAM, HANDOFF_TOKEN_PARAM, HandoffService, 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, LOGIN_DEFAULTS, LandingSplitComponent, LandingStepsComponent, LanguageSelectorComponent, 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, 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, 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, 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, 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, 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, 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, renderPatternSvgInner, replaceSpecialChars, requestSubmitMode, resolveColor, resolveInputDefaultValue, resolveIonicColor, resolveWebBaseUrl, roleGuard, selectableRequestTypes, storagePaths, superAdminGuard, toArticle };
68809
+ export { ACTION_CARD_DEFAULTS, AD_SIZE_MAP, API_TABLE_COLUMN_LABELS, APP_VERSION_PLATFORM_PLUGIN, APP_VERSION_REMOTE_PLUGIN, ARTICLE_CARD_DEFAULTS, ARTICLE_SPACING, ARTICLE_STRIP_DEFAULTS, AUTH_CTA_DEFAULTS, AVATAR_UPLOAD_DEFAULTS, AboutViewComponent, AccordionComponent, AccountViewComponent, ActionCardComponent, ActionHeaderComponent, ActionType, AdSlotComponent, AdsLoaderService, AdsService, AlertBoxComponent, AnalyticsErrorHandler, AnalyticsRouterTracker, AnalyticsService, AnimatedTerminalComponent, ApiKeyCreateModalComponent, ApiKeyService, ApiKeysModalComponent, ApiKeysViewComponent, AppConfigService, AppVersionService, ArticleBuilder, ArticleCardComponent, ArticleComponent, ArticleStripComponent, AttachmentUploaderComponent, AuthBackgroundComponent, AuthCtaComponent, AuthService, AuthStateService, AuthStorageService, AuthSyncService, AvatarComponent, AvatarUploadComponent, BOTTOM_NAV_DEFAULTS, BannerComponent, BlogPostBuilder, BottomNavComponent, BoxComponent, BreadcrumbComponent, ButtonComponent, ButtonGroupComponent, CALLOUT_LABELS, CHEV_KEYS, CIRCLE_KEYS, COMMON_COUNTRY_CODES, COMMON_CURRENCIES, CORNER_KEYS, CTA_CARD_DEFAULTS, CURRENCY_INFO, CardComponent, CardSection, CardType, CardsCarouselComponent, ChangeEmailModalComponent, ChangePasswordModalComponent, CheckInputComponent, CheckboxRadioInputComponent, ChipGroupComponent, CodeDisplayComponent, CommandDisplayComponent, CommentComponent, CommentInputComponent, CommentSectionComponent, CompanyFooterComponent, ComponentStates, ConfirmationDialogService, ContainerComponent, ContentLoaderComponent, ContentReactionComponent, ContentService, ContentTransformer, CookieBannerComponent, CountdownComponent, CreateOrgModalComponent, CtaCardComponent, CurrencyInputComponent, DEFAULT_ADS_CONFIG, DEFAULT_APP_CONFIG_SERVICE_CONFIG, DEFAULT_APP_VERSION_SERVICE_CONFIG, DEFAULT_AUTH_CONFIG, DEFAULT_BACK_HEADER, DEFAULT_BUTTON_PRESETS, DEFAULT_CANCEL_BUTTON, DEFAULT_CHECK_INTERVAL_MS, DEFAULT_CONFIRM_BUTTON, DEFAULT_COUNTDOWN_LABELS, DEFAULT_COUNTDOWN_LABELS_EN, DEFAULT_DEBUG_CONSOLE_CONFIG, DEFAULT_DONATION_CONFIG, DEFAULT_EMPTY_STATE, DEFAULT_EMULATOR_CONFIG, DEFAULT_FEEDBACK_CONFIG, DEFAULT_FEEDBACK_TYPE_OPTIONS, DEFAULT_HOME_HEADER, DEFAULT_INFINITE_LIST_METADATA, DEFAULT_LOGIN_LOGO, DEFAULT_MODAL_CANCEL_BUTTON, DEFAULT_MODAL_CONFIRM_BUTTON, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLATFORMS, DEFAULT_PRESETS, DEFAULT_REFRESHER_METADATA, DEFAULT_SKELETON_CONFIG, DEFAULT_SPLASH_SCREEN_CONFIG, DataTableComponent, DateInputComponent, DatePickerComponent, DateRangeInputComponent, DebugConsoleComponent, DeleteAccountModalComponent, DetailSkeletonComponent, DeviceService, DisplayComponent, DividerComponent, DocsApiTableComponent, DocsBreadcrumbComponent, DocsBuilder, DocsCalloutComponent, DocsCodeExampleComponent, DocsLayoutComponent, DocsNavLinksComponent, DocsNavigationService, DocsPageComponent, DocsSearchComponent, DocsSectionComponent, DocsShellComponent, DocsSidebarComponent, DocsTocComponent, DonationService, DownloadService, EditOrgModalComponent, EmptyStateComponent, EntityCardComponent, ExpandableTextComponent, FEATURES_LIST_DEFAULTS, FUN_MODAL_DEFAULTS, FabComponent, FaqComponent, FeaturesListComponent, FeedbackFormComponent, FeedbackService, FieldListComponent, FileInputComponent, FirebaseService, FirestoreCollectionFactory, FirestoreService, FontSizeOption, FontSizeSelectorComponent, FontSizeService, FooterComponent, FooterLinksComponent, FormComponent, FormSkeletonComponent, FunHeaderComponent, FunModalComponent, GlassComponent, GlowCardComponent, GlowComponent, GridSkeletonComponent, HANDOFF_ROUTE_PARAM, HANDOFF_TOKEN_PARAM, HandoffService, 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, LOGIN_DEFAULTS, LandingSplitComponent, LandingStepsComponent, LanguageSelectorComponent, 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, 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, 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, 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, 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, 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, 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, renderPatternSvgInner, replaceSpecialChars, requestSubmitMode, resolveColor, resolveInputDefaultValue, resolveIonicColor, resolveWebBaseUrl, roleGuard, selectableRequestTypes, storagePaths, superAdminGuard, toArticle };
68596
68810
  //# sourceMappingURL=valtech-components.mjs.map