@bigz-app/booking-widget 1.3.1 → 1.3.2

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.
@@ -180,13 +180,6 @@ export interface UniversalBookingConfig {
180
180
  buttonText?: string;
181
181
  locale?: string;
182
182
  showLanguagePicker?: boolean;
183
- googleAds?: {
184
- tagId?: string;
185
- conversionId?: string;
186
- conversionCurrency?: string;
187
- includeValue?: boolean;
188
- consent?: boolean;
189
- };
190
183
  promo?: PromoDialogConfig;
191
184
  voucherValue?: number | number[];
192
185
  voucherCategory?: number | number[];
@@ -1 +1 @@
1
- {"version":3,"file":"UniversalBookingWidget.d.ts","sourceRoot":"","sources":["../../src/components/UniversalBookingWidget.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UniversalBookingWidget.d.ts","sourceRoot":"","sources":["../../src/components/UniversalBookingWidget.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
+ import { type GoogleAdsConfig } from "../../utils/google-ads-tracking";
1
2
  interface BookingSuccessModalProps {
2
3
  isOpen: boolean;
3
4
  onClose: () => void;
4
5
  config: any;
5
6
  onError?: (error: string) => void;
6
7
  paymentIntentId?: string | null;
8
+ googleAdsConfig?: GoogleAdsConfig | null;
7
9
  }
8
- export declare const BookingSuccessModal: ({ isOpen, onClose, config, onError, paymentIntentId, }: BookingSuccessModalProps) => import("react/jsx-runtime").JSX.Element | null;
10
+ export declare const BookingSuccessModal: ({ isOpen, onClose, config, onError, paymentIntentId, googleAdsConfig: googleAdsConfigProp, }: BookingSuccessModalProps) => import("react/jsx-runtime").JSX.Element | null;
9
11
  export {};
10
12
  //# sourceMappingURL=BookingSuccessModal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BookingSuccessModal.d.ts","sourceRoot":"","sources":["../../../src/components/booking/BookingSuccessModal.tsx"],"names":[],"mappings":"AAcA,UAAU,wBAAwB;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,GAAG,CAAC;IACZ,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,eAAO,MAAM,mBAAmB,GAAI,wDAMjC,wBAAwB,mDAo0B1B,CAAC"}
1
+ {"version":3,"file":"BookingSuccessModal.d.ts","sourceRoot":"","sources":["../../../src/components/booking/BookingSuccessModal.tsx"],"names":[],"mappings":"AAUA,OAAO,EAA6B,KAAK,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAIlG,UAAU,wBAAwB;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,GAAG,CAAC;IACZ,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;CAC5C;AAED,eAAO,MAAM,mBAAmB,GAAI,8FAOjC,wBAAwB,mDA+zB1B,CAAC"}
package/dist/index.cjs CHANGED
@@ -12028,121 +12028,145 @@ function BookingForm({ config, eventDetails, stripePromise, onSuccess, onError,
12028
12028
  }
12029
12029
 
12030
12030
  /**
12031
- * Google Ads Conversion Tracking Utility
12031
+ * Google Ads Tracking Utility
12032
12032
  *
12033
- * Simplified utility that waits 1500ms, checks/initializes gtag, and sends conversion.
12034
- */
12035
- /**
12036
- * Check if gtag is available in current or parent window
12033
+ * Handles pageview tracking (widget load) and conversion tracking (successful booking).
12034
+ * Supports both direct gtag.js and GTM dataLayer setups.
12037
12035
  */
12038
12036
  function isGtagAvailable() {
12039
- if (typeof window === "undefined") {
12037
+ if (typeof window === "undefined")
12040
12038
  return false;
12041
- }
12042
- // Check current window
12043
- if (typeof window.gtag === "function") {
12039
+ if (typeof window.gtag === "function")
12044
12040
  return true;
12045
- }
12046
- // Check parent window (for iframe/widget scenarios)
12047
12041
  if (window !== window.parent) {
12048
12042
  try {
12049
- if (typeof window.parent?.gtag === "function") {
12043
+ if (typeof window.parent?.gtag === "function")
12050
12044
  return true;
12051
- }
12052
12045
  }
12053
12046
  catch {
12054
- // Cannot access parent window (cross-origin)
12047
+ // Cross-origin
12055
12048
  }
12056
12049
  }
12057
12050
  return false;
12058
12051
  }
12059
- /**
12060
- * Initialize gtag if not already available
12061
- */
12062
12052
  function initializeGtag(tagId) {
12063
- if (typeof window === "undefined") {
12064
- return;
12065
- }
12066
- // Skip if gtag already exists
12067
- if (isGtagAvailable()) {
12053
+ if (typeof window === "undefined" || isGtagAvailable())
12068
12054
  return;
12069
- }
12070
- // Initialize dataLayer and gtag function
12071
12055
  window.dataLayer = window.dataLayer || [];
12072
12056
  window.gtag = (...args) => {
12073
12057
  window.dataLayer.push(args);
12074
12058
  };
12075
- // Set current timestamp
12076
12059
  window.gtag("js", new Date());
12077
- // Load gtag script
12078
12060
  const script = document.createElement("script");
12079
12061
  script.async = true;
12080
12062
  script.src = `https://www.googletagmanager.com/gtag/js?id=${tagId}`;
12081
12063
  document.head.appendChild(script);
12082
- // Configure the tag
12083
12064
  window.gtag("config", tagId, {
12084
12065
  anonymize_ip: true,
12085
12066
  allow_google_signals: false,
12086
12067
  allow_ad_personalization_signals: false,
12087
12068
  });
12088
12069
  }
12089
- /**
12090
- * Send conversion event using available gtag
12091
- */
12092
- function sendConversion(config) {
12093
- if (typeof window === "undefined") {
12094
- return;
12070
+ function getGtag() {
12071
+ if (typeof window === "undefined")
12072
+ return null;
12073
+ if (typeof window.gtag === "function") {
12074
+ return window.gtag;
12095
12075
  }
12096
- let gtag = window.gtag;
12097
- // Try parent window gtag if current window doesn't have it
12098
- if (typeof gtag !== "function" && window !== window.parent) {
12076
+ if (window !== window.parent) {
12099
12077
  try {
12100
- gtag = window.parent?.gtag;
12078
+ const parentGtag = window.parent?.gtag;
12079
+ if (typeof parentGtag === "function")
12080
+ return parentGtag;
12101
12081
  }
12102
12082
  catch {
12103
- // Cannot access parent window (cross-origin)
12083
+ // Cross-origin
12104
12084
  }
12105
12085
  }
12106
- if (typeof gtag !== "function") {
12086
+ return null;
12087
+ }
12088
+ /**
12089
+ * Push an event to the dataLayer for GTM visibility,
12090
+ * then also fire via gtag for direct Google Ads tracking.
12091
+ */
12092
+ function sendEvent(eventName, params) {
12093
+ if (typeof window === "undefined")
12107
12094
  return;
12095
+ // GTM dataLayer push (object format — visible in Tag Assistant)
12096
+ window.dataLayer = window.dataLayer || [];
12097
+ window.dataLayer.push({
12098
+ event: eventName,
12099
+ ...params,
12100
+ });
12101
+ // gtag call (array format — processed by gtag.js for Google Ads)
12102
+ const gtag = getGtag();
12103
+ if (gtag) {
12104
+ gtag("event", eventName, params);
12108
12105
  }
12109
- // Build conversion data
12110
- const conversionData = {
12106
+ }
12107
+ function sendConversion(config) {
12108
+ const params = {
12111
12109
  send_to: `${config.tagId}/${config.conversionId}`,
12112
12110
  };
12113
- // Add optional parameters
12114
12111
  if (config.conversionValue !== undefined) {
12115
- conversionData.value = config.conversionValue;
12112
+ params.value = config.conversionValue;
12116
12113
  }
12117
12114
  if (config.conversionCurrency) {
12118
- conversionData.currency = config.conversionCurrency;
12115
+ params.currency = config.conversionCurrency;
12119
12116
  }
12120
12117
  if (config.transactionId) {
12121
- conversionData.transaction_id = config.transactionId;
12118
+ params.transaction_id = config.transactionId;
12122
12119
  }
12123
- // Send conversion event
12124
- gtag("event", "conversion", conversionData);
12120
+ sendEvent("conversion", params);
12125
12121
  }
12126
12122
  /**
12127
- * Main function to handle Google Ads conversion tracking
12128
- * Waits 1500ms, checks/initializes gtag, then sends conversion
12123
+ * Track widget pageview (fired once on widget mount).
12129
12124
  */
12130
- function handleGoogleAdsConversion(config) {
12131
- // Validate required config
12132
- if (!config.tagId || !config.conversionId) {
12125
+ function handleGoogleAdsPageview(tagId, consent) {
12126
+ if (!tagId || false || typeof window === "undefined")
12133
12127
  return;
12128
+ if (!isGtagAvailable()) {
12129
+ initializeGtag(tagId);
12134
12130
  }
12135
- // Wait 1500ms before proceeding
12131
+ const fire = () => sendEvent("widget_pageview", {
12132
+ send_to: tagId,
12133
+ page_location: window.location.href,
12134
+ page_title: document.title,
12135
+ });
12136
+ if (isGtagAvailable()) {
12137
+ fire();
12138
+ return;
12139
+ }
12140
+ const script = document.querySelector(`script[src*="googletagmanager.com/gtag/js?id=${tagId}"]`);
12141
+ if (script) {
12142
+ script.addEventListener("load", fire, { once: true });
12143
+ }
12144
+ }
12145
+ /**
12146
+ * Handle Google Ads conversion tracking.
12147
+ * Waits 1500ms for the success page to settle, then fires.
12148
+ */
12149
+ function handleGoogleAdsConversion(config) {
12150
+ if (!config.tagId || !config.conversionId)
12151
+ return;
12136
12152
  setTimeout(() => {
12137
- // Check if gtag is available, initialize if not
12138
- if (!isGtagAvailable()) {
12139
- initializeGtag(config.tagId);
12153
+ if (isGtagAvailable()) {
12154
+ sendConversion(config);
12155
+ return;
12156
+ }
12157
+ initializeGtag(config.tagId);
12158
+ const script = document.querySelector(`script[src*="googletagmanager.com/gtag/js?id=${config.tagId}"]`);
12159
+ if (script) {
12160
+ script.addEventListener("load", () => sendConversion(config));
12161
+ script.addEventListener("error", () => sendConversion(config));
12162
+ }
12163
+ else {
12164
+ sendConversion(config);
12140
12165
  }
12141
- sendConversion(config);
12142
12166
  }, 1500);
12143
12167
  }
12144
12168
 
12145
- const BookingSuccessModal = ({ isOpen, onClose, config, onError, paymentIntentId, }) => {
12169
+ const BookingSuccessModal = ({ isOpen, onClose, config, onError, paymentIntentId, googleAdsConfig: googleAdsConfigProp, }) => {
12146
12170
  const t = useTranslations();
12147
12171
  const { locale } = useLocale();
12148
12172
  const timezone = useTimezone();
@@ -12191,20 +12215,16 @@ const BookingSuccessModal = ({ isOpen, onClose, config, onError, paymentIntentId
12191
12215
  });
12192
12216
  setPaymentStatus(data.stripePaymentIntent?.status || data.order.status);
12193
12217
  const finalPaymentStatus = data.stripePaymentIntent?.status || data.order.status;
12218
+ const adsConfig = googleAdsConfigProp ?? data.googleAdsConfig;
12194
12219
  if (finalPaymentStatus === "succeeded" &&
12195
- config.googleAds?.tagId &&
12196
- config.googleAds?.conversionId &&
12197
- config.googleAds?.consent !== false) {
12198
- // Prepare conversion tracking data
12199
- const conversionValue = data.order.total / 100;
12200
- const transactionId = data.order.id;
12201
- // Track the conversion
12220
+ adsConfig?.tagId &&
12221
+ adsConfig?.conversionId) {
12202
12222
  handleGoogleAdsConversion({
12203
- tagId: config.googleAds.tagId,
12204
- conversionId: config.googleAds.conversionId,
12205
- conversionValue,
12206
- conversionCurrency: config.googleAds.conversionCurrency || "EUR",
12207
- transactionId,
12223
+ tagId: adsConfig.tagId,
12224
+ conversionId: adsConfig.conversionId,
12225
+ conversionValue: data.order.total / 100,
12226
+ conversionCurrency: adsConfig.conversionCurrency || "EUR",
12227
+ transactionId: data.order.id,
12208
12228
  });
12209
12229
  }
12210
12230
  }
@@ -15469,6 +15489,13 @@ function UniversalBookingWidgetInner({ config: baseConfig, onWidgetLanguage, onT
15469
15489
  const [shouldRenderInstanceSelection, setShouldRenderInstanceSelection] = React.useState(false);
15470
15490
  const [shouldRenderUpsells, setShouldRenderUpsells] = React.useState(false);
15471
15491
  const [shouldRenderBookingForm, setShouldRenderBookingForm] = React.useState(false);
15492
+ // Google Ads config (received from API, set once from the first API response)
15493
+ const [googleAdsConfig, setGoogleAdsConfig] = React.useState(null);
15494
+ const extractGoogleAdsConfig = (data) => {
15495
+ if (!googleAdsConfig && data?.googleAdsConfig?.tagId) {
15496
+ setGoogleAdsConfig(data.googleAdsConfig);
15497
+ }
15498
+ };
15472
15499
  // Promo dialog state
15473
15500
  const [showPromoDialog, setShowPromoDialog] = React.useState(false);
15474
15501
  const [widgetContainerRef, setWidgetContainerRef] = React.useState(null);
@@ -15552,6 +15579,7 @@ function UniversalBookingWidgetInner({ config: baseConfig, onWidgetLanguage, onT
15552
15579
  image: resolvedImage,
15553
15580
  };
15554
15581
  setVoucherConfig(mergedConfig);
15582
+ extractGoogleAdsConfig(data);
15555
15583
  setVoucherEventTypes(data.eventTypes || []);
15556
15584
  // Set system config for payment processing
15557
15585
  if (data.paymentProvider) {
@@ -15574,6 +15602,14 @@ function UniversalBookingWidgetInner({ config: baseConfig, onWidgetLanguage, onT
15574
15602
  setIsLoadingVoucherConfig(false);
15575
15603
  }
15576
15604
  };
15605
+ // Fire widget pageview once when Google Ads config is received from API
15606
+ const pageviewFiredRef = React.useRef(false);
15607
+ React.useEffect(() => {
15608
+ if (!pageviewFiredRef.current && googleAdsConfig?.tagId) {
15609
+ pageviewFiredRef.current = true;
15610
+ handleGoogleAdsPageview(googleAdsConfig.tagId);
15611
+ }
15612
+ }, [googleAdsConfig]);
15577
15613
  // Determine initial step and load data
15578
15614
  React.useEffect(() => {
15579
15615
  const initializeWidget = async () => {
@@ -15787,6 +15823,7 @@ function UniversalBookingWidgetInner({ config: baseConfig, onWidgetLanguage, onT
15787
15823
  onWidgetLanguage?.(wl);
15788
15824
  onTimezone?.(wl.timezone);
15789
15825
  }
15826
+ extractGoogleAdsConfig(data);
15790
15827
  setEventTypes(data.eventTypes);
15791
15828
  if (isSingleEventTypeMode && data.eventTypes.length === 1) {
15792
15829
  setSelectedEventType(data.eventTypes[0]);
@@ -15823,6 +15860,7 @@ function UniversalBookingWidgetInner({ config: baseConfig, onWidgetLanguage, onT
15823
15860
  onWidgetLanguage?.(wl);
15824
15861
  onTimezone?.(wl.timezone);
15825
15862
  }
15863
+ extractGoogleAdsConfig(data);
15826
15864
  setUpcomingEvents(data.upcomingEvents || []);
15827
15865
  }
15828
15866
  else {
@@ -15858,6 +15896,7 @@ function UniversalBookingWidgetInner({ config: baseConfig, onWidgetLanguage, onT
15858
15896
  onWidgetLanguage?.(wl);
15859
15897
  onTimezone?.(wl.timezone);
15860
15898
  }
15899
+ extractGoogleAdsConfig(data);
15861
15900
  setSpecials(data.specials || []);
15862
15901
  }
15863
15902
  else {
@@ -15884,6 +15923,7 @@ function UniversalBookingWidgetInner({ config: baseConfig, onWidgetLanguage, onT
15884
15923
  onWidgetLanguage?.(wl);
15885
15924
  onTimezone?.(wl.timezone);
15886
15925
  }
15926
+ extractGoogleAdsConfig(data);
15887
15927
  setEventInstances(data.eventInstances);
15888
15928
  if (data.paymentProvider) {
15889
15929
  setSystemConfig({
@@ -15944,6 +15984,7 @@ function UniversalBookingWidgetInner({ config: baseConfig, onWidgetLanguage, onT
15944
15984
  onWidgetLanguage?.(wl);
15945
15985
  onTimezone?.(wl.timezone);
15946
15986
  }
15987
+ extractGoogleAdsConfig(data);
15947
15988
  setEventDetails(data.eventDetails);
15948
15989
  setSystemConfig({
15949
15990
  paymentProvider: data.paymentProvider,
@@ -16013,6 +16054,7 @@ function UniversalBookingWidgetInner({ config: baseConfig, onWidgetLanguage, onT
16013
16054
  onWidgetLanguage?.(wl);
16014
16055
  onTimezone?.(wl.timezone);
16015
16056
  }
16057
+ extractGoogleAdsConfig(data);
16016
16058
  return data.upsells || [];
16017
16059
  }
16018
16060
  else {
@@ -16426,7 +16468,7 @@ function UniversalBookingWidgetInner({ config: baseConfig, onWidgetLanguage, onT
16426
16468
  url.searchParams.delete("mollie_payment_id");
16427
16469
  url.searchParams.delete("mollie_status");
16428
16470
  window.history.replaceState({}, "", url.toString());
16429
- }, config: config, onError: setError, paymentIntentId: successPaymentId })] }), showPromoDialog && config.promo && (jsxRuntime.jsx(PromoDialog, { config: config.promo, onClose: handlePromoDialogClose, onCtaClick: handlePromoCtaClick }))] }));
16471
+ }, config: config, googleAdsConfig: googleAdsConfig, onError: setError, paymentIntentId: successPaymentId })] }), showPromoDialog && config.promo && (jsxRuntime.jsx(PromoDialog, { config: config.promo, onClose: handlePromoDialogClose, onCtaClick: handlePromoCtaClick }))] }));
16430
16472
  }
16431
16473
  if (viewMode === "specials" && showingPreview) {
16432
16474
  return (jsxRuntime.jsxs(StyleProvider, { config: config, children: [jsxRuntime.jsxs("div", { ref: setWidgetContainerRef, children: [jsxRuntime.jsx(SpecialsView, { specials: specials, onEventSelect: handleUpcomingEventSelect, isLoading: isLoadingSpecials, showSavingsAmount: config.specialsSettings?.showSavingsAmount ?? true, showSavingsPercent: config.specialsSettings?.showSavingsPercent ?? false, emptyStateText: config.specialsSettings?.emptyStateText }), shouldRenderBookingForm && eventDetails && (jsxRuntime.jsx(BookingForm, { config: config, eventDetails: eventDetails, stripePromise: stripePromise, onSuccess: handleBookingSuccess, onError: handleBookingError, onBackToEventInstances: () => {
@@ -16451,7 +16493,7 @@ function UniversalBookingWidgetInner({ config: baseConfig, onWidgetLanguage, onT
16451
16493
  setShouldRenderBookingForm(false);
16452
16494
  setSelectedUpsells([]);
16453
16495
  setUpsells([]);
16454
- }, config: config, onError: setError, paymentIntentId: successPaymentId })] }), showPromoDialog && config.promo && (jsxRuntime.jsx(PromoDialog, { config: config.promo, onClose: handlePromoDialogClose, onCtaClick: handlePromoCtaClick }))] }));
16496
+ }, config: config, googleAdsConfig: googleAdsConfig, onError: setError, paymentIntentId: successPaymentId })] }), showPromoDialog && config.promo && (jsxRuntime.jsx(PromoDialog, { config: config.promo, onClose: handlePromoDialogClose, onCtaClick: handlePromoCtaClick }))] }));
16455
16497
  }
16456
16498
  if (viewMode === "next-events" && !showingPreview && currentStep === "eventInstances") {
16457
16499
  return (jsxRuntime.jsxs(StyleProvider, { config: config, children: [jsxRuntime.jsxs("div", { ref: setWidgetContainerRef, children: [shouldRenderInstanceSelection && (jsxRuntime.jsx(EventInstanceSelection, { eventInstances: eventInstances, selectedEventType: selectedEventType, onEventInstanceSelect: handleEventInstanceSelect, onBackToEventTypes: () => {
@@ -16474,7 +16516,7 @@ function UniversalBookingWidgetInner({ config: baseConfig, onWidgetLanguage, onT
16474
16516
  url.searchParams.delete("mollie_payment_id");
16475
16517
  url.searchParams.delete("mollie_status");
16476
16518
  window.history.replaceState({}, "", url.toString());
16477
- }, config: config, onError: setError, paymentIntentId: successPaymentId })] }), showPromoDialog && config.promo && (jsxRuntime.jsx(PromoDialog, { config: config.promo, onClose: handlePromoDialogClose, onCtaClick: handlePromoCtaClick }))] }));
16519
+ }, config: config, googleAdsConfig: googleAdsConfig, onError: setError, paymentIntentId: successPaymentId })] }), showPromoDialog && config.promo && (jsxRuntime.jsx(PromoDialog, { config: config.promo, onClose: handlePromoDialogClose, onCtaClick: handlePromoCtaClick }))] }));
16478
16520
  }
