valtech-components 4.0.117 → 4.0.118
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/molecules/ticket-card/ticket-card.component.mjs +49 -6
- package/esm2022/lib/components/molecules/ticket-card/types.mjs +1 -1
- package/esm2022/lib/services/markdown-article/markdown-article-parser.mjs +7 -2
- package/esm2022/lib/services/ticket-card-image/ticket-card-image.service.mjs +181 -0
- package/esm2022/lib/services/ticket-card-image/types.mjs +2 -0
- package/esm2022/lib/version.mjs +2 -2
- package/esm2022/public-api.mjs +3 -1
- package/fesm2022/valtech-components.mjs +231 -7
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/molecules/ticket-card/ticket-card.component.d.ts +4 -0
- package/lib/components/molecules/ticket-card/types.d.ts +14 -0
- package/lib/services/ticket-card-image/ticket-card-image.service.d.ts +12 -0
- package/lib/services/ticket-card-image/types.d.ts +20 -0
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
|
@@ -56,7 +56,7 @@ import { BrowserMultiFormatReader } from '@zxing/browser';
|
|
|
56
56
|
* Current version of valtech-components.
|
|
57
57
|
* This is automatically updated during the publish process.
|
|
58
58
|
*/
|
|
59
|
-
const VERSION = '4.0.
|
|
59
|
+
const VERSION = '4.0.118';
|
|
60
60
|
|
|
61
61
|
// Control de estado de refresco (singleton a nivel de módulo)
|
|
62
62
|
let isRefreshing = false;
|
|
@@ -58567,11 +58567,16 @@ function makeQuoteOrCallout(block, labels) {
|
|
|
58567
58567
|
};
|
|
58568
58568
|
}
|
|
58569
58569
|
function makeNote(kind, text, labels) {
|
|
58570
|
+
// NOTE es el callout neutro (caja de contenido sin etiqueta de severidad): se
|
|
58571
|
+
// renderiza SIN prefijo. Los demás tipos (TIP/INFO/WARNING/CAUTION/IMPORTANT)
|
|
58572
|
+
// sí muestran su label porque comunica categoría/severidad. El notes-box no
|
|
58573
|
+
// renderiza header cuando prefix es vacío (`@if (props.prefix)`).
|
|
58574
|
+
const prefix = kind === 'NOTE' ? '' : `${labels[kind]}:`;
|
|
58570
58575
|
return {
|
|
58571
58576
|
type: 'note',
|
|
58572
58577
|
props: {
|
|
58573
58578
|
text,
|
|
58574
|
-
prefix
|
|
58579
|
+
prefix,
|
|
58575
58580
|
color: CALLOUT_COLORS[kind],
|
|
58576
58581
|
textColor: 'dark',
|
|
58577
58582
|
size: 'medium',
|
|
@@ -60100,6 +60105,185 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
60100
60105
|
// ValtechConfig and LangProvider have been removed in v3.0.0
|
|
60101
60106
|
// Use LocaleService for language management instead
|
|
60102
60107
|
|
|
60108
|
+
const CANVAS_WIDTH = 560;
|
|
60109
|
+
const HEADER_H = 160;
|
|
60110
|
+
const QR_ZONE_H = 380;
|
|
60111
|
+
const FOOTER_H = 240;
|
|
60112
|
+
const CANVAS_HEIGHT = HEADER_H + QR_ZONE_H + FOOTER_H;
|
|
60113
|
+
const QR_SIZE = 280;
|
|
60114
|
+
const DEFAULT_BRAND_COLOR = '#9b1fde';
|
|
60115
|
+
const DEFAULT_BRAND_COLOR_TO = '#c93075';
|
|
60116
|
+
const FONT_STACK = 'Khula, Arial, sans-serif';
|
|
60117
|
+
class TicketCardImageService {
|
|
60118
|
+
async generate(config) {
|
|
60119
|
+
const width = config.width ?? CANVAS_WIDTH;
|
|
60120
|
+
let canvas;
|
|
60121
|
+
let ctx;
|
|
60122
|
+
if (typeof OffscreenCanvas !== 'undefined') {
|
|
60123
|
+
canvas = new OffscreenCanvas(width, CANVAS_HEIGHT);
|
|
60124
|
+
ctx = canvas.getContext('2d');
|
|
60125
|
+
}
|
|
60126
|
+
else {
|
|
60127
|
+
canvas = document.createElement('canvas');
|
|
60128
|
+
canvas.width = width;
|
|
60129
|
+
canvas.height = CANVAS_HEIGHT;
|
|
60130
|
+
ctx = canvas.getContext('2d');
|
|
60131
|
+
}
|
|
60132
|
+
await this.drawHeader(ctx, config, width);
|
|
60133
|
+
await this.drawQrZone(ctx, config, width);
|
|
60134
|
+
this.drawFooter(ctx, config, width);
|
|
60135
|
+
if (canvas instanceof OffscreenCanvas) {
|
|
60136
|
+
return canvas.convertToBlob({ type: 'image/png' });
|
|
60137
|
+
}
|
|
60138
|
+
return new Promise((resolve, reject) => {
|
|
60139
|
+
canvas.toBlob(blob => {
|
|
60140
|
+
if (blob) {
|
|
60141
|
+
resolve(blob);
|
|
60142
|
+
}
|
|
60143
|
+
else {
|
|
60144
|
+
reject(new Error('Canvas toBlob returned null'));
|
|
60145
|
+
}
|
|
60146
|
+
}, 'image/png');
|
|
60147
|
+
});
|
|
60148
|
+
}
|
|
60149
|
+
async share(config, shareTitle) {
|
|
60150
|
+
if (!navigator.share || !navigator.canShare) {
|
|
60151
|
+
return false;
|
|
60152
|
+
}
|
|
60153
|
+
let blob;
|
|
60154
|
+
try {
|
|
60155
|
+
blob = await this.generate(config);
|
|
60156
|
+
}
|
|
60157
|
+
catch {
|
|
60158
|
+
return false;
|
|
60159
|
+
}
|
|
60160
|
+
const filename = 'entrada.png';
|
|
60161
|
+
const file = new File([blob], filename, { type: 'image/png' });
|
|
60162
|
+
if (!navigator.canShare({ files: [file] })) {
|
|
60163
|
+
return false;
|
|
60164
|
+
}
|
|
60165
|
+
try {
|
|
60166
|
+
await navigator.share({
|
|
60167
|
+
title: shareTitle ?? config.brandName ?? 'Entrada',
|
|
60168
|
+
files: [file],
|
|
60169
|
+
});
|
|
60170
|
+
return true;
|
|
60171
|
+
}
|
|
60172
|
+
catch (err) {
|
|
60173
|
+
if (err instanceof DOMException && err.name === 'AbortError') {
|
|
60174
|
+
return false;
|
|
60175
|
+
}
|
|
60176
|
+
return false;
|
|
60177
|
+
}
|
|
60178
|
+
}
|
|
60179
|
+
async drawHeader(ctx, config, width) {
|
|
60180
|
+
const colorFrom = config.brandColor ?? DEFAULT_BRAND_COLOR;
|
|
60181
|
+
const colorTo = config.brandColorTo ?? (config.brandColor ? config.brandColor : DEFAULT_BRAND_COLOR_TO);
|
|
60182
|
+
const grad = ctx.createLinearGradient(0, 0, width, HEADER_H);
|
|
60183
|
+
grad.addColorStop(0, colorFrom);
|
|
60184
|
+
grad.addColorStop(1, colorTo);
|
|
60185
|
+
ctx.fillStyle = grad;
|
|
60186
|
+
ctx.fillRect(0, 0, width, HEADER_H);
|
|
60187
|
+
const logoH = 44;
|
|
60188
|
+
const logoPad = 28;
|
|
60189
|
+
let textY = HEADER_H / 2;
|
|
60190
|
+
if (config.logoUrl) {
|
|
60191
|
+
try {
|
|
60192
|
+
const logoImg = await this.loadImage(config.logoUrl);
|
|
60193
|
+
const ratio = logoImg.width / logoImg.height;
|
|
60194
|
+
const logoW = logoH * ratio;
|
|
60195
|
+
const logoX = logoPad;
|
|
60196
|
+
const logoY = (HEADER_H - logoH) / 2;
|
|
60197
|
+
ctx.drawImage(logoImg, logoX, logoY, logoW, logoH);
|
|
60198
|
+
if (config.brandName) {
|
|
60199
|
+
textY = logoY + logoH + 14;
|
|
60200
|
+
}
|
|
60201
|
+
}
|
|
60202
|
+
catch {
|
|
60203
|
+
// logo failed — render brand name centered as fallback
|
|
60204
|
+
}
|
|
60205
|
+
}
|
|
60206
|
+
if (config.brandName) {
|
|
60207
|
+
ctx.fillStyle = '#ffffff';
|
|
60208
|
+
ctx.font = `bold 1.125rem ${FONT_STACK}`;
|
|
60209
|
+
ctx.textAlign = 'center';
|
|
60210
|
+
ctx.textBaseline = 'middle';
|
|
60211
|
+
ctx.fillText(config.brandName, width / 2, textY, width - logoPad * 2);
|
|
60212
|
+
}
|
|
60213
|
+
}
|
|
60214
|
+
async drawQrZone(ctx, config, width) {
|
|
60215
|
+
const zoneTop = HEADER_H;
|
|
60216
|
+
ctx.fillStyle = '#ffffff';
|
|
60217
|
+
ctx.fillRect(0, zoneTop, width, QR_ZONE_H);
|
|
60218
|
+
const qrX = (width - QR_SIZE) / 2;
|
|
60219
|
+
const qrY = zoneTop + (QR_ZONE_H - QR_SIZE - 28) / 2;
|
|
60220
|
+
try {
|
|
60221
|
+
const qrImg = await this.loadImage(config.qrDataUrl);
|
|
60222
|
+
ctx.drawImage(qrImg, qrX, qrY, QR_SIZE, QR_SIZE);
|
|
60223
|
+
}
|
|
60224
|
+
catch {
|
|
60225
|
+
ctx.strokeStyle = '#e0e0e0';
|
|
60226
|
+
ctx.strokeRect(qrX, qrY, QR_SIZE, QR_SIZE);
|
|
60227
|
+
}
|
|
60228
|
+
ctx.fillStyle = '#92949c';
|
|
60229
|
+
ctx.font = `0.75rem ${FONT_STACK}`;
|
|
60230
|
+
ctx.textAlign = 'center';
|
|
60231
|
+
ctx.textBaseline = 'top';
|
|
60232
|
+
ctx.fillText('Escanea para verificar', width / 2, qrY + QR_SIZE + 10);
|
|
60233
|
+
}
|
|
60234
|
+
drawFooter(ctx, config, width) {
|
|
60235
|
+
const footerTop = HEADER_H + QR_ZONE_H;
|
|
60236
|
+
ctx.fillStyle = '#ffffff';
|
|
60237
|
+
ctx.fillRect(0, footerTop, width, FOOTER_H);
|
|
60238
|
+
const colorFrom = config.brandColor ?? DEFAULT_BRAND_COLOR;
|
|
60239
|
+
ctx.fillStyle = colorFrom;
|
|
60240
|
+
ctx.fillRect(0, footerTop, width, 3);
|
|
60241
|
+
let contentY = footerTop + 40;
|
|
60242
|
+
if (config.folio !== undefined && config.folio !== null && config.folio !== '') {
|
|
60243
|
+
const label = config.folioLabel ?? 'Entrada';
|
|
60244
|
+
const folioText = `${label} #${config.folio}`;
|
|
60245
|
+
ctx.fillStyle = '#1a0b2e';
|
|
60246
|
+
ctx.font = `bold 2.5rem ${FONT_STACK}`;
|
|
60247
|
+
ctx.textAlign = 'center';
|
|
60248
|
+
ctx.textBaseline = 'top';
|
|
60249
|
+
ctx.fillText(folioText, width / 2, contentY, width - 40);
|
|
60250
|
+
contentY += 56;
|
|
60251
|
+
}
|
|
60252
|
+
if (config.buyerName) {
|
|
60253
|
+
ctx.fillStyle = '#6b6675';
|
|
60254
|
+
ctx.font = `1.125rem ${FONT_STACK}`;
|
|
60255
|
+
ctx.textAlign = 'center';
|
|
60256
|
+
ctx.textBaseline = 'top';
|
|
60257
|
+
ctx.fillText(config.buyerName, width / 2, contentY, width - 40);
|
|
60258
|
+
}
|
|
60259
|
+
ctx.fillStyle = '#c0c0c0';
|
|
60260
|
+
ctx.font = `0.625rem ${FONT_STACK}`;
|
|
60261
|
+
ctx.textAlign = 'right';
|
|
60262
|
+
ctx.textBaseline = 'bottom';
|
|
60263
|
+
ctx.fillText('Valtech', width - 16, footerTop + FOOTER_H - 12);
|
|
60264
|
+
}
|
|
60265
|
+
loadImage(src) {
|
|
60266
|
+
if (typeof createImageBitmap !== 'undefined' && src.startsWith('data:')) {
|
|
60267
|
+
return fetch(src)
|
|
60268
|
+
.then(r => r.blob())
|
|
60269
|
+
.then(b => createImageBitmap(b));
|
|
60270
|
+
}
|
|
60271
|
+
return new Promise((resolve, reject) => {
|
|
60272
|
+
const img = new Image();
|
|
60273
|
+
img.crossOrigin = 'anonymous';
|
|
60274
|
+
img.onload = () => resolve(img);
|
|
60275
|
+
img.onerror = () => reject(new Error(`Failed to load image: ${src}`));
|
|
60276
|
+
img.src = src;
|
|
60277
|
+
});
|
|
60278
|
+
}
|
|
60279
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TicketCardImageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
60280
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TicketCardImageService, providedIn: 'root' }); }
|
|
60281
|
+
}
|
|
60282
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TicketCardImageService, decorators: [{
|
|
60283
|
+
type: Injectable,
|
|
60284
|
+
args: [{ providedIn: 'root' }]
|
|
60285
|
+
}] });
|
|
60286
|
+
|
|
60103
60287
|
class MetaService {
|
|
60104
60288
|
constructor() {
|
|
60105
60289
|
this.meta = inject(Meta);
|
|
@@ -68875,11 +69059,14 @@ class TicketCardComponent {
|
|
|
68875
69059
|
/** Props object-first del componente. */
|
|
68876
69060
|
this.props = input.required();
|
|
68877
69061
|
this.qrService = inject(QrGeneratorService);
|
|
69062
|
+
this.ticketCardImageService = inject(TicketCardImageService);
|
|
68878
69063
|
this.i18n = inject(I18nService);
|
|
68879
69064
|
/** QR generado (null mientras carga o si falló). */
|
|
68880
69065
|
this.qr = signal(null);
|
|
68881
69066
|
/** Falló la generación del QR → fallback al token corto. */
|
|
68882
69067
|
this.failed = signal(false);
|
|
69068
|
+
/** True mientras se genera y comparte la tarjeta branded. */
|
|
69069
|
+
this.sharing = signal(false);
|
|
68883
69070
|
this.status = computed(() => this.props().status ?? 'neutral');
|
|
68884
69071
|
this.tokenShort = computed(() => {
|
|
68885
69072
|
const tk = this.props().qrToken ?? '';
|
|
@@ -68904,6 +69091,7 @@ class TicketCardComponent {
|
|
|
68904
69091
|
}
|
|
68905
69092
|
return '';
|
|
68906
69093
|
});
|
|
69094
|
+
addIcons({ shareOutline });
|
|
68907
69095
|
this.i18n.registerDefaults('TicketCard', TICKET_CARD_I18N);
|
|
68908
69096
|
// Regenera el QR cuando cambia el token o el tamaño.
|
|
68909
69097
|
effect(() => {
|
|
@@ -68943,16 +69131,38 @@ class TicketCardComponent {
|
|
|
68943
69131
|
t(key) {
|
|
68944
69132
|
return this.i18n.t(key, 'TicketCard');
|
|
68945
69133
|
}
|
|
69134
|
+
async shareCard() {
|
|
69135
|
+
const q = this.qr();
|
|
69136
|
+
if (!q)
|
|
69137
|
+
return;
|
|
69138
|
+
const p = this.props();
|
|
69139
|
+
this.sharing.set(true);
|
|
69140
|
+
try {
|
|
69141
|
+
await this.ticketCardImageService.share({
|
|
69142
|
+
qrDataUrl: q.dataUrl,
|
|
69143
|
+
logoUrl: p.shareLogoUrl,
|
|
69144
|
+
brandColor: p.shareBrandColor,
|
|
69145
|
+
brandColorTo: p.shareBrandColorTo,
|
|
69146
|
+
brandName: p.shareBrandName,
|
|
69147
|
+
folio: p.folio,
|
|
69148
|
+
folioLabel: p.shareFolioLabel,
|
|
69149
|
+
buyerName: p.buyerName,
|
|
69150
|
+
}, p.title || p.shareBrandName);
|
|
69151
|
+
}
|
|
69152
|
+
finally {
|
|
69153
|
+
this.sharing.set(false);
|
|
69154
|
+
}
|
|
69155
|
+
}
|
|
68946
69156
|
qrProps(q) {
|
|
68947
69157
|
const p = this.props();
|
|
68948
69158
|
return {
|
|
68949
69159
|
qr: q,
|
|
68950
69160
|
displaySize: p.qrSize ?? 200,
|
|
68951
69161
|
showDownload: p.showDownload ?? false,
|
|
68952
|
-
showShare:
|
|
69162
|
+
showShare: false,
|
|
68953
69163
|
showBorder: false,
|
|
68954
69164
|
alt: this.folioText() || 'QR',
|
|
68955
|
-
downloadLabel: this.t('download'),
|
|
69165
|
+
downloadLabel: p.downloadLabel ?? this.t('download'),
|
|
68956
69166
|
shareLabel: this.t('share'),
|
|
68957
69167
|
shareTitle: p.title || this.folioText() || 'QR',
|
|
68958
69168
|
};
|
|
@@ -68987,12 +69197,19 @@ class TicketCardComponent {
|
|
|
68987
69197
|
<span class="ticket-card__badge" [attr.data-status]="status()">{{ s }}</span>
|
|
68988
69198
|
}
|
|
68989
69199
|
</div>
|
|
69200
|
+
|
|
69201
|
+
@if (props().showShare && qr()) {
|
|
69202
|
+
<ion-button fill="clear" size="small" [disabled]="sharing()" (click)="shareCard()">
|
|
69203
|
+
<ion-icon name="share-outline" slot="start" />
|
|
69204
|
+
{{ props().shareLabel || t('share') }}
|
|
69205
|
+
</ion-button>
|
|
69206
|
+
}
|
|
68990
69207
|
</div>
|
|
68991
|
-
`, isInline: true, styles: ["@charset \"UTF-8\";:host{display:block}.ticket-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;border:1px solid var(--ion-color-light-shade, #e0e0e0);border-radius:16px;background:var(--ion-card-background, #ffffff);max-width:320px;margin:0 auto}.ticket-card__title{font-size:1rem;font-weight:700;color:var(--ion-color-dark);text-align:center}.ticket-card__qr{display:flex;align-items:center;justify-content:center;min-height:200px}.ticket-card__qr-loading{display:flex;align-items:center;justify-content:center;width:200px;height:200px}.ticket-card__qr-fallback{font-family:monospace;font-size:.75rem;color:var(--ion-color-medium);word-break:break-all;text-align:center;padding:16px}.ticket-card__meta{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.ticket-card__folio{font-size:1rem;font-weight:700;color:var(--ion-color-dark)}.ticket-card__buyer{font-size:.875rem;color:var(--ion-color-medium)}.ticket-card__badge{margin-top:4px;font-size:.75rem;font-weight:600;padding:3px 12px;border-radius:999px;background:var(--ion-color-medium);color:var(--ion-color-medium-contrast, #fff);white-space:nowrap}.ticket-card__badge[data-status=sold]{background:var(--ion-color-success, #2dd36f);color:var(--ion-color-success-contrast, #fff)}.ticket-card__badge[data-status=checkedIn]{background:var(--ion-color-medium);color:var(--ion-color-medium-contrast, #fff)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: QrCodeComponent, selector: "val-qr-code", inputs: ["props"], outputs: ["actionComplete", "imageLoad", "imageError"] }] }); }
|
|
69208
|
+
`, isInline: true, styles: ["@charset \"UTF-8\";:host{display:block}.ticket-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;border:1px solid var(--ion-color-light-shade, #e0e0e0);border-radius:16px;background:var(--ion-card-background, #ffffff);max-width:320px;margin:0 auto}.ticket-card__title{font-size:1rem;font-weight:700;color:var(--ion-color-dark);text-align:center}.ticket-card__qr{display:flex;align-items:center;justify-content:center;min-height:200px}.ticket-card__qr-loading{display:flex;align-items:center;justify-content:center;width:200px;height:200px}.ticket-card__qr-fallback{font-family:monospace;font-size:.75rem;color:var(--ion-color-medium);word-break:break-all;text-align:center;padding:16px}.ticket-card__meta{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.ticket-card__folio{font-size:1rem;font-weight:700;color:var(--ion-color-dark)}.ticket-card__buyer{font-size:.875rem;color:var(--ion-color-medium)}.ticket-card__badge{margin-top:4px;font-size:.75rem;font-weight:600;padding:3px 12px;border-radius:999px;background:var(--ion-color-medium);color:var(--ion-color-medium-contrast, #fff);white-space:nowrap}.ticket-card__badge[data-status=sold]{background:var(--ion-color-success, #2dd36f);color:var(--ion-color-success-contrast, #fff)}.ticket-card__badge[data-status=checkedIn]{background:var(--ion-color-medium);color:var(--ion-color-medium-contrast, #fff)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: 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: QrCodeComponent, selector: "val-qr-code", inputs: ["props"], outputs: ["actionComplete", "imageLoad", "imageError"] }] }); }
|
|
68992
69209
|
}
|
|
68993
69210
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TicketCardComponent, decorators: [{
|
|
68994
69211
|
type: Component,
|
|
68995
|
-
args: [{ selector: 'val-ticket-card', standalone: true, imports: [CommonModule, IonSpinner, QrCodeComponent], template: `
|
|
69212
|
+
args: [{ selector: 'val-ticket-card', standalone: true, imports: [CommonModule, IonButton, IonIcon, IonSpinner, QrCodeComponent], template: `
|
|
68996
69213
|
<div class="ticket-card">
|
|
68997
69214
|
@if (props().title) {
|
|
68998
69215
|
<div class="ticket-card__title">{{ props().title }}</div>
|
|
@@ -69021,6 +69238,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
69021
69238
|
<span class="ticket-card__badge" [attr.data-status]="status()">{{ s }}</span>
|
|
69022
69239
|
}
|
|
69023
69240
|
</div>
|
|
69241
|
+
|
|
69242
|
+
@if (props().showShare && qr()) {
|
|
69243
|
+
<ion-button fill="clear" size="small" [disabled]="sharing()" (click)="shareCard()">
|
|
69244
|
+
<ion-icon name="share-outline" slot="start" />
|
|
69245
|
+
{{ props().shareLabel || t('share') }}
|
|
69246
|
+
</ion-button>
|
|
69247
|
+
}
|
|
69024
69248
|
</div>
|
|
69025
69249
|
`, styles: ["@charset \"UTF-8\";:host{display:block}.ticket-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;border:1px solid var(--ion-color-light-shade, #e0e0e0);border-radius:16px;background:var(--ion-card-background, #ffffff);max-width:320px;margin:0 auto}.ticket-card__title{font-size:1rem;font-weight:700;color:var(--ion-color-dark);text-align:center}.ticket-card__qr{display:flex;align-items:center;justify-content:center;min-height:200px}.ticket-card__qr-loading{display:flex;align-items:center;justify-content:center;width:200px;height:200px}.ticket-card__qr-fallback{font-family:monospace;font-size:.75rem;color:var(--ion-color-medium);word-break:break-all;text-align:center;padding:16px}.ticket-card__meta{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.ticket-card__folio{font-size:1rem;font-weight:700;color:var(--ion-color-dark)}.ticket-card__buyer{font-size:.875rem;color:var(--ion-color-medium)}.ticket-card__badge{margin-top:4px;font-size:.75rem;font-weight:600;padding:3px 12px;border-radius:999px;background:var(--ion-color-medium);color:var(--ion-color-medium-contrast, #fff);white-space:nowrap}.ticket-card__badge[data-status=sold]{background:var(--ion-color-success, #2dd36f);color:var(--ion-color-success-contrast, #fff)}.ticket-card__badge[data-status=checkedIn]{background:var(--ion-color-medium);color:var(--ion-color-medium-contrast, #fff)}\n"] }]
|
|
69026
69250
|
}], ctorParameters: () => [] });
|
|
@@ -69421,5 +69645,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
69421
69645
|
* Generated bundle index. Do not edit.
|
|
69422
69646
|
*/
|
|
69423
69647
|
|
|
69424
|
-
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, FormFieldComponent, 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, OptionCardsComponent, OrgInfoSheetComponent, OrgService, OrgSwitchService, OrganizationViewComponent, PATTERN_MOTIFS, PATTERN_PALETTES, PATTERN_STYLE_CONFIGS, PLATFORM_CONFIGS, PageContentComponent, PageLinksComponent, PageRefreshService, PageTemplateComponent, PageWavesComponent, PageWrapperComponent, PaginationComponent, PaginationService, PasswordInputComponent, PatternComponent, PermissionCatalogService, PermissionSelectorComponent, PermissionsModalComponent, PermissionsViewComponent, PhoneInputComponent, PillComponent, PinInputComponent, PlainCodeBoxComponent, PopoverSelectorComponent, PreferencesService, PreferencesViewComponent, PresetService, PriceTagComponent, ProcessLinksPipe, ProfileSkeletonComponent, ProfileViewComponent, ProgressBarComponent, ProgressRingComponent, ProgressStatusComponent, PrompterComponent, QR_PRESETS, QrCodeComponent, QrGeneratorService, QrScannerComponent, QueryBuilder, QuoteBoxComponent, REQUEST_STATUSES, RadioInputComponent, RangeInputComponent, RatingComponent, RefresherComponent, RequestFirestoreService, RequestFormBuilderService, RequestFormComponent, RequestService, RightsFooterComponent, RotatingTextComponent, SEARCH_HEADER_DEFAULTS, SETTINGS_SECTIONS_CATALOG, SHAPE_KEYS, SHARE_PROFILE_MODAL_DEFAULTS, SKELETON_LAYOUT_DEFAULT_ROWS, SKELETON_PRESETS, SOLID_KEYS, STATS_BAR_DEFAULTS, STROKE_KEYS, SearchHeaderComponent, SearchSelectorComponent, SearchbarComponent, SectionHeaderComponent, SecurityViewComponent, SegmentControlComponent, SelectSearchComponent, SessionListModalComponent, SessionService, SettingsHubComponent, ShareButtonsComponent, ShareProfileModalComponent, SimpleComponent, SkeletonComponent, SkeletonLayoutComponent, SkeletonService, SplashComponent, SplashScreenService, StatsBarComponent, StatsCardComponent, StepperComponent, StorageService, SwipeCarouselComponent, SwitchOrgModalComponent, TRI_KEYS, TabbedContentComponent, TableSkeletonComponent, TabsComponent, Terminal404Component, TestimonialCardComponent, TestimonialCarouselComponent, TextComponent, TextInputComponent, TextareaInputComponent, ThemeOption, ThemeService, TicketCardComponent, TimelineComponent, TitleBlockComponent, TitleComponent, ToastService, ToggleInputComponent, TokenService, ToolbarActionType, ToolbarComponent, TransferOwnershipModalComponent, TranslatePipe, TypedCollection, UPDATE_BANNER_DEFAULT_CONTENT, UPDATE_BANNER_I18N_NAMESPACE, UpdateBannerComponent, UserAvatarComponent, UsernameInputComponent, VALTECH_ADS_CONFIG, VALTECH_APP_CONFIG, VALTECH_APP_VERSION, VALTECH_AUTH_CONFIG, VALTECH_COMPANY_LINKS, VALTECH_CONTENT_CONFIG, VALTECH_DEBUG_CONSOLE, VALTECH_DEFAULT_CONTENT, VALTECH_DONATION_CONFIG, VALTECH_FEEDBACK_CONFIG, VALTECH_FIREBASE_CONFIG, VALTECH_FOOTER_I18N, VALTECH_FOOTER_LOGO, VALTECH_LANGUAGE_SELECTOR, VALTECH_LEGAL_CONFIG, VALTECH_NETWORK_ERROR_KEY, VALTECH_SETTINGS_MENU_LINKS, VALTECH_SITE_PATHS, VALTECH_SOCIAL_LINKS, VALTECH_SPLASH_SCREEN, VALTECH_WEB_BASE_URLS, VALTECH_WHATSAPP_CONFIG, VERSION, ValtechErrorService, VerifyViewComponent, WhatsappFabComponent, WhatsappService, WizardComponent, WizardFooterComponent, applyDefaultValueToControl, authGuard, authInterceptor, authPasswordValidator, beautifyLegalArticle, blogPost, buildCompanyFooterProps, buildFooterLinks, buildLegalLinkResolver, buildPath, buildSettingsCards, button, canSubmitRequestType, collections, connectPageRefresh, createErrorStateProps, createFirebaseConfig, createGlowCardProps, createInitialPaginationState, createNumberFromToField, createPageState, createPermissionLabeler, createRefreshableStream, createTitleProps, docs, errorLoggingInterceptor, extractPathParams, generatePatternTiles, generateRandomTile, getAppInfo, getAppVersion, getCollectionPath, getDocumentId, getTimeOfDayKey, goToTop, 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 };
|
|
69648
|
+
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, FormFieldComponent, 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, OptionCardsComponent, OrgInfoSheetComponent, OrgService, OrgSwitchService, OrganizationViewComponent, PATTERN_MOTIFS, PATTERN_PALETTES, PATTERN_STYLE_CONFIGS, PLATFORM_CONFIGS, PageContentComponent, PageLinksComponent, PageRefreshService, PageTemplateComponent, PageWavesComponent, PageWrapperComponent, PaginationComponent, PaginationService, PasswordInputComponent, PatternComponent, PermissionCatalogService, PermissionSelectorComponent, PermissionsModalComponent, PermissionsViewComponent, PhoneInputComponent, PillComponent, PinInputComponent, PlainCodeBoxComponent, PopoverSelectorComponent, PreferencesService, PreferencesViewComponent, PresetService, PriceTagComponent, ProcessLinksPipe, ProfileSkeletonComponent, ProfileViewComponent, ProgressBarComponent, ProgressRingComponent, ProgressStatusComponent, PrompterComponent, QR_PRESETS, QrCodeComponent, QrGeneratorService, QrScannerComponent, QueryBuilder, QuoteBoxComponent, REQUEST_STATUSES, RadioInputComponent, RangeInputComponent, RatingComponent, RefresherComponent, RequestFirestoreService, RequestFormBuilderService, RequestFormComponent, RequestService, RightsFooterComponent, RotatingTextComponent, SEARCH_HEADER_DEFAULTS, SETTINGS_SECTIONS_CATALOG, SHAPE_KEYS, SHARE_PROFILE_MODAL_DEFAULTS, SKELETON_LAYOUT_DEFAULT_ROWS, SKELETON_PRESETS, SOLID_KEYS, STATS_BAR_DEFAULTS, STROKE_KEYS, SearchHeaderComponent, SearchSelectorComponent, SearchbarComponent, SectionHeaderComponent, SecurityViewComponent, SegmentControlComponent, SelectSearchComponent, SessionListModalComponent, SessionService, SettingsHubComponent, ShareButtonsComponent, ShareProfileModalComponent, SimpleComponent, SkeletonComponent, SkeletonLayoutComponent, SkeletonService, SplashComponent, SplashScreenService, StatsBarComponent, StatsCardComponent, StepperComponent, StorageService, SwipeCarouselComponent, SwitchOrgModalComponent, TRI_KEYS, TabbedContentComponent, TableSkeletonComponent, TabsComponent, Terminal404Component, TestimonialCardComponent, TestimonialCarouselComponent, TextComponent, TextInputComponent, TextareaInputComponent, ThemeOption, ThemeService, TicketCardComponent, TicketCardImageService, TimelineComponent, TitleBlockComponent, TitleComponent, ToastService, ToggleInputComponent, TokenService, ToolbarActionType, ToolbarComponent, TransferOwnershipModalComponent, TranslatePipe, TypedCollection, UPDATE_BANNER_DEFAULT_CONTENT, UPDATE_BANNER_I18N_NAMESPACE, UpdateBannerComponent, UserAvatarComponent, UsernameInputComponent, VALTECH_ADS_CONFIG, VALTECH_APP_CONFIG, VALTECH_APP_VERSION, VALTECH_AUTH_CONFIG, VALTECH_COMPANY_LINKS, VALTECH_CONTENT_CONFIG, VALTECH_DEBUG_CONSOLE, VALTECH_DEFAULT_CONTENT, VALTECH_DONATION_CONFIG, VALTECH_FEEDBACK_CONFIG, VALTECH_FIREBASE_CONFIG, VALTECH_FOOTER_I18N, VALTECH_FOOTER_LOGO, VALTECH_LANGUAGE_SELECTOR, VALTECH_LEGAL_CONFIG, VALTECH_NETWORK_ERROR_KEY, VALTECH_SETTINGS_MENU_LINKS, VALTECH_SITE_PATHS, VALTECH_SOCIAL_LINKS, VALTECH_SPLASH_SCREEN, VALTECH_WEB_BASE_URLS, VALTECH_WHATSAPP_CONFIG, VERSION, ValtechErrorService, VerifyViewComponent, WhatsappFabComponent, WhatsappService, WizardComponent, WizardFooterComponent, applyDefaultValueToControl, authGuard, authInterceptor, authPasswordValidator, beautifyLegalArticle, blogPost, buildCompanyFooterProps, buildFooterLinks, buildLegalLinkResolver, buildPath, buildSettingsCards, button, canSubmitRequestType, collections, connectPageRefresh, createErrorStateProps, createFirebaseConfig, createGlowCardProps, createInitialPaginationState, createNumberFromToField, createPageState, createPermissionLabeler, createRefreshableStream, createTitleProps, docs, errorLoggingInterceptor, extractPathParams, generatePatternTiles, generateRandomTile, getAppInfo, getAppVersion, getCollectionPath, getDocumentId, getTimeOfDayKey, goToTop, 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 };
|
|
69425
69649
|
//# sourceMappingURL=valtech-components.mjs.map
|