@alfadocs/ui-kit 0.11.0 → 0.13.0
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/dist/_chunks/_commonjsHelpers-C6fGbg64.js +7 -0
- package/dist/_chunks/{ai-prompt-input-bAJwYu84.js → ai-prompt-input-DEiQwIMn.js} +22 -21
- package/dist/_chunks/{audio-recorder-BHBonrFf.js → audio-recorder-CRh4uyFL.js} +2 -2
- package/dist/_chunks/{autocomplete-C34hbfKh.js → autocomplete-mOg7WLOh.js} +2 -2
- package/dist/_chunks/{chat-input-Bov-gkwP.js → chat-input-UK-bXU7u.js} +9 -8
- package/dist/_chunks/{combobox-BHhnR3qm.js → combobox-D5tWe0t_.js} +2 -2
- package/dist/_chunks/{contact-card-VJIUqKB2.js → contact-card-DTQUMetD.js} +22 -38
- package/dist/_chunks/{date-picker-BD5FYW08.js → date-picker-BlhtBhPo.js} +2 -2
- package/dist/_chunks/{date-range-picker-BZLVgcXE.js → date-range-picker-C2hRu_Ke.js} +2 -2
- package/dist/_chunks/{date-time-picker-CCoRWX7R.js → date-time-picker-B67mPZmP.js} +2 -2
- package/dist/_chunks/external-link-C6F25E6k.js +16 -0
- package/dist/_chunks/{file-upload-DIecAfC-.js → file-upload-nMh-1jDD.js} +2 -2
- package/dist/_chunks/{index-CeY1nNvd.js → index-CFoBa86t.js} +61 -63
- package/dist/_chunks/{input-surface-u4QB0lxe.js → input-surface-xyERuLU_.js} +9 -3
- package/dist/_chunks/{leo-sidebar-B054wsZm.js → leo-sidebar-D3TuyH5_.js} +2 -2
- package/dist/_chunks/{link-BGpwaFik.js → link-DmM5IevO.js} +16 -26
- package/dist/_chunks/map-pin-B8STOPMJ.js +21 -0
- package/dist/_chunks/map-view-Dd48BxVB.js +1941 -0
- package/dist/_chunks/{multi-select-Bh-xR8kP.js → multi-select-DooDzQIp.js} +2 -2
- package/dist/_chunks/{number-input-mpSLk-ld.js → number-input-DH00o0DN.js} +28 -27
- package/dist/_chunks/{otp-input-CI-Zv5q6.js → otp-input-BBXYvLx5.js} +49 -48
- package/dist/_chunks/{phone-input-DtBVs5fz.js → phone-input-DKSHX7NQ.js} +23 -22
- package/dist/_chunks/{react-day-picker-C04L_28V.js → react-day-picker-C5F3-TTX.js} +6 -3
- package/dist/_chunks/{search-bar-DmZZ9UvV.js → search-bar-DORSAzNt.js} +2 -2
- package/dist/_chunks/{search-input-BBtSRH-Q.js → search-input-BtEJAJHa.js} +2 -2
- package/dist/_chunks/{select-i9MwQeQy.js → select-Ca6ibiDL.js} +13 -12
- package/dist/_chunks/{tabs-Cg794H0Q.js → tabs-CRCyPpJo.js} +2 -2
- package/dist/_chunks/{text-area-DHtcpcLv.js → text-area-D5GAe8pV.js} +26 -25
- package/dist/_chunks/{text-input-1oqFRbVI.js → text-input-CakysYnD.js} +26 -25
- package/dist/_chunks/{transcript-panel-BpJqPr7I.js → transcript-panel-DUrjx5sa.js} +2 -2
- package/dist/_chunks/{use-password-requirements-DbPZMfV9.js → use-password-requirements-BOgFsoIe.js} +2 -2
- package/dist/_chunks/whatsapp-button-Bj5FIhpC.js +175 -0
- package/dist/agent-catalog.json +53 -1
- package/dist/components/ai-prompt-input/index.js +1 -1
- package/dist/components/audio-recorder/index.js +1 -1
- package/dist/components/autocomplete/index.js +1 -1
- package/dist/components/chat-input/index.js +1 -1
- package/dist/components/combobox/index.js +1 -1
- package/dist/components/contact-card/index.js +1 -1
- package/dist/components/date-picker/index.js +1 -1
- package/dist/components/date-range-picker/index.js +1 -1
- package/dist/components/date-time-picker/index.js +1 -1
- package/dist/components/file-upload/index.js +1 -1
- package/dist/components/index.d.ts +2 -0
- package/dist/components/link/index.js +1 -1
- package/dist/components/map-view/index.d.ts +3 -0
- package/dist/components/map-view/index.js +5 -0
- package/dist/components/map-view/map-view.agent.d.ts +4 -0
- package/dist/components/map-view/map-view.d.ts +78 -0
- package/dist/components/multi-select/index.js +1 -1
- package/dist/components/number-input/index.js +1 -1
- package/dist/components/otp-input/index.js +1 -1
- package/dist/components/password-input/index.js +1 -1
- package/dist/components/phone-input/index.js +1 -1
- package/dist/components/search-bar/index.js +1 -1
- package/dist/components/search-input/index.js +1 -1
- package/dist/components/select/index.js +1 -1
- package/dist/components/tabs/index.js +1 -1
- package/dist/components/text-area/index.js +1 -1
- package/dist/components/text-input/index.js +1 -1
- package/dist/components/transcript-panel/index.js +1 -1
- package/dist/components/whatsapp-button/index.d.ts +3 -0
- package/dist/components/whatsapp-button/index.js +5 -0
- package/dist/components/whatsapp-button/whatsapp-button.d.ts +32 -0
- package/dist/i18n/config.js +45 -6
- package/dist/i18n/resources.d.ts +39 -0
- package/dist/index.js +361 -357
- package/dist/locales/de.json +13 -0
- package/dist/locales/en.json +13 -0
- package/dist/locales/it.json +13 -0
- package/dist/patterns/leo-assistant/index.js +1 -1
- package/dist/tokens/google-maps-theme.d.ts +15 -0
- package/dist/tokens.css +1 -1
- package/package.json +15 -1
|
@@ -47,6 +47,7 @@ export * from './kbd';
|
|
|
47
47
|
export * from './key-value-pair';
|
|
48
48
|
export * from './list';
|
|
49
49
|
export * from './logo';
|
|
50
|
+
export * from './map-view';
|
|
50
51
|
export * from './rating';
|
|
51
52
|
export * from './skeleton';
|
|
52
53
|
export * from './sparkline';
|
|
@@ -117,6 +118,7 @@ export * from './signature-capture';
|
|
|
117
118
|
export * from './slot-grid';
|
|
118
119
|
export * from './tooth-scheme';
|
|
119
120
|
export * from './transaction-chip';
|
|
121
|
+
export * from './whatsapp-button';
|
|
120
122
|
export * from './workflow';
|
|
121
123
|
export * from '../patterns/leo-assistant';
|
|
122
124
|
export * from '../patterns/patient-shell';
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { type HTMLAttributes, type ReactNode } from 'react';
|
|
2
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
3
|
+
export interface MapLatLng {
|
|
4
|
+
lat: number;
|
|
5
|
+
lng: number;
|
|
6
|
+
}
|
|
7
|
+
export interface MapMarker {
|
|
8
|
+
/** Stable id — used for keyed re-rendering and `onMarkerClick`. */
|
|
9
|
+
id: string;
|
|
10
|
+
/** Position in lat/lng. */
|
|
11
|
+
position: MapLatLng;
|
|
12
|
+
/** Optional accessible label — falls back to the id. */
|
|
13
|
+
label?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface MapViewHandle {
|
|
16
|
+
/** Pan the map to a new centre without changing zoom. */
|
|
17
|
+
panTo: (position: MapLatLng) => void;
|
|
18
|
+
/** Set zoom (typical range 1–20). */
|
|
19
|
+
setZoom: (zoom: number) => void;
|
|
20
|
+
/** Programmatically select a marker (fires `onMarkerClick`). */
|
|
21
|
+
selectMarker: (id: string | null) => void;
|
|
22
|
+
}
|
|
23
|
+
export interface MapViewProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onClick'>, VariantProps<typeof mapViewVariants> {
|
|
24
|
+
/** Opaque instance id — emitted as `data-component-id`. */
|
|
25
|
+
id?: string;
|
|
26
|
+
/** Google Maps JS API key. Consumer-owned; never cached by the kit. */
|
|
27
|
+
apiKey: string;
|
|
28
|
+
/** Map centre (lat/lng). Required so the consent placeholder can also use it. */
|
|
29
|
+
center: MapLatLng;
|
|
30
|
+
/** Initial zoom. Default 15 (city-block detail, matches booking site). */
|
|
31
|
+
zoom?: number;
|
|
32
|
+
/**
|
|
33
|
+
* Markers to render. The first marker auto-selects when no
|
|
34
|
+
* `selectedMarkerId` is given.
|
|
35
|
+
*/
|
|
36
|
+
markers?: MapMarker[];
|
|
37
|
+
/** Controlled selection — fires `onMarkerClick` with the new id (or null on map click). */
|
|
38
|
+
selectedMarkerId?: string | null;
|
|
39
|
+
/** Fires when a marker is clicked, or `null` when the map background is clicked. */
|
|
40
|
+
onMarkerClick?: (id: string | null) => void;
|
|
41
|
+
/**
|
|
42
|
+
* GDPR consent gate. When `false` (default) the component renders a
|
|
43
|
+
* placeholder with a translated CTA — the Maps JS API is **not**
|
|
44
|
+
* loaded. Flip to `true` once the consumer has captured opt-in.
|
|
45
|
+
*/
|
|
46
|
+
consentGranted?: boolean;
|
|
47
|
+
/** Fires when the consumer clicks the "Load map" CTA in the placeholder. */
|
|
48
|
+
onConsentRequest?: () => void;
|
|
49
|
+
/**
|
|
50
|
+
* Optional address string shown in the consent placeholder so the
|
|
51
|
+
* surface is useful before the map loads. Also used to build the
|
|
52
|
+
* fallback "Open in Google Maps" link target.
|
|
53
|
+
*/
|
|
54
|
+
address?: string;
|
|
55
|
+
/**
|
|
56
|
+
* Cloud-styled-map id. When set, takes precedence over the JSON
|
|
57
|
+
* `styles` array and disables the theme-bridge re-fire. Use when
|
|
58
|
+
* you've provisioned a styled map in Google Cloud Console.
|
|
59
|
+
*/
|
|
60
|
+
mapId?: string;
|
|
61
|
+
/**
|
|
62
|
+
* Override the consent-placeholder description text. The default
|
|
63
|
+
* (`t('mapView.consentDescription')`) is a generic IP-disclosure
|
|
64
|
+
* line. Consumers operating under specific GDPR / ePrivacy
|
|
65
|
+
* disclosures (jurisdiction, named controller, policy link) should
|
|
66
|
+
* supply their own text via this prop. Pass any `ReactNode` — a
|
|
67
|
+
* paragraph, a localised `<Trans>` instance, etc.
|
|
68
|
+
*/
|
|
69
|
+
consentDescription?: ReactNode;
|
|
70
|
+
/** Accessible label for the map region. Falls back to `t('mapView.label')`. */
|
|
71
|
+
ariaLabel?: string;
|
|
72
|
+
}
|
|
73
|
+
declare const mapViewVariants: (props?: ({
|
|
74
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
75
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
76
|
+
export declare const MapView: import("react").ForwardRefExoticComponent<MapViewProps & import("react").RefAttributes<MapViewHandle>>;
|
|
77
|
+
export {};
|
|
78
|
+
//# sourceMappingURL=map-view.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { S as a, a as l, b as S, c, d as s, e as o, f as r, g as p, h as g, i, j as m } from "../../_chunks/select-
|
|
1
|
+
import { S as a, a as l, b as S, c, d as s, e as o, f as r, g as p, h as g, i, j as m } from "../../_chunks/select-Ca6ibiDL.js";
|
|
2
2
|
export {
|
|
3
3
|
a as Select,
|
|
4
4
|
l as SelectContent,
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type AnchorHTMLAttributes, type ReactNode } from 'react';
|
|
2
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
3
|
+
declare const rootVariants: (props?: ({
|
|
4
|
+
variant?: "pill" | "fab" | null | undefined;
|
|
5
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
|
+
declare const positionVariants: (props?: ({
|
|
8
|
+
position?: "bottom-end" | "bottom-start" | "static" | null | undefined;
|
|
9
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
10
|
+
export interface WhatsAppButtonProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'href' | 'children'>, VariantProps<typeof rootVariants>, VariantProps<typeof positionVariants> {
|
|
11
|
+
/**
|
|
12
|
+
* Phone number to chat to. E.164 format is recommended
|
|
13
|
+
* (e.g. `+393331234567`). Any non-digit characters are stripped
|
|
14
|
+
* before the URL is built — `wa.me` requires digits only.
|
|
15
|
+
*/
|
|
16
|
+
phoneNumber: string;
|
|
17
|
+
/**
|
|
18
|
+
* Optional prefilled message. The receiver sees this in their
|
|
19
|
+
* compose box. Keep it short and human — long pasted text is the
|
|
20
|
+
* single most common reason consumers drop the affordance.
|
|
21
|
+
*/
|
|
22
|
+
message?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Override the visible / accessible label. Defaults to
|
|
25
|
+
* `t('whatsApp.label')` for the pill variant and
|
|
26
|
+
* `t('whatsApp.fabLabel')` for the FAB.
|
|
27
|
+
*/
|
|
28
|
+
label?: ReactNode;
|
|
29
|
+
}
|
|
30
|
+
export declare const WhatsAppButton: import("react").ForwardRefExoticComponent<WhatsAppButtonProps & import("react").RefAttributes<HTMLAnchorElement>>;
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=whatsapp-button.d.ts.map
|
package/dist/i18n/config.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import t from "i18next";
|
|
2
|
-
import { default as
|
|
2
|
+
import { default as f } from "i18next";
|
|
3
3
|
import { initReactI18next as l } from "react-i18next";
|
|
4
4
|
const a = {
|
|
5
5
|
common: {
|
|
@@ -830,6 +830,19 @@ const a = {
|
|
|
830
830
|
error: "Failed to load PDF",
|
|
831
831
|
pageOverlay: "Page {{page}} overlay"
|
|
832
832
|
},
|
|
833
|
+
mapView: {
|
|
834
|
+
label: "Map",
|
|
835
|
+
markerLabel: "Marker for {{label}}",
|
|
836
|
+
consentTitle: "Show interactive map",
|
|
837
|
+
consentDescription: "Loading the map shares your IP address with Google so it can serve map tiles. Continue?",
|
|
838
|
+
consentCta: "Load map",
|
|
839
|
+
openInGoogleMaps: "Open in Google Maps"
|
|
840
|
+
},
|
|
841
|
+
whatsApp: {
|
|
842
|
+
label: "Chat on WhatsApp",
|
|
843
|
+
fabLabel: "Open WhatsApp chat",
|
|
844
|
+
questionPrompt: "Have questions? Chat on WhatsApp"
|
|
845
|
+
},
|
|
833
846
|
paywall: {
|
|
834
847
|
title: "Upgrade to keep going",
|
|
835
848
|
description: "You've reached your free-tier limit. Choose a plan to continue.",
|
|
@@ -1781,6 +1794,19 @@ const a = {
|
|
|
1781
1794
|
error: "Impossibile caricare il PDF",
|
|
1782
1795
|
pageOverlay: "Overlay pagina {{page}}"
|
|
1783
1796
|
},
|
|
1797
|
+
mapView: {
|
|
1798
|
+
label: "Mappa",
|
|
1799
|
+
markerLabel: "Indicatore per {{label}}",
|
|
1800
|
+
consentTitle: "Mostra mappa interattiva",
|
|
1801
|
+
consentDescription: "Caricando la mappa il tuo indirizzo IP verrà condiviso con Google per ricevere le tile della mappa. Vuoi continuare?",
|
|
1802
|
+
consentCta: "Carica mappa",
|
|
1803
|
+
openInGoogleMaps: "Apri in Google Maps"
|
|
1804
|
+
},
|
|
1805
|
+
whatsApp: {
|
|
1806
|
+
label: "Scrivici su WhatsApp",
|
|
1807
|
+
fabLabel: "Apri chat WhatsApp",
|
|
1808
|
+
questionPrompt: "Hai domande? Scrivici su WhatsApp"
|
|
1809
|
+
},
|
|
1784
1810
|
paywall: {
|
|
1785
1811
|
title: "Esegui l'upgrade per continuare",
|
|
1786
1812
|
description: "Hai raggiunto il limite del piano gratuito. Scegli un piano per continuare.",
|
|
@@ -2732,6 +2758,19 @@ const a = {
|
|
|
2732
2758
|
error: "PDF konnte nicht geladen werden",
|
|
2733
2759
|
pageOverlay: "Seitenoverlay {{page}}"
|
|
2734
2760
|
},
|
|
2761
|
+
mapView: {
|
|
2762
|
+
label: "Karte",
|
|
2763
|
+
markerLabel: "Markierung für {{label}}",
|
|
2764
|
+
consentTitle: "Interaktive Karte anzeigen",
|
|
2765
|
+
consentDescription: "Beim Laden der Karte wird Ihre IP-Adresse an Google übermittelt, um die Kartenkacheln zu laden. Fortfahren?",
|
|
2766
|
+
consentCta: "Karte laden",
|
|
2767
|
+
openInGoogleMaps: "In Google Maps öffnen"
|
|
2768
|
+
},
|
|
2769
|
+
whatsApp: {
|
|
2770
|
+
label: "Auf WhatsApp schreiben",
|
|
2771
|
+
fabLabel: "WhatsApp-Chat öffnen",
|
|
2772
|
+
questionPrompt: "Fragen? Auf WhatsApp schreiben"
|
|
2773
|
+
},
|
|
2735
2774
|
paywall: {
|
|
2736
2775
|
title: "Upgraden, um fortzufahren",
|
|
2737
2776
|
description: "Sie haben das Limit des kostenlosen Tarifs erreicht. Wählen Sie einen Tarif, um fortzufahren.",
|
|
@@ -2891,13 +2930,13 @@ const a = {
|
|
|
2891
2930
|
label: "{{state}} {{amount}}"
|
|
2892
2931
|
}
|
|
2893
2932
|
}
|
|
2894
|
-
}, o = {}, p = ["en", "it", "de", "ar"],
|
|
2933
|
+
}, o = {}, p = ["en", "it", "de", "ar"], m = {
|
|
2895
2934
|
en: a,
|
|
2896
2935
|
it: n,
|
|
2897
2936
|
de: i,
|
|
2898
2937
|
ar: o
|
|
2899
2938
|
};
|
|
2900
|
-
function
|
|
2939
|
+
function g(r, s) {
|
|
2901
2940
|
t.addResourceBundle(
|
|
2902
2941
|
r,
|
|
2903
2942
|
"ui",
|
|
@@ -2941,10 +2980,10 @@ export {
|
|
|
2941
2980
|
p as LOCALES_WITH_BUNDLES,
|
|
2942
2981
|
o as arUi,
|
|
2943
2982
|
i as deUi,
|
|
2944
|
-
|
|
2983
|
+
f as default,
|
|
2945
2984
|
a as enUi,
|
|
2946
2985
|
n as itUi,
|
|
2947
|
-
|
|
2948
|
-
|
|
2986
|
+
g as registerUiBundle,
|
|
2987
|
+
m as uiResources
|
|
2949
2988
|
};
|
|
2950
2989
|
//# sourceMappingURL=config.js.map
|
package/dist/i18n/resources.d.ts
CHANGED
|
@@ -842,6 +842,19 @@ export declare const enUi: {
|
|
|
842
842
|
readonly error: "Failed to load PDF";
|
|
843
843
|
readonly pageOverlay: "Page {{page}} overlay";
|
|
844
844
|
};
|
|
845
|
+
readonly mapView: {
|
|
846
|
+
readonly label: "Map";
|
|
847
|
+
readonly markerLabel: "Marker for {{label}}";
|
|
848
|
+
readonly consentTitle: "Show interactive map";
|
|
849
|
+
readonly consentDescription: "Loading the map shares your IP address with Google so it can serve map tiles. Continue?";
|
|
850
|
+
readonly consentCta: "Load map";
|
|
851
|
+
readonly openInGoogleMaps: "Open in Google Maps";
|
|
852
|
+
};
|
|
853
|
+
readonly whatsApp: {
|
|
854
|
+
readonly label: "Chat on WhatsApp";
|
|
855
|
+
readonly fabLabel: "Open WhatsApp chat";
|
|
856
|
+
readonly questionPrompt: "Have questions? Chat on WhatsApp";
|
|
857
|
+
};
|
|
845
858
|
readonly paywall: {
|
|
846
859
|
readonly title: "Upgrade to keep going";
|
|
847
860
|
readonly description: "You've reached your free-tier limit. Choose a plan to continue.";
|
|
@@ -1815,6 +1828,19 @@ export declare const itUi: {
|
|
|
1815
1828
|
readonly error: "Impossibile caricare il PDF";
|
|
1816
1829
|
readonly pageOverlay: "Overlay pagina {{page}}";
|
|
1817
1830
|
};
|
|
1831
|
+
readonly mapView: {
|
|
1832
|
+
readonly label: "Mappa";
|
|
1833
|
+
readonly markerLabel: "Indicatore per {{label}}";
|
|
1834
|
+
readonly consentTitle: "Mostra mappa interattiva";
|
|
1835
|
+
readonly consentDescription: "Caricando la mappa il tuo indirizzo IP verrà condiviso con Google per ricevere le tile della mappa. Vuoi continuare?";
|
|
1836
|
+
readonly consentCta: "Carica mappa";
|
|
1837
|
+
readonly openInGoogleMaps: "Apri in Google Maps";
|
|
1838
|
+
};
|
|
1839
|
+
readonly whatsApp: {
|
|
1840
|
+
readonly label: "Scrivici su WhatsApp";
|
|
1841
|
+
readonly fabLabel: "Apri chat WhatsApp";
|
|
1842
|
+
readonly questionPrompt: "Hai domande? Scrivici su WhatsApp";
|
|
1843
|
+
};
|
|
1818
1844
|
readonly paywall: {
|
|
1819
1845
|
readonly title: "Esegui l'upgrade per continuare";
|
|
1820
1846
|
readonly description: "Hai raggiunto il limite del piano gratuito. Scegli un piano per continuare.";
|
|
@@ -2791,6 +2817,19 @@ export declare const deUi: {
|
|
|
2791
2817
|
readonly error: "PDF konnte nicht geladen werden";
|
|
2792
2818
|
readonly pageOverlay: "Seitenoverlay {{page}}";
|
|
2793
2819
|
};
|
|
2820
|
+
readonly mapView: {
|
|
2821
|
+
readonly label: "Karte";
|
|
2822
|
+
readonly markerLabel: "Markierung für {{label}}";
|
|
2823
|
+
readonly consentTitle: "Interaktive Karte anzeigen";
|
|
2824
|
+
readonly consentDescription: "Beim Laden der Karte wird Ihre IP-Adresse an Google übermittelt, um die Kartenkacheln zu laden. Fortfahren?";
|
|
2825
|
+
readonly consentCta: "Karte laden";
|
|
2826
|
+
readonly openInGoogleMaps: "In Google Maps öffnen";
|
|
2827
|
+
};
|
|
2828
|
+
readonly whatsApp: {
|
|
2829
|
+
readonly label: "Auf WhatsApp schreiben";
|
|
2830
|
+
readonly fabLabel: "WhatsApp-Chat öffnen";
|
|
2831
|
+
readonly questionPrompt: "Fragen? Auf WhatsApp schreiben";
|
|
2832
|
+
};
|
|
2794
2833
|
readonly paywall: {
|
|
2795
2834
|
readonly title: "Upgraden, um fortzufahren";
|
|
2796
2835
|
readonly description: "Sie haben das Limit des kostenlosen Tarifs erreicht. Wählen Sie einen Tarif, um fortzufahren.";
|