16479
16521
  if (viewMode === "button" && (isSingleEventTypeMode || isDirectInstanceMode)) {
16480
16522
  return (jsxRuntime.jsxs(StyleProvider, { config: config, children: [jsxRuntime.jsxs("div", { ref: setWidgetContainerRef, style: {
@@ -16520,7 +16562,7 @@ function UniversalBookingWidgetInner({ config: baseConfig, onWidgetLanguage, onT
16520
16562
  url.searchParams.delete("mollie_payment_id");
16521
16563
  url.searchParams.delete("mollie_status");
16522
16564
  window.history.replaceState({}, "", url.toString());
16523
- }, config: config, onError: setError, paymentIntentId: successPaymentId })] }), showPromoDialog && config.promo && (jsxRuntime.jsx(PromoDialog, { config: config.promo, onClose: handlePromoDialogClose, onCtaClick: handlePromoCtaClick }))] }));
16565
+ }, config: config, googleAdsConfig: googleAdsConfig, onError: setError, paymentIntentId: successPaymentId })] }), showPromoDialog && config.promo && (jsxRuntime.jsx(PromoDialog, { config: config.promo, onClose: handlePromoDialogClose, onCtaClick: handlePromoCtaClick }))] }));
16524
16566
  }
16525
16567
  // Cards mode (default) - show event type selection with optional voucher card
