{"version":3,"file":"index.cjs","sources":["../../node_modules/sovendus-integration-scripts/dist/scripts/vanilla/index.mjs","../../src/package/constants.ts","../../src/package/sovendus-landing-page.tsx","../../src/package/sovendus-thankyou-page.tsx"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n  for (var prop in b || (b = {}))\n    if (__hasOwnProp.call(b, prop))\n      __defNormalProp(a, prop, b[prop]);\n  if (__getOwnPropSymbols)\n    for (var prop of __getOwnPropSymbols(b)) {\n      if (__propIsEnum.call(b, prop))\n        __defNormalProp(a, prop, b[prop]);\n    }\n  return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nvar __async = (__this, __arguments, generator) => {\n  return new Promise((resolve, reject) => {\n    var fulfilled = (value) => {\n      try {\n        step(generator.next(value));\n      } catch (e) {\n        reject(e);\n      }\n    };\n    var rejected = (value) => {\n      try {\n        step(generator.throw(value));\n      } catch (e) {\n        reject(e);\n      }\n    };\n    var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);\n    step((generator = generator.apply(__this, __arguments)).next());\n  });\n};\nconst integrationScriptVersion = \"3.9.8\";\nvar CountryCodes = /* @__PURE__ */ ((CountryCodes2) => {\n  CountryCodes2[\"AT\"] = \"AT\";\n  CountryCodes2[\"BE\"] = \"BE\";\n  CountryCodes2[\"DK\"] = \"DK\";\n  CountryCodes2[\"FR\"] = \"FR\";\n  CountryCodes2[\"DE\"] = \"DE\";\n  CountryCodes2[\"IE\"] = \"IE\";\n  CountryCodes2[\"IT\"] = \"IT\";\n  CountryCodes2[\"NL\"] = \"NL\";\n  CountryCodes2[\"NO\"] = \"NO\";\n  CountryCodes2[\"PL\"] = \"PL\";\n  CountryCodes2[\"ES\"] = \"ES\";\n  CountryCodes2[\"SE\"] = \"SE\";\n  CountryCodes2[\"CH\"] = \"CH\";\n  CountryCodes2[\"GB\"] = \"GB\";\n  return CountryCodes2;\n})(CountryCodes || {});\nconst LANGUAGES_BY_COUNTRIES = {\n  [\n    \"AT\"\n    /* AT */\n  ]: { [\n    \"DE\"\n    /* DE */\n  ]: \"Austria\" },\n  [\n    \"BE\"\n    /* BE */\n  ]: {\n    [\n      \"FR\"\n      /* FR */\n    ]: \"Belgium French\",\n    [\n      \"NL\"\n      /* NL */\n    ]: \"Belgium Dutch\"\n  },\n  [\n    \"DK\"\n    /* DK */\n  ]: { [\n    \"DA\"\n    /* DA */\n  ]: \"Denmark\" },\n  // [CountryCodes.FI]: { [LanguageCodes.FI]: \"Finland\" },\n  [\n    \"FR\"\n    /* FR */\n  ]: { [\n    \"FR\"\n    /* FR */\n  ]: \"France\" },\n  [\n    \"DE\"\n    /* DE */\n  ]: { [\n    \"DE\"\n    /* DE */\n  ]: \"Germany\" },\n  [\n    \"IE\"\n    /* IE */\n  ]: { [\n    \"EN\"\n    /* EN */\n  ]: \"Ireland\" },\n  [\n    \"IT\"\n    /* IT */\n  ]: { [\n    \"IT\"\n    /* IT */\n  ]: \"Italy\" },\n  [\n    \"NL\"\n    /* NL */\n  ]: { [\n    \"NL\"\n    /* NL */\n  ]: \"Netherlands\" },\n  [\n    \"NO\"\n    /* NO */\n  ]: { [\n    \"NB\"\n    /* NB */\n  ]: \"Norway\" },\n  [\n    \"PL\"\n    /* PL */\n  ]: { [\n    \"PL\"\n    /* PL */\n  ]: \"Poland\" },\n  // [CountryCodes.PT]: { [LanguageCodes.PT]: \"Portugal\" },\n  [\n    \"ES\"\n    /* ES */\n  ]: { [\n    \"ES\"\n    /* ES */\n  ]: \"Spain\" },\n  [\n    \"SE\"\n    /* SE */\n  ]: { [\n    \"SV\"\n    /* SV */\n  ]: \"Sweden\" },\n  [\n    \"CH\"\n    /* CH */\n  ]: {\n    [\n      \"FR\"\n      /* FR */\n    ]: \"Switzerland French\",\n    [\n      \"DE\"\n      /* DE */\n    ]: \"Switzerland German\",\n    [\n      \"IT\"\n      /* IT */\n    ]: \"Switzerland Italian\"\n  },\n  [\n    \"GB\"\n    /* GB */\n  ]: { [\n    \"EN\"\n    /* EN */\n  ]: \"United Kingdom\" }\n};\nconst defaultIframeContainerQuerySelector = { selector: \"#sovendus-container\", where: \"none\" };\nvar SettingsType = /* @__PURE__ */ ((SettingsType2) => {\n  SettingsType2[\"SIMPLE\"] = \"simple\";\n  SettingsType2[\"COUNTRY\"] = \"country\";\n  return SettingsType2;\n})(SettingsType || {});\nconst sovendusPageApis = {\n  // this only gets called when a optimize id is set\n  // you don't have to whitelist this domain if you don't want to use Sovendus Optimize\n  optimize: \"https://www.sovopt.com/\"\n};\nconst sovLoaderScriptId = \"sovloader-script\";\nfunction getPerformanceTime() {\n  var _a, _b;\n  throwErrorInNonBrowserContext({\n    methodName: \"getPerformanceTime\",\n    pageType: \"LandingPage\",\n    requiresWindow: true\n  });\n  return ((_b = (_a = window.performance) == null ? void 0 : _a.now) == null ? void 0 : _b.call(_a)) || 0;\n}\nfunction detectCountryCode() {\n  return getCountryCodeFromHtmlTag() || getCountryFromDomain() || getCountryFromPagePath();\n}\nfunction getOptimizeId(settings, country) {\n  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;\n  if (((_a = settings == null ? void 0 : settings.optimize) == null ? void 0 : _a.settingsType) === SettingsType.SIMPLE) {\n    if (((_c = (_b = settings == null ? void 0 : settings.optimize) == null ? void 0 : _b.simple) == null ? void 0 : _c.isEnabled) !== false && ((_e = (_d = settings == null ? void 0 : settings.optimize) == null ? void 0 : _d.simple) == null ? void 0 : _e.optimizeId)) {\n      return settings.optimize.simple.optimizeId;\n    }\n  } else {\n    if ((_g = (_f = settings.optimize) == null ? void 0 : _f.countries) == null ? void 0 : _g.ids) {\n      const uncleanedCountryCode = country;\n      const countryCode = uncleanedCountryCode === \"UK\" ? CountryCodes.GB : uncleanedCountryCode;\n      if (countryCode) {\n        const countryElement = (_i = (_h = settings.optimize.countries) == null ? void 0 : _h.ids) == null ? void 0 : _i[countryCode];\n        return (countryElement == null ? void 0 : countryElement.isEnabled) ? countryElement == null ? void 0 : countryElement.optimizeId : void 0;\n      }\n      const fallbackId = (_k = (_j = settings == null ? void 0 : settings.optimize) == null ? void 0 : _j.countries) == null ? void 0 : _k.fallBackId;\n      if (((_l = settings.optimize) == null ? void 0 : _l.countries.fallBackEnabled) && fallbackId) {\n        return fallbackId;\n      }\n    }\n  }\n  return void 0;\n}\nfunction throwErrorInNonBrowserContext({\n  methodName,\n  requiresWindow,\n  requiresDocument,\n  pageType\n}) {\n  if ((requiresDocument ? typeof document === \"undefined\" : false) || (requiresWindow ? typeof window === \"undefined\" : false)) {\n    throw new Error(\n      `Sovendus App [${pageType}] - ${methodName}: ${requiresWindow ? \"window\" : \"\"} ${requiresDocument ? \"document\" : \"\"} is not available in your context, you can override this method`\n    );\n  }\n}\nfunction loggerError(message, pageType, ...other) {\n  console.error(`Sovendus App [${pageType}] - ${message}`, ...other);\n}\nfunction loggerInfo(message, pageType, ...other) {\n  console.log(`Sovendus App [${pageType}] - ${message}`, ...other);\n}\nfunction getCountryCodeFromHtmlTag() {\n  throwErrorInNonBrowserContext({\n    methodName: \"getCountryCodeFromHtmlTag\",\n    pageType: \"LandingPage\",\n    requiresDocument: true\n  });\n  const lang = document.documentElement.lang;\n  const countryCode = lang.split(\"-\")[1];\n  return countryCode ? castToCountry(countryCode.toUpperCase()) : void 0;\n}\nfunction getCountryFromDomain() {\n  throwErrorInNonBrowserContext({\n    methodName: \"getCountryFromDomain\",\n    pageType: \"LandingPage\",\n    requiresWindow: true\n  });\n  const domainToCountry = {\n    \"de\": \"DE\",\n    \"at\": \"AT\",\n    \"ch\": \"CH\",\n    \"uk\": \"GB\",\n    \"co.uk\": \"GB\",\n    \"com\": void 0,\n    \"se\": \"SE\",\n    \"no\": \"NO\",\n    \"dk\": \"DK\",\n    \"fi\": \"FI\",\n    \"fr\": \"FR\",\n    \"be\": \"BE\",\n    \"nl\": \"NL\",\n    \"it\": \"IT\",\n    \"es\": \"ES\",\n    \"pt\": \"PT\",\n    \"pl\": \"PL\",\n    \"cz\": \"CZ\",\n    \"sk\": \"SK\",\n    \"hu\": \"HU\"\n  };\n  const domain = window.location.hostname;\n  const domainParts = domain.split(\".\");\n  const domainPart = domainParts[domainParts.length - 1];\n  return domainPart ? domainToCountry[domainPart] : void 0;\n}\nfunction getCountryFromPagePath() {\n  throwErrorInNonBrowserContext({\n    methodName: \"getCountryFromDomain\",\n    pageType: \"LandingPage\",\n    requiresWindow: true\n  });\n  const path = window.location.pathname;\n  const pathParts = path.split(\"/\");\n  const country = pathParts[1];\n  return castToCountry(country == null ? void 0 : country.toUpperCase());\n}\nfunction castToCountry(value) {\n  if (value && Object.values(CountryCodes).includes(value)) {\n    return value;\n  }\n  return void 0;\n}\nfunction makeString(value) {\n  if (value === void 0) {\n    return void 0;\n  }\n  if (typeof value === \"string\") {\n    return value;\n  }\n  return void 0;\n}\nfunction makeNumber(value) {\n  if (value === void 0) {\n    return void 0;\n  }\n  if (typeof value === \"number\") {\n    return value;\n  }\n  if (typeof value === \"string\") {\n    const number = Number(value);\n    if (!Number.isNaN(number)) {\n      return number;\n    }\n  }\n  return void 0;\n}\nconst urlParamAndCookieKeys = [\n  // These are the keys that Sovendus uses to store the url params as cookies\n  // for simplicity we store all supported url params as cookies\n  // as without the url params the cookies would not be set anyway\n  // each url param requires separate opt in on Sovendus side, so this is safe to use\n  //\n  // key only passed on in Switzerland Voucher Network\n  \"puid\",\n  // Optional link based conversion tracking for Sovendus Voucher Network\n  \"sovCouponCode\",\n  // Key used for Sovendus Checkout Products\n  \"sovReqToken\",\n  // used to enable debug mode for the testing process.\n  \"sovDebugLevel\"\n];\nfunction sovendusPageMain(sovPageConfig, onDone) {\n  return __async(this, null, function* () {\n    const sovPageStatus = this.initializeStatus();\n    this.processConfig(sovPageConfig, sovPageStatus);\n    try {\n      if (!sovPageConfig) {\n        sovPageStatus.status.sovPageConfigFound = true;\n        onDone({ sovPageStatus, sovPageConfig });\n        loggerError(\"sovPageConfig is not defined\", \"LandingPage\");\n        return;\n      }\n      sovPageStatus.urlData = yield this.lookForUrlParamsToStore(sovPageStatus);\n      this.sovendusOptimize(sovPageConfig, sovPageStatus);\n      sovPageStatus.times.integrationLoaderDone = this.getPerformanceTime();\n    } catch (error) {\n      loggerError(\"Crash in SovendusPage.main\", \"LandingPage\", error);\n    }\n    onDone({ sovPageStatus, sovPageConfig });\n  });\n}\nfunction initializePageStatus() {\n  return {\n    integrationScriptVersion,\n    urlData: {\n      sovCouponCode: void 0,\n      sovReqToken: void 0,\n      puid: void 0,\n      sovDebugLevel: void 0\n    },\n    status: {\n      sovPageConfigFound: false,\n      loadedOptimize: false,\n      storedCookies: false,\n      countryCodePassedOnByPlugin: false\n    },\n    times: {\n      integrationLoaderStart: this.getPerformanceTime()\n    }\n  };\n}\nfunction getSovendusUrlParameters() {\n  return __async(this, null, function* () {\n    const pageViewData = {\n      sovCouponCode: void 0,\n      sovReqToken: void 0,\n      puid: void 0,\n      sovDebugLevel: void 0\n    };\n    const urlParams = yield this.getSearchParams();\n    urlParamAndCookieKeys.forEach((dataKey) => {\n      const paramValue = urlParams == null ? void 0 : urlParams.get(dataKey);\n      if (paramValue) {\n        if (dataKey === \"sovDebugLevel\") {\n          if (paramValue === \"debug\" || paramValue === \"silent\") {\n            pageViewData[dataKey] = paramValue;\n          }\n        } else {\n          pageViewData[dataKey] = paramValue;\n        }\n      }\n    });\n    return pageViewData;\n  });\n}\nfunction lookForUrlParamsToStore(sovPageStatus) {\n  return __async(this, null, function* () {\n    try {\n      const pageViewData = yield this.getSovendusUrlParameters();\n      yield Promise.all(\n        Object.entries(pageViewData).map((_0) => __async(this, [_0], function* ([cookieKey, cookieValue]) {\n          if (cookieValue) {\n            yield this.setCookie(cookieKey, cookieValue);\n            sovPageStatus.status.storedCookies = true;\n          }\n        }))\n      );\n      return pageViewData;\n    } catch (error) {\n      loggerError(\"Error while storing url params\", \"LandingPage\", error);\n    }\n    return {\n      sovCouponCode: void 0,\n      sovReqToken: void 0,\n      puid: void 0,\n      sovDebugLevel: void 0\n    };\n  });\n}\nfunction processPageConfig(sovPageConfig, sovPageStatus) {\n  this.handleCountryCode(sovPageConfig, sovPageStatus);\n}\nfunction handlePageCountryCode(sovPageConfig, sovPageStatus) {\n  if (sovPageConfig.country === \"UK\") {\n    sovPageConfig.country = CountryCodes.GB;\n  }\n  if (!sovPageConfig.country) {\n    sovPageStatus.status.countryCodePassedOnByPlugin = false;\n    sovPageConfig.country = sovPageConfig.country || this.detectCountryCode();\n  }\n}\nfunction sovendusOptimize(sovPageConfig, sovPageStatus) {\n  const optimizeId = getOptimizeId(\n    sovPageConfig.settings,\n    sovPageConfig.country\n  );\n  if (!optimizeId) {\n    return;\n  }\n  this.handleOptimizeScript(optimizeId, sovPageConfig, sovPageStatus);\n  sovPageStatus.status.loadedOptimize = true;\n}\nconst optimizeScriptId = \"sovendus-optimize-script\";\nfunction handleOptimizeScript(optimizeId, _sovPageConfig, _sovPageStatus) {\n  throwErrorInNonBrowserContext({\n    methodName: \"sovendusOptimize\",\n    pageType: \"LandingPage\",\n    requiresDocument: true\n  });\n  const script = document.createElement(\"script\");\n  script.async = true;\n  script.id = this.optimizeScriptId;\n  script.type = \"application/javascript\";\n  script.src = `${sovendusPageApis.optimize}${optimizeId}`;\n  document.head.appendChild(script);\n}\nclass SovendusPage {\n  constructor() {\n    // Standard implementation of the Sovendus page script\n    // You can extend this class and override the methods to customize the behavior\n    // You can find example overrides in any of our Sovendus plugins\n    // Also make sure to check out our docs for more information\n    __publicField(this, \"urlParamAndCookieKeys\", urlParamAndCookieKeys);\n    __publicField(this, \"main\", sovendusPageMain);\n    __publicField(this, \"initializeStatus\", initializePageStatus);\n    // allow non async as some context might not require it\n    __publicField(this, \"getSovendusUrlParameters\", getSovendusUrlParameters);\n    __publicField(this, \"lookForUrlParamsToStore\", lookForUrlParamsToStore);\n    __publicField(this, \"sovendusOptimize\", sovendusOptimize);\n    __publicField(this, \"optimizeScriptId\", optimizeScriptId);\n    __publicField(this, \"processConfig\", processPageConfig);\n    __publicField(this, \"handleCountryCode\", handlePageCountryCode);\n    __publicField(this, \"getPerformanceTime\", getPerformanceTime);\n    __publicField(this, \"detectCountryCode\", detectCountryCode);\n  }\n  // make it async as some context might require it\n  getSearchParams() {\n    throwErrorInNonBrowserContext({\n      methodName: \"getSearchParams\",\n      pageType: \"LandingPage\",\n      requiresWindow: true\n    });\n    return new URLSearchParams(window.location.search);\n  }\n  // make it async as some context might require it\n  setCookie(cookieName, value) {\n    throwErrorInNonBrowserContext({\n      methodName: \"setCookie\",\n      pageType: \"LandingPage\",\n      requiresDocument: true,\n      requiresWindow: true\n    });\n    const path = \"/\";\n    const expireDate = /* @__PURE__ */ new Date();\n    expireDate.setTime(expireDate.getTime() + 24 * 60 * 60 * 1e3 * 30);\n    const domain = window.location.hostname;\n    const cookieString = `${cookieName}=${value};secure;samesite=strict;expires=${expireDate.toUTCString()};domain=${domain};path=${path}`;\n    document.cookie = cookieString;\n  }\n  handleOptimizeScript(optimizeId, _sovPageConfig, _sovPageStatus) {\n    throwErrorInNonBrowserContext({\n      methodName: \"sovendusOptimize\",\n      pageType: \"LandingPage\",\n      requiresDocument: true\n    });\n    const script = document.createElement(\"script\");\n    script.async = true;\n    script.id = this.optimizeScriptId;\n    script.type = \"application/javascript\";\n    script.src = `${sovendusPageApis.optimize}${optimizeId}`;\n    document.head.appendChild(script);\n  }\n  unmount() {\n    var _a;\n    (_a = document.getElementById(this.optimizeScriptId)) == null ? void 0 : _a.remove();\n  }\n}\nfunction loadSovendusPage() {\n  const OnDone = ({ sovPageStatus }) => {\n    window.sovPageStatus = sovPageStatus;\n  };\n  void new SovendusPage().main(window.sovPageConfig, OnDone);\n}\nfunction sovendusThankyouMain(sovThankyouConfig, onDone) {\n  return __async(this, null, function* () {\n    const sovThankyouStatus = this.initializeStatus();\n    try {\n      if (!sovThankyouConfig) {\n        sovThankyouStatus.status.sovThankyouConfigFound = false;\n        loggerError(\"sovThankyouConfig is not defined\", \"ThankyouPage\");\n        onDone({ sovThankyouStatus, sovThankyouConfig });\n        return;\n      }\n      sovThankyouStatus.status.sovThankyouConfigFound = true;\n      yield this.processConfig(sovThankyouConfig, sovThankyouStatus);\n      this.handleVoucherNetwork(sovThankyouConfig, sovThankyouStatus);\n      yield this.handleCheckoutProductsConversion(\n        sovThankyouConfig,\n        sovThankyouStatus\n      );\n      yield this.handleOptimizeConversion(sovThankyouConfig, sovThankyouStatus);\n      sovThankyouStatus.times.integrationLoaderDone = this.getPerformanceTime();\n      sovThankyouStatus.status.integrationLoaderDone = true;\n    } catch (error) {\n      loggerError(\"Error in SovendusThankyouPage.main\", \"ThankyouPage\", error);\n    }\n    onDone({ sovThankyouConfig, sovThankyouStatus });\n  });\n}\nfunction processConfig(sovThankyouConfig, sovThankyouStatus) {\n  return __async(this, null, function* () {\n    yield this.handleVoucherCode(sovThankyouConfig);\n    this.handleStreet(sovThankyouConfig);\n    this.handleCountryCode(sovThankyouConfig, sovThankyouStatus);\n    this.handleOrderValue(sovThankyouConfig);\n  });\n}\nfunction handleCountryCode(sovThankyouConfig, sovThankyouStatus) {\n  if (sovThankyouConfig.customerData.consumerCountry === \"UK\") {\n    sovThankyouConfig.customerData.consumerCountry = CountryCodes.GB;\n  }\n  if (!sovThankyouConfig.customerData.consumerCountry) {\n    sovThankyouStatus.status.countryCodePassedOnByPlugin = false;\n    sovThankyouConfig.customerData.consumerCountry = sovThankyouConfig.customerData.consumerCountry || this.detectCountryCode();\n  } else {\n    sovThankyouStatus.status.countryCodePassedOnByPlugin = true;\n  }\n}\nfunction handleOptimizeConversion(sovThankyouConfig, sovThankyouStatus) {\n  return __async(this, null, function* () {\n    var _a;\n    const optimizeId = getOptimizeId(\n      sovThankyouConfig.settings,\n      sovThankyouConfig.customerData.consumerCountry\n    );\n    if (!optimizeId) {\n      return;\n    }\n    const couponCode = (_a = sovThankyouConfig.orderData.usedCouponCodes) == null ? void 0 : _a[0];\n    yield this.handleOptimizeConversionScript(\n      optimizeId,\n      couponCode,\n      sovThankyouConfig,\n      sovThankyouStatus\n    );\n  });\n}\nfunction handleStreet(sovThankyouConfig) {\n  if (sovThankyouConfig.customerData.consumerStreetWithNumber) {\n    const [street, streetNumber] = this.splitStreetAndStreetNumber(\n      sovThankyouConfig.customerData.consumerStreetWithNumber\n    );\n    sovThankyouConfig.customerData.consumerStreet = street;\n    sovThankyouConfig.customerData.consumerStreetNumber = streetNumber;\n  }\n}\nfunction handleOrderValue(sovThankyouConfig) {\n  const orderValueData = sovThankyouConfig.orderData.orderValue;\n  if (!orderValueData) {\n    return;\n  }\n  if (orderValueData.netOrderValue) {\n    orderValueData.netOrderValue = makeNumber(orderValueData.netOrderValue);\n  } else {\n    orderValueData.netOrderValue = calculateNetValue(orderValueData);\n  }\n}\nfunction calculateNetValue(orderValueData) {\n  const grossOrderValue = makeNumber(orderValueData.grossOrderValue);\n  if (typeof grossOrderValue === \"undefined\") {\n    return void 0;\n  } else {\n    const shippingValue = makeNumber(orderValueData.shippingValue);\n    if (typeof shippingValue === \"undefined\") {\n      loggerError(\n        \"shippingValue is not defined in SovendusThankyouPage.calculateOrderValue\",\n        \"ThankyouPage\"\n      );\n    }\n    const taxValue = calculateTaxValue(orderValueData, grossOrderValue);\n    return Math.max(0, grossOrderValue - taxValue - (shippingValue || 0));\n  }\n}\nfunction calculateTaxValue(orderValueData, grossOrderValue) {\n  const taxValue = makeNumber(orderValueData.taxValue);\n  if (typeof taxValue === \"undefined\") {\n    const taxPercent = makeNumber(orderValueData.taxPercent);\n    if (typeof taxPercent === \"undefined\") {\n      loggerError(\n        \"Either taxPercent or taxValue has to be defined in SovendusThankyouPage.calculateOrderValue\",\n        \"ThankyouPage\"\n      );\n    } else {\n      return grossOrderValue / (1 + taxPercent / 100) * (taxPercent / 100);\n    }\n  } else {\n    return taxValue;\n  }\n  return 0;\n}\nfunction splitStreetAndStreetNumber(street) {\n  if (!street) {\n    return [\"\", \"\"];\n  }\n  const trimmedStreet = street.trim();\n  const apartmentComplexMatch = trimmedStreet.match(\n    /^(.*?),\\s*(\\d+[A-Za-z]?)\\s+(.+)$/\n  );\n  if (apartmentComplexMatch && apartmentComplexMatch[1] && apartmentComplexMatch[2] && apartmentComplexMatch[3]) {\n    const apartmentPart = apartmentComplexMatch[1].trim();\n    const streetNumber = apartmentComplexMatch[2].trim();\n    const streetName = apartmentComplexMatch[3].trim();\n    return [`${apartmentPart}, ${streetName}`, streetNumber];\n  }\n  const angleSaxonMatch = trimmedStreet.match(/^(\\d+[A-Za-z]?)\\s+(.+)$/);\n  if (angleSaxonMatch && angleSaxonMatch[1] && angleSaxonMatch[2]) {\n    const streetNumber = angleSaxonMatch[1].trim();\n    const streetName = angleSaxonMatch[2].trim();\n    if (streetName.split(/\\s+/).length >= 2) {\n      const possiblePostalCode = streetNumber.match(/^\\d{4,5}$/);\n      if (possiblePostalCode) {\n        return [trimmedStreet, \"\"];\n      }\n    }\n    return [streetName, streetNumber];\n  }\n  const europeanMatch = trimmedStreet.match(\n    /^(.*?)\\s+(\\d+(?:[\\s/-]*\\d*)(?:[A-Za-z])?(?:\\s+[A-Za-z])?)$/\n  );\n  if (europeanMatch && europeanMatch[1] && europeanMatch[2]) {\n    const streetName = europeanMatch[1].trim();\n    const streetNumber = europeanMatch[2].trim();\n    return [streetName, streetNumber];\n  }\n  return [trimmedStreet, \"\"];\n}\nfunction handleVoucherCode(sovThankyouConfig) {\n  return __async(this, null, function* () {\n    var _a;\n    const couponFromCookie = yield this.getCookie(\"sovCouponCode\");\n    if (couponFromCookie) {\n      this.clearCookie(\"sovCouponCode\");\n      sovThankyouConfig.orderData.usedCouponCodes = [couponFromCookie];\n      return;\n    }\n    if (sovThankyouConfig.orderData.usedCouponCode) {\n      if (!((_a = sovThankyouConfig.orderData.usedCouponCodes) == null ? void 0 : _a.length)) {\n        sovThankyouConfig.orderData.usedCouponCodes = [];\n      }\n      sovThankyouConfig.orderData.usedCouponCodes.push(\n        sovThankyouConfig.orderData.usedCouponCode\n      );\n    }\n  });\n}\nfunction initializeStatus() {\n  const sovThankyouStatus = {\n    integrationScriptVersion,\n    status: {\n      sovThankyouConfigFound: false,\n      integrationLoaderStarted: false,\n      integrationParametersLoaded: false,\n      checkoutProductsPixelFired: false,\n      loadedOptimize: false,\n      voucherNetworkLinkTrackingSuccess: false,\n      integrationLoaderVnCbStarted: false,\n      integrationLoaderDone: false,\n      voucherNetworkIframeContainerIdFound: false,\n      voucherNetworkIframeContainerFound: false,\n      countryCodePassedOnByPlugin: false\n    },\n    data: {\n      orderValue: void 0,\n      orderCurrency: void 0,\n      orderId: void 0,\n      sovCouponCode: void 0,\n      sovReqToken: void 0,\n      puid: void 0,\n      sovDebugLevel: void 0\n    },\n    times: {\n      integrationLoaderStart: this.getPerformanceTime()\n    }\n  };\n  return sovThankyouStatus;\n}\nfunction handleCheckoutProductsConversion(sovThankyouConfig, sovThankyouStatus) {\n  return __async(this, null, function* () {\n    const { checkoutProducts } = sovThankyouConfig.settings;\n    if (checkoutProducts) {\n      const sovReqToken = yield this.getCookie(\"sovReqToken\");\n      if (sovReqToken) {\n        this.clearCookie(\"sovReqToken\");\n        const pixelUrl = `https://press-order-api.sovendus.com/ext/image?sovReqToken=${decodeURIComponent(sovReqToken)}`;\n        yield fetch(pixelUrl);\n        sovThankyouStatus.status.checkoutProductsPixelFired = true;\n      }\n    }\n    return false;\n  });\n}\nfunction getVoucherNetworkConfig(sovThankyouConfig) {\n  var _a, _b, _c, _d, _e, _f;\n  if (((_b = (_a = sovThankyouConfig.settings) == null ? void 0 : _a.voucherNetwork) == null ? void 0 : _b.settingType) === SettingsType.SIMPLE) {\n    return (_d = (_c = sovThankyouConfig.settings) == null ? void 0 : _c.voucherNetwork) == null ? void 0 : _d.simple;\n  }\n  if (((_f = (_e = sovThankyouConfig.settings) == null ? void 0 : _e.voucherNetwork) == null ? void 0 : _f.settingType) === SettingsType.COUNTRY) {\n    return this.getVoucherNetworkCountryBasedSettings(sovThankyouConfig);\n  }\n  return void 0;\n}\nfunction getVoucherNetworkCountryBasedSettings(sovThankyouConfig) {\n  var _a, _b, _c, _d, _e, _f, _g, _h, _i;\n  const country = sovThankyouConfig.customerData.consumerCountry;\n  if (!sovThankyouConfig.customerData.consumerCountry) {\n    return void 0;\n  }\n  const countrySettings = (_d = (_c = (_b = (_a = sovThankyouConfig.settings) == null ? void 0 : _a.voucherNetwork) == null ? void 0 : _b.countries) == null ? void 0 : _c.ids) == null ? void 0 : _d[country];\n  const languagesSettings = countrySettings == null ? void 0 : countrySettings.languages;\n  if (!languagesSettings) {\n    return void 0;\n  }\n  const languagesAvailable = Object.keys(LANGUAGES_BY_COUNTRIES[country]);\n  if ((languagesAvailable == null ? void 0 : languagesAvailable.length) === 1) {\n    const language = languagesAvailable[0];\n    const languageSettings = languagesSettings[language];\n    return __spreadProps(__spreadValues({\n      isEnabled: (languageSettings == null ? void 0 : languageSettings.isEnabled) || false,\n      trafficSourceNumber: (languageSettings == null ? void 0 : languageSettings.trafficSourceNumber) || \"\",\n      trafficMediumNumber: (languageSettings == null ? void 0 : languageSettings.trafficMediumNumber) || \"\"\n    }, languageSettings), {\n      iframeContainerQuerySelector: ((_g = (_f = (_e = sovThankyouConfig.settings) == null ? void 0 : _e.voucherNetwork) == null ? void 0 : _f.countries) == null ? void 0 : _g.iframeContainerQuerySelector) || (languageSettings == null ? void 0 : languageSettings.iframeContainerQuerySelector)\n    });\n  }\n  if ((languagesAvailable == null ? void 0 : languagesAvailable.length) > 1) {\n    const languageKey = sovThankyouConfig.customerData.consumerLanguage || this.detectLanguageCode();\n    const languageSettings = languagesSettings[languageKey];\n    if (!languageSettings) {\n      return void 0;\n    }\n    return __spreadProps(__spreadValues({}, languageSettings), {\n      iframeContainerQuerySelector: ((_i = (_h = sovThankyouConfig.settings.voucherNetwork) == null ? void 0 : _h.countries) == null ? void 0 : _i.iframeContainerQuerySelector) || (languageSettings == null ? void 0 : languageSettings.iframeContainerQuerySelector)\n    });\n  }\n  return void 0;\n}\nconst flexibleIframeScriptId = \"sovendus-iframe-script\";\nfunction cleanUp() {\n  var _a, _b, _c, _d, _e, _f;\n  (_b = (_a = window.sovApplication) == null ? void 0 : _a.instances) == null ? void 0 : _b.forEach((instance) => {\n    var _a2, _b2, _c2, _d2, _e2, _f2, _g, _h;\n    if (instance.isCollapsableOverlay) {\n      (_b2 = (_a2 = window.sovApplication) == null ? void 0 : _a2.collapsableOverlay) == null ? void 0 : _b2.closeInstance(instance, false);\n      (_d2 = (_c2 = window.sovApplication) == null ? void 0 : _c2.sovCollector) == null ? void 0 : _d2.clearProperties();\n    }\n    if (instance.isStickyBanner) {\n      (_f2 = (_e2 = window.sovApplication) == null ? void 0 : _e2.stickyBanner) == null ? void 0 : _f2.closeInstance(instance);\n      (_h = (_g = window.sovApplication) == null ? void 0 : _g.sovCollector) == null ? void 0 : _h.clearProperties();\n    }\n  });\n  if ((_c = window.sovApplication) == null ? void 0 : _c.messageListener) {\n    window.removeEventListener(\n      \"message\",\n      (_d = window.sovApplication) == null ? void 0 : _d.messageListener,\n      true\n    );\n    window.sovApplication.resizeListenerAdded = false;\n  }\n  if (window.sovThankyouConfig) {\n    delete window.sovThankyouConfig;\n  }\n  if (window.sovThankyouStatus) {\n    delete window.sovThankyouStatus;\n  }\n  if (window.sovConsumer) {\n    delete window.sovConsumer;\n  }\n  if (window.sovIframes) {\n    delete window.sovIframes;\n  }\n  if (window.sovApplication) {\n    delete window.sovApplication;\n  }\n  (_e = document.getElementById(sovLoaderScriptId)) == null ? void 0 : _e.remove();\n  (_f = document.getElementById(flexibleIframeScriptId)) == null ? void 0 : _f.remove();\n}\nclass SovendusThankyouPage {\n  constructor() {\n    // Standard implementation of the Sovendus thankyou page script\n    // You can extend this class and override the methods to customize the behavior\n    // You can find example overrides in any of our Sovendus plugins\n    // Also make sure to check out our docs for more information\n    __publicField(this, \"main\", sovendusThankyouMain);\n    __publicField(this, \"processConfig\", processConfig);\n    __publicField(this, \"handleCountryCode\", handleCountryCode);\n    __publicField(this, \"handleOptimizeConversion\", handleOptimizeConversion);\n    __publicField(this, \"handleStreet\", handleStreet);\n    __publicField(this, \"splitStreetAndStreetNumber\", splitStreetAndStreetNumber);\n    __publicField(this, \"handleVoucherCode\", handleVoucherCode);\n    __publicField(this, \"initializeStatus\", initializeStatus);\n    __publicField(this, \"handleOrderValue\", handleOrderValue);\n    __publicField(this, \"handleCheckoutProductsConversion\", handleCheckoutProductsConversion);\n    __publicField(this, \"getVoucherNetworkConfig\", getVoucherNetworkConfig);\n    __publicField(this, \"getVoucherNetworkCountryBasedSettings\", getVoucherNetworkCountryBasedSettings);\n    __publicField(this, \"getPerformanceTime\", getPerformanceTime);\n    __publicField(this, \"detectCountryCode\", detectCountryCode);\n  }\n  // Is async in case the plugin needs to wait for the script to load\n  handleOptimizeConversionScript(optimizeId, couponCode, sovThankyouConfig, sovThankyouStatus) {\n    var _a;\n    throwErrorInNonBrowserContext({\n      methodName: \"handleOptimizeConversionScript\",\n      pageType: \"ThankyouPage\",\n      requiresDocument: true\n    });\n    const script = document.createElement(\"script\");\n    script.type = \"text/javascript\";\n    script.async = true;\n    script.src = `https://www.sovopt.com/${optimizeId}/conversion/?ordervalue=${(_a = sovThankyouConfig.orderData.orderValue) == null ? void 0 : _a.netOrderValue}&ordernumber=${sovThankyouConfig.orderData.orderId}&vouchercode=${couponCode}&email=${sovThankyouConfig.customerData.consumerEmail}`;\n    document.body.appendChild(script);\n    sovThankyouStatus.status.loadedOptimize = true;\n  }\n  handleVoucherNetwork(sovThankyouConfig, sovThankyouStatus) {\n    var _a, _b;\n    throwErrorInNonBrowserContext({\n      methodName: \"handleVoucherNetwork\",\n      pageType: \"ThankyouPage\",\n      requiresDocument: true,\n      requiresWindow: true\n    });\n    const voucherNetworkConfig = this.getVoucherNetworkConfig(sovThankyouConfig);\n    const couponCode = (_a = sovThankyouConfig.orderData.usedCouponCodes) == null ? void 0 : _a[0];\n    if ((voucherNetworkConfig == null ? void 0 : voucherNetworkConfig.trafficSourceNumber) && (voucherNetworkConfig == null ? void 0 : voucherNetworkConfig.trafficMediumNumber) && (voucherNetworkConfig == null ? void 0 : voucherNetworkConfig.isEnabled)) {\n      const iframeContainerId = this.handleSovendusVoucherNetworkDivContainer(\n        voucherNetworkConfig,\n        sovThankyouConfig,\n        sovThankyouStatus\n      );\n      window.sovIframes = window.sovIframes || [];\n      window.sovIframes.push({\n        trafficSourceNumber: voucherNetworkConfig.trafficSourceNumber,\n        trafficMediumNumber: voucherNetworkConfig.trafficMediumNumber,\n        sessionId: sovThankyouConfig.orderData.sessionId,\n        orderId: sovThankyouConfig.orderData.orderId,\n        orderValue: (_b = sovThankyouConfig.orderData.orderValue) == null ? void 0 : _b.netOrderValue,\n        orderCurrency: sovThankyouConfig.orderData.orderCurrency,\n        usedCouponCode: couponCode,\n        iframeContainerId,\n        integrationType: sovThankyouConfig.integrationType\n      });\n      window.sovConsumer = {\n        consumerFirstName: sovThankyouConfig.customerData.consumerFirstName,\n        consumerLastName: sovThankyouConfig.customerData.consumerLastName,\n        consumerEmail: sovThankyouConfig.customerData.consumerEmail,\n        consumerStreet: sovThankyouConfig.customerData.consumerStreet,\n        consumerStreetNumber: sovThankyouConfig.customerData.consumerStreetNumber,\n        consumerZipcode: sovThankyouConfig.customerData.consumerZipcode,\n        consumerCity: sovThankyouConfig.customerData.consumerCity,\n        consumerCountry: sovThankyouConfig.customerData.consumerCountry,\n        consumerPhone: sovThankyouConfig.customerData.consumerPhone,\n        consumerDateOfBirth: sovThankyouConfig.customerData.consumerDateOfBirth,\n        consumerYearOfBirth: sovThankyouConfig.customerData.consumerYearOfBirth,\n        consumerEmailHash: sovThankyouConfig.customerData.consumerEmailHash,\n        consumerSalutation: sovThankyouConfig.customerData.consumerSalutation,\n        consumerStreetWithNumber: sovThankyouConfig.customerData.consumerStreetWithNumber,\n        consumerLanguage: sovThankyouConfig.customerData.consumerLanguage\n      };\n      const script = document.createElement(\"script\");\n      script.type = \"text/javascript\";\n      script.async = true;\n      script.id = flexibleIframeScriptId;\n      script.src = \"https://api.sovendus.com/sovabo/common/js/flexibleIframe.js\";\n      document.body.appendChild(script);\n      sovThankyouStatus.status.integrationLoaderVnCbStarted = true;\n      sovThankyouStatus.times.integrationLoaderVnCbStart = this.getPerformanceTime();\n    }\n  }\n  handleSovendusVoucherNetworkDivContainer(voucherNetworkConfig, sovThankyouConfig, sovThankyouStatus) {\n    throwErrorInNonBrowserContext({\n      methodName: \"handleSovendusVoucherNetworkDivContainer\",\n      pageType: \"ThankyouPage\",\n      requiresDocument: true,\n      requiresWindow: true\n    });\n    const iframeContainerSettings = this.getIframeQuerySelector(\n      voucherNetworkConfig,\n      sovThankyouConfig\n    );\n    const rootElement = document.querySelector(\n      iframeContainerSettings.selector\n    );\n    if (rootElement) {\n      if (iframeContainerSettings.where === \"none\") {\n        return rootElement.id;\n      }\n      const sovendusDiv = document.createElement(\"div\");\n      sovendusDiv.id = \"sovendus-container\";\n      rootElement.insertAdjacentElement(\n        iframeContainerSettings.where,\n        sovendusDiv\n      );\n      sovThankyouStatus.status.voucherNetworkIframeContainerFound = true;\n      return sovendusDiv.id;\n    } else {\n      sovThankyouStatus.status.voucherNetworkIframeContainerFound = false;\n      loggerError(\n        `Voucher Network container query selector ${iframeContainerSettings.selector} not found`,\n        \"ThankyouPage\"\n      );\n      return \"\";\n    }\n  }\n  getIframeQuerySelector(voucherNetworkConfig, sovThankyouConfig) {\n    if (voucherNetworkConfig.iframeContainerQuerySelector) {\n      return voucherNetworkConfig.iframeContainerQuerySelector;\n    }\n    if (sovThankyouConfig.iframeContainerQuerySelector) {\n      return sovThankyouConfig.iframeContainerQuerySelector;\n    }\n    loggerError(\n      \"No iframeContainerQuerySelector found in SovendusThankYouPageConfig, trying default\",\n      \"ThankyouPage\"\n    );\n    return defaultIframeContainerQuerySelector;\n  }\n  // make it async as some platforms might need to wait for the cookies\n  getCookie(name) {\n    var _a;\n    throwErrorInNonBrowserContext({\n      methodName: \"getCookie\",\n      pageType: \"ThankyouPage\",\n      requiresDocument: true\n    });\n    const value = `; ${document.cookie}`;\n    const parts = value.split(`; ${name}=`);\n    if (parts.length === 2) {\n      return (_a = parts.pop()) == null ? void 0 : _a.split(\";\").shift();\n    }\n    return void 0;\n  }\n  clearCookie(name) {\n    throwErrorInNonBrowserContext({\n      methodName: \"clearCookie\",\n      pageType: \"ThankyouPage\",\n      requiresDocument: true,\n      requiresWindow: true\n    });\n    const path = \"/\";\n    const domain = window.location.hostname;\n    const cookieString = `${name}=;secure;samesite=strict;expires=Thu, 01 Jan 1970 00:00:00 UTC;domain=${domain};path=${path}`;\n    document.cookie = cookieString;\n  }\n  detectLanguageCode() {\n    throwErrorInNonBrowserContext({\n      methodName: \"getCookie\",\n      pageType: \"ThankyouPage\",\n      requiresDocument: true\n    });\n    const htmlLang = document.documentElement.lang.split(\"-\")[0];\n    if (htmlLang) {\n      return htmlLang;\n    }\n    return navigator.language.split(\"-\")[0];\n  }\n  unmount() {\n    cleanUp();\n  }\n}\nfunction loadSovendusThankyouPage() {\n  const OnDone = ({ sovThankyouStatus }) => {\n    window.sovThankyouStatus = sovThankyouStatus;\n  };\n  void new SovendusThankyouPage().main(window.sovThankyouConfig, OnDone);\n}\nexport {\n  SovendusPage,\n  SovendusThankyouPage,\n  castToCountry,\n  detectCountryCode,\n  flexibleIframeScriptId,\n  getCountryCodeFromHtmlTag,\n  getCountryFromDomain,\n  getCountryFromPagePath,\n  getOptimizeId,\n  getPerformanceTime,\n  getSovendusUrlParameters,\n  getVoucherNetworkConfig,\n  getVoucherNetworkCountryBasedSettings,\n  handleCheckoutProductsConversion,\n  handleCountryCode,\n  handleOptimizeConversion,\n  handleOptimizeScript,\n  handleOrderValue,\n  handlePageCountryCode,\n  handleStreet,\n  handleVoucherCode,\n  initializePageStatus,\n  initializeStatus,\n  integrationScriptVersion,\n  loadSovendusPage,\n  loadSovendusThankyouPage,\n  loggerError,\n  loggerInfo,\n  lookForUrlParamsToStore,\n  makeNumber,\n  makeString,\n  optimizeScriptId,\n  processConfig,\n  processPageConfig,\n  sovendusOptimize,\n  sovendusPageMain,\n  sovendusThankyouMain,\n  splitStreetAndStreetNumber,\n  throwErrorInNonBrowserContext,\n  urlParamAndCookieKeys\n};\n//# sourceMappingURL=index.mjs.map\n","export const version = \"2.0.6\";\nexport const integrationType = `react-${version}`;\n","// \"use client\";\n\n// import type { JSX } from \"react\";\n// import type { SovendusLandingPageReactProps as _SovendusLandingPageReactProps } from \"sovendus-integration-scripts/react\";\n// import { SovendusLandingPageReact as _SovendusLandingPageReact } from \"sovendus-integration-scripts/react\";\n\n// import { integrationType } from \"./constants\";\n\n// export type SovendusLandingPageReactProps = Omit<\n//   _SovendusLandingPageReactProps,\n//   \"integrationType\"\n// >;\n\n// export function SovendusLandingPageReact(\n//   props: SovendusLandingPageReactProps,\n// ): JSX.Element {\n//   return (\n//     <_SovendusLandingPageReact {...props} integrationType={integrationType} />\n//   );\n// }\n\n\"use client\";\n\n// import type { Element } from \"react\";\nimport type { ReactElement } from \"react\";\nimport { useEffect, useMemo } from \"react\";\nimport { SovendusPage } from \"sovendus-integration-scripts\";\nimport type {\n  SovendusPageConfig,\n  SovendusPageData,\n  SovendusPageWindow,\n  SovPageStatus,\n} from \"sovendus-integration-types\";\n\nimport { integrationType } from \"./constants\";\n\nexport interface SovendusLandingPageReactProps\n  extends Omit<SovendusPageConfig, \"integrationType\"> {\n  onDone?: (\n    sovPageStatus: SovPageStatus,\n    sovPageConfig: SovendusPageConfig,\n  ) => void | Promise<void>;\n}\n\nexport function SovendusLandingPageReact(\n  props: SovendusLandingPageReactProps,\n): ReactElement {\n  return useMemo(() => {\n    return <Handler {...props} />;\n    // eslint-disable-next-line react-compiler/react-compiler\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, []);\n}\n\nfunction Handler({\n  onDone,\n  ...sovPageConfig\n}: SovendusLandingPageReactProps): ReactElement {\n  useEffect(() => {\n    if (typeof window === \"undefined\") {\n      return;\n    }\n    if (\n      window.sovendusPageInitialized &&\n      Date.now() - window.sovendusPageInitialized < 1000\n    ) {\n      // debounce for dev env\n      return;\n    }\n    window.sovendusPageInitialized = Date.now();\n    // this is done for the testing app\n    window.sovPageConfig = {\n      ...sovPageConfig,\n      integrationType,\n    };\n    const _onDone = ({ sovPageStatus }: SovendusPageData): void => {\n      // this is done for the testing app\n      window.sovPageStatus = sovPageStatus;\n      void onDone?.(sovPageStatus, window.sovPageConfig);\n    };\n    const sovendusPage = new SovendusPage();\n    void sovendusPage.main(window.sovPageConfig, _onDone);\n    return (): void => {\n      if (\n        window.sovendusPageInitialized &&\n        Date.now() - window.sovendusPageInitialized < 1000\n      ) {\n        // debounce for dev env\n        return;\n      }\n      sovendusPage.unmount();\n    };\n    // eslint-disable-next-line react-compiler/react-compiler\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, []);\n  return <></>;\n}\n\ninterface _SovendusPageWindow extends SovendusPageWindow {\n  sovendusPageInitialized?: number;\n}\n\ndeclare let window: _SovendusPageWindow;\n","// \"use client\";\n\n// import type { JSX } from \"react\";\n// import type { SovendusThankyouPageReactProps as _SovendusThankyouPageReactProps } from \"sovendus-integration-scripts/react\";\n// import { SovendusThankyouPageReact as _SovendusThankyouPageReact } from \"sovendus-integration-scripts/react\";\n\n// import { integrationType } from \"./constants\";\n\n// export type SovendusThankyouPageReactProps = Omit<\n//   _SovendusThankyouPageReactProps,\n//   \"integrationType\"\n// >;\n\n// export function SovendusThankyouPageReact(\n//   props: SovendusThankyouPageReactProps,\n// ): JSX.Element {\n//   return (\n//     <_SovendusThankyouPageReact {...props} integrationType={integrationType} />\n//   );\n// }\n\n\"use client\";\n\nimport type { ReactElement } from \"react\";\nimport { useEffect, useMemo } from \"react\";\nimport { SovendusThankyouPage } from \"sovendus-integration-scripts\";\nimport type {\n  IframeContainerQuerySelectorSettings,\n  IntegrationData,\n  SovendusThankYouPageConfig,\n  SovendusThankyouPageData,\n  SovendusThankyouWindow,\n} from \"sovendus-integration-types\";\n\nimport { integrationType } from \"./constants\";\n\nexport interface SovendusThankyouPageReactProps\n  extends Omit<\n    SovendusThankYouPageConfig,\n    \"iframeContainerQuerySelector\" | \"integrationType\" | \"sovDebugLevel\"\n  > {\n  onDone?: (\n    sovThankyouStatus: IntegrationData,\n    sovThankyouConfig: SovendusThankYouPageConfig,\n  ) => void | Promise<void>;\n}\n\nexport function SovendusThankyouPageReact({\n  onDone,\n  ...sovThankyouConfig\n}: SovendusThankyouPageReactProps): ReactElement {\n  const containerId = \"sovendus-thankyou-container\";\n  const containerSelector = `#${containerId}`;\n  const iframeContainerQuerySelector: IframeContainerQuerySelectorSettings = {\n    selector: containerSelector,\n    where: \"none\",\n  };\n  const config: SovendusThankYouPageConfig = {\n    ...sovThankyouConfig,\n    sovDebugLevel: undefined,\n    integrationType,\n    iframeContainerQuerySelector,\n  };\n  useEffect(() => {\n    if (typeof window === \"undefined\") {\n      return;\n    }\n    if (\n      window.sovendusThankyouPageInitialized &&\n      Date.now() - window.sovendusThankyouPageInitialized < 1000\n    ) {\n      // debounce for dev env\n      return;\n    }\n    window.sovendusThankyouPageInitialized = Date.now();\n    // used for debugging with the testing app\n    window.sovThankyouConfig = config;\n    const _onDone = ({ sovThankyouStatus }: SovendusThankyouPageData): void => {\n      // used for debugging with the testing app\n      window.sovThankyouStatus = sovThankyouStatus;\n      void onDone?.(sovThankyouStatus, config);\n    };\n\n    const sovendusPage = new SovendusThankyouPage();\n    void sovendusPage.main(config, _onDone);\n    return (): void => {\n      if (\n        window.sovendusThankyouPageInitialized &&\n        Date.now() - window.sovendusThankyouPageInitialized < 1000\n      ) {\n        // debounce for dev env\n        return;\n      }\n      sovendusPage.unmount();\n    };\n    // eslint-disable-next-line react-compiler/react-compiler\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, []);\n\n  return useMemo(() => <div id={containerId} />, []);\n}\ninterface _SovendusThankyouWindow extends SovendusThankyouWindow {\n  sovendusThankyouPageInitialized?: number;\n}\n\ndeclare const window: _SovendusThankyouWindow;\n"],"names":["__defProp","__defProps","__getOwnPropDescs","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","__spreadValues","__spreadProps","useMemo","jsx","useEffect","Fragment"],"mappings":"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","x_google_ignoreList":[0]}