valtech-components 2.0.944 → 2.0.945
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/atoms/button/button.component.mjs +3 -3
- package/esm2022/lib/components/molecules/article-card/article-card.component.mjs +154 -0
- package/esm2022/lib/components/molecules/article-card/types.mjs +10 -0
- package/esm2022/lib/components/molecules/cta-card/cta-card.component.mjs +121 -0
- package/esm2022/lib/components/molecules/cta-card/types.mjs +11 -0
- package/esm2022/lib/components/molecules/media-object/media-object.component.mjs +141 -0
- package/esm2022/lib/components/molecules/media-object/types.mjs +11 -0
- package/esm2022/lib/components/molecules/stats-bar/stats-bar.component.mjs +99 -0
- package/esm2022/lib/components/molecules/stats-bar/types.mjs +10 -0
- package/esm2022/lib/version.mjs +2 -2
- package/esm2022/public-api.mjs +9 -1
- package/fesm2022/valtech-components.mjs +540 -6
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/molecules/article-card/article-card.component.d.ts +41 -0
- package/lib/components/molecules/article-card/types.d.ts +51 -0
- package/lib/components/molecules/cta-card/cta-card.component.d.ts +44 -0
- package/lib/components/molecules/cta-card/types.d.ts +42 -0
- package/lib/components/molecules/media-object/media-object.component.d.ts +38 -0
- package/lib/components/molecules/media-object/types.d.ts +53 -0
- package/lib/components/molecules/stats-bar/stats-bar.component.d.ts +32 -0
- package/lib/components/molecules/stats-bar/types.d.ts +40 -0
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +8 -0
|
@@ -54,7 +54,7 @@ import 'prismjs/components/prism-json';
|
|
|
54
54
|
* Current version of valtech-components.
|
|
55
55
|
* This is automatically updated during the publish process.
|
|
56
56
|
*/
|
|
57
|
-
const VERSION = '2.0.
|
|
57
|
+
const VERSION = '2.0.945';
|
|
58
58
|
|
|
59
59
|
// Control de estado de refresco (singleton a nivel de módulo)
|
|
60
60
|
let isRefreshing = false;
|
|
@@ -10486,7 +10486,7 @@ class ButtonComponent {
|
|
|
10486
10486
|
<ion-spinner *ngIf="resolvedProps.state === states.WORKING" name="circular"></ion-spinner>
|
|
10487
10487
|
<ion-text *ngIf="resolvedProps.state !== states.WORKING">{{ displayText }}</ion-text>
|
|
10488
10488
|
</ion-button>
|
|
10489
|
-
`, isInline: true, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-padding: 16px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}ion-button{font-family:var(--ion-default-font),Arial,sans-serif;min-width:6.25rem;margin:0}ion-button.small{--padding-bottom: 12px;--padding-end: 14px;--padding-start: 14px;--padding-top: 12px}ion-button.button-clear{padding:0;margin:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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"] }, { kind: "component", type: IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: IonText, selector: "ion-text", inputs: ["color", "mode"] }] }); }
|
|
10489
|
+
`, isInline: true, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-padding: 16px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}ion-button{font-family:var(--ion-default-font),Arial,sans-serif;min-width:6.25rem;margin:0}ion-button.small{--padding-bottom: 12px;--padding-end: 14px;--padding-start: 14px;--padding-top: 12px}ion-button.button-clear{padding:0;margin:0}ion-button ion-spinner{--color: currentColor}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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"] }, { kind: "component", type: IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: IonText, selector: "ion-text", inputs: ["color", "mode"] }] }); }
|
|
10490
10490
|
}
|
|
10491
10491
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
10492
10492
|
type: Component,
|
|
@@ -10509,7 +10509,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
10509
10509
|
<ion-spinner *ngIf="resolvedProps.state === states.WORKING" name="circular"></ion-spinner>
|
|
10510
10510
|
<ion-text *ngIf="resolvedProps.state !== states.WORKING">{{ displayText }}</ion-text>
|
|
10511
10511
|
</ion-button>
|
|
10512
|
-
`, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-padding: 16px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}ion-button{font-family:var(--ion-default-font),Arial,sans-serif;min-width:6.25rem;margin:0}ion-button.small{--padding-bottom: 12px;--padding-end: 14px;--padding-start: 14px;--padding-top: 12px}ion-button.button-clear{padding:0;margin:0}\n"] }]
|
|
10512
|
+
`, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-padding: 16px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}ion-button{font-family:var(--ion-default-font),Arial,sans-serif;min-width:6.25rem;margin:0}ion-button.small{--padding-bottom: 12px;--padding-end: 14px;--padding-start: 14px;--padding-top: 12px}ion-button.button-clear{padding:0;margin:0}ion-button ion-spinner{--color: currentColor}\n"] }]
|
|
10513
10513
|
}], ctorParameters: () => [{ type: DownloadService }, { type: IconService }, { type: NavigationService }], propDecorators: { preset: [{
|
|
10514
10514
|
type: Input
|
|
10515
10515
|
}], props: [{
|
|
@@ -26952,7 +26952,7 @@ const ACTION_CARD_DEFAULTS = {
|
|
|
26952
26952
|
};
|
|
26953
26953
|
|
|
26954
26954
|
addIcons({ chevronForwardOutline });
|
|
26955
|
-
const IONIC_COLORS = ['primary', 'secondary', 'tertiary', 'success', 'warning', 'danger', 'light', 'medium', 'dark'];
|
|
26955
|
+
const IONIC_COLORS$4 = ['primary', 'secondary', 'tertiary', 'success', 'warning', 'danger', 'light', 'medium', 'dark'];
|
|
26956
26956
|
/**
|
|
26957
26957
|
* val-action-card
|
|
26958
26958
|
*
|
|
@@ -27032,7 +27032,7 @@ class ActionCardComponent {
|
|
|
27032
27032
|
resolveColor(color) {
|
|
27033
27033
|
if (!color)
|
|
27034
27034
|
return null;
|
|
27035
|
-
if (IONIC_COLORS.includes(color)) {
|
|
27035
|
+
if (IONIC_COLORS$4.includes(color)) {
|
|
27036
27036
|
return `var(--ion-color-${color})`;
|
|
27037
27037
|
}
|
|
27038
27038
|
return color;
|
|
@@ -27214,6 +27214,540 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
27214
27214
|
type: Output
|
|
27215
27215
|
}] } });
|
|
27216
27216
|
|
|
27217
|
+
/**
|
|
27218
|
+
* Default values for MediaObjectMetadata.
|
|
27219
|
+
*/
|
|
27220
|
+
const MEDIA_OBJECT_DEFAULTS = {
|
|
27221
|
+
mediaWidth: '96px',
|
|
27222
|
+
reversed: false,
|
|
27223
|
+
align: 'start',
|
|
27224
|
+
rounded: true,
|
|
27225
|
+
circle: false,
|
|
27226
|
+
};
|
|
27227
|
+
|
|
27228
|
+
const IONIC_COLORS$3 = ['primary', 'secondary', 'tertiary', 'success', 'warning', 'danger', 'light', 'medium', 'dark'];
|
|
27229
|
+
/**
|
|
27230
|
+
* val-media-object
|
|
27231
|
+
*
|
|
27232
|
+
* Image (or icon) on one side, title + long body text on the other. Useful for
|
|
27233
|
+
* feature rows, informational blocks, "what is X" sections, etc.
|
|
27234
|
+
*
|
|
27235
|
+
* Presentational: pass already-resolved strings (build them with
|
|
27236
|
+
* `I18nService.t()` in the consumer page).
|
|
27237
|
+
*
|
|
27238
|
+
* @example
|
|
27239
|
+
* ```html
|
|
27240
|
+
* <val-media-object
|
|
27241
|
+
* [props]="{
|
|
27242
|
+
* image: '/assets/feature.png',
|
|
27243
|
+
* overtitle: 'Privacy',
|
|
27244
|
+
* title: 'Your data stays yours',
|
|
27245
|
+
* body: 'A long explanation that can span several lines without truncation.',
|
|
27246
|
+
* link: { label: 'Learn more', routerLink: '/privacy' }
|
|
27247
|
+
* }"
|
|
27248
|
+
* />
|
|
27249
|
+
* ```
|
|
27250
|
+
*/
|
|
27251
|
+
class MediaObjectComponent {
|
|
27252
|
+
constructor() {
|
|
27253
|
+
this.navigation = inject(NavigationService);
|
|
27254
|
+
/** Component configuration */
|
|
27255
|
+
this.props = input({});
|
|
27256
|
+
/** Emitted when the inline link is clicked */
|
|
27257
|
+
this.onLinkClick = new EventEmitter();
|
|
27258
|
+
/** Merged configuration with defaults */
|
|
27259
|
+
this.config = computed(() => ({
|
|
27260
|
+
...MEDIA_OBJECT_DEFAULTS,
|
|
27261
|
+
...this.props(),
|
|
27262
|
+
}));
|
|
27263
|
+
}
|
|
27264
|
+
getColor() {
|
|
27265
|
+
const color = this.config().color;
|
|
27266
|
+
if (!color)
|
|
27267
|
+
return 'var(--ion-color-primary)';
|
|
27268
|
+
return IONIC_COLORS$3.includes(color) ? `var(--ion-color-${color})` : color;
|
|
27269
|
+
}
|
|
27270
|
+
handleLinkClick(event) {
|
|
27271
|
+
const link = this.config().link;
|
|
27272
|
+
this.onLinkClick.emit(this.config().token);
|
|
27273
|
+
if (link?.href) {
|
|
27274
|
+
event.preventDefault();
|
|
27275
|
+
this.navigation.openInNewTab(link.href);
|
|
27276
|
+
}
|
|
27277
|
+
}
|
|
27278
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MediaObjectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27279
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: MediaObjectComponent, isStandalone: true, selector: "val-media-object", inputs: { props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onLinkClick: "onLinkClick" }, ngImport: i0, template: `
|
|
27280
|
+
<div
|
|
27281
|
+
class="media-object"
|
|
27282
|
+
[class.media-object--reversed]="config().reversed"
|
|
27283
|
+
[class.media-object--center]="config().align === 'center'"
|
|
27284
|
+
>
|
|
27285
|
+
<!-- Media (image or icon) -->
|
|
27286
|
+
<div
|
|
27287
|
+
class="media-object__media"
|
|
27288
|
+
[class.media-object__media--rounded]="config().rounded && !config().circle"
|
|
27289
|
+
[class.media-object__media--circle]="config().circle"
|
|
27290
|
+
[style.width]="config().mediaWidth"
|
|
27291
|
+
[style.--media-color]="getColor()"
|
|
27292
|
+
>
|
|
27293
|
+
@if (config().image) {
|
|
27294
|
+
<img [src]="config().image" [alt]="config().imageAlt || config().title" />
|
|
27295
|
+
} @else if (config().icon) {
|
|
27296
|
+
<ion-icon [name]="config().icon!"></ion-icon>
|
|
27297
|
+
}
|
|
27298
|
+
</div>
|
|
27299
|
+
|
|
27300
|
+
<!-- Content -->
|
|
27301
|
+
<div class="media-object__content">
|
|
27302
|
+
@if (config().overtitle) {
|
|
27303
|
+
<span class="media-object__overtitle">{{ config().overtitle }}</span>
|
|
27304
|
+
}
|
|
27305
|
+
<h3 class="media-object__title">{{ config().title }}</h3>
|
|
27306
|
+
@if (config().body) {
|
|
27307
|
+
<p class="media-object__body">{{ config().body }}</p>
|
|
27308
|
+
}
|
|
27309
|
+
@if (config().link; as link) {
|
|
27310
|
+
<a class="media-object__link" [routerLink]="link.routerLink ?? null" (click)="handleLinkClick($event)">
|
|
27311
|
+
{{ link.label }}
|
|
27312
|
+
</a>
|
|
27313
|
+
}
|
|
27314
|
+
</div>
|
|
27315
|
+
</div>
|
|
27316
|
+
`, isInline: true, styles: [":host{display:block}.media-object{display:flex;align-items:flex-start;gap:1.25rem}.media-object--center{align-items:center}.media-object--reversed{flex-direction:row-reverse}.media-object__media{flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--media-color, var(--ion-color-primary))}.media-object__media img{width:100%;height:100%;object-fit:cover;display:block}.media-object__media ion-icon{font-size:2.5rem}.media-object__media--rounded{border-radius:12px}.media-object__media--circle{aspect-ratio:1;border-radius:50%}.media-object__content{flex:1;min-width:0}.media-object__overtitle{display:block;margin-bottom:.25rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--ion-color-medium)}.media-object__title{margin:0 0 .5rem;font-size:1.15rem;font-weight:700;line-height:1.3;color:var(--ion-text-color)}.media-object__body{margin:0;font-size:.95rem;line-height:1.6;color:var(--ion-color-medium-shade)}.media-object__link{display:inline-block;margin-top:.75rem;font-size:.9rem;font-weight:600;color:var(--ion-color-primary);text-decoration:none;cursor:pointer}.media-object__link:hover{text-decoration:underline}@media (max-width: 576px){.media-object{gap:1rem}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
|
|
27317
|
+
}
|
|
27318
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MediaObjectComponent, decorators: [{
|
|
27319
|
+
type: Component,
|
|
27320
|
+
args: [{ selector: 'val-media-object', standalone: true, imports: [CommonModule, RouterLink, IonIcon], template: `
|
|
27321
|
+
<div
|
|
27322
|
+
class="media-object"
|
|
27323
|
+
[class.media-object--reversed]="config().reversed"
|
|
27324
|
+
[class.media-object--center]="config().align === 'center'"
|
|
27325
|
+
>
|
|
27326
|
+
<!-- Media (image or icon) -->
|
|
27327
|
+
<div
|
|
27328
|
+
class="media-object__media"
|
|
27329
|
+
[class.media-object__media--rounded]="config().rounded && !config().circle"
|
|
27330
|
+
[class.media-object__media--circle]="config().circle"
|
|
27331
|
+
[style.width]="config().mediaWidth"
|
|
27332
|
+
[style.--media-color]="getColor()"
|
|
27333
|
+
>
|
|
27334
|
+
@if (config().image) {
|
|
27335
|
+
<img [src]="config().image" [alt]="config().imageAlt || config().title" />
|
|
27336
|
+
} @else if (config().icon) {
|
|
27337
|
+
<ion-icon [name]="config().icon!"></ion-icon>
|
|
27338
|
+
}
|
|
27339
|
+
</div>
|
|
27340
|
+
|
|
27341
|
+
<!-- Content -->
|
|
27342
|
+
<div class="media-object__content">
|
|
27343
|
+
@if (config().overtitle) {
|
|
27344
|
+
<span class="media-object__overtitle">{{ config().overtitle }}</span>
|
|
27345
|
+
}
|
|
27346
|
+
<h3 class="media-object__title">{{ config().title }}</h3>
|
|
27347
|
+
@if (config().body) {
|
|
27348
|
+
<p class="media-object__body">{{ config().body }}</p>
|
|
27349
|
+
}
|
|
27350
|
+
@if (config().link; as link) {
|
|
27351
|
+
<a class="media-object__link" [routerLink]="link.routerLink ?? null" (click)="handleLinkClick($event)">
|
|
27352
|
+
{{ link.label }}
|
|
27353
|
+
</a>
|
|
27354
|
+
}
|
|
27355
|
+
</div>
|
|
27356
|
+
</div>
|
|
27357
|
+
`, styles: [":host{display:block}.media-object{display:flex;align-items:flex-start;gap:1.25rem}.media-object--center{align-items:center}.media-object--reversed{flex-direction:row-reverse}.media-object__media{flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--media-color, var(--ion-color-primary))}.media-object__media img{width:100%;height:100%;object-fit:cover;display:block}.media-object__media ion-icon{font-size:2.5rem}.media-object__media--rounded{border-radius:12px}.media-object__media--circle{aspect-ratio:1;border-radius:50%}.media-object__content{flex:1;min-width:0}.media-object__overtitle{display:block;margin-bottom:.25rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--ion-color-medium)}.media-object__title{margin:0 0 .5rem;font-size:1.15rem;font-weight:700;line-height:1.3;color:var(--ion-text-color)}.media-object__body{margin:0;font-size:.95rem;line-height:1.6;color:var(--ion-color-medium-shade)}.media-object__link{display:inline-block;margin-top:.75rem;font-size:.9rem;font-weight:600;color:var(--ion-color-primary);text-decoration:none;cursor:pointer}.media-object__link:hover{text-decoration:underline}@media (max-width: 576px){.media-object{gap:1rem}}\n"] }]
|
|
27358
|
+
}], propDecorators: { onLinkClick: [{
|
|
27359
|
+
type: Output
|
|
27360
|
+
}] } });
|
|
27361
|
+
|
|
27362
|
+
/**
|
|
27363
|
+
* Default values for StatsBarMetadata.
|
|
27364
|
+
*/
|
|
27365
|
+
const STATS_BAR_DEFAULTS = {
|
|
27366
|
+
dividers: true,
|
|
27367
|
+
align: 'start',
|
|
27368
|
+
size: 'large',
|
|
27369
|
+
stackOnMobile: true,
|
|
27370
|
+
};
|
|
27371
|
+
|
|
27372
|
+
const IONIC_COLORS$2 = ['primary', 'secondary', 'tertiary', 'success', 'warning', 'danger', 'light', 'medium', 'dark'];
|
|
27373
|
+
/**
|
|
27374
|
+
* val-stats-bar
|
|
27375
|
+
*
|
|
27376
|
+
* Horizontal row of headline stats separated by dividers (AWS / SES "Daily
|
|
27377
|
+
* email usage" style). Stacks vertically on mobile.
|
|
27378
|
+
*
|
|
27379
|
+
* Presentational: values + labels are passed already resolved/formatted.
|
|
27380
|
+
*
|
|
27381
|
+
* @example
|
|
27382
|
+
* ```html
|
|
27383
|
+
* <val-stats-bar
|
|
27384
|
+
* [props]="{
|
|
27385
|
+
* stats: [
|
|
27386
|
+
* { label: 'Emails sent', value: 0 },
|
|
27387
|
+
* { label: 'Remaining sends', value: 200 },
|
|
27388
|
+
* { label: 'Sending quota used', value: '0.00', suffix: '%' }
|
|
27389
|
+
* ]
|
|
27390
|
+
* }"
|
|
27391
|
+
* />
|
|
27392
|
+
* ```
|
|
27393
|
+
*/
|
|
27394
|
+
class StatsBarComponent {
|
|
27395
|
+
constructor() {
|
|
27396
|
+
/** Component configuration */
|
|
27397
|
+
this.props = input({});
|
|
27398
|
+
/** Merged configuration with defaults */
|
|
27399
|
+
this.config = computed(() => ({
|
|
27400
|
+
...STATS_BAR_DEFAULTS,
|
|
27401
|
+
stats: [],
|
|
27402
|
+
...this.props(),
|
|
27403
|
+
}));
|
|
27404
|
+
}
|
|
27405
|
+
getColor(stat) {
|
|
27406
|
+
const color = stat.color;
|
|
27407
|
+
if (!color)
|
|
27408
|
+
return null;
|
|
27409
|
+
return IONIC_COLORS$2.includes(color) ? `var(--ion-color-${color})` : color;
|
|
27410
|
+
}
|
|
27411
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StatsBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27412
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: StatsBarComponent, isStandalone: true, selector: "val-stats-bar", inputs: { props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
27413
|
+
<div
|
|
27414
|
+
class="stats-bar"
|
|
27415
|
+
[class.stats-bar--dividers]="config().dividers"
|
|
27416
|
+
[class.stats-bar--center]="config().align === 'center'"
|
|
27417
|
+
[class.stats-bar--spaced]="config().align === 'spaced'"
|
|
27418
|
+
[class.stats-bar--medium]="config().size === 'medium'"
|
|
27419
|
+
[class.stats-bar--stack]="config().stackOnMobile"
|
|
27420
|
+
>
|
|
27421
|
+
@for (stat of config().stats; track stat.token ?? $index) {
|
|
27422
|
+
<div class="stats-bar__item">
|
|
27423
|
+
<span class="stats-bar__label">{{ stat.label }}</span>
|
|
27424
|
+
<span class="stats-bar__value" [style.color]="getColor(stat)">
|
|
27425
|
+
@if (stat.prefix) {
|
|
27426
|
+
<span class="stats-bar__affix">{{ stat.prefix }}</span>
|
|
27427
|
+
}
|
|
27428
|
+
{{ stat.value }}
|
|
27429
|
+
@if (stat.suffix) {
|
|
27430
|
+
<span class="stats-bar__affix">{{ stat.suffix }}</span>
|
|
27431
|
+
}
|
|
27432
|
+
</span>
|
|
27433
|
+
</div>
|
|
27434
|
+
}
|
|
27435
|
+
</div>
|
|
27436
|
+
`, isInline: true, styles: [":host{display:block}.stats-bar{display:flex;flex-wrap:wrap;align-items:stretch;gap:2rem}.stats-bar--center{justify-content:center}.stats-bar--spaced{justify-content:space-between}.stats-bar--dividers .stats-bar__item:not(:first-child){padding-left:2rem;border-left:1px solid var(--ion-color-light-shade, rgba(0, 0, 0, .1))}.stats-bar__item{display:flex;flex-direction:column;gap:.25rem;min-width:0}.stats-bar__label{font-size:.875rem;font-weight:600;color:var(--ion-text-color)}.stats-bar__value{font-size:2.75rem;font-weight:800;line-height:1.05;color:var(--ion-text-color);letter-spacing:-.02em}.stats-bar__affix{font-size:.6em;font-weight:700}.stats-bar--medium .stats-bar__value{font-size:1.75rem}@media (max-width: 576px){.stats-bar--stack{flex-direction:column;gap:1.25rem}.stats-bar--stack .stats-bar__item:not(:first-child){padding-left:0;border-left:none}.stats-bar--stack.stats-bar--dividers .stats-bar__item:not(:first-child){padding-top:1.25rem;border-top:1px solid var(--ion-color-light-shade, rgba(0, 0, 0, .1))}}:host-context(.dark) .stats-bar--dividers .stats-bar__item:not(:first-child),:host-context(.ion-palette-dark) .stats-bar--dividers .stats-bar__item:not(:first-child),:host-context(html.ion-palette-dark) .stats-bar--dividers .stats-bar__item:not(:first-child),:host-context(body.dark) .stats-bar--dividers .stats-bar__item:not(:first-child),:host-context([data-theme=dark]) .stats-bar--dividers .stats-bar__item:not(:first-child){border-left-color:#ffffff1f}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
|
27437
|
+
}
|
|
27438
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StatsBarComponent, decorators: [{
|
|
27439
|
+
type: Component,
|
|
27440
|
+
args: [{ selector: 'val-stats-bar', standalone: true, imports: [CommonModule], template: `
|
|
27441
|
+
<div
|
|
27442
|
+
class="stats-bar"
|
|
27443
|
+
[class.stats-bar--dividers]="config().dividers"
|
|
27444
|
+
[class.stats-bar--center]="config().align === 'center'"
|
|
27445
|
+
[class.stats-bar--spaced]="config().align === 'spaced'"
|
|
27446
|
+
[class.stats-bar--medium]="config().size === 'medium'"
|
|
27447
|
+
[class.stats-bar--stack]="config().stackOnMobile"
|
|
27448
|
+
>
|
|
27449
|
+
@for (stat of config().stats; track stat.token ?? $index) {
|
|
27450
|
+
<div class="stats-bar__item">
|
|
27451
|
+
<span class="stats-bar__label">{{ stat.label }}</span>
|
|
27452
|
+
<span class="stats-bar__value" [style.color]="getColor(stat)">
|
|
27453
|
+
@if (stat.prefix) {
|
|
27454
|
+
<span class="stats-bar__affix">{{ stat.prefix }}</span>
|
|
27455
|
+
}
|
|
27456
|
+
{{ stat.value }}
|
|
27457
|
+
@if (stat.suffix) {
|
|
27458
|
+
<span class="stats-bar__affix">{{ stat.suffix }}</span>
|
|
27459
|
+
}
|
|
27460
|
+
</span>
|
|
27461
|
+
</div>
|
|
27462
|
+
}
|
|
27463
|
+
</div>
|
|
27464
|
+
`, styles: [":host{display:block}.stats-bar{display:flex;flex-wrap:wrap;align-items:stretch;gap:2rem}.stats-bar--center{justify-content:center}.stats-bar--spaced{justify-content:space-between}.stats-bar--dividers .stats-bar__item:not(:first-child){padding-left:2rem;border-left:1px solid var(--ion-color-light-shade, rgba(0, 0, 0, .1))}.stats-bar__item{display:flex;flex-direction:column;gap:.25rem;min-width:0}.stats-bar__label{font-size:.875rem;font-weight:600;color:var(--ion-text-color)}.stats-bar__value{font-size:2.75rem;font-weight:800;line-height:1.05;color:var(--ion-text-color);letter-spacing:-.02em}.stats-bar__affix{font-size:.6em;font-weight:700}.stats-bar--medium .stats-bar__value{font-size:1.75rem}@media (max-width: 576px){.stats-bar--stack{flex-direction:column;gap:1.25rem}.stats-bar--stack .stats-bar__item:not(:first-child){padding-left:0;border-left:none}.stats-bar--stack.stats-bar--dividers .stats-bar__item:not(:first-child){padding-top:1.25rem;border-top:1px solid var(--ion-color-light-shade, rgba(0, 0, 0, .1))}}:host-context(.dark) .stats-bar--dividers .stats-bar__item:not(:first-child),:host-context(.ion-palette-dark) .stats-bar--dividers .stats-bar__item:not(:first-child),:host-context(html.ion-palette-dark) .stats-bar--dividers .stats-bar__item:not(:first-child),:host-context(body.dark) .stats-bar--dividers .stats-bar__item:not(:first-child),:host-context([data-theme=dark]) .stats-bar--dividers .stats-bar__item:not(:first-child){border-left-color:#ffffff1f}\n"] }]
|
|
27465
|
+
}] });
|
|
27466
|
+
|
|
27467
|
+
/**
|
|
27468
|
+
* Default values for ArticleCardMetadata.
|
|
27469
|
+
*/
|
|
27470
|
+
const ARTICLE_CARD_DEFAULTS = {
|
|
27471
|
+
aspectRatio: '16 / 9',
|
|
27472
|
+
bordered: true,
|
|
27473
|
+
shadowed: false,
|
|
27474
|
+
excerptLines: 3,
|
|
27475
|
+
};
|
|
27476
|
+
|
|
27477
|
+
const IONIC_COLORS$1 = ['primary', 'secondary', 'tertiary', 'success', 'warning', 'danger', 'light', 'medium', 'dark'];
|
|
27478
|
+
/**
|
|
27479
|
+
* val-article-card
|
|
27480
|
+
*
|
|
27481
|
+
* Article / blog teaser card: cover image, topic chip, title, excerpt and date.
|
|
27482
|
+
* Clickable (routerLink or external href).
|
|
27483
|
+
*
|
|
27484
|
+
* Presentational — pass already-resolved/formatted strings (pre-format the date
|
|
27485
|
+
* in the consumer with a locale-aware pipe).
|
|
27486
|
+
*
|
|
27487
|
+
* @example
|
|
27488
|
+
* ```html
|
|
27489
|
+
* <val-article-card
|
|
27490
|
+
* [props]="{
|
|
27491
|
+
* image: '/assets/post.jpg',
|
|
27492
|
+
* topic: 'Holidays',
|
|
27493
|
+
* title: 'New Holiday Shopping Features',
|
|
27494
|
+
* excerpt: 'A short summary of the article that gets clamped after a few lines.',
|
|
27495
|
+
* date: 'Oct 31, 2025',
|
|
27496
|
+
* routerLink: '/blog/holiday-shopping'
|
|
27497
|
+
* }"
|
|
27498
|
+
* (onClick)="open($event)"
|
|
27499
|
+
* />
|
|
27500
|
+
* ```
|
|
27501
|
+
*/
|
|
27502
|
+
class ArticleCardComponent {
|
|
27503
|
+
constructor() {
|
|
27504
|
+
this.navigation = inject(NavigationService);
|
|
27505
|
+
/** Component configuration */
|
|
27506
|
+
this.props = input({});
|
|
27507
|
+
/** Emitted when the card is clicked */
|
|
27508
|
+
this.onClick = new EventEmitter();
|
|
27509
|
+
/** Merged configuration with defaults */
|
|
27510
|
+
this.config = computed(() => ({
|
|
27511
|
+
...ARTICLE_CARD_DEFAULTS,
|
|
27512
|
+
...this.props(),
|
|
27513
|
+
}));
|
|
27514
|
+
this.isClickable = computed(() => !!this.config().routerLink || !!this.config().href);
|
|
27515
|
+
}
|
|
27516
|
+
getTopicColor() {
|
|
27517
|
+
const color = this.config().topicColor;
|
|
27518
|
+
if (!color)
|
|
27519
|
+
return 'var(--ion-color-primary)';
|
|
27520
|
+
return IONIC_COLORS$1.includes(color) ? `var(--ion-color-${color})` : color;
|
|
27521
|
+
}
|
|
27522
|
+
handleClick(event) {
|
|
27523
|
+
const cfg = this.config();
|
|
27524
|
+
this.onClick.emit({ token: cfg.token, navigated: this.isClickable() });
|
|
27525
|
+
if (cfg.href) {
|
|
27526
|
+
event.preventDefault();
|
|
27527
|
+
this.navigation.openInNewTab(cfg.href);
|
|
27528
|
+
}
|
|
27529
|
+
}
|
|
27530
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ArticleCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27531
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ArticleCardComponent, isStandalone: true, selector: "val-article-card", inputs: { props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick" }, ngImport: i0, template: `
|
|
27532
|
+
<article
|
|
27533
|
+
class="article-card"
|
|
27534
|
+
[class.article-card--bordered]="config().bordered"
|
|
27535
|
+
[class.article-card--shadowed]="config().shadowed"
|
|
27536
|
+
[class.article-card--clickable]="isClickable()"
|
|
27537
|
+
[routerLink]="config().routerLink ?? null"
|
|
27538
|
+
(click)="handleClick($event)"
|
|
27539
|
+
[attr.tabindex]="isClickable() ? 0 : null"
|
|
27540
|
+
[attr.role]="isClickable() ? 'link' : null"
|
|
27541
|
+
>
|
|
27542
|
+
@if (isClickable()) {
|
|
27543
|
+
<ion-ripple-effect></ion-ripple-effect>
|
|
27544
|
+
}
|
|
27545
|
+
|
|
27546
|
+
@if (config().image) {
|
|
27547
|
+
<div class="article-card__media" [style.aspect-ratio]="config().aspectRatio">
|
|
27548
|
+
<img [src]="config().image" [alt]="config().imageAlt || config().title" />
|
|
27549
|
+
</div>
|
|
27550
|
+
}
|
|
27551
|
+
|
|
27552
|
+
<div class="article-card__body">
|
|
27553
|
+
@if (config().date || config().topic) {
|
|
27554
|
+
<div class="article-card__meta">
|
|
27555
|
+
@if (config().date) {
|
|
27556
|
+
<span class="article-card__date">{{ config().date }}</span>
|
|
27557
|
+
}
|
|
27558
|
+
@if (config().topic) {
|
|
27559
|
+
<span class="article-card__topic" [style.color]="getTopicColor()">{{ config().topic }}</span>
|
|
27560
|
+
}
|
|
27561
|
+
</div>
|
|
27562
|
+
}
|
|
27563
|
+
|
|
27564
|
+
<h3 class="article-card__title">{{ config().title }}</h3>
|
|
27565
|
+
|
|
27566
|
+
@if (config().excerpt) {
|
|
27567
|
+
<p class="article-card__excerpt" [style.-webkit-line-clamp]="config().excerptLines">
|
|
27568
|
+
{{ config().excerpt }}
|
|
27569
|
+
</p>
|
|
27570
|
+
}
|
|
27571
|
+
</div>
|
|
27572
|
+
</article>
|
|
27573
|
+
`, isInline: true, styles: [":host{display:flex;flex-direction:column}.article-card{position:relative;display:flex;flex:1;flex-direction:column;background:var(--ion-card-background, var(--ion-background-color));border-radius:14px;overflow:hidden;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease;--ripple-color: var(--ion-color-primary)}.article-card--bordered{border:1px solid var(--ion-color-light-shade, rgba(0, 0, 0, .1))}.article-card--shadowed{box-shadow:0 2px 8px #00000014}.article-card--clickable{cursor:pointer}.article-card--clickable:hover{transform:translateY(-3px);box-shadow:0 6px 20px #0000001f}.article-card--clickable:focus-visible{outline:2px solid var(--ion-color-primary);outline-offset:2px}.article-card__media{width:100%;overflow:hidden;background:var(--ion-color-light, #f4f5f8)}.article-card__media img{width:100%;height:100%;object-fit:cover;display:block}.article-card__body{display:flex;flex-direction:column;gap:.5rem;padding:1rem 1.1rem 1.25rem}.article-card__meta{display:flex;align-items:center;gap:.75rem;font-size:.8rem}.article-card__date{color:var(--ion-color-medium)}.article-card__topic{font-weight:600;color:var(--ion-color-primary)}.article-card__title{margin:0;font-size:1.05rem;font-weight:700;line-height:1.35;color:var(--ion-text-color)}.article-card__excerpt{margin:0;font-size:.9rem;line-height:1.5;color:var(--ion-color-medium-shade);display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}:host-context(.dark) .article-card--bordered,:host-context(.ion-palette-dark) .article-card--bordered,:host-context(html.ion-palette-dark) .article-card--bordered,:host-context(body.dark) .article-card--bordered,:host-context([data-theme=dark]) .article-card--bordered{border-color:#ffffff1f}:host-context(.dark) .article-card--shadowed,:host-context(.ion-palette-dark) .article-card--shadowed,:host-context(html.ion-palette-dark) .article-card--shadowed,:host-context(body.dark) .article-card--shadowed,:host-context([data-theme=dark]) .article-card--shadowed{box-shadow:0 2px 8px #0000004d}:host-context(.dark) .article-card--clickable:hover,:host-context(.ion-palette-dark) .article-card--clickable:hover,:host-context(html.ion-palette-dark) .article-card--clickable:hover,:host-context(body.dark) .article-card--clickable:hover,:host-context([data-theme=dark]) .article-card--clickable:hover{box-shadow:0 6px 20px #0006}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: IonRippleEffect, selector: "ion-ripple-effect", inputs: ["type"] }] }); }
|
|
27574
|
+
}
|
|
27575
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ArticleCardComponent, decorators: [{
|
|
27576
|
+
type: Component,
|
|
27577
|
+
args: [{ selector: 'val-article-card', standalone: true, imports: [CommonModule, RouterLink, IonRippleEffect], template: `
|
|
27578
|
+
<article
|
|
27579
|
+
class="article-card"
|
|
27580
|
+
[class.article-card--bordered]="config().bordered"
|
|
27581
|
+
[class.article-card--shadowed]="config().shadowed"
|
|
27582
|
+
[class.article-card--clickable]="isClickable()"
|
|
27583
|
+
[routerLink]="config().routerLink ?? null"
|
|
27584
|
+
(click)="handleClick($event)"
|
|
27585
|
+
[attr.tabindex]="isClickable() ? 0 : null"
|
|
27586
|
+
[attr.role]="isClickable() ? 'link' : null"
|
|
27587
|
+
>
|
|
27588
|
+
@if (isClickable()) {
|
|
27589
|
+
<ion-ripple-effect></ion-ripple-effect>
|
|
27590
|
+
}
|
|
27591
|
+
|
|
27592
|
+
@if (config().image) {
|
|
27593
|
+
<div class="article-card__media" [style.aspect-ratio]="config().aspectRatio">
|
|
27594
|
+
<img [src]="config().image" [alt]="config().imageAlt || config().title" />
|
|
27595
|
+
</div>
|
|
27596
|
+
}
|
|
27597
|
+
|
|
27598
|
+
<div class="article-card__body">
|
|
27599
|
+
@if (config().date || config().topic) {
|
|
27600
|
+
<div class="article-card__meta">
|
|
27601
|
+
@if (config().date) {
|
|
27602
|
+
<span class="article-card__date">{{ config().date }}</span>
|
|
27603
|
+
}
|
|
27604
|
+
@if (config().topic) {
|
|
27605
|
+
<span class="article-card__topic" [style.color]="getTopicColor()">{{ config().topic }}</span>
|
|
27606
|
+
}
|
|
27607
|
+
</div>
|
|
27608
|
+
}
|
|
27609
|
+
|
|
27610
|
+
<h3 class="article-card__title">{{ config().title }}</h3>
|
|
27611
|
+
|
|
27612
|
+
@if (config().excerpt) {
|
|
27613
|
+
<p class="article-card__excerpt" [style.-webkit-line-clamp]="config().excerptLines">
|
|
27614
|
+
{{ config().excerpt }}
|
|
27615
|
+
</p>
|
|
27616
|
+
}
|
|
27617
|
+
</div>
|
|
27618
|
+
</article>
|
|
27619
|
+
`, styles: [":host{display:flex;flex-direction:column}.article-card{position:relative;display:flex;flex:1;flex-direction:column;background:var(--ion-card-background, var(--ion-background-color));border-radius:14px;overflow:hidden;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease;--ripple-color: var(--ion-color-primary)}.article-card--bordered{border:1px solid var(--ion-color-light-shade, rgba(0, 0, 0, .1))}.article-card--shadowed{box-shadow:0 2px 8px #00000014}.article-card--clickable{cursor:pointer}.article-card--clickable:hover{transform:translateY(-3px);box-shadow:0 6px 20px #0000001f}.article-card--clickable:focus-visible{outline:2px solid var(--ion-color-primary);outline-offset:2px}.article-card__media{width:100%;overflow:hidden;background:var(--ion-color-light, #f4f5f8)}.article-card__media img{width:100%;height:100%;object-fit:cover;display:block}.article-card__body{display:flex;flex-direction:column;gap:.5rem;padding:1rem 1.1rem 1.25rem}.article-card__meta{display:flex;align-items:center;gap:.75rem;font-size:.8rem}.article-card__date{color:var(--ion-color-medium)}.article-card__topic{font-weight:600;color:var(--ion-color-primary)}.article-card__title{margin:0;font-size:1.05rem;font-weight:700;line-height:1.35;color:var(--ion-text-color)}.article-card__excerpt{margin:0;font-size:.9rem;line-height:1.5;color:var(--ion-color-medium-shade);display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}:host-context(.dark) .article-card--bordered,:host-context(.ion-palette-dark) .article-card--bordered,:host-context(html.ion-palette-dark) .article-card--bordered,:host-context(body.dark) .article-card--bordered,:host-context([data-theme=dark]) .article-card--bordered{border-color:#ffffff1f}:host-context(.dark) .article-card--shadowed,:host-context(.ion-palette-dark) .article-card--shadowed,:host-context(html.ion-palette-dark) .article-card--shadowed,:host-context(body.dark) .article-card--shadowed,:host-context([data-theme=dark]) .article-card--shadowed{box-shadow:0 2px 8px #0000004d}:host-context(.dark) .article-card--clickable:hover,:host-context(.ion-palette-dark) .article-card--clickable:hover,:host-context(html.ion-palette-dark) .article-card--clickable:hover,:host-context(body.dark) .article-card--clickable:hover,:host-context([data-theme=dark]) .article-card--clickable:hover{box-shadow:0 6px 20px #0006}\n"] }]
|
|
27620
|
+
}], propDecorators: { onClick: [{
|
|
27621
|
+
type: Output
|
|
27622
|
+
}] } });
|
|
27623
|
+
|
|
27624
|
+
/**
|
|
27625
|
+
* Default values for CtaCardMetadata.
|
|
27626
|
+
*/
|
|
27627
|
+
const CTA_CARD_DEFAULTS = {
|
|
27628
|
+
padding: '2rem',
|
|
27629
|
+
borderRadius: '20px',
|
|
27630
|
+
align: 'start',
|
|
27631
|
+
bordered: false,
|
|
27632
|
+
shadowed: false,
|
|
27633
|
+
};
|
|
27634
|
+
|
|
27635
|
+
const IONIC_COLORS = ['primary', 'secondary', 'tertiary', 'success', 'warning', 'danger', 'light', 'medium', 'dark'];
|
|
27636
|
+
/**
|
|
27637
|
+
* val-cta-card
|
|
27638
|
+
*
|
|
27639
|
+
* Card with a title, optional description and a group of action buttons, with
|
|
27640
|
+
* customisable padding, corner rounding and background (Ionic colors
|
|
27641
|
+
* supported). Buttons reuse `val-button-group`.
|
|
27642
|
+
*
|
|
27643
|
+
* Presentational — pass already-resolved strings.
|
|
27644
|
+
*
|
|
27645
|
+
* @example
|
|
27646
|
+
* ```html
|
|
27647
|
+
* <val-cta-card
|
|
27648
|
+
* [props]="{
|
|
27649
|
+
* title: 'Read the Bible Online',
|
|
27650
|
+
* description: 'Trusted translations, in your language.',
|
|
27651
|
+
* actions: {
|
|
27652
|
+
* position: 'left',
|
|
27653
|
+
* columned: false,
|
|
27654
|
+
* buttons: [
|
|
27655
|
+
* { text: 'Continue Reading', color: 'dark', type: 'button', shape: 'round', state: 'ENABLED', token: 'read' },
|
|
27656
|
+
* { text: 'Listen', color: 'dark', fill: 'outline', type: 'button', shape: 'round', state: 'ENABLED', token: 'listen' }
|
|
27657
|
+
* ]
|
|
27658
|
+
* }
|
|
27659
|
+
* }"
|
|
27660
|
+
* (onAction)="onAction($event)"
|
|
27661
|
+
* />
|
|
27662
|
+
* ```
|
|
27663
|
+
*/
|
|
27664
|
+
class CtaCardComponent {
|
|
27665
|
+
constructor() {
|
|
27666
|
+
/** Component configuration */
|
|
27667
|
+
this.props = input({});
|
|
27668
|
+
/** Emitted with the token of the clicked action button */
|
|
27669
|
+
this.onAction = new EventEmitter();
|
|
27670
|
+
/** Merged configuration with defaults */
|
|
27671
|
+
this.config = computed(() => ({
|
|
27672
|
+
...CTA_CARD_DEFAULTS,
|
|
27673
|
+
...this.props(),
|
|
27674
|
+
}));
|
|
27675
|
+
}
|
|
27676
|
+
resolveColor(color) {
|
|
27677
|
+
if (!color)
|
|
27678
|
+
return null;
|
|
27679
|
+
return IONIC_COLORS.includes(color) ? `var(--ion-color-${color})` : color;
|
|
27680
|
+
}
|
|
27681
|
+
getBackground() {
|
|
27682
|
+
return this.resolveColor(this.config().backgroundColor) || 'var(--ion-color-light, #f4f5f8)';
|
|
27683
|
+
}
|
|
27684
|
+
getColor() {
|
|
27685
|
+
return this.resolveColor(this.config().color);
|
|
27686
|
+
}
|
|
27687
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CtaCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27688
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CtaCardComponent, isStandalone: true, selector: "val-cta-card", inputs: { props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onAction: "onAction" }, ngImport: i0, template: `
|
|
27689
|
+
<section
|
|
27690
|
+
class="cta-card"
|
|
27691
|
+
[class.cta-card--center]="config().align === 'center'"
|
|
27692
|
+
[class.cta-card--bordered]="config().bordered"
|
|
27693
|
+
[class.cta-card--shadowed]="config().shadowed"
|
|
27694
|
+
[style.padding]="config().padding"
|
|
27695
|
+
[style.border-radius]="config().borderRadius"
|
|
27696
|
+
[style.background]="getBackground()"
|
|
27697
|
+
[style.color]="getColor()"
|
|
27698
|
+
>
|
|
27699
|
+
@if (config().overtitle) {
|
|
27700
|
+
<span class="cta-card__overtitle">{{ config().overtitle }}</span>
|
|
27701
|
+
}
|
|
27702
|
+
|
|
27703
|
+
<h2 class="cta-card__title">{{ config().title }}</h2>
|
|
27704
|
+
|
|
27705
|
+
@if (config().description) {
|
|
27706
|
+
<p class="cta-card__description">{{ config().description }}</p>
|
|
27707
|
+
}
|
|
27708
|
+
|
|
27709
|
+
@if (config().actions; as actions) {
|
|
27710
|
+
<div class="cta-card__actions">
|
|
27711
|
+
<val-button-group [props]="actions" (onClick)="onAction.emit($event)"></val-button-group>
|
|
27712
|
+
</div>
|
|
27713
|
+
}
|
|
27714
|
+
</section>
|
|
27715
|
+
`, isInline: true, styles: [":host{display:block}.cta-card{display:flex;flex-direction:column;gap:.5rem}.cta-card--center{align-items:center;text-align:center}.cta-card--bordered{border:1px solid var(--ion-color-light-shade, rgba(0, 0, 0, .1))}.cta-card--shadowed{box-shadow:0 4px 16px #00000014}.cta-card__overtitle{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;opacity:.7}.cta-card__title{margin:0;font-size:1.75rem;font-weight:800;line-height:1.2;letter-spacing:-.02em}.cta-card__description{margin:0;font-size:1rem;line-height:1.5;opacity:.8}.cta-card__actions{margin-top:1rem;width:100%}@media (max-width: 576px){.cta-card__title{font-size:1.4rem}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ButtonGroupComponent, selector: "val-button-group", inputs: ["props"], outputs: ["onClick"] }] }); }
|
|
27716
|
+
}
|
|
27717
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CtaCardComponent, decorators: [{
|
|
27718
|
+
type: Component,
|
|
27719
|
+
args: [{ selector: 'val-cta-card', standalone: true, imports: [CommonModule, ButtonGroupComponent], template: `
|
|
27720
|
+
<section
|
|
27721
|
+
class="cta-card"
|
|
27722
|
+
[class.cta-card--center]="config().align === 'center'"
|
|
27723
|
+
[class.cta-card--bordered]="config().bordered"
|
|
27724
|
+
[class.cta-card--shadowed]="config().shadowed"
|
|
27725
|
+
[style.padding]="config().padding"
|
|
27726
|
+
[style.border-radius]="config().borderRadius"
|
|
27727
|
+
[style.background]="getBackground()"
|
|
27728
|
+
[style.color]="getColor()"
|
|
27729
|
+
>
|
|
27730
|
+
@if (config().overtitle) {
|
|
27731
|
+
<span class="cta-card__overtitle">{{ config().overtitle }}</span>
|
|
27732
|
+
}
|
|
27733
|
+
|
|
27734
|
+
<h2 class="cta-card__title">{{ config().title }}</h2>
|
|
27735
|
+
|
|
27736
|
+
@if (config().description) {
|
|
27737
|
+
<p class="cta-card__description">{{ config().description }}</p>
|
|
27738
|
+
}
|
|
27739
|
+
|
|
27740
|
+
@if (config().actions; as actions) {
|
|
27741
|
+
<div class="cta-card__actions">
|
|
27742
|
+
<val-button-group [props]="actions" (onClick)="onAction.emit($event)"></val-button-group>
|
|
27743
|
+
</div>
|
|
27744
|
+
}
|
|
27745
|
+
</section>
|
|
27746
|
+
`, styles: [":host{display:block}.cta-card{display:flex;flex-direction:column;gap:.5rem}.cta-card--center{align-items:center;text-align:center}.cta-card--bordered{border:1px solid var(--ion-color-light-shade, rgba(0, 0, 0, .1))}.cta-card--shadowed{box-shadow:0 4px 16px #00000014}.cta-card__overtitle{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;opacity:.7}.cta-card__title{margin:0;font-size:1.75rem;font-weight:800;line-height:1.2;letter-spacing:-.02em}.cta-card__description{margin:0;font-size:1rem;line-height:1.5;opacity:.8}.cta-card__actions{margin-top:1rem;width:100%}@media (max-width: 576px){.cta-card__title{font-size:1.4rem}}\n"] }]
|
|
27747
|
+
}], propDecorators: { onAction: [{
|
|
27748
|
+
type: Output
|
|
27749
|
+
}] } });
|
|
27750
|
+
|
|
27217
27751
|
/**
|
|
27218
27752
|
* Defaults de InvitationCardMetadata.
|
|
27219
27753
|
*/
|
|
@@ -50378,5 +50912,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
50378
50912
|
* Generated bundle index. Do not edit.
|
|
50379
50913
|
*/
|
|
50380
50914
|
|
|
50381
|
-
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, AnimatedTerminalComponent, AppConfigService, AppVersionService, ArticleBuilder, ArticleComponent, AttachmentUploaderComponent, AuthBackgroundComponent, 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, CORNER_KEYS, 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, ContentLoaderComponent, ContentReactionComponent, ContentTransformer, CookieBannerComponent, CountdownComponent, 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, FabComponent, FaqComponent, FeaturesListComponent, FeedbackFormComponent, FeedbackService, FileInputComponent, FirebaseService, FirestoreCollectionFactory, FirestoreService, FooterComponent, FooterLinksComponent, FormComponent, FormFooterComponent, FormSkeletonComponent, FunHeaderComponent, GlassComponent, GlowCardComponent, GlowComponent, GridSkeletonComponent, HANDOFF_ROUTE_PARAM, HANDOFF_TOKEN_PARAM, HandoffService, HasPermissionDirective, HeaderComponent, HintComponent, HorizontalScrollComponent, HourInputComponent, HrefComponent, I18nService, IMAGE_DEFAULTS, INITIAL_AUTH_STATE, INITIAL_MFA_STATE, INVITATION_CARD_DEFAULTS, Icon, IconComponent, IconService, ImageComponent, ImageCropComponent, ImageService, InAppBrowserService, InfiniteListComponent, 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, MEMBER_CARD_DEFAULTS, MODAL_SIZES, MOTIF_KEYS, MOTION, MaintenancePageComponent, MarkdownArticleParserService, MemberCardComponent, MenuComponent, MessagingService, MetaService, 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, 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, REQUEST_STATUSES, RadioInputComponent, RangeInputComponent, RatingComponent, RefresherComponent, RequestFormBuilderService, RequestService, RightsFooterComponent, RotatingTextComponent, SHAPE_KEYS, SKELETON_LAYOUT_DEFAULT_ROWS, SKELETON_PRESETS, SOLID_KEYS, STROKE_KEYS, 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, SkeletonLayoutComponent, SkeletonService, SolidBlockButton, SolidDefault, SolidDefaultBlock, SolidDefaultButton, SolidDefaultFull, SolidDefaultRound, SolidDefaultRoundBlock, SolidDefaultRoundButton, SolidDefaultRoundFull, SolidFullButton, SolidLargeButton, SolidLargeRoundButton, SolidSmallButton, SolidSmallRoundButton, SplashScreenService, 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_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, 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, provideValtechDebugConsole, provideValtechDonations, provideValtechErrorHandling, provideValtechFeedback, provideValtechFirebase, provideValtechI18n, provideValtechLegal, provideValtechPresets, provideValtechSite, provideValtechSkeleton, query, renderPatternSvgInner, replaceSpecialChars, resolveColor, resolveInputDefaultValue, resolveWebBaseUrl, roleGuard, storagePaths, superAdminGuard, toArticle };
|
|
50915
|
+
export { ACTION_CARD_DEFAULTS, AD_SIZE_MAP, API_TABLE_COLUMN_LABELS, ARTICLE_CARD_DEFAULTS, ARTICLE_SPACING, AVATAR_UPLOAD_DEFAULTS, AccordionComponent, ActionCardComponent, ActionHeaderComponent, ActionType, AdSlotComponent, AdsLoaderService, AdsService, AlertBoxComponent, AnalyticsErrorHandler, AnalyticsRouterTracker, AnalyticsService, AnimatedTerminalComponent, AppConfigService, AppVersionService, ArticleBuilder, ArticleCardComponent, ArticleComponent, AttachmentUploaderComponent, AuthBackgroundComponent, 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, 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, ContentLoaderComponent, ContentReactionComponent, 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, FabComponent, FaqComponent, FeaturesListComponent, FeedbackFormComponent, FeedbackService, FileInputComponent, FirebaseService, FirestoreCollectionFactory, FirestoreService, FooterComponent, FooterLinksComponent, FormComponent, FormFooterComponent, FormSkeletonComponent, FunHeaderComponent, GlassComponent, GlowCardComponent, GlowComponent, GridSkeletonComponent, HANDOFF_ROUTE_PARAM, HANDOFF_TOKEN_PARAM, HandoffService, HasPermissionDirective, HeaderComponent, HintComponent, HorizontalScrollComponent, HourInputComponent, HrefComponent, I18nService, IMAGE_DEFAULTS, INITIAL_AUTH_STATE, INITIAL_MFA_STATE, INVITATION_CARD_DEFAULTS, Icon, IconComponent, IconService, ImageComponent, ImageCropComponent, ImageService, InAppBrowserService, InfiniteListComponent, 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, MODAL_SIZES, MOTIF_KEYS, MOTION, MaintenancePageComponent, MarkdownArticleParserService, MediaObjectComponent, MemberCardComponent, MenuComponent, MessagingService, MetaService, 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, 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, REQUEST_STATUSES, RadioInputComponent, RangeInputComponent, RatingComponent, RefresherComponent, RequestFormBuilderService, RequestService, RightsFooterComponent, RotatingTextComponent, SHAPE_KEYS, SKELETON_LAYOUT_DEFAULT_ROWS, SKELETON_PRESETS, SOLID_KEYS, STATS_BAR_DEFAULTS, STROKE_KEYS, 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, 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_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, 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, provideValtechDebugConsole, provideValtechDonations, provideValtechErrorHandling, provideValtechFeedback, provideValtechFirebase, provideValtechI18n, provideValtechLegal, provideValtechPresets, provideValtechSite, provideValtechSkeleton, query, renderPatternSvgInner, replaceSpecialChars, resolveColor, resolveInputDefaultValue, resolveWebBaseUrl, roleGuard, storagePaths, superAdminGuard, toArticle };
|
|
50382
50916
|
//# sourceMappingURL=valtech-components.mjs.map
|