16526
16568
  const cardsView = (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [hasEventSelection && (jsxRuntime.jsx(EventTypeSelection, { eventTypes: eventTypes, onEventTypeSelect: handleEventTypeSelect, onInstancePreview: (instanceId, eventTypeId) => void handleUpcomingEventSelect(instanceId, eventTypeId), isLoading: isLoading, skeletonCount: getSkeletonCount(), showVoucherAttachment: Boolean(voucherConfig?.enabled && voucherCardIntegrationEnabled && !isStandaloneVoucherMode), onVoucherClick: handleVoucherAttachmentClick })), isStandaloneVoucherMode && (jsxRuntime.jsx(VoucherIntegration, { config: config, voucherConfig: voucherConfig, eventTypes: voucherEventTypes, systemConfig: systemConfig, isFormOpen: false, isLoadingConfig: isLoadingVoucherConfig, preselectedEventTypeId: null, voucherPurchaseResult: null, isSuccess: false, showStandaloneCard: Boolean(voucherConfig?.enabled && voucherCardIntegrationEnabled), onCardClick: handleVoucherCardClick, onFormClose: handleVoucherFormClose, onSuccess: handleVoucherSuccess, onError: handleVoucherError, onSuccessModalClose: () => { } })), isStandaloneVoucherMode && isLoading && !voucherConfig && (jsxRuntime.jsx("div", { style: { padding: "24px", textAlign: "center" }, children: jsxRuntime.jsx("div", { style: {
@@ -16576,7 +16618,7 @@ function UniversalBookingWidgetInner({ config: baseConfig, onWidgetLanguage, onT
16576
16618
  url.searchParams.delete("mollie_payment_id");
16577
16619
  url.searchParams.delete("mollie_status");
16578
16620
  window.history.replaceState({}, "", url.toString());
16579
- }, config: config, onError: setError, paymentIntentId: successPaymentId }), jsxRuntime.jsx(VoucherIntegration, { config: config, voucherConfig: voucherConfig, eventTypes: voucherEventTypes, systemConfig: systemConfig, isFormOpen: isVoucherFormOpen, isLoadingConfig: isLoadingVoucherConfig, preselectedEventTypeId: preselectedVoucherEventTypeId, voucherPurchaseResult: voucherPurchaseResult, isSuccess: isSuccess, showStandaloneCard: false, onCardClick: handleVoucherCardClick, onFormClose: handleVoucherFormClose, onSuccess: handleVoucherSuccess, onError: handleVoucherError, onSuccessModalClose: () => {
16621
+ }, config: config, googleAdsConfig: googleAdsConfig, onError: setError, paymentIntentId: successPaymentId }), jsxRuntime.jsx(VoucherIntegration, { config: config, voucherConfig: voucherConfig, eventTypes: voucherEventTypes, systemConfig: systemConfig, isFormOpen: isVoucherFormOpen, isLoadingConfig: isLoadingVoucherConfig, preselectedEventTypeId: preselectedVoucherEventTypeId, voucherPurchaseResult: voucherPurchaseResult, isSuccess: isSuccess, showStandaloneCard: false, onCardClick: handleVoucherCardClick, onFormClose: handleVoucherFormClose, onSuccess: handleVoucherSuccess, onError: handleVoucherError, onSuccessModalClose: () => {
16580
16622
  setIsSuccess(false);
16581
16623
  setVoucherPurchaseResult(null);
16582
16624
  const url = new URL(window.location.href);