{"version":3,"file":"js/app.2d2e6233.js","mappings":"4DAYA,cACEA,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,G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AOm4B,EAAoBE,EAAExsB,EAAI,GAClC,GACD,CACAosB,EAAoB58B,KAAO,WAAa,OAAOD,OAAOC,KAAKgL,EAAM,EACjE4xB,EAAoBpsB,GAAK,KACzB3B,EAAO/N,QAAU87B,C,uBC1EjB,IAAI5xB,EAAM,CACT,OAAQ,CACP,KACA,EACA,KAED,YAAa,CACZ,KACA,EACA,KAED,wBAAyB,CACxB,KACA,GAED,2BAA4B,CAC3B,KACA,GAED,OAAQ,CACP,IACA,EACA,KAED,YAAa,CACZ,IACA,EACA,KAED,wBAAyB,CACxB,KACA,GAED,2BAA4B,CAC3B,KACA,GAED,OAAQ,CACP,KACA,EACA,KAED,YAAa,CACZ,KACA,EACA,KAED,OAAQ,CACP,KACA,EACA,KAED,YAAa,CACZ,KACA,EACA,KAED,OAAQ,CACP,KACA,EACA,KAED,YAAa,CACZ,KACA,EACA,KAED,OAAQ,CACP,KACA,EACA,KAED,YAAa,CACZ,KACA,EACA,KAED,sBAAuB,CACtB,KACA,EACA,KAED,2BAA4B,CAC3B,KACA,EACA,KAED,sBAAuB,CACtB,KACA,EACA,KAED,2BAA4B,CAC3B,KACA,EACA,KAED,sBAAuB,CACtB,KACA,EACA,KAED,2BAA4B,CAC3B,KACA,EACA,KAED,sBAAuB,CACtB,KACA,EACA,KAED,2BAA4B,CAC3B,KACA,EACA,KAED,sBAAuB,CACtB,KACA,EACA,KAED,2BAA4B,CAC3B,KACA,EACA,KAED,sBAAuB,CACtB,KACA,EACA,KAED,2BAA4B,CAC3B,KACA,EACA,KAED,eAAgB,CACf,KACA,EACA,KAED,oBAAqB,CACpB,KACA,EACA,KAED,eAAgB,CACf,KACA,EACA,KAED,oBAAqB,CACpB,KACA,EACA,KAED,eAAgB,CACf,KACA,EACA,KAED,oBAAqB,CACpB,KACA,EACA,KAED,eAAgB,CACf,KACA,EACA,KAED,oBAAqB,CACpB,KACA,EACA,KAED,eAAgB,CACf,KACA,EACA,KAED,oBAAqB,CACpB,KACA,EACA,KAED,eAAgB,CACf,KACA,EACA,KAED,oBAAqB,CACpB,K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","sources":["webpack://frontend/./src/locations/countryCodeToOffice.js","webpack://frontend/./src/locations/domainToLocationMap.js","webpack://frontend/./src/locations/list.js","webpack://frontend/./src/locations/locationParamMap.js","webpack://frontend/./src/views/ThankYou.vue","webpack://frontend/./src/views/thankyou/layout/ThankYouGalleries.vue","webpack://frontend/./src/views/thankyou/layout/ThankYouGalleries.vue?e959","webpack://frontend/./src/views/thankyou/layout/ThankYouCampaigns.vue","webpack://frontend/./src/views/thankyou/layout/ThankYouCampaigns.vue?a8e9","webpack://frontend/./src/components/SocialShare.vue","webpack://frontend/./src/components/SocialShare.vue?844f","webpack://frontend/./src/utilities/camelToSnakeCase.js","webpack://frontend/./src/stores/donation.js","webpack://frontend/./src/stores/l10n.js","webpack://frontend/./src/views/ThankYou.vue?231b","webpack://frontend/./src/views/DonationIntro.vue","webpack://frontend/./src/views/donation/layout/DonationHeader.vue","webpack://frontend/./src/views/donation/layout/DonationContainer.vue","webpack://frontend/./src/views/donation/layout/DonationContainer.vue?ddc3","webpack://frontend/./src/transitions/Slide.vue","webpack://frontend/./src/transitions/Slide.vue?680e","webpack://frontend/./src/stores/root.js","webpack://frontend/./src/views/donation/layout/DonationHeader.vue?4fbd","webpack://frontend/./src/views/donation/layout/DonationFooter.vue","webpack://frontend/./src/views/donation/layout/DonationFooter.vue?a97d","webpack://frontend/./src/components/donation/CurrencySelect.vue","webpack://frontend/./src/components/donation/CurrencySelect.vue?71db","webpack://frontend/./src/components/donation/AmountPreselect.vue","webpack://frontend/./src/components/donation/SuggestedAmounts.vue","webpack://frontend/./src/components/donation/SuggestedAmounts.vue?3270","webpack://frontend/./src/components/donation/SuggestedAmountsForAppeals.vue","webpack://frontend/./src/components/donation/SuggestedAmountsForAppeals.vue?6f05","webpack://frontend/./src/components/form/FormField.vue","webpack://frontend/./src/components/form/FormField.vue?0bba","webpack://frontend/./src/components/donation/TaxReliefCalculator.vue","webpack://frontend/./src/utilities/calculateTaxRelief.js","webpack://frontend/./src/components/donation/TaxReliefCalculator.vue?52a7","webpack://frontend/./src/components/donation/AmountPreselect.vue?7575","webpack://frontend/./src/components/donation/CountryLocationSelect.vue","webpack://frontend/./src/components/form/SelectField.vue","webpack://frontend/./src/components/form/SelectField.vue?80b5","webpack://frontend/./src/components/donation/CountryLocationSelect.vue?18b4","webpack://frontend/./src/components/donation/DonationTypeSelect.vue","webpack://frontend/./src/components/donation/DonationFrequencySelect.vue","webpack://frontend/./src/components/donation/DonationFrequencySelect.vue?36c2","webpack://frontend/./src/components/donation/DonationTypeSelect.vue?f283","webpack://frontend/./src/views/DonationIntro.vue?ddc0","webpack://frontend/./src/views/PersonalDetails.vue","webpack://frontend/./src/views/donation/DonationForm.vue","webpack://frontend/./src/views/donation/DonationForm.vue?fa1c","webpack://frontend/./src/components/donation/GiftAid.vue","webpack://frontend/./src/components/form/CheckBox.vue","webpack://frontend/./src/components/form/CheckBox.vue?75a1","webpack://frontend/./src/components/donation/GiftAid.vue?a406","webpack://frontend/./src/components/donation/TaxIdentification.vue","webpack://frontend/./src/components/donation/tax/EsTaxInformation.vue","webpack://frontend/./src/lib/validation/validateSpanishID.js","webpack://frontend/./src/components/donation/tax/EsTaxInformation.vue?5e68","webpack://frontend/./src/components/donation/tax/ItTaxInformation.vue","webpack://frontend/./src/components/donation/tax/ItTaxInformation.vue?e151","webpack://frontend/./src/components/donation/TaxIdentification.vue?8f28","webpack://frontend/./src/components/donation/ProgressTracker.vue","webpack://frontend/./src/components/donation/ProgressTracker.vue?54e1","webpack://frontend/./src/components/donation/DonationSummary.vue","webpack://frontend/./src/components/donation/DonationSummary.vue?120e","webpack://frontend/./src/components/donation/GiftDonation.vue","webpack://frontend/./src/components/donation/GiftDonation.vue?0c35","webpack://frontend/./src/components/donation/NewsletterSignup.vue","webpack://frontend/./src/components/donation/NewsletterSignup.vue?c5b5","webpack://frontend/./src/components/donation/PrivacyStatement.vue","webpack://frontend/./src/components/donation/PrivacyStatement.vue?84c0","webpack://frontend/./src/views/PersonalDetails.vue?dc8b","webpack://frontend/./src/views/PaymentDetails.vue","webpack://frontend/./src/lib/donation/awaitUpdate.js","webpack://frontend/./src/lib/donation/serialize.js","webpack://frontend/./src/lib/donation/storeDonation.js","webpack://frontend/./src/utilities/sensitiveDataFilter.js","webpack://frontend/./src/lib/donation/submitDonation.js","webpack://frontend/./src/components/donation/PaymentMethodSelect.vue","webpack://frontend/./src/payments/paypal/PaypalComponent.vue","webpack://frontend/./src/lib/payment/storePaymentDetails.js","webpack://frontend/./src/payments/paypal/methods.js","webpack://frontend/./src/stores/payment.js","webpack://frontend/./src/payments/paypal/PaypalComponent.vue?1963","webpack://frontend/./src/payments/stripe/StripeComponent.vue","webpack://frontend/./src/lib/donation/handleTwoFactorAuth.js","webpack://frontend/./src/payments/stripe/methods.js","webpack://frontend/./src/payments/stripe/StripeComponent.vue?eb5b","webpack://frontend/./src/payments/sepa/SepaComponent.vue","webpack://frontend/./src/payments/sepa/methods.js","webpack://frontend/./src/payments/sepa/SepaComponent.vue?e360","webpack://frontend/./src/payments/smartdebit/SmartdebitComponent.vue","webpack://frontend/./src/components/donation/CollectionDateSelect.vue","webpack://frontend/./src/components/donation/CollectionDateSelect.vue?3547","webpack://frontend/./src/payments/smartdebit/methods.js","webpack://frontend/./src/payments/smartdebit/SmartdebitComponent.vue?0c1f","webpack://frontend/./src/components/donation/PaymentMethodSelect.vue?88f0","webpack://frontend/./src/components/LoadingPanel.vue","webpack://frontend/./src/transitions/Fade.vue","webpack://frontend/./src/transitions/Fade.vue?f0ed","webpack://frontend/./src/components/LoadingPanel.vue?3047","webpack://frontend/./src/views/PaymentDetails.vue?261a","webpack://frontend/./src/views/SmartDebitConfirmation.vue","webpack://frontend/./src/views/SmartDebitConfirmation.vue?24f6","webpack://frontend/./src/views/PaymentCallback.vue","webpack://frontend/./src/payments/paypal/callbacks/Authorised.vue","webpack://frontend/./src/utilities/storageAvailable.js","webpack://frontend/./src/lib/payment/loadPaymentDetails.js","webpack://frontend/./src/lib/donation/loadDonation.js","webpack://frontend/./src/payments/paypal/callbacks/Authorised.vue?dfe7","webpack://frontend/./src/views/PaymentCallback.vue?d19a","webpack://frontend/./src/views/layout/WithNavigation.vue","webpack://frontend/./src/views/layout/MainNav.vue","webpack://frontend/./src/views/layout/MainNav.vue?0600","webpack://frontend/./src/views/layout/MainFooter.vue","webpack://frontend/./src/views/layout/MainFooter.vue?b1f4","webpack://frontend/./src/views/layout/WithNavigation.vue?41dd","webpack://frontend/./src/router.js","webpack://frontend/./src/App.vue","webpack://frontend/./src/App.vue?7ccd","webpack://frontend/./src/plugins/localisation/service.js","webpack://frontend/./src/plugins/localisation/index.js","webpack://frontend/./src/i18n.js","webpack://frontend/./src/plugins/loadScript/index.js","webpack://frontend/./src/animation.js","webpack://frontend/./src/main.js","webpack://frontend/./src/locations/lang/countries/ lazy ^\\.\\/.*$ namespace object","webpack://frontend/./src/locations/lang/states/ lazy ^\\.\\/.*$ namespace object","webpack://frontend/./src/locations/lang/ lazy ^\\.\\/.*\\.json$ namespace object","webpack://frontend/./src/locations/ lazy ^\\.\\/.*$ namespace object","webpack://frontend/webpack/bootstrap","webpack://frontend/webpack/runtime/chunk loaded","webpack://frontend/webpack/runtime/compat get default export","webpack://frontend/webpack/runtime/create fake namespace object","webpack://frontend/webpack/runtime/define property getters","webpack://frontend/webpack/runtime/ensure chunk","webpack://frontend/webpack/runtime/get javascript chunk filename","webpack://frontend/webpack/runtime/get mini-css chunk filename","webpack://frontend/webpack/runtime/global","webpack://frontend/webpack/runtime/hasOwnProperty shorthand","webpack://frontend/webpack/runtime/load script","webpack://frontend/webpack/runtime/make namespace object","webpack://frontend/webpack/runtime/publicPath","webpack://frontend/webpack/runtime/jsonp chunk loading","webpack://frontend/webpack/startup"],"sourcesContent":["// This match a country to one of our 6 Survival offices\n// Denoted by the office locale:\n/*\n  de - German office\n  es - Spanish office\n  gb - UK office\n  fr - French office\n  it - Italian office\n  pt - Brasil office\n  us -  US office\n*/\n// Currently only mapping for EN domains. (gb & us)\nexport default {\n  AD: 'gb',\n  AE: 'gb',\n  AF: 'gb',\n  AG: 'us',\n  AI: 'us',\n  AL: 'gb',\n  AM: 'gb',\n  AO: 'gb',\n  AQ: 'gb',\n  AR: 'us',\n  AS: 'gb',\n  AT: 'gb',\n  AU: 'gb',\n  AW: 'us',\n  AX: 'gb',\n  AZ: 'gb',\n  BA: 'gb',\n  BB: 'us',\n  BD: 'gb',\n  BE: 'gb',\n  BF: 'gb',\n  BG: 'gb',\n  BH: 'gb',\n  BI: 'gb',\n  BJ: 'gb',\n  BL: 'gb',\n  BM: 'us',\n  BN: 'gb',\n  BO: 'us',\n  BQ: 'gb',\n  BR: 'gb',\n  BS: 'us',\n  BT: 'gb',\n  BW: 'gb',\n  BY: 'gb',\n  BZ: 'us',\n  CA: 'us',\n  CC: 'gb',\n  CD: 'gb',\n  CF: 'gb',\n  CG: 'gb',\n  CH: 'gb',\n  CI: 'gb',\n  CK: 'gb',\n  CL: 'us',\n  CM: 'gb',\n  CN: 'gb',\n  CO: 'us',\n  CR: 'us',\n  CU: 'us',\n  CV: 'gb',\n  CW: 'us',\n  CX: 'gb',\n  CY: 'gb',\n  CZ: 'gb',\n  DE: 'gb',\n  DJ: 'gb',\n  DK: 'gb',\n  DM: 'us',\n  DO: 'us',\n  DZ: 'gb',\n  EC: 'us',\n  EE: 'gb',\n  EG: 'gb',\n  EH: 'gb',\n  ER: 'gb',\n  ES: 'gb',\n  ET: 'gb',\n  FI: 'gb',\n  FJ: 'gb',\n  FK: 'gb',\n  FM: 'gb',\n  FO: 'gb',\n  FR: 'gb',\n  GA: 'gb',\n  GB: 'gb',\n  GD: 'us',\n  GE: 'gb',\n  GF: 'us',\n  GG: 'gb',\n  GH: 'gb',\n  GI: 'gb',\n  GL: 'gb',\n  GM: 'gb',\n  GN: 'gb',\n  GP: 'us',\n  GQ: 'gb',\n  GR: 'gb',\n  GS: 'gb',\n  GT: 'us',\n  GU: 'gb',\n  GW: 'gb',\n  GY: 'us',\n  HK: 'gb',\n  HM: 'gb',\n  HN: 'us',\n  HR: 'gb',\n  HT: 'us',\n  HU: 'gb',\n  ID: 'gb',\n  IE: 'gb',\n  IL: 'gb',\n  IM: 'gb',\n  IN: 'gb',\n  IO: 'gb',\n  IQ: 'gb',\n  IR: 'gb',\n  IS: 'gb',\n  IT: 'gb',\n  JE: 'gb',\n  JM: 'us',\n  JO: 'gb',\n  JP: 'gb',\n  KE: 'gb',\n  KG: 'gb',\n  KH: 'gb',\n  KI: 'gb',\n  KM: 'gb',\n  KN: 'us',\n  KP: 'gb',\n  KR: 'gb',\n  KW: 'gb',\n  KY: 'us',\n  KZ: 'gb',\n  LA: 'gb',\n  LB: 'gb',\n  LC: 'us',\n  LI: 'gb',\n  LK: 'gb',\n  LR: 'gb',\n  LS: 'gb',\n  LT: 'gb',\n  LU: 'gb',\n  LV: 'gb',\n  LY: 'gb',\n  MA: 'gb',\n  MC: 'gb',\n  MD: 'gb',\n  ME: 'gb',\n  MF: 'gb',\n  MG: 'gb',\n  MH: 'gb',\n  MK: 'gb',\n  ML: 'gb',\n  MM: 'gb',\n  MN: 'gb',\n  MO: 'gb',\n  MP: 'gb',\n  MQ: 'us',\n  MR: 'gb',\n  MS: 'us',\n  MT: 'gb',\n  MU: 'gb',\n  MV: 'gb',\n  MW: 'gb',\n  MX: 'us',\n  MY: 'gb',\n  MZ: 'gb',\n  NA: 'gb',\n  NC: 'gb',\n  NE: 'gb',\n  NF: 'gb',\n  NG: 'gb',\n  NI: 'us',\n  NL: 'gb',\n  NO: 'gb',\n  NP: 'gb',\n  NR: 'gb',\n  NU: 'gb',\n  NZ: 'gb',\n  OM: 'gb',\n  PA: 'us',\n  PE: 'us',\n  PF: 'gb',\n  PG: 'gb',\n  PH: 'gb',\n  PK: 'gb',\n  PL: 'gb',\n  PM: 'gb',\n  PN: 'gb',\n  PR: 'us',\n  PS: 'gb',\n  PT: 'gb',\n  PW: 'gb',\n  PY: 'us',\n  QA: 'gb',\n  RE: 'gb',\n  RO: 'gb',\n  RS: 'gb',\n  RU: 'gb',\n  RW: 'gb',\n  SA: 'gb',\n  SB: 'gb',\n  SC: 'gb',\n  SD: 'gb',\n  SE: 'gb',\n  SG: 'gb',\n  SH: 'gb',\n  SI: 'gb',\n  SJ: 'gb',\n  SK: 'gb',\n  SL: 'gb',\n  SM: 'gb',\n  SN: 'gb',\n  SO: 'gb',\n  SR: 'us',\n  SS: 'gb',\n  ST: 'gb',\n  SV: 'us',\n  SX: 'gb',\n  SY: 'gb',\n  SZ: 'gb',\n  TC: 'gb',\n  TD: 'gb',\n  TF: 'gb',\n  TG: 'gb',\n  TH: 'gb',\n  TJ: 'gb',\n  TK: 'gb',\n  TL: 'gb',\n  TM: 'gb',\n  TN: 'gb',\n  TO: 'gb',\n  TR: 'gb',\n  TT: 'us',\n  TV: 'gb',\n  TW: 'gb',\n  TZ: 'gb',\n  UA: 'gb',\n  UG: 'gb',\n  UK: 'gb',\n  UM: 'gb',\n  US: 'us',\n  UY: 'us',\n  UZ: 'gb',\n  VA: 'gb',\n  VC: 'us',\n  VE: 'us',\n  VG: 'us',\n  VI: 'us',\n  VN: 'gb',\n  VU: 'gb',\n  WF: 'gb',\n  WS: 'gb',\n  YE: 'gb',\n  YT: 'gb',\n  ZA: 'gb',\n  ZM: 'gb',\n  ZW: 'gb'\n}\n","export default {\n  'beitragen.survivalinternational.de': 'de',\n  'hazte-socio-dona.survival.es': 'es',\n  'donate.survivalinternational.org': 'us',\n  'donner.survivalinternational.fr': 'fr',\n  'dona.survival.it': 'it',\n  'doar.survivalbrasil.org': 'br'\n}\n","export default ['us', 'gb', 'de', 'es', 'fr', 'it', 'br']\n","export default {\n  br: 'br',\n  de: 'de',\n  en_gb: 'gb',\n  en_us: 'us',\n  en: 'us',\n  gb: 'gb',\n  es: 'es',\n  fr: 'fr',\n  it: 'it',\n  pt: 'br',\n  us: 'us'\n}\n","<template>\n  <div class=\"thank-you-page\">\n    <header class=\"hero\">\n      <div\n        class=\"image\"\n        :style=\"{backgroundImage: `url(${imageSrc})`}\"\n      />\n      <div class=\"contain\">\n        <div class=\"page-title\">\n          <h1>\n            <mark>{{ titleText }} {{ forename }}</mark>\n          </h1>\n          <h3>\n            <mark>{{ formattedMsg }}</mark>\n          </h3>\n        </div>\n      </div>\n    </header>\n    <div\n      v-if=\"newsletter\"\n      class=\"contain newsletter-instructions\"\n    >\n      <h5 v-html=\"$t('thankYou.newletter_instructions')\" />\n    </div>\n    <SocialShare />\n    <ThankYouCampaigns />\n    <ThankYouGalleries />\n  </div>\n</template>\n\n<script>\nimport ThankYouGalleries from './thankyou/layout/ThankYouGalleries'\nimport ThankYouCampaigns from './thankyou/layout/ThankYouCampaigns'\nimport SocialShare from '@/components/SocialShare'\nimport { computed, reactive } from 'vue'\nimport { useHead } from '@vueuse/head'\nimport currency from 'currency.js'\nimport { useDonationStore } from '@/stores/donation'\nimport { useL10nStore } from '@/stores/l10n'\n\nexport default {\n  name: 'ThankYou',\n  components: {\n    ThankYouGalleries,\n    ThankYouCampaigns,\n    SocialShare\n  },\n  setup () {\n    const l10nStore = useL10nStore()\n    const donationStore = useDonationStore()\n    const siteData = reactive({ title: '' })\n    useHead({\n      title: computed(() => siteData.title)\n    })\n    return { siteData, donationStore, l10nStore }\n  },\n  beforeMount () {\n    this.siteData.title = this.$t('thankYou.header.default_title') + ' - Survival International'\n  },\n  computed: {\n    titleText () { return this.$t('thankYou.header.default_title') },\n    thanksText () {\n      return this.type === 'oneOff' ? 'thankYou.header.yourDonationOfX.oneOff' : 'thankYou.header.yourDonationOfX.regular'\n    },\n    newsletter () { return this.donationStore.newsletter },\n    imageSrc () { return this.$t('thankYou.header.default_image') },\n    amount () { return this.donationStore.amount },\n    curr () { return this.donationStore.currency },\n    currencies () {\n      if (this.l10nStore['current']) {\n        return this.l10nStore.current['currencies']\n      } else { return null }\n    },\n    forename () { return this.donationStore.forename },\n    type () { return this.donationStore.type },\n    formattedCurrency () {\n      if (this.currencies) {\n        return this.formatCurrency(this.amount, this.curr, this.currencies)\n      } else { return '' }\n    },\n    formattedMsg () { return this.$t(this.thanksText, { amount: this.formattedCurrency }) }\n  },\n  methods: {\n    removeLocalStorage () { localStorage.clear() },\n    formatCurrency (amount, curr, currencies) {\n      return currency(\n        amount, Object.assign({ formatWithSymbol: true }, currencies[curr].config), null\n      ).format()\n    }\n  },\n  mounted () {\n    this.$scrollToTop()\n    this.$nextTick(function () { this.removeLocalStorage() })\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n  .hero{\n    .page-title{\n      margin: auto 0 0 auto;\n    }\n  }\n  .newsletter-instructions {\n    background-color: #f2f2f2;\n    margin-top: 20px;\n    border-radius: 5px;\n    padding: 0 1rem 0 1rem;\n    h5 {\n      letter-spacing: 0.4pt;\n    }\n  }\n</style>\n","<template>\n  <section class=\"galleries\">\n    <div class=\"container contain\">\n      <header class=\"side-by-side\">\n        <h3>{{ $t('thankYou.galleries.header.title') }}</h3>\n        <div>\n          <p>{{ $t('thankYou.galleries.header.note') }}</p>\n        </div>\n      </header>\n      <div class=\"card-deck general-shadowed black\">\n        <a\n          class=\"card\"\n          :href=\"$t('thankYou.galleries.cards.same_as_sand.cta_link')\"\n          target=\"_blank\"\n        >\n          <img\n            class=\"card-img-top image-cap\"\n            :src=\"$t('thankYou.galleries.cards.same_as_sand.img_src')\"\n          >\n          <div class=\"card-body\">\n            <h4 class=\"card-title\">{{ $t('thankYou.galleries.cards.same_as_sand.title') }}</h4>\n            <p>{{ $t('thankYou.galleries.cards.same_as_sand.content') }}</p>\n          </div>\n        </a>\n        <a\n          class=\"card\"\n          :href=\"$t('thankYou.galleries.cards.our_universe.cta_link')\"\n          target=\"_blank\"\n        >\n          <img\n            class=\"card-img-top image-cap\"\n            :src=\"$t('thankYou.galleries.cards.our_universe.img_src')\"\n          >\n          <div class=\"card-body\">\n            <h4 class=\"card-title\">{{ $t('thankYou.galleries.cards.our_universe.title') }}</h4>\n            <p v-html=\"$t('thankYou.galleries.cards.our_universe.content')\" />\n          </div>\n        </a>\n        <a\n          class=\"card\"\n          :href=\"$t('thankYou.galleries.cards.great_spirits.cta_link')\"\n          target=\"_blank\"\n        >\n          <img\n            class=\"card-img-top image-cap\"\n            :src=\"$t('thankYou.galleries.cards.great_spirits.img_src')\"\n          >\n          <div class=\"card-body\">\n            <h4 class=\"card-title\">{{ $t('thankYou.galleries.cards.great_spirits.title') }}</h4>\n            <p>{{ $t('thankYou.galleries.cards.great_spirits.content') }}</p>\n          </div>\n        </a>\n      </div>\n      <footer>\n        <a\n          class=\"btn btn-primary\"\n          :href=\"$t('thankYou.galleries.footer.cta_link')\"\n          target=\"_blank\"\n        >\n          {{ $t('thankYou.galleries.footer.cta_text') }}\n        </a>\n      </footer>\n    </div>\n  </section>\n</template>\n<style lang=\"scss\" scoped>\n  .galleries{\n    padding: 1.5rem 0;\n    background-color: $color-dune;\n\n    @include on-non-mobile{\n      padding: 3rem 0;\n    }\n\n    header.side-by-side{\n      color: $color-body-bg;\n\n      h3{\n        color: $color-body-bg;\n      }\n    }\n\n    .card-deck{\n      @include on-tablet(){\n        flex-direction: column;\n        .card{\n          margin-bottom: 1.5rem;\n        }\n      }\n      @include on-desktop(){\n        flex-direction: row;\n        .card{\n          margin-bottom: 0rem;\n        }\n      }\n    }\n    footer{\n      display: flex;\n      justify-content: center;\n      align-items: center;\n      padding: 2rem 0.25rem 0;\n    }\n  }\n</style>\n","import { render } from \"./ThankYouGalleries.vue?vue&type=template&id=7717d7f0&scoped=true\"\nconst script = {}\n\nimport \"./ThankYouGalleries.vue?vue&type=style&index=0&id=7717d7f0&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7717d7f0\"]])\n\nexport default __exports__","<template>\n  <section class=\"campaigns\">\n    <div class=\"container contain\">\n      <header class=\"side-by-side\">\n        <h3>{{ $t('thankYou.campaigns.header.title') }}</h3>\n        <div>\n          <p>{{ $t('thankYou.campaigns.header.note') }}</p>\n        </div>\n      </header>\n      <div class=\"card-deck general-shadowed tall-poppy\">\n        <a\n          class=\"card\"\n          :href=\"$t('thankYou.campaigns.cards.conservation.cta_link')\"\n          target=\"_blank\"\n        >\n          <img\n            class=\"card-img-top image-cap\"\n            :src=\"$t('thankYou.campaigns.cards.conservation.img_src')\"\n          >\n          <div class=\"card-body\">\n            <h4 class=\"card-title\">{{ $t('thankYou.campaigns.cards.conservation.title') }}</h4>\n            <p>{{ $t('thankYou.campaigns.cards.conservation.content') }}</p>\n          </div>\n        </a>\n        <a\n          class=\"card\"\n          :href=\"$t('thankYou.campaigns.cards.uncontacted.cta_link')\"\n          target=\"_blank\"\n        >\n          <img\n            class=\"card-img-top image-cap\"\n            :src=\"$t('thankYou.campaigns.cards.uncontacted.img_src')\"\n          >\n          <div class=\"card-body\">\n            <h4 class=\"card-title\">{{ $t('thankYou.campaigns.cards.uncontacted.title') }}</h4>\n            <p>{{ $t('thankYou.campaigns.cards.uncontacted.content') }}</p>\n          </div>\n        </a>\n        <a\n          class=\"card\"\n          :href=\"$t('thankYou.campaigns.cards.tribal_voice.cta_link')\"\n          target=\"_blank\"\n        >\n          <img\n            class=\"card-img-top image-cap\"\n            :src=\"$t('thankYou.campaigns.cards.tribal_voice.img_src')\"\n          >\n          <div class=\"card-body\">\n            <h4 class=\"card-title\">{{ $t('thankYou.campaigns.cards.tribal_voice.title') }}</h4>\n            <p>{{ $t('thankYou.campaigns.cards.tribal_voice.content') }}</p>\n          </div>\n        </a>\n        <a\n          class=\"card\"\n          :href=\"$t('thankYou.campaigns.cards.factory_schools.cta_link')\"\n          target=\"_blank\"\n          v-if=\"$tm('thankYou.campaigns.cards.factory_schools.cta_link')[0]\"\n        >\n          <img\n            class=\"card-img-top image-cap\"\n            :src=\"$t('thankYou.campaigns.cards.factory_schools.img_src')\"\n          >\n          <div class=\"card-body\">\n            <h4 class=\"card-title\">{{ $t('thankYou.campaigns.cards.factory_schools.title') }}</h4>\n            <p>{{ $t('thankYou.campaigns.cards.factory_schools.content') }}</p>\n          </div>\n        </a>\n      </div>\n    </div>\n  </section>\n</template>\n<style lang=\"scss\" scoped>\n  .campaigns{\n    padding: 1.5rem 0;\n\n    @include on-non-mobile{\n      padding: 3rem 0;\n    }\n\n    .card-deck{\n      flex-direction: column;\n      @include on-tablet(){\n        flex-direction: row;\n        flex-wrap: wrap;\n      }\n      a.card{\n        @include on-tablet(){\n          flex: 1 1 45%;\n          margin-bottom: 1.5rem;\n        }\n        @include on-desktop(){\n          flex: 1 1 20%;\n          margin-bottom: 0rem;\n        }\n        &:nth-child(1){\n          h4{\n            color: $color-buddha-gold;\n          }\n\n          &:hover{\n            background-color: $color-buddha-gold;\n          }\n        }\n        &:nth-child(2){\n          h4{\n            color: $color-mai-tai;\n          }\n\n          &:hover{\n            background-color: $color-mai-tai;\n          }\n        }\n        &:nth-child(3){\n          h4{\n            color: $color-tall-poppy;\n          }\n\n          &:hover{\n            background-color: $color-tall-poppy;\n          }\n        }\n        &:nth-child(4){\n          h4{\n            color: $color-tall-poppy;\n          }\n\n          &:hover{\n            background-color: $color-tall-poppy;\n          }\n        }\n      }\n    }\n  }\n</style>\n","import { render } from \"./ThankYouCampaigns.vue?vue&type=template&id=70d1f6e3&scoped=true\"\nconst script = {}\n\nimport \"./ThankYouCampaigns.vue?vue&type=style&index=0&id=70d1f6e3&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-70d1f6e3\"]])\n\nexport default __exports__","<template>\n  <section class=\"share\">\n    <div class=\"container contain\">\n      <div class=\"share\">\n        <h3>\n          {{ $t('share.title') }}\n        </h3>\n        <div class=\"links\">\n          <template\n            v-for=\"(key) in Object.keys($tm('share.socialMedia'))\"\n            :key=\"key\"\n          >\n            <div :class=\"`${key}-share`\">\n              <a :href=\"$t(`share.socialMedia.${key}.url`)\">\n                <img\n                  :aria-label=\"$t(`share.socialMedia.${key}.label`)\"\n                  :class=\"key\"\n                  :src=\"$t(`share.socialMedia.${key}.imagePath`)\"\n                  :alt=\"$t(`share.socialMedia.${key}.label`)\"\n                  :title=\"$t(`share.socialMedia.${key}.label`)\"\n                >\n              </a>\n            </div>\n          </template>\n          <div\n            v-if=\"canCopy\"\n            class=\"add-to-clipboard\"\n          >\n            <a\n              @click=\"addToClipboard\"\n              :title=\"$t('share.canonicalUrl')\"\n            >\n              <img\n                :aria-label=\"$t('share.copyToClipboard.label')\"\n                :class=\"{ copied: copied }\"\n                :src=\"$t('share.copyToClipboard.imagePath')\"\n                :alt=\"$t('share.copyToClipboard.label')\"\n                :title=\"$t('share.copyToClipboard.label')\"\n              >\n            </a>\n          </div>\n        </div>\n      </div>\n    </div>\n  </section>\n</template>\n<script>\nimport { ref } from 'vue'\n\nexport default {\n  name: 'SocialShare',\n  setup () {\n    const copied = ref(false)\n    return { copied }\n  },\n  methods: {\n    async addToClipboard () {\n      this.copied = !this.copied\n      await this.$clipboard.writeText(this.$t('share.canonicalUrl'))\n    }\n  },\n  computed: {\n    canCopy () {\n      return !!this.$clipboard\n    }\n  }\n}\n</script>\n<style lang=\"scss\" scoped>\n.share {\n  width: 10rem;\n  margin-left: auto;\n  margin-right: auto;\n\n  .links {\n    display: flex;\n    justify-content: space-between;\n    div {\n      flex: 0 1 4rem;\n      img {\n        width: 4rem;\n        &:hover {\n          transform: translateY(-5px);\n        }\n      }\n    }\n  }\n  .add-to-clipboard {\n    .copied {\n      @include bounceIn();\n    }\n  }\n}\n</style>\n","import { render } from \"./SocialShare.vue?vue&type=template&id=43152625&scoped=true\"\nimport script from \"./SocialShare.vue?vue&type=script&lang=js\"\nexport * from \"./SocialShare.vue?vue&type=script&lang=js\"\n\nimport \"./SocialShare.vue?vue&type=style&index=0&id=43152625&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-43152625\"]])\n\nexport default __exports__","function strCamelToSnakeCase(str) {\n  return str.replace(/[A-Z]/g, letter => `_${letter.toLowerCase()}`);\n}\n\nfunction objectKeysCamelToSnakeCase(obj) {\n  return Object.fromEntries(Object.entries(obj).map(([k, v]) => [strCamelToSnakeCase(k), v]));\n}\n\nexport { strCamelToSnakeCase, objectKeysCamelToSnakeCase }\n","import { defineStore } from 'pinia'\nimport { objectKeysCamelToSnakeCase } from '@/utilities/camelToSnakeCase'\n\nexport const useDonationStore = defineStore('donation', {\n  namespaced: true,\n  state: () => {\n    return {\n      reference: null,\n      type: 'monthly',\n      amount: null,\n      forename: null,\n      surname: null,\n      email: null,\n      phone: '',\n      currency: null,\n      street: null,\n      zip: null,\n      city: null,\n      state: '',\n      country: 'none',\n      giftaid: false,\n      giftDonation: null,\n      newsletter: false,\n      tax: { idType: 'none', idNumber: null, taxNumber: null },\n      utms: {}\n    }\n  },\n  getters: {\n    currentDonation: (state) => {\n      return {\n        reference: state.reference,\n        type: state.type,\n        amount: state.amount,\n        forename: state.forename,\n        surname: state.surname,\n        email: state.email,\n        phone: state.phone,\n        currency: state.currency,\n        street: state.street,\n        zip: state.zip,\n        city: state.city,\n        state: state.state,\n        country: state.country,\n        giftaid: state.giftaid,\n        giftDonation: state.giftDonation,\n        newsletter: state.newsletter,\n        tax: state.tax,\n        utms: state.utms\n      }\n    },\n    donationParams: (state) => {\n      return {\n        reference: state.reference,\n        type: state.type,\n        amount: state.amount,\n        forename: state.forename,\n        surname: state.surname,\n        email: state.email,\n        phone: state.phone,\n        currency: state.currency,\n        street: state.street,\n        zip: state.zip,\n        city: state.city,\n        state: state.state,\n        country: state.country,\n        giftaid: state.giftaid,\n        gift_donation: state.giftDonation,\n        newsletter: state.newsletter,\n        tax: objectKeysCamelToSnakeCase(state.tax),\n        utms: state.utms\n      }\n    }\n  },\n  actions: {\n    setReference (payload) { this.reference = payload },\n    setType (payload) { this.type = payload },\n    setAmount (payload) { this.amount = payload },\n    setForename (payload) { this.forename = payload },\n    setSurname (payload) { this.surname = payload },\n    setEmail (payload) { this.email = payload },\n    setPhone (payload) { this.phone = payload },\n    setCurrency (payload) { this.currency = payload },\n    setStreet (payload) { this.street = payload },\n    setZip (payload) { this.zip = payload },\n    setCity (payload) { this.city = payload },\n    setState (payload) { this.state = payload },\n    setCountry (payload) { this.country = payload },\n    setGiftaid (payload) { this.giftaid = payload },\n    setGiftDonation (payload) { this.giftDonation = payload },\n    setNewsletter (payload) { this.newsletter = payload },\n    setUtms (payload) { this.utms = payload },\n    setTax (payload) { this.tax = payload },\n    reset () {\n      this.reference = null\n      this.type = 'monthly'\n      this.amount = null\n      this.forename = null\n      this.surname = null\n      this.email = null\n      this.phone = null\n      this.currency = null\n      this.street = null\n      this.zip = null\n      this.city = null\n      this.state = null\n      this.country = 'none'\n      this.giftaid = false\n      this.giftDonation = null\n      this.newsletter = null\n      this.utms = {}\n      this.tax = { idType: 'none', idNumber: null, taxNumber: null }\n    }\n  }\n})\n","import { defineStore } from 'pinia'\n\nexport const useL10nStore = defineStore('l10n', {\n  namespaced: true,\n  state: () => {\n    return {\n      current: null,\n      loadedLocations: {}\n    }\n  },\n  getters: {},\n  actions: {\n    addLocation ({ key, locationData }) {\n      this.loadedLocations[key] = Object.assign({}, locationData, { key: key })\n    },\n    set (location) {\n      this.current = this.loadedLocations[location]\n    },\n    setCurrentLocation (location) { this.current = location },\n    change (key) {\n      let promise = null\n\n      if (this.loadedLocations[key]) {\n        promise = Promise.resolve(key)\n      } else {\n        promise = import(`@/locations/${key}`)\n          .then(module => { return module.default })\n          .then(locationData => {\n            this.addLocation({ key, locationData })\n            return key\n          })\n      }\n\n      return promise\n        .then((key) => this.set(key))\n    }\n  }\n})\n","import { render } from \"./ThankYou.vue?vue&type=template&id=37b5d1d6&scoped=true\"\nimport script from \"./ThankYou.vue?vue&type=script&lang=js\"\nexport * from \"./ThankYou.vue?vue&type=script&lang=js\"\n\nimport \"./ThankYou.vue?vue&type=style&index=0&id=37b5d1d6&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-37b5d1d6\"]])\n\nexport default __exports__","<template>\n  <div id=\"donation\">\n    <DonationHeader>\n      <div class=\"columns\">\n        <div class=\"column\">\n          <CountryLocationSelect v-if=\"showCountryLocationSelect\" />\n          <TransitionSlide>\n            <CurrencySelect v-if=\"officeLocationKnown\" />\n          </TransitionSlide>\n          <TransitionSlide>\n            <DonationTypeSelect v-if=\"officeLocationKnown\" />\n          </TransitionSlide>\n          <AmountPreselect v-if=\"officeLocationKnown\" />\n          <p class=\"donation-nav\">\n            <router-link\n              :to=\"{ name: $t('routeNames.personalDetails') }\"\n              class=\"btn btn-primary continue\"\n              v-if=\"allowContinue\"\n            >\n              {{ $t('donationForm.continue') }}\n              <font-awesome-icon icon=\"arrow-right\" />\n            </router-link>\n            <router-link\n              :to=\"'#'\"\n              class=\"btn btn-primary disabled continue\"\n              v-else\n            >\n              {{ $t('donationForm.continue') }}\n              <font-awesome-icon icon=\"arrow-right\" />\n            </router-link>\n          </p>\n        </div>\n      </div>\n    </DonationHeader>\n    <DonationFooter />\n  </div>\n</template>\n\n<script>\nimport { v4 as uuid } from 'uuid'\nimport DonationHeader from './donation/layout/DonationHeader'\nimport DonationFooter from './donation/layout/DonationFooter'\nimport CurrencySelect from '@/components/donation/CurrencySelect'\nimport AmountPreselect from '@/components/donation/AmountPreselect'\nimport CountryLocationSelect from '@/components/donation/CountryLocationSelect'\nimport DonationTypeSelect from '@/components/donation/DonationTypeSelect'\nimport TransitionSlide from '@/transitions/Slide'\nimport { useRootStore } from '@/stores/root'\nimport { useDonationStore } from '@/stores/donation'\n\nexport default {\n  name: 'DonationIntro',\n  components: {\n    TransitionSlide,\n    CurrencySelect,\n    DonationTypeSelect,\n    AmountPreselect,\n    DonationFooter,\n    CountryLocationSelect,\n    DonationHeader\n  },\n  setup () {\n    const rootStore = useRootStore()\n    const donationStore = useDonationStore()\n    return { rootStore, donationStore }\n  },\n  computed: {\n    paymentCancelled () { return Object.prototype.hasOwnProperty.call(this.rootStore.queryParams, 'payment_cancelled') },\n    donationDetailsGiven () {\n      let queryParams = this.rootStore.queryParams\n      return Object.prototype.hasOwnProperty.call(queryParams, 'amount') || Object.prototype.hasOwnProperty.call(queryParams, 'type')\n    },\n    showCountryLocationSelect () {\n      return (this.rootStore.isEnDomain && !('l' in this.rootStore.queryParams))\n    },\n    currency: {\n      get () { return this.donationStore.currency },\n      set (newValue) { this.donationStore.setCurrency(newValue) }\n    },\n    country: {\n      get () { return this.donationStore.country },\n      set (newValue) { this.donationStore.setCountry(newValue) }\n    },\n    amount () { return this.donationStore.amount },\n    officeLocationKnown () {\n      return (this.country !== 'none') || !this.rootStore.isEnDomain || ('l' in this.rootStore.queryParams)\n    },\n    allowContinue () {\n      if (!this.currency) { return false }\n      if (this.rootStore.isEnDomain && !('l' in this.rootStore.queryParams)) {\n        return (((Number(this.amount) > this.$l10n.minAmountFor(this.currency))) && (this.country !== 'none'))\n      } else {\n        return !!(Number(this.amount) > this.$l10n.minAmountFor(this.currency))\n      }\n    }\n  },\n  methods: {\n    prefillDonation () {\n      const params = this.rootStore.queryParams\n      if ('type' in params && (['monthly', 'oneOff'].includes(params.type))) {\n        this.donationStore.setType(params.type)\n      }\n      if ('amount' in params && (Number(params.amount) > 0)) {\n        this.donationStore.setAmount(`${Number(params.amount)}`)\n      }\n      if ('currency' in params && (Object.keys(this.$l10n.availableCurrencies).includes(params.currency.toLocaleLowerCase()))) {\n        this.donationStore.setCurrency(params.currency.toLocaleLowerCase())\n      }\n    }\n  },\n  mounted () {\n    this.$scrollToElement('.column')\n    this.$l10n.onLocationChange(\n      uuid(),\n      (newLocation) => {\n        if (this.donationStore.currency === null) {\n          this.donationStore.setCurrency(newLocation.defaultCurrency)\n        }\n      },\n      { immediate: true }\n    )\n    this.donationStore.setReference(uuid())\n    if (this.donationDetailsGiven) { this.prefillDonation() }\n  },\n  watch: {\n    '$l10n.currentLocation': function (_val) {\n      this.donationStore.setCurrency(this.$l10n.currentLocation.defaultCurrency)\n    },\n    allowContinue: function (val) {\n      if (val === true) { this.$scrollToElement('.continue') }\n    }\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n  .columns {\n    @include on-desktop(){\n      display: flex;\n      margin: 0 -0.5rem;\n    }\n\n    .column {\n      margin-bottom: 1.5rem;\n\n       @include on-desktop(){\n        flex: 1;\n        margin: 0;\n        padding: 0.5rem 1rem;\n      }\n    }\n  }\n\n  button.submit {\n    border: none;\n    padding: 0.6em 1em;\n    text-align: center;\n    width: 100%;\n    margin-top: 1em;\n    background-color: $color-web-orange;\n    color: black;\n    text-shadow: 0 1px 0 white;\n    box-shadow: 2px 2px 7px rgba(black, 0.3);\n\n    &.disabled {\n      opacity: 0.7;\n    }\n  }\n</style>\n","<template>\n  <div class=\"page-top hero\">\n    <div\n      class=\"image\"\n      :style=\"{backgroundImage: `url(${imageSrc})`}\"\n    />\n    <TransitionSlide>\n      <div class=\"header\">\n        <div class=\"contain\">\n          <div class=\"page-title\">\n            <h1><mark>{{ donateText }}</mark></h1>\n            <h2 :class=\"(titleText.length < 120) ? '' : 'long-text'\">\n              <mark>{{ titleText }}</mark>\n            </h2>\n            <mark class=\"title-credit\">\n              <strong>{{ titleTextCredit.title }}</strong>\n              {{ titleTextCredit.description }}\n            </mark>\n          </div>\n        </div>\n        <div class=\"row\">\n          <div class=\"right\" />\n        </div>\n      </div>\n    </TransitionSlide>\n    <div class=\"container-wrapper\">\n      <DonationContainer>\n        <slot />\n      </DonationContainer>\n    </div>\n  </div>\n</template>\n\n<script>\nimport DonationContainer from './DonationContainer'\nimport TransitionSlide from '@/transitions/Slide'\nimport { useRootStore } from '@/stores/root'\n\nexport default {\n  name: 'DonationHeader',\n  setup () {\n    const rootStore = useRootStore()\n    return { rootStore }\n  },\n  components: { TransitionSlide, DonationContainer },\n  computed: {\n    appeal () { return this.rootStore.appeal },\n    donateText () { return this.appeal ? this.$t(`appeals.${this.appeal}.donate_text`) : this.$t('header.donate_text') },\n    titleText () { return this.appeal ? this.$t(`appeals.${this.appeal}.title`) : this.$t('header.default_title') },\n    titleTextCredit () { return this.appeal ? this.$t(`appeals.${this.appeal}.credit`) : this.$tm('header.default_title_credit') },\n    imageSrc () { return this.appeal ? this.$t(`appeals.${this.appeal}.image`) : this.$t('header.default_image') }\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n  #donation{\n    background: #fff;\n  }\n  .page-top {\n    color: white;\n    position: relative;\n    overflow: initial;\n    background-color: white;\n    flex-direction: column;\n    max-height: initial;\n    min-height: 20vh;\n    transition: min-height 250ms ease-in-out;\n\n    @include on-non-mobile(){\n        margin-bottom: 300px;\n    }\n\n    .contain{\n      display: flex;\n      justify-content: flex-end;\n      position: relative;\n    }\n  }\n\n  .header {\n    position: relative;\n  }\n\n  .page-title {\n    padding: 1.2em 2em;\n    margin: 0 0 0 auto;\n\n    width: 35em;\n    min-width: 600px;\n    max-width: 13em;\n    display: inline-block;\n\n    h1 {\n      font-size: 1.2rem;\n      margin-bottom: 0.5rem;\n      mark {\n        font-family: $base-font-family;\n        box-decoration-break: clone;\n        background-color: #2C2A29;\n        background-blend-mode: multiply;\n        padding: 0.2em 0;\n        &:before {\n          height: 1rem;\n          width: 0.3rem;\n          background-color: #B33D26;\n          display: inline-block;\n          margin-right: 0.3rem;\n          content: '';\n        }\n      }\n    }\n\n    h2 {\n      font: 1.8em $titles-font-family;\n      text-shadow: 0 0 2px $color-body-color;\n      margin: 1rem 0 1rem;\n      @include on-mobile(){\n        margin: 0.8rem 0 0.4rem;\n      }\n      @include on-non-mobile(){\n        font: 3em $titles-font-family;\n      }\n      mark {\n        box-decoration-break: clone;\n        background-color: #2C2A29;\n        background-blend-mode: multiply;\n        padding: 0.2em 0;\n      }\n    }\n\n    h2.long-text {\n      @include on-non-mobile(){\n        font: 2.2em $titles-font-family;\n      }\n    }\n\n    .title-credit {\n      font-family: $base-font-family;\n      padding: 0.2em 0;\n    }\n  }\n\n  .container-wrapper {\n    margin: 0;\n    transition: all 0.3s;\n\n    @include on-non-mobile(){\n      margin: 0 2em -250px;\n    }\n  }\n\n  .row {\n    .right {\n      max-width: 50%;\n      float: right;\n      padding-right: 6em;\n    }\n\n    &::after {\n      content: '';\n      display: table;\n      clear: both;\n    }\n  }\n</style>\n","<template>\n  <div class=\"wrapper\">\n    <div class=\"container\">\n      <slot />\n    </div>\n  </div>\n</template>\n\n<script>\nexport default {\n  name: 'DonationContainer'\n}\n</script>\n\n<style lang=\"scss\" scoped>\n  a {\n    color: white;\n    text-decoration: none;\n  }\n\n  .wrapper {\n    width: 100%;\n    max-width: 1200px;\n    margin: 0 auto;\n    display: flex;\n    flex-direction: row-reverse;\n  }\n\n  .container {\n    position: relative;\n    z-index: 20;\n    text-align: initial;\n    display: inline-block;\n    max-width: 45em;\n    width: 100%;\n    background-color: $color-blue-lagoon;\n    overflow: hidden;\n    padding: 1em;\n    font-family: $base-font-family;\n\n    &.full {\n      width: 100%;\n      margin-left: auto;\n      margin-right: auto;\n      background-color: rgba($color-blue-lagoon, 0.97);\n      @include on-desktop(){\n        max-width: none;\n      }\n    }\n  }\n\n</style>\n","import { render } from \"./DonationContainer.vue?vue&type=template&id=69439f01&scoped=true\"\nimport script from \"./DonationContainer.vue?vue&type=script&lang=js\"\nexport * from \"./DonationContainer.vue?vue&type=script&lang=js\"\n\nimport \"./DonationContainer.vue?vue&type=style&index=0&id=69439f01&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-69439f01\"]])\n\nexport default __exports__","<template>\n  <transition\n    name=\"slide\"\n    @before-leave=\"beforeLeave\"\n    @leave=\"leave\"\n    @before-enter=\"beforeEnter\"\n    @enter=\"enter\"\n  >\n    <slot />\n  </transition>\n</template>\n\n<script>\nimport { Tween, Easing } from '@tweenjs/tween.js'\n\nexport default {\n  name: 'TransitionSlide',\n  props: {\n    time: { type: Number, default: 500 }\n  },\n  methods: {\n    beforeEnter (el) {\n      el.style.setProperty('max-height', 'none')\n      el.style.setProperty('min-height', 0)\n      el.style.setProperty('overflow', 'hidden')\n    },\n    beforeLeave (el) {\n      el.style.setProperty('height', el.clientHeight)\n      el.style.setProperty('max-height', 'none')\n      el.style.setProperty('min-height', 0)\n      el.style.setProperty('overflow', 'hidden')\n    },\n\n    leave (el, done) {\n      const currentStyles = getComputedStyle(el)\n      new Tween({ height: el.clientHeight, opacity: currentStyles.opacity })\n        .to({ height: 0, opacity: 0 }, this.time)\n        .easing(Easing.Quadratic.InOut)\n        .onUpdate((val) => {\n          el.style.setProperty('height', `${val.height}px`)\n          el.style.setProperty('opacity', val.opacity)\n        })\n        .onComplete(done)\n        .start()\n    },\n    enter (el, done) {\n      this.$nextTick(() => {\n        const currentStyles = getComputedStyle(el)\n        new Tween({ height: 0, opacity: 0 })\n          .to({ height: el.clientHeight, opacity: currentStyles.opacity }, this.time)\n          .easing(Easing.Quadratic.InOut)\n          .onUpdate((val) => {\n            el.style.setProperty('height', `${val.height}px`)\n            el.style.setProperty('opacity', val.opacity)\n          })\n          .onComplete(done)\n          .start()\n      })\n    }\n  }\n}\n</script>\n","import { render } from \"./Slide.vue?vue&type=template&id=03842ebf\"\nimport script from \"./Slide.vue?vue&type=script&lang=js\"\nexport * from \"./Slide.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineStore } from 'pinia'\n\nexport const useRootStore = defineStore('root', {\n  namespaced: true,\n  state: () => {\n    return {\n      fullMode: false,\n      currentDomain: null,\n      isEnDomain: false,\n      queryParams: {},\n      omittedFrequency: null,\n      appeal: null,\n      validation: {\n        paymentMethodSelect: false,\n        form: false\n      },\n      validateAllFields: false\n    }\n  },\n  getters: {\n    formValid: state => {\n      return Object.values(state.validation).every(item => item === true)\n    }\n  },\n  actions: {\n    setFullMode (payload) { this.fullMode = payload },\n    setCurrentDomain (payload) { this.currentDomain = payload },\n    setIsEnDomain (payload) { this.isEnDomain = payload },\n    setOmittedFrequency (payload) { this.omittedFrequency = payload },\n    setAppeal (payload) { this.appeal = payload },\n    setQueryParams (payload) { this.queryParams = payload },\n    setValidationPaymentMethodSelect (payload) { this.validation.paymentMethodSelect = payload },\n    setValidationForm (payload) { this.validation.form = payload },\n    touchValidationFields (payload) { this.validateAllFields = payload }\n  }\n})\n","import { render } from \"./DonationHeader.vue?vue&type=template&id=2fda94ec&scoped=true\"\nimport script from \"./DonationHeader.vue?vue&type=script&lang=js\"\nexport * from \"./DonationHeader.vue?vue&type=script&lang=js\"\n\nimport \"./DonationHeader.vue?vue&type=style&index=0&id=2fda94ec&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2fda94ec\"]])\n\nexport default __exports__","<template>\n  <div class=\"page-footer\">\n    <div class=\"dontions-go-towards\">\n      <div class=\"container contain\">\n        <header class=\"side-by-side\">\n          <h4>{{ $t('footer.dontions-go-towards.header.title') }}</h4>\n        </header>\n        <div class=\"cards\">\n          <div class=\"vert-cards left\">\n            <div class=\"card\">\n              <div class=\"content\">\n                <h4>{{ $t('footer.dontions-go-towards.cards.1.title') }}</h4>\n                <p>{{ $t('footer.dontions-go-towards.cards.1.content') }}</p>\n              </div>\n            </div>\n            <div class=\"card\">\n              <div class=\"content\">\n                <h4>{{ $t('footer.dontions-go-towards.cards.2.title') }}</h4>\n                <p>{{ $t('footer.dontions-go-towards.cards.2.content') }}</p>\n              </div>\n            </div>\n          </div>\n          <div class=\"center-card\">\n            <div class=\"circle\">\n              <div\n                class=\"content\"\n                :title=\"$t('footer.dontions-go-towards.image.title')\"\n              />\n            </div>\n          </div>\n          <div class=\"vert-cards right\">\n            <div class=\"card\">\n              <div class=\"content\">\n                <h4>{{ $t('footer.dontions-go-towards.cards.3.title') }}</h4>\n                <p>{{ $t('footer.dontions-go-towards.cards.3.content') }}</p>\n              </div>\n            </div>\n            <div class=\"card\">\n              <div class=\"content\">\n                <h4>{{ $t('footer.dontions-go-towards.cards.4.title') }}</h4>\n                <p>{{ $t('footer.dontions-go-towards.cards.4.content') }}</p>\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n    <div\n      class=\"more-ways-to-give\"\n      id=\"moreWaysToGive\"\n    >\n      <div class=\"container contain\">\n        <header class=\"side-by-side\">\n          <h2>{{ $t('footer.more-ways-to-give.header.title') }}</h2>\n          <div>\n            <p>{{ $t('footer.more-ways-to-give.header.note') }}</p>\n          </div>\n        </header>\n        <div class=\"cards\">\n          <template\n            v-for=\"(card, index) in Object.keys($tm('footer.more-ways-to-give.cards'))\"\n            :key=\"card\"\n          >\n            <div class=\"card\">\n              <img\n                :src=\"$t(`footer.more-ways-to-give.cards.${card}.imgSrc`)\"\n                v-if=\"$tm(`footer.more-ways-to-give.cards.${card}.imgSrc`)[0]\"\n              >\n              <template v-if=\"$tm(`footer.more-ways-to-give.cards.${card}.linkSrc`)[0]\">\n                <a\n                  :href=\"$t(`footer.more-ways-to-give.cards.${card}.linkSrc`)\"\n                  target=\"_bank\"\n                >\n                  <h4 v-if=\"index < 3\">{{ $t(`footer.more-ways-to-give.cards.${card}.title`) }}</h4>\n                  <h5 v-else>{{ $t(`footer.more-ways-to-give.cards.${card}.title`) }}</h5>\n                </a>\n                <p v-html=\"$t(`footer.more-ways-to-give.cards.${card}.content`)\" />\n              </template>\n              <template v-else>\n                <h4 v-if=\"index < 3\">\n                  {{ $t(`footer.more-ways-to-give.cards.${card}.title`) }}\n                </h4>\n                <h5\n                  class=\"h4\"\n                  v-else\n                >\n                  {{ $t(`footer.more-ways-to-give.cards.${card}.title`) }}\n                </h5>\n                <p v-html=\"$t(`footer.more-ways-to-give.cards.${card}.content`)\" />\n              </template>\n            </div>\n            <hr v-if=\"index === 2\">\n          </template>\n        </div>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nexport default {\n  name: 'DonationFooter'\n}\n</script>\n\n<style lang=\"scss\" scoped>\n  header.side-by-side {\n    margin-top: 0;\n    margin-bottom: 0;\n\n    h2 {\n      font-size: 3.125rem;\n    }\n\n    h4 {\n      color: #fff;\n      font-family: $titles-font-family-medium;\n    }\n  }\n  .dontions-go-towards{\n    background-color: #fff;\n\n    @include on-non-mobile(){\n      margin-top: -4rem;\n    }\n\n    .container {\n      background-color: $color-tall-poppy;\n      padding: 1rem 1rem;\n\n      @include on-tablet(){\n        padding: 1rem 1.5rem;\n      }\n\n      @include on-desktop(){\n        padding: 1rem 4.5rem;\n      }\n    }\n    header{\n      h2{\n        color: #fff;\n        font-family: $titles-font-family-medium;\n        font-size: 3.125rem;\n      }\n    }\n\n    .cards{\n      margin: 0 -1rem;\n      @include on-non-mobile(){\n        margin: 1.5rem -1rem;\n        display: flex;\n        justify-content: center;\n      }\n\n      .vert-cards{\n        display: flex;\n        flex: 1 1 30%;\n        flex-direction: column;\n\n        @include on-desktop(){\n          &.left{\n            .card:after{\n              content: '';\n              display: block;\n              background-image: url('https://assets.survivalinternational.org/viru/layout/right-chevron.svg');\n              margin-left: 1rem;\n            }\n          }\n          &.right{\n            .card:before{\n              content: '';\n              display: block;\n              background-image: url('https://assets.survivalinternational.org/viru/layout/left-chevron.svg');\n              margin-right: 1rem;\n            }\n          }\n        }\n      }\n      h4, p{\n        color: #fff;\n      }\n      .card{\n        margin: 1rem;\n        display:flex;\n        flex: 1 1 50%;\n\n        .content{\n          flex: 1 1 80%;\n\n          h4{\n            font-family: $titles-font-family-medium;\n            margin-top: 0;\n            margin-bottom: 1rem\n          }\n          p{\n            margin: 0;\n          }\n        }\n        &:after, &:before{\n          flex: 1 0 20%;\n          background-size: contain;\n          background-position: center center;\n          background-repeat: no-repeat;\n        }\n      }\n      .center-card{\n        display: none;\n\n        @include on-desktop(){\n          display: block;\n          flex: 1 1 30%;\n          align-self: center;\n          margin: auto -1rem;\n        }\n\n        .circle{\n          width: 100%;\n          padding-top: 100%; /* 1:1 Aspect Ratio */\n          font-family: $titles-font-family-medium;\n          color: $color-tall-poppy;\n          font-size: 3rem;\n          border-radius: 50% 50%;\n          position: relative;\n          background-image: url('https://assets.survivalinternational.org/viru/img/donations-go-towards.jpg');\n          background-size: cover;\n          background-position: center center;\n\n          .content{\n            position: absolute;\n            top: 0;\n            left: 0;\n            bottom: 0;\n            right: 0;\n          }\n        }\n      }\n    }\n  }\n  .more-ways-to-give {\n    background-color: #fff;\n\n    @include on-desktop(){\n      padding-top: 2.5rem;\n    }\n\n    .container {\n      background-color: $color-body-bg;\n      padding: 1rem 1rem;\n\n      @include on-tablet() {\n        padding: 1rem 1.5rem;\n      }\n\n      @include on-desktop() {\n        padding: 1rem 4.5rem;\n      }\n    }\n    .cards {\n      margin: 1.5rem -1rem;\n\n      @include on-non-mobile() {\n        display: flex;\n        flex-wrap: wrap;\n      }\n\n      hr {\n        width: 100%;\n        margin: 1rem 0;\n        border: 0;\n        height: 2px;\n        background-color: rgba($color-dune, 0.1);\n      }\n      .card {\n        flex: 1 1 30%;\n        margin: 1rem;\n        display: flex;\n        flex-direction: column;\n\n        img {\n          margin: 0 auto 0 0;\n          height: 35px;\n        }\n\n        p {\n          margin: 0;\n          font-size: 1rem;\n          a {\n            // Why is this not applied!?\n            color: $color-blue-lagoon !important;\n          }\n        }\n        h4, h5 {\n          margin: 1rem 0;\n        }\n        a {\n          color: green;\n          &:visited {\n            color: green;\n          }\n        }\n      }\n    }\n  }\n</style>\n","import { render } from \"./DonationFooter.vue?vue&type=template&id=e9212e56&scoped=true\"\nimport script from \"./DonationFooter.vue?vue&type=script&lang=js\"\nexport * from \"./DonationFooter.vue?vue&type=script&lang=js\"\n\nimport \"./DonationFooter.vue?vue&type=style&index=0&id=e9212e56&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-e9212e56\"]])\n\nexport default __exports__","<template>\n  <div\n    class=\"currency-select\"\n    v-if=\"currencyCount > 1\"\n  >\n    <label>{{ $t(`donationForm.currency.label`) }}:</label>\n    <div class=\"options\">\n      <div\n        class=\"option\"\n        :class=\"key\"\n        v-for=\"(curr, key) in availableCurrencies\"\n        :key=\"key\"\n      >\n        <input\n          type=\"radio\"\n          :id=\"idFor(key)\"\n          v-model=\"currency\"\n          :value=\"key\"\n        >\n        <label\n          :class=\"{ 'small-font': largeSymbol(curr.config.symbol) }\"\n          :for=\"idFor(key)\"\n        >\n          {{ curr.config.symbol }}\n        </label>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { v4 as uuid } from 'uuid'\nimport { useDonationStore } from '@/stores/donation'\nimport { ref } from 'vue'\n\nexport default {\n  name: 'CurrencySelect',\n  setup () {\n    const donationStore = useDonationStore()\n    const uniqueId = ref(uuid())\n    return { donationStore, uniqueId }\n  },\n  computed: {\n    currency: {\n      get () { return this.donationStore.currency },\n      set (newValue) { this.donationStore.setCurrency(newValue) }\n    },\n    availableCurrencies () { return this.$l10n.availableCurrencies },\n    currencyCount () { return Object.keys(this.availableCurrencies).length }\n  },\n  methods: {\n    idFor (currency) { return `element-${this.uniqueId}-${currency}` },\n    largeSymbol (symbol) { return (symbol.length > 2) }\n  },\n  watch: {\n    '$l10n.currentLocation': function (_val) {\n      if (this.currency === null) {\n        this.donationStore.setCurrency(this.$l10n.currentLocation.defaultCurrency)\n      } else if (!Object.keys(this.$l10n.availableCurrencies).includes(this.currency)) {\n        this.donationStore.setCurrency(this.$l10n.currentLocation.defaultCurrency)\n      }\n    }\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n  .currency-select {\n    display: flex;\n    margin-bottom: 1em;\n\n    label {\n      line-height: 40px;\n      font-weight: bold;\n    }\n    .options {\n      flex: 1;\n      margin-left: 1em;\n      display: flex;\n      flex-direction: row;\n\n      .option {\n        margin-right: 0.5em;\n\n        input {\n          display: none;\n        }\n\n        .small-font {\n          font-size: 14px;\n        }\n\n        label {\n          display: block;\n          width: 40px;\n          height: 40px;\n          border-radius: 100%;\n          background-color: rgba(255, 255, 255, 0.3);\n          color: $color-faded-btn-text;\n          font-size: 20px;\n          line-height: 40px;\n          text-align: center;\n          font-weight: bold;\n          transition: opacity 0.3s ease-in-out;\n          cursor: pointer;\n        }\n\n        input:checked + label {\n          opacity: 1;\n          color: black;\n          background-color: $color-web-orange;\n          cursor: default;\n        }\n      }\n    }\n  }\n</style>\n","import { render } from \"./CurrencySelect.vue?vue&type=template&id=fb08a3ea&scoped=true\"\nimport script from \"./CurrencySelect.vue?vue&type=script&lang=js\"\nexport * from \"./CurrencySelect.vue?vue&type=script&lang=js\"\n\nimport \"./CurrencySelect.vue?vue&type=style&index=0&id=fb08a3ea&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-fb08a3ea\"]])\n\nexport default __exports__","<template>\n  <div class=\"amount-select\">\n    <SuggestedAmountsForAppeals\n      v-if=\"appealPresent\"\n      @selected=\"presetSelected\"\n    />\n    <SuggestedAmounts\n      v-else\n      @selected=\"presetSelected\"\n    />\n    <div class=\"custom-amount-wrapper\">\n      <FormField\n        class=\"custom-amount\"\n        :label=\"customLabel\"\n        v-model=\"amount\"\n        type=\"number\"\n        :validation=\"v$.amount\"\n      />\n    </div>\n    <p\n      v-if=\"$tm('donationForm.additionalInfo')\"\n      id=\"additional-info\"\n    >\n      <TaxReliefCalculator v-if=\"displayTaxRelief\" />\n    </p>\n  </div>\n</template>\n<script>\nimport SuggestedAmounts from './SuggestedAmounts'\nimport SuggestedAmountsForAppeals from './SuggestedAmountsForAppeals'\nimport FormField from '@/components/form/FormField'\nimport TaxReliefCalculator from '@/components/donation/TaxReliefCalculator'\nimport { required } from '@vuelidate/validators'\nimport useVuelidate from '@vuelidate/core'\nimport { useRootStore } from '@/stores/root'\nimport { useDonationStore } from '@/stores/donation'\n\nexport default {\n  name: 'AmountPreselect',\n  setup () {\n    const rootStore = useRootStore()\n    const donationStore = useDonationStore()\n    return { rootStore, donationStore, v$: useVuelidate() }\n  },\n  components: { SuggestedAmounts, SuggestedAmountsForAppeals, FormField, TaxReliefCalculator },\n  computed: {\n    currency () { return this.donationStore.currency },\n    amount: {\n      get () { return this.donationStore.amount },\n      set (newValue) { this.donationStore.setAmount(`${newValue}`) }\n    },\n    appealPresent () {\n      return (this.rootStore.appeal) && this.$tm(`appeals.${this.rootStore.appeal}`)[0]\n    },\n    displayTaxRelief () {\n      return ['es', 'fr', 'it'].includes(this.$l10n.currentLocation.key)\n    },\n    customLabel () {\n      return this.$t('donationForm.customAmount.label')\n    }\n  },\n  methods: {\n    presetSelected (val) { this.donationStore.setAmount(val) }\n  },\n  validations () {\n    return {\n      amount: {\n        required,\n        amount: val => (val !== null) && (val >= this.$l10n.minAmountFor(this.currency))\n      }\n    }\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n  .jump-to-more-ways-to-give{\n    text-align: right;\n    margin: 1.25em 0 0;\n    a{\n      color: white;\n      transition: color 150ms ease-in-out;\n      &:hover, &:active{\n        color: $color-web-orange;\n      }\n      &:after{\n        border-style: solid;\n        border-width: 0.25rem 0.25rem 0 0;\n        content: '';\n        display: inline-block;\n        height: 0.45rem;\n        left: 0.15rem;\n        position: relative;\n        top: 0.35rem;\n        vertical-align: top;\n        width: 0.45rem;\n        transform: rotate(135deg);\n      }\n    }\n  }\n\n  #additional-info {\n    .styled-link {\n      color: white;\n    }\n  }\n\n  label, input {\n    display: inline-block;\n  }\n\n  label {\n    margin-right: 0.5em;\n  }\n\n  input {\n    padding: 0.3em;\n    width: 100px;\n    height: 35px;\n  }\n\n  button {\n    display: inline-block;\n    margin-top: 1.5em;\n    padding: 0.4em 1em;\n    outline: none;\n    box-shadow: 2px 2px 6px rgba(black, 0.5);\n    border: none;\n    cursor: pointer;\n    background-color: $color-web-orange;\n    text-transform: uppercase;\n    font-size: 0.9em;\n    font-weight: bold;\n    height: 35px;\n\n  &:active {\n     transform: translate(1px, 1px);\n     box-shadow: 1px 1px 4px rgba(black, 0.5);\n     outline: none;\n   }\n\n  }\n</style>\n","<template>\n  <div class=\"amount-options\">\n    <div class=\"options\">\n      <div\n        class=\"option\"\n        :class=\"[ name, { active: isActive(option) }]\"\n        v-for=\"(option, name) in suggestedAmounts\"\n        :key=\"name\"\n        @click=\"select(option)\"\n      >\n        <span class=\"amount\">{{ formatCurrency(option) }}</span>\n        <span>{{ $t(`donationForm.suggestedAmounts.${type}.caption`) }}</span>\n        <span\n          class=\"caption\"\n          v-if=\"$tm(`donationForm.suggestedAmounts.${type}.${name}`)[0]\"\n        >\n          {{ $t(`donationForm.suggestedAmounts.${type}.${name}`) }}\n        </span>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { useDonationStore } from '@/stores/donation'\nimport { ref } from 'vue'\n\nexport default {\n  name: 'SuggestedAmounts',\n  setup () {\n    const donationStore = useDonationStore()\n    const selectedAmount = ref(null)\n    return { donationStore, selectedAmount }\n  },\n  emits: ['selected'],\n  computed: {\n    type () { return this.donationStore.type },\n    currency () { return this.donationStore.currency },\n    currentAmount () { return this.donationStore.amount },\n    suggestedAmounts () { return this.$l10n.suggestedAmountsFor(this.currency, this.type) },\n  },\n  methods: {\n    formatCurrency (value) {\n      return this.$l10n.formatCurrency(value, this.currency, { precision: 0 })\n    },\n    select (value) {\n      this.selectedAmount = value\n      this.$emit('selected', value)\n    },\n    isActive (val) { return val === this.currentAmount }\n  },\n  watch: {\n    'currentAmount': function (val) {\n      if (val !== this.selectedAmount) {\n        this.selectedAmount = null\n      } else {\n        this.isActive(val)\n      }\n    }\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n  $border-color: lighten($color-blue-lagoon, 20%);\n\n  .options {\n    display: flex;\n    flex-direction: row;\n    @include on-mobile{\n      flex-direction: column;\n    }\n  }\n\n  div.active {\n    background-color: $color-web-orange;\n    color: #000;\n  }\n\n  .option {\n    flex: 1 1 0px;\n    text-align: center;\n    color: $color-faded-btn-text;\n    margin: 3px;\n    background-color: rgba(255, 255, 255, 0.3);\n    padding: 1rem 0.5rem;\n    cursor: pointer;\n    transition: all 200ms ease-in-out;\n\n    &:hover {\n      background-color: $color-web-orange;\n      color: #000;\n    }\n\n    span {\n      display: block;\n      padding: 0 0.5m;\n    }\n\n    .amount {\n      font-size: 1.5em;\n      font-weight: bold;\n    }\n\n    .caption {\n      font-size: 0.8em;\n      margin-bottom: 1.5rem;\n    }\n\n    button {\n      margin: auto 0.5rem 0;\n      padding: 0.6em 1em;\n      width: calc(100% - 1rem);\n      outline: none;\n      box-shadow: 2px 2px 6px rgba(black, 0.5);\n      border: none;\n      cursor: pointer;\n      background-color: $color-web-orange;\n      text-transform: uppercase;\n      font-size: 0.9em;\n      font-weight: bold;\n\n      @include on-mobile{\n        margin: 1rem;\n        width: auto;\n      }\n\n      &:active {\n        transform: translate(1px, 1px);\n        box-shadow: 1px 1px 4px rgba(black, 0.5);\n      }\n    }\n  }\n</style>\n","import { render } from \"./SuggestedAmounts.vue?vue&type=template&id=93c3590c&scoped=true\"\nimport script from \"./SuggestedAmounts.vue?vue&type=script&lang=js\"\nexport * from \"./SuggestedAmounts.vue?vue&type=script&lang=js\"\n\nimport \"./SuggestedAmounts.vue?vue&type=style&index=0&id=93c3590c&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-93c3590c\"]])\n\nexport default __exports__","<template>\n  <div class=\"amount-options\">\n    <div class=\"options\">\n      <div\n        class=\"option\"\n        :class=\"[ name, { active: isActive(option) }]\"\n        v-for=\"(option, name) in suggestedAmounts\"\n        :key=\"name\"\n        @click=\"select(option)\"\n      >\n        <span class=\"amount\">{{ formatCurrency(option) }}</span>\n        <span\n          class=\"caption\"\n          v-if=\"$tm(`appeals.${appealName}.amountPrompts.${type}.${name}`)[0]\"\n        >\n          {{ $t(`appeals.${appealName}.amountPrompts.${type}.${name}`) }}\n        </span>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport useVuelidate from '@vuelidate/core'\nimport { useDonationStore } from '@/stores/donation'\nimport { useRootStore } from '@/stores/root'\nimport { ref } from 'vue'\n\nexport default {\n  name: 'SuggestedAmountsForAppeals',\n  setup () {\n    const donationStore = useDonationStore()\n    const rootStore = useRootStore()\n    const selectedAmount = ref(null)\n    return { v$: useVuelidate(), donationStore, rootStore, selectedAmount }\n  },\n  emits: ['selected'],\n  computed: {\n    appealName () { return this.rootStore.appeal },\n    type () { return this.donationStore.type },\n    currency () { return this.donationStore.currency },\n    suggestedAmounts () {\n      return this.$t(`appeals.${this.appealName}.suggestedAmounts.${this.type}`)\n    }\n  },\n  methods: {\n    formatCurrency (value) {\n      if (this.currency) {\n        return this.$l10n.formatCurrency(value, this.currency, { precision: 0 })\n      }\n    },\n    select (value) {\n      this.selectedAmount = value\n      this.$emit('selected', value)\n    },\n    isActive (val) {\n      return (val === this.selectedAmount)\n    }\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n  $border-color: lighten($color-blue-lagoon, 20%);\n\n  .options {\n    display: flex;\n    flex-direction: row;\n    @include on-tiny-mobile{\n      flex-direction: column;\n    }\n  }\n\n  div.active {\n    background-color: $color-web-orange;\n    color: #000;\n  }\n\n  .option {\n    flex: 1 1 0px;\n    text-align: center;\n    border: 0.5rem solid #fff;\n    padding: 1rem 0.5rem;\n    cursor: pointer;\n    transition: all 200ms ease-in-out;\n\n    &:not(:first-child) {\n      border-left: none;\n\n      @include on-tiny-mobile{\n        border-left: 0.5rem solid #fff;\n        border-top: none;\n      }\n    }\n\n    &:hover {\n      background-color: $color-web-orange;\n      color: #000;\n    }\n\n    span {\n      display: block;\n      padding: 0 0.5m;\n    }\n\n    .amount {\n      font-size: 1.5em;\n      font-weight: bold;\n    }\n\n    .caption {\n      font-size: 0.8em;\n      margin-bottom: 1.5rem;\n    }\n\n    button {\n      margin: auto 0.5rem 0;\n      padding: 0.6em 1em;\n      width: calc(100% - 1rem);\n      outline: none;\n      box-shadow: 2px 2px 6px rgba(black, 0.5);\n      border: none;\n      cursor: pointer;\n      background-color: $color-web-orange;\n      text-transform: uppercase;\n      font-size: 0.9em;\n      font-weight: bold;\n\n      @include on-tiny-mobile{\n        margin: 1rem;\n        width: auto;\n      }\n\n      &:active {\n        transform: translate(1px, 1px);\n        box-shadow: 1px 1px 4px rgba(black, 0.5);\n      }\n    }\n  }\n</style>\n","import { render } from \"./SuggestedAmountsForAppeals.vue?vue&type=template&id=48af007d&scoped=true\"\nimport script from \"./SuggestedAmountsForAppeals.vue?vue&type=script&lang=js\"\nexport * from \"./SuggestedAmountsForAppeals.vue?vue&type=script&lang=js\"\n\nimport \"./SuggestedAmountsForAppeals.vue?vue&type=style&index=0&id=48af007d&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-48af007d\"]])\n\nexport default __exports__","<template>\n  <div\n    class=\"form-field\"\n    :class=\"{ error: hasError && !active, light: theme === 'light' }\"\n  >\n    <label\n      :for=\"id\"\n      v-if=\"label\"\n      :type=\"type\"\n      :class=\"{ active: active || hasValue }\"\n    >\n      {{ label }}\n    </label>\n    <input\n      v-if=\"type === 'number'\"\n      @keypress=\"isNumber($event)\"\n      :id=\"id\"\n      v-model.number=\"val\"\n      :type=\"type\"\n      v-on=\"{focus, blur}\"\n      step=\"1.0\"\n      min=\"0\"\n    >\n    <textarea\n      v-else-if=\"type === 'textarea'\"\n      :id=\"id\"\n      v-model=\"val\"\n      :type=\"type\"\n      v-on=\"{focus, blur}\"\n      maxlength=\"400\"\n    />\n    <input\n      v-else\n      :id=\"id\"\n      v-model=\"val\"\n      :type=\"type\"\n      v-on=\"{focus, blur}\"\n    >\n  </div>\n</template>\n\n<script>\nimport { v4 as uuid } from 'uuid'\nimport { ref } from 'vue'\n\nexport default {\n  name: 'FormField',\n  setup () {\n    const active = ref(false)\n    return { active }\n  },\n  props: {\n    modelValue: { required: true, type: [String, Number, null] },\n    validation: { required: true, type: Object },\n    type: {\n      default: 'text',\n      validator: (value) => {\n        return ['text', 'textarea', 'email', 'password', 'number'].indexOf(value) !== -1\n      }\n    },\n    label: { type: String, default: '' },\n    theme: { type: String, default: '' }\n  },\n  emits: ['update:modelValue'],\n  computed: {\n    id () { return `element-${uuid()}` },\n    hasError () { return this.validation && this.validation.$error },\n    val: {\n      get () { return this.modelValue },\n      set (newValue) {\n        this.validation && this.validation.$touch()\n        this.$emit('update:modelValue', newValue)\n      }\n    },\n    hasValue () { return this.modelValue && this.modelValue !== '' }\n  },\n  methods: {\n    focus () { this.active = true },\n    blur () {\n      this.validation && this.validation.$touch()\n      this.active = false\n    },\n    isNumber (event) {\n      if (!/\\d/.test(event.key) && event.key !== '.') return event.preventDefault()\n    }\n  }\n}\n</script>\n","import { render } from \"./FormField.vue?vue&type=template&id=0ccd9abc\"\nimport script from \"./FormField.vue?vue&type=script&lang=js\"\nexport * from \"./FormField.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n  <div class=\"tax-relief\">\n    <div>\n      <p><small v-html=\"$t('donationForm.additionalInfo.taxRelief.description')\" /></p>\n      <template v-if=\"showCalc\">\n        <p\n          v-if=\"ineligble\"\n          class=\"relief-calc\"\n          v-html=\"$t('donationForm.additionalInfo.taxRelief.ineligible')\"\n        />\n        <p\n          v-else\n          class=\"relief-calc\"\n          v-html=\"$t('donationForm.additionalInfo.taxRelief.calculatedTaxRelief', { reducedAmount, deduction })\"\n        />\n      </template>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { useDonationStore } from '@/stores/donation'\nimport { useL10nStore } from '@/stores/l10n'\nimport { calculateTaxRelief } from '@/utilities/calculateTaxRelief'\n\nexport default {\n  name: 'TaxReliefCalculator',\n  setup () {\n    const donationStore = useDonationStore()\n    const l10nStore = useL10nStore()\n    return { donationStore, l10nStore }\n  },\n  computed: {\n    locationKey () { return this.$l10n.currentLocation.key },\n    currentAmount () { return this.donationStore.amount },\n    currentCurrency () { return this.donationStore.currency },\n    currentFrequency () { return this.donationStore.type },\n    taxRelief () { return calculateTaxRelief(this.currentAmount, this.currentFrequency, this.locationKey) },\n    ineligble () { return this.taxRelief.ineligible },\n    reducedAmount () { return this.formatCurrency(this.taxRelief.reducedAmount, this.currentCurrency) },\n    deduction () { return this.formatCurrency(this.taxRelief.deduction, this.currentCurrency) },\n    showCalc () { return ((this.currentCurrency === 'eur') && (this.currentAmount)) },\n  },\n  methods: {\n    formatCurrency (value, curr) {\n      return this.$l10n.formatCurrency(value, curr, { precision: 2 })\n    }\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n  $text-color: #fff;\n\n  .relief-calc {\n    font-size: 1.1rem;\n    background: $color-asparagus;\n    color: $text-color;\n    padding: 0.75rem;\n    margin-top: 1rem;\n  }\n</style>\n","import currency from 'currency.js'\n\nconst countries = {\n  /* This could reside in location JSON ? */\n  'es': { baseRate: 0.8, higherRate: 0.4, baseLimit: 250.00, higherLimit: null },\n  'fr': { baseRate: 0.66, higherRate: null, baseLimit: null, higherLimit: null },\n  'it': { baseRate: 0.7, higherRate: null, baseLimit: null, higherLimit: 30000.00 }\n}\n\nfunction annualizedAmount(amountObj, frequency) {\n  switch (frequency) {\n    case 'monthly':\n      return amountObj.multiply(12)\n    case 'quarterly':\n      return amountObj.multiply(4)\n    case 'biAnnually':\n      return amountObj.multiply(2)\n    default:\n      return amountObj\n  }\n}\n\nfunction installmentAmountFromAnnual(amountObj, frequency) {\n  switch (frequency) {\n    case 'monthly':\n      return amountObj.divide(12)\n    case 'quarterly':\n      return amountObj.divide(4)\n    case 'biAnnually':\n      return amountObj.divide(2)\n    default:\n      return amountObj\n  }\n}\n\nfunction calculateEffectiveRelief(amountObj, frequency, tax) {\n  const annualAmount = annualizedAmount(amountObj, frequency)\n\n  if (annualAmount.value > tax.baseLimit) {\n    let baseAmount = currency(tax.baseLimit)\n    let baseReduction = baseAmount.multiply(tax.baseRate)\n    let higherAmount = annualAmount.subtract(baseAmount)\n    let higherReduction = higherAmount.multiply(tax.higherRate)\n\n    let annualReducedAmount = baseReduction.add(higherReduction)\n    let reducedAmount = installmentAmountFromAnnual(annualReducedAmount, frequency).value\n    let deduction = amountObj.subtract(reducedAmount).value\n    return { reducedAmount, deduction, ineligible: false }\n  } else {\n    let reducedAmount = amountObj.multiply(tax.baseRate).value\n    let deduction = amountObj.subtract(reducedAmount).value\n\n    return { reducedAmount, deduction, ineligible: false }\n  }\n}\n\nfunction calculateTaxRelief(amount, frequency, country) {\n  if (!(amount && frequency && country)) { return { reducedAmount: null, deduction: null, ineligible: false } }\n  const amountObj = currency(amount)\n  const tax = countries[country]\n\n  /* Currently NOT taking into account contributions over one (tax) year if regular donation */\n  if (tax.higherLimit && (amountObj.value > tax.higherLimit)) { return { reducedAmount: null, deduction: null, ineligible: true } }\n  /*\n    If tax has different rates dependant on amount total,\n    calculate the effective relief (per installment if regular donation)\n  */\n  if (tax.higherRate && tax.baseLimit) { return calculateEffectiveRelief(amountObj, frequency, tax) }\n\n  /* If no edge cases above calculate default */\n  let reducedAmount = amountObj.multiply(tax.baseRate).value\n  let deduction = amountObj.subtract(reducedAmount).value\n\n  return { reducedAmount, deduction, ineligible: false }\n}\n\nexport { calculateTaxRelief }\n","import { render } from \"./TaxReliefCalculator.vue?vue&type=template&id=687ec585&scoped=true\"\nimport script from \"./TaxReliefCalculator.vue?vue&type=script&lang=js\"\nexport * from \"./TaxReliefCalculator.vue?vue&type=script&lang=js\"\n\nimport \"./TaxReliefCalculator.vue?vue&type=style&index=0&id=687ec585&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-687ec585\"]])\n\nexport default __exports__","import { render } from \"./AmountPreselect.vue?vue&type=template&id=3981c0c0&scoped=true\"\nimport script from \"./AmountPreselect.vue?vue&type=script&lang=js\"\nexport * from \"./AmountPreselect.vue?vue&type=script&lang=js\"\n\nimport \"./AmountPreselect.vue?vue&type=style&index=0&id=3981c0c0&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3981c0c0\"]])\n\nexport default __exports__","<template>\n  <div class=\"country-wrapper\">\n    <h3\n      v-if=\"country === 'none'\"\n      class=\"country-help\"\n    >\n      Please select your country\n    </h3>\n    <label :class=\"{ error: v$.$error }\">{{ $t('location.label') }}</label>\n    <SelectField\n      class=\"country\"\n      :list=\"$tm('countries')\"\n      v-model=\"country\"\n      :validation=\"v$.country\"\n    />\n  </div>\n</template>\n\n<script>\nimport SelectField from '@/components/form/SelectField'\nimport countrycodeToOffice from '@/locations/countryCodeToOffice'\nimport { required } from '@vuelidate/validators'\nimport useVuelidate from '@vuelidate/core'\nimport { useRootStore } from '@/stores/root'\nimport { useDonationStore } from '@/stores/donation'\n\nexport default {\n  name: 'CountryLocationSelect',\n  components: {\n    SelectField\n  },\n  setup () {\n    const rootStore = useRootStore()\n    const donationStore = useDonationStore()\n    return { rootStore, donationStore, v$: useVuelidate() }\n  },\n  methods: {\n    updateOfficeFromCountryCode (countryCode) {\n      const officeLocale = countrycodeToOffice[countryCode]\n      this.$l10n.changeLocation(officeLocale)\n    }\n  },\n  computed: {\n    country: {\n      get () { return this.donationStore.country },\n      set (newValue) { this.donationStore.setCountry(newValue) }\n    }\n  },\n  validations () {\n    return {\n      country: {\n        required,\n        country: value => value !== 'none'\n      }\n    }\n  },\n  watch: {\n    country () {\n      this.updateOfficeFromCountryCode(this.country)\n    }\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n  .country-wrapper {\n    margin-bottom: 1rem;\n    label {\n      line-height: 40px;\n      font-weight: bold;\n    }\n    label.error {\n      color: $color-validation-fail;\n    }\n    div.form-field.country {\n      margin-top: 0.1rem;\n      padding-top: 0.1rem;\n    }\n\n    h3.country-help {\n      color: white;\n      font-family: \"Stag-medium\";\n      margin: 0;\n    }\n  }\n</style>\n","<template>\n  <div\n    class=\"form-field selectfield\"\n    :class=\"{ error: hasError && !active }\"\n  >\n    <label\n      v-if=\"label\"\n      :for=\"id\"\n      :class=\"{ active: active || hasValue }\"\n    >\n      {{ label }}\n    </label>\n\n    <select\n      :id=\"id\"\n      v-model=\"val\"\n      v-on=\"{focus, blur}\"\n      :class=\"{ hasValue: hasValue }\"\n    >\n      <option\n        value=\"none\"\n        disabled\n      />\n      <template\n        v-for=\"(key, value) in list\"\n        :key=\"key\"\n      >\n        <option\n          v-if=\"value !== 'disabled'\"\n          :value=\"value\"\n        >\n          {{ key }}\n        </option>\n        <option\n          v-else\n          value=\"none\"\n          disabled\n        >\n          {{ key }}\n        </option>\n      </template>\n    </select>\n  </div>\n</template>\n\n<script>\nimport { v4 as uuid } from 'uuid'\nimport { ref } from 'vue'\n\nexport default {\n  name: 'SelectField',\n  setup () {\n    const active = ref(false)\n    return { active }\n  },\n  props: {\n    modelValue: { type: [String, Number], required: true, default: 'none' },\n    label: { type: String, default: null },\n    list: { type: Object, required: true },\n    validation: { type: Object, required: true }\n  },\n  emits: ['update:modelValue'],\n  computed: {\n    id () { return `element-${uuid()}` },\n    hasError () { return this.validation && this.validation.$error },\n    val: {\n      get () { return this.modelValue },\n      set (newValue) {\n        this.validation && this.validation.$touch()\n        this.$emit('update:modelValue', newValue)\n      }\n    },\n    hasValue () { return this.modelValue && this.modelValue !== 'none' }\n  },\n  methods: {\n    focus () { this.active = true },\n    blur () {\n      this.validation && this.validation.$touch()\n      this.active = false\n    }\n  },\n  watch: {\n    list () {\n      if (this.val === '') { this.val = 'none' }\n    }\n  }\n}\n</script>\n<style lang=\"scss\" scoped>\n  input, select {\n    cursor: pointer !important;\n  }\n</style>\n","import { render } from \"./SelectField.vue?vue&type=template&id=3b021547&scoped=true\"\nimport script from \"./SelectField.vue?vue&type=script&lang=js\"\nexport * from \"./SelectField.vue?vue&type=script&lang=js\"\n\nimport \"./SelectField.vue?vue&type=style&index=0&id=3b021547&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3b021547\"]])\n\nexport default __exports__","import { render } from \"./CountryLocationSelect.vue?vue&type=template&id=3c3fa8bf&scoped=true\"\nimport script from \"./CountryLocationSelect.vue?vue&type=script&lang=js\"\nexport * from \"./CountryLocationSelect.vue?vue&type=script&lang=js\"\n\nimport \"./CountryLocationSelect.vue?vue&type=style&index=0&id=3c3fa8bf&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3c3fa8bf\"]])\n\nexport default __exports__","<template>\n  <div class=\"donation-type-select\">\n    <p v-if=\"$t(`donationForm.donationType.prompt`)\">\n      <small class=\"prompt-text\" v-html=\"promptText\" />\n    </p>\n    <div class=\"donation-types form-check-group\">\n      <div\n        v-for=\"(type) in types\"\n        :key=\"type\"\n        class=\"option\"\n      >\n        <input\n          :id=\"`${type}-donation-type`\"\n          type=\"radio\"\n          v-model=\"donationType\"\n          :value=\"type\"\n        >\n        <label :for=\"`${type}-donation-type`\">\n          {{ $t(`donationForm.donationType.${type}`) }}\n          <DonationFrequencySelect\n            v-if=\"type.match(/^(?!.*oneOff).*$/)\"\n            v-model=\"donationType\"\n          />\n        </label>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport DonationFrequencySelect from '@/components/donation/DonationFrequencySelect'\nimport { useRootStore } from '@/stores/root'\nimport { useDonationStore } from '@/stores/donation'\n\nexport default {\n  name: 'DonationTypeSelect',\n  setup () {\n    const rootStore = useRootStore()\n    const donationStore = useDonationStore()\n    return { rootStore, donationStore }\n  },\n  components: { DonationFrequencySelect },\n  computed: {\n    hideOneOff () { return this.rootStore.omittedFrequency === 'oneOff' },\n    hideRegular () { return this.rootStore.omittedFrequency === 'regular' },\n    types () {\n      if (this.hideOneOff) {\n        return [this.regularType]\n      } else if (this.hideRegular) {\n        if (this.donationType === 'oneOffSvlIt') {\n          return ['oneOffSvlIt']\n        } else {\n          return ['oneOff']\n        }\n      } else if (this.rootStore.currentDomain === 'dona.survival.it') {\n        return [this.regularType, 'oneOff', 'oneOffSvlIt']\n      } else {\n        return [this.regularType, 'oneOff']\n      }\n    },\n    regularType () {\n      return (this.donationType.match(/^(?!.*oneOff).*$/) ? this.donationType : 'monthly')\n    },\n    donationType: {\n      get () { return this.donationStore.type },\n      set (newValue) { this.donationStore.setType(newValue) }\n    },\n    promptText () {\n      if (this.rootStore.appeal && (this.$tm(`appeals.${this.rootStore.appeal}.donationType.prompt`)[0])) {\n        return this.$t(`appeals.${this.rootStore.appeal}.donationType.prompt`)\n      } else if ((this.donationType === 'oneOffSvlIt')) {\n        return this.$t(`donationForm.donationType.promoPrompt`)\n      } else {\n        return this.$t(`donationForm.donationType.prompt`)\n      }\n    }\n  },\n  watch: {\n    types (val) {\n      if (val.length === 1) {\n        const type = val[0]\n        this.donationStore.setType(type)\n      }\n    }\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n  .donation-type-select {\n    display: block;\n    overflow: initial;\n  }\n\n  :deep(.prompt-text) {\n    a {\n      color: $color-web-orange;\n    }\n  }\n\n  .donation-types {\n    display: flex;\n    gap: 5px;\n    flex-direction: row;\n    margin-bottom: 1em;\n    width: 100%;\n    @include on-mobile{\n      flex-direction: column;\n    }\n\n    .option {\n      position: relative;\n      flex: 1 1 0px;\n      text-align: center;\n      margin-right: 0;\n      cursor: pointer;\n      transition: all 200ms ease-in-out;\n    }\n  }\n</style>\n","<template>\n  <div\n    class=\"donation-frequency-select\"\n    v-if=\"multipleFrequencies\"\n  >\n    <span\n      class=\"change\"\n      @click=\"changeClicked()\"\n    />\n    <div\n      class=\"dropdown\"\n      :class=\"{open: open}\"\n    >\n      <div class=\"options\">\n        <div\n          class=\"option\"\n          v-for=\"frequency in frequencies\"\n          :key=\"frequency\"\n          @click=\"select(frequency)\"\n        >\n          {{ $t(`donationForm.donationType.${frequency}`) }}\n        </div>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { useDonationStore } from '@/stores/donation'\nimport { ref } from 'vue'\n\nexport default {\n  name: 'DonationFrequencySelect',\n  setup () {\n    const open = ref(false)\n    const donationStore = useDonationStore()\n    return { donationStore, open }\n  },\n  computed: {\n    type: {\n      get () { return this.donationStore.type },\n      set (newValue) { this.donationStore.setType(newValue) }\n    },\n    frequencies () {\n      return Object.keys(this.$l10n.availableFrequencies.regular).filter(selected => selected !== this.type)\n    },\n    multipleFrequencies () {\n      return (Object.keys(this.$l10n.availableFrequencies.regular).length > 1) && this.type !== 'oneOff'\n    }\n  },\n  methods: {\n    select (frequency) {\n      this.type = frequency\n      this.open = false\n    },\n    changeClicked () {\n      this.open = !this.open\n    }\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n  .donation-frequency-select {\n    display: contents;\n   .dropdown{\n      position: absolute;\n      top: 100%;\n      left: -0.5rem;\n      right: -0.5rem;\n      z-index: -1;\n      box-shadow: 0px 10px 10px 0px rgba(0,0,0,0.35);\n      transform: rotateX(-90deg);\n      transition: all 250ms ease-in-out;\n      transform-origin: top;\n\n      &.open{\n        display: block;\n        transform: rotateX(0deg);\n        z-index: 1000;\n      }\n\n      .options{\n        display: block;\n        background: #fff;\n        padding: 0.25rem;\n\n        .option{\n          display: block;\n          margin: 0.25rem;\n          transition: all 150ms ease-in-out;\n\n          @include on-non-mobile(){\n            height: 3rem;\n            line-height: 3rem;\n          }\n\n          &:hover{\n            background: $color-web-orange;\n          }\n        }\n      }\n    }\n  }\n\n  label {\n    font-weight: bold;\n  }\n\n  span.change {\n    height: 100%;\n    display: block;\n    padding: 0rem 0.5rem;\n    margin-left: 0.25rem;\n    cursor: pointer;\n\n    &:hover{\n      border-color: #000;\n    }\n\n    &:after{\n      border-color: #000;\n      border-style: solid;\n      border-width: 0.25rem 0.25rem 0 0;\n      content: '';\n      display: inline-block;\n      height: 0.45rem;\n      left: calc(50% - 0.35rem);\n      position: relative;\n      top: calc(50% - 0.55rem);\n      vertical-align: top;\n      width: 0.45rem;\n      transform: rotate(135deg);\n    }\n  }\n</style>\n","import { render } from \"./DonationFrequencySelect.vue?vue&type=template&id=ed03b884&scoped=true\"\nimport script from \"./DonationFrequencySelect.vue?vue&type=script&lang=js\"\nexport * from \"./DonationFrequencySelect.vue?vue&type=script&lang=js\"\n\nimport \"./DonationFrequencySelect.vue?vue&type=style&index=0&id=ed03b884&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-ed03b884\"]])\n\nexport default __exports__","import { render } from \"./DonationTypeSelect.vue?vue&type=template&id=31695e28&scoped=true\"\nimport script from \"./DonationTypeSelect.vue?vue&type=script&lang=js\"\nexport * from \"./DonationTypeSelect.vue?vue&type=script&lang=js\"\n\nimport \"./DonationTypeSelect.vue?vue&type=style&index=0&id=31695e28&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-31695e28\"]])\n\nexport default __exports__","import { render } from \"./DonationIntro.vue?vue&type=template&id=fd33833c&scoped=true\"\nimport script from \"./DonationIntro.vue?vue&type=script&lang=js\"\nexport * from \"./DonationIntro.vue?vue&type=script&lang=js\"\n\nimport \"./DonationIntro.vue?vue&type=style&index=0&id=fd33833c&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-fd33833c\"]])\n\nexport default __exports__","<template>\n  <div id=\"donation\">\n    <DonationHeader>\n      <div class=\"columns\">\n        <div class=\"column\">\n          <ProgressTracker :current-step=\"2\" />\n          <DonationSummary />\n          <DonationForm ref=\"form\" />\n          <p class=\"donation-nav\">\n            <GiftDonation v-if=\"$tm('giftDonation.display')\" />\n            <TaxIdentification />\n            <NewsletterSignup />\n            <PrivacyStatement />\n            <GiftAid />\n            <br>\n            <router-link\n              :to=\"{ name: 'donationIntro' }\"\n              class=\"btn btn-primary back\"\n            >\n              <font-awesome-icon icon=\"arrow-left\" />\n              {{ $t('donationForm.back') }}\n            </router-link>\n            &nbsp;\n            <router-link\n              :to=\"{ name: $t('routeNames.paymentDetails') }\"\n              class=\"btn btn-primary continue\"\n              v-if=\"allowContinue\"\n            >\n              {{ $t('donationForm.continue') }}\n              <font-awesome-icon icon=\"arrow-right\" />\n            </router-link>\n            <router-link\n              :to=\"'#'\"\n              class=\"btn btn-primary disabled continue\"\n              @click=\"touchAllFields\"\n              v-else\n            >\n              {{ $t('donationForm.continue') }}\n              <font-awesome-icon icon=\"arrow-right\" />\n            </router-link>\n          </p>\n        </div>\n      </div>\n    </DonationHeader>\n    <DonationFooter />\n  </div>\n</template>\n\n<script>\nimport DonationHeader from './donation/layout/DonationHeader'\nimport DonationFooter from './donation/layout/DonationFooter'\nimport DonationForm from './donation/DonationForm'\nimport GiftAid from '@/components/donation/GiftAid'\nimport TaxIdentification from '@/components/donation/TaxIdentification'\nimport ProgressTracker from '@/components/donation/ProgressTracker'\nimport DonationSummary from '@/components/donation/DonationSummary'\nimport GiftDonation from '@/components/donation/GiftDonation'\nimport NewsletterSignup from '@/components/donation/NewsletterSignup'\nimport PrivacyStatement from '@/components/donation/PrivacyStatement'\nimport { useRootStore } from '@/stores/root'\n\nexport default {\n  name: 'PersonalDetails',\n  setup () {\n    const rootStore = useRootStore()\n    return { rootStore }\n  },\n  components: {\n    DonationFooter,\n    DonationHeader,\n    DonationForm,\n    GiftAid,\n    GiftDonation,\n    TaxIdentification,\n    ProgressTracker,\n    DonationSummary,\n    DonationSummary,\n    NewsletterSignup,\n    PrivacyStatement\n  },\n  computed: {\n    allowContinue () {\n      return this.rootStore.validation.form\n    }\n  },\n  methods: {\n    async touchAllFields () {\n      this.rootStore.touchValidationFields(true)\n      await this.$nextTick()\n      this.rootStore.touchValidationFields(false)\n      this.$scrollToElement('.error')\n    }\n  },\n  mounted () {\n    this.$scrollToElement('.column')\n  },\n  watch: {\n    allowContinue: function (val) {\n      if (val === true) { this.$scrollToElement('.continue') }\n    }\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n  .columns {\n    @include on-desktop(){\n      display: flex;\n      margin: 0 -0.5rem;\n    }\n\n    .column {\n      margin-bottom: 1.5rem;\n\n       @include on-desktop(){\n        flex: 1;\n        margin: 0;\n        padding: 0.5rem 1rem;\n      }\n    }\n  }\n\n  .donation-nav {\n    margin: 0 2rem;\n\n    @include on-mobile(){\n      margin-left: 0;\n    }\n  }\n</style>\n","<template>\n  <div class=\"donation-form\">\n    <TransitionSlide>\n      <div\n        class=\"full-details\"\n        :class=\"formClasses\"\n      >\n        <h3 class=\"details-header\">\n          {{ $t('donationForm.details.header') }}\n        </h3>\n        <div class=\"name\">\n          <FormField\n            class=\"forename\"\n            :label=\"showAsteriskIfRequired('forename') + $t('donationForm.details.forename.label')\"\n            v-model=\"forename\"\n            :validation=\"v$.forename\"\n          />\n          <FormField\n            class=\"surname\"\n            :label=\"showAsteriskIfRequired('surname') + $t('donationForm.details.surname.label')\"\n            v-model=\"surname\"\n            :validation=\"v$.surname\"\n          />\n        </div>\n        <FormField\n          class=\"email\"\n          :label=\"showAsteriskIfRequired('email') + $t('donationForm.details.email.label')\"\n          v-model=\"email\"\n          type=\"email\"\n          :validation=\"v$.email\"\n        />\n        <FormField\n          v-if=\"showPhone\"\n          class=\"phone\"\n          :label=\"$t('donationForm.details.phone.label')\"\n          v-model=\"phone\"\n          :validation=\"v$.phone\"\n        />\n        <FormField\n          class=\"street\"\n          :label=\"showAsteriskIfRequired('street') + $t('donationForm.details.street.label')\"\n          v-model=\"street\"\n          :validation=\"v$.street\"\n        />\n        <FormField\n          class=\"city\"\n          :label=\"showAsteriskIfRequired('city') + $t('donationForm.details.city.label')\"\n          v-model=\"city\"\n          :validation=\"v$.city\"\n        />\n        <FormField\n          class=\"zip\"\n          :label=\"showAsteriskIfRequired('zip') + $t('donationForm.details.zip.label')\"\n          v-model=\"zip\"\n          :validation=\"v$.zip\"\n        />\n        <SelectField\n          v-if=\"(Object.keys($tm('states')).length > 0) && showState\"\n          class=\"state\"\n          :label=\"showAsteriskIfRequired('state') + $t('donationForm.details.state.label')\"\n          :list=\"$tm('states')\"\n          v-model=\"state\"\n          :validation=\"v$.state\"\n        />\n        <FormField\n          v-else-if=\"showState\"\n          class=\"state\"\n          :label=\"$t('donationForm.details.state.label')\"\n          v-model=\"state\"\n          :validation=\"v$.state\"\n        />\n        <SelectField\n          v-if=\"editableCountry\"\n          class=\"country\"\n          :label=\"showAsteriskIfRequired('country') + $t('location.label')\"\n          :list=\"$tm('countries')\"\n          v-model=\"country\"\n          :validation=\"v$.country\"\n        />\n        <div\n          v-else\n          class=\"country readonly-val\"\n        >\n          {{ $tm('countries')[country] }}\n        </div>\n      </div>\n    </TransitionSlide>\n  </div>\n</template>\n\n<script>\nimport TransitionSlide from '@/transitions/Slide'\nimport FormField from '@/components/form/FormField'\nimport SelectField from '@/components/form/SelectField'\nimport countrycodeToOffice from '@/locations/countryCodeToOffice'\nimport { postcodeValidator, postcodeValidatorExistsForCountry } from 'postcode-validator'\nimport { required, requiredIf, email } from '@vuelidate/validators'\nimport useVuelidate from '@vuelidate/core'\nimport { useDonationStore } from '@/stores/donation'\nimport { useRootStore } from '@/stores/root'\nimport { useL10nStore } from '@/stores/l10n'\n\nexport default {\n  name: 'DonationForm',\n  components: {\n    TransitionSlide,\n    FormField,\n    SelectField\n  },\n  setup () {\n    const donationStore = useDonationStore()\n    const rootStore = useRootStore()\n    const l10nStore = useL10nStore()\n    return { v$: useVuelidate(), donationStore, rootStore, l10nStore }\n  },\n  methods: {\n    showAsteriskIfRequired (field) {\n      const fieldRequired = this.v$[field].required\n      if (this[field] === 'none') {\n        return '* '\n      } else if (fieldRequired && fieldRequired.$invalid) {\n        return '* '\n      } else {\n        return ''\n      }\n    },\n    updateOfficeFromCountryCode (countryCode) {\n      const officeLocale = countrycodeToOffice[countryCode]\n      this.$l10n.changeLocation(officeLocale)\n    },\n    zipValid (value) {\n      if (postcodeValidatorExistsForCountry(this.country)) {\n        return postcodeValidator(this.zip, this.country)\n      } else {\n        return (value === null) ? false : value.match(/\\S/)\n      }\n    }\n  },\n  computed: {\n    forename: {\n      get () { return this.donationStore.forename },\n      set (newValue) { this.donationStore.setForename(newValue) }\n    },\n    surname: {\n      get () { return this.donationStore.surname },\n      set (newValue) { this.donationStore.setSurname(newValue) }\n    },\n    email: {\n      get () { return this.donationStore.email },\n      set (newValue) { this.donationStore.setEmail(newValue) }\n    },\n    phone: {\n      get () { return this.donationStore.phone },\n      set (newValue) { this.donationStore.setPhone(newValue) }\n    },\n    currency: {\n      get () { return this.donationStore.currency },\n      set (newValue) { this.donationStore.setCurrency(newValue) }\n    },\n    street: {\n      get () { return this.donationStore.street },\n      set (newValue) { this.donationStore.setStreet(newValue) }\n    },\n    city: {\n      get () { return this.donationStore.city },\n      set (newValue) { this.donationStore.setCity(newValue) }\n    },\n    zip: {\n      get () { return this.donationStore.zip },\n      set (newValue) { this.donationStore.setZip(newValue.toUpperCase()) }\n    },\n    state: {\n      get () { return this.donationStore.state },\n      set (newValue) { this.donationStore.setState(newValue) }\n    },\n    country: {\n      get () { return this.donationStore.country },\n      set (newValue) { this.donationStore.setCountry(newValue) }\n    },\n    validateAllFields () { return this.rootStore.validateAllFields },\n    showState () {\n      return this.l10nStore.current.formFields.state.show\n    },\n    showPhone () {\n      return this.l10nStore.current.formFields.telephone.show\n    },\n    hidePhoneAndState () {\n      return (!this.showPhone) && (!this.showState)\n    },\n    formClasses () {\n      if (this.hidePhoneAndState) { return { 'no-phone-or-state': true } }\n      if (!this.showState) { return { 'no-state': true } }\n      if (!this.showPhone) { return { 'no-phone': true } }\n      return {}\n    },\n    editableCountry () {\n      return (!this.rootStore.isEnDomain) || ('l' in this.rootStore.queryParams)\n    }\n  },\n  validations () {\n    return {\n      forename: { required },\n      surname: { required },\n      email: { email, required },\n      phone: { phone: value => value === null ? true : /^[0-9\\s]*$/.test(value) },\n      street: {\n        required: requiredIf(function () { return this.l10nStore.current.formFields.street.required }),\n        street: value => (value === null || value === '') ? true : !!value.match(/\\S/)\n      },\n      zip: {\n        required: requiredIf(function () { return this.l10nStore.current.formFields.zip.required }),\n        zip: value => (value === null || value === '') ? true : this.zipValid(value)\n      },\n      state: {\n        required: requiredIf(function () { return this.l10nStore.current.formFields.state.required }),\n        state: value => (value === null || value === '') ? true : !!value.match(/\\S/)\n      },\n      city: {\n        required: requiredIf(function () { return this.l10nStore.current.formFields.city.required }),\n        city: value => (value === null || value === '') ? true : !!value.match(/\\S/)\n      },\n      country: {\n        required,\n        country: value => value !== 'none'\n      }\n    }\n  },\n  watch: {\n    country: function (val) {\n      const lParamGiven = this.rootStore.queryParams['l']\n      if (this.rootStore.isEnDomain && (!lParamGiven)) {\n        this.updateOfficeFromCountryCode(val)\n      }\n    },\n    validateAllFields: function (_val) { this.v$.$touch() },\n    'v$.$invalid': function (val) { this.rootStore.setValidationForm(!val) }\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n  .donation-form {\n    margin: 0.1em 0 0;\n\n    .full-details{\n      height: auto !important;\n      @include on-non-mobile(){\n        display: grid;\n        grid-gap: 1rem;\n        grid-row-gap: 0;\n        grid-template-columns: 1rem 1fr 1rem;\n        grid-template-areas:\n          '. header .'\n          '. name .'\n          '. email .'\n          '. phone .'\n          '. street .'\n          '. city .'\n          '. zip .'\n          '. state .'\n          '. country .';\n      }\n\n      &.no-state{\n        grid-template-areas:\n          '. header .'\n          '. name .'\n          '. email .'\n          '. phone .'\n          '. street .'\n          '. city .'\n          '. zip .'\n          '. country .';\n      }\n\n      &.no-phone{\n        grid-template-areas:\n          '. header .'\n          '. name .'\n          '. email .'\n          '. street .'\n          '. city .'\n          '. zip .'\n          '. state .'\n          '. country .';\n      }\n\n      &.no-phone-or-state{\n        grid-template-areas:\n          '. header .'\n          '. name .'\n          '. email .'\n          '. street .'\n          '. city .'\n          '. zip .'\n          '. country .';\n      }\n\n      h3 {\n        margin: 0.75em 0 0.5em;\n        color: white;\n        font-family: $titles-font-family-medium;\n\n        &.details-header{\n          margin-bottom: 0;\n          grid-area: header;\n        }\n      }\n      & > .name{\n        grid-area: name;\n\n        @include on-non-mobile(){\n          display: grid;\n          grid-auto-flow: column;\n          grid-gap: 1rem;\n        }\n      }\n      & > .email{\n        grid-area: email;\n      }\n      & > .phone{\n        grid-area: phone;\n      }\n      & > .street{\n        grid-area: street;\n      }\n      & > .zip{\n        grid-area: zip;\n      }\n      & > .city{\n        grid-area: city;\n      }\n      & > .state{\n        grid-area: state;\n      }\n      & > .country{\n        grid-area: country;\n      }\n    }\n\n    .readonly-val {\n      margin-top: 2rem;\n      padding: 0.5rem;\n      background-color: rgba(255, 255, 255, 0.3);\n      color: $color-faded-btn-text;\n    }\n  }\n</style>\n","import { render } from \"./DonationForm.vue?vue&type=template&id=82938720&scoped=true\"\nimport script from \"./DonationForm.vue?vue&type=script&lang=js\"\nexport * from \"./DonationForm.vue?vue&type=script&lang=js\"\n\nimport \"./DonationForm.vue?vue&type=style&index=0&id=82938720&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-82938720\"]])\n\nexport default __exports__","<template>\n  <div\n    class=\"gift-aid\"\n    v-if=\"display\"\n  >\n    <h4>{{ $t('donationForm.details.giftaid.title') }}</h4>\n    <p>{{ $t('donationForm.details.giftaid.description', { amount: amountWithGiftAid }) }}</p>\n    <div>\n      <img\n        class=\"giftaid-logo\"\n        :src=\"$t('donationForm.details.giftaid.logo')\"\n        alt=\"Giftaid logo\"\n      >\n      <CheckBox\n        :label=\"$t('donationForm.details.giftaid.label')\"\n        v-model=\"giftaid\"\n      />\n    </div>\n  </div>\n</template>\n\n<script>\nimport CheckBox from '@/components/form/CheckBox'\nimport { useDonationStore } from '@/stores/donation'\nimport currency from 'currency.js'\n\nexport default {\n  name: 'GiftAid',\n  setup () {\n    const donationStore = useDonationStore()\n    return { donationStore }\n  },\n  components: { CheckBox },\n  computed: {\n    giftaid: {\n      get () { return this.donationStore.giftaid },\n      set (newValue) { this.donationStore.setGiftaid(newValue) }\n    },\n    amount () { return this.donationStore.amount },\n    amountWithGiftAid () { return currency(this.amount).multiply(0.25) },\n    currency () { return this.donationStore.currency },\n    country () { return this.donationStore.country },\n    display () {\n      return ((this.currency === 'gbp') && (this.country === 'GB'))\n    }\n  },\n  watch: {\n    currency () {\n      if (this.currency !== 'gbp') { this.giftaid = false }\n    }\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n$text-color: #fff;\nh4 {\n  color: $text-color;\n  font-family: 'Stag-medium';\n  display: inline;\n  &:after{\n    content: ' - ';\n    display: inline;\n  }\n}\nimg.giftaid-logo {\n  width: 10rem;\n  margin: 0.5rem;\n}\n\n.gift-aid {\n  font-size: 0.9rem;\n  background: rgba(255,255,255,0.3);\n  color: $text-color;\n  padding: 0.75rem;\n  margin-top: 1rem;\n\n  .giftaid-logo {\n    display: block;\n  }\n  p {\n    margin-top: 0.1rem;\n    font-size: 1.1rem;\n    display: inline;\n  }\n}\n</style>\n","<template>\n  <div class=\"form-check\">\n    <input\n      type=\"checkbox\"\n      :id=\"id\"\n      v-model=\"val\"\n    >\n    <label\n      :for=\"id\"\n      v-if=\"label\"\n    >\n      <span class=\"check\" />\n      <span class=\"text\">{{ label }}</span>\n    </label>\n  </div>\n</template>\n\n<script>\nimport { v4 as uuid } from 'uuid'\n\nexport default {\n  name: 'CheckBox',\n  props: {\n    modelValue: { required: true, type: Boolean },\n    label: { required: true, type: String }\n  },\n  emits: ['update:modelValue'],\n  computed: {\n    id () { return `element-${uuid()}` },\n    val: {\n      get () { return this.modelValue },\n      set (newValue) {\n        this.$emit('update:modelValue', newValue)\n      }\n    }\n  }\n}\n</script>\n","import { render } from \"./CheckBox.vue?vue&type=template&id=a17b9fd0\"\nimport script from \"./CheckBox.vue?vue&type=script&lang=js\"\nexport * from \"./CheckBox.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./GiftAid.vue?vue&type=template&id=7217da76&scoped=true\"\nimport script from \"./GiftAid.vue?vue&type=script&lang=js\"\nexport * from \"./GiftAid.vue?vue&type=script&lang=js\"\n\nimport \"./GiftAid.vue?vue&type=style&index=0&id=7217da76&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7217da76\"]])\n\nexport default __exports__","<template>\n  <div class=\"tax-identification\">\n    <div\n      v-if=\"currentLocationKey === 'us'\"\n      class=\"us-tax-guidestar\"\n    >\n      <div>\n        <img\n          class=\"guidestar-platinum-seal\"\n          src=\"https://assets.survivalinternational.org/viru/logos/guidestar-platinum-seal.png\"\n          alt=\"GuideStar Platinum Seal\"\n        >\n      </div>\n      <div>\n        <span>{{ $t('donationForm.details.guidestar.tax_id') }}</span>\n      </div>\n    </div>\n    <ItTaxInformation v-else-if=\"showItalyTaxID\" />\n    <EsTaxInformation v-else-if=\"showSpainTaxID\" />\n  </div>\n</template>\n\n<script>\nimport EsTaxInformation from '@/components/donation/tax/EsTaxInformation'\nimport ItTaxInformation from '@/components/donation/tax/ItTaxInformation'\nimport { useDonationStore } from '@/stores/donation'\nimport { useL10nStore } from '@/stores/l10n'\n\nexport default {\n  name: 'TaxIdentification',\n  components: { EsTaxInformation, ItTaxInformation },\n  setup () {\n    const donationStore = useDonationStore()\n    const l10nStore = useL10nStore()\n    return { donationStore, l10nStore }\n  },\n  computed: {\n    currentCountry () { return this.donationStore.country },\n    currentLocationKey () { return this.l10nStore.current.key },\n    showSpainTaxID () { return (this.currentLocationKey === 'es') && (this.currentCountry === 'ES') },\n    showItalyTaxID () { return (this.currentLocationKey === 'it') },\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n  .us-tax-guidestar {\n    margin-top: 1em;\n    div {\n      img.guidestar-platinum-seal {\n        width: 6rem;\n\n        @include on-non-mobile(){\n          width: 6rem;\n        }\n      }\n      span {\n        font-family: 'Stag-medium';\n        color: white;\n      }\n    }\n  }\n</style>\n","<template>\n  <div class=\"es-tax\">\n    <FormField\n      :label=\"$t('donationForm.details.taxId.idNumber')\"\n      v-model=\"idNumber\"\n      :validation=\"v$.idNumber\"\n      :placeholder=\"$t('donationForm.details.taxId.idNumber')\"\n    />\n    <SelectField\n      :label=\"$t('donationForm.details.taxId.taxIdentification')\"\n      :list=\"idTypes\"\n      v-model=\"idType\"\n      :validation=\"v$.idType\"\n    />\n    <details class=\"why-tax-id\">\n      <summary>\n        <small>{{ $t('donationForm.details.taxId.whyQuestion') }}</small>\n      </summary>\n      <small>{{ $t('donationForm.details.taxId.whyAnswer') }}</small>\n    </details>\n  </div>\n</template>\n\n<script>\nimport SelectField from '@/components/form/SelectField'\nimport FormField from '@/components/form/FormField'\nimport { validateSpanishID, spainIdType } from '@/lib/validation/validateSpanishID'\nimport { requiredIf } from '@vuelidate/validators'\nimport useVuelidate from '@vuelidate/core'\nimport { useDonationStore } from '@/stores/donation'\nimport { useL10nStore } from '@/stores/l10n'\n\nexport default {\n  name: 'EsTaxInformation',\n  components: { FormField, SelectField },\n  setup () {\n    const donationStore = useDonationStore()\n    const l10nStore = useL10nStore()\n    return { v$: useVuelidate(), donationStore, l10nStore }\n  },\n  computed: {\n    idTypes () { return this.$tm('donationForm.details.taxId.idTypes') },\n    currentCountry () { return this.donationStore.country },\n    currentLocationKey () { return this.l10nStore.current.key },\n    idType: {\n      get () { return this.donationStore.tax.idType },\n      set (newValue) { this.donationStore.setTax({ idType: newValue, idNumber: this.donationStore.tax.idNumber }) }\n    },\n    idNumber: {\n      get () { return this.donationStore.tax.idNumber },\n      set (newValue) { this.donationStore.setTax({ idType: this.donationStore.tax.idType, idNumber: newValue }) }\n    }\n  },\n  validations () {\n    return {\n      idNumber: {\n        required: requiredIf(function () { return !['none', ''].includes(this.idType) }),\n        idNumber: value => ([null, ''].includes(value)) ? true : validateSpanishID(value)\n      },\n      idType: {\n        required: requiredIf(function () { return ![null, ''].includes(this.idNumber) }),\n        idType: value => validateSpanishID(this.idNumber) ? !['none', ''].includes(value) : true\n      }\n    }\n  },\n  watch: {\n    idNumber: function (val) {\n      if (validateSpanishID(val)) {\n        this.idNumber = val.toUpperCase()\n        this.idType = `${spainIdType(val)}`.toUpperCase()\n      }\n    }\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n  .es-tax {\n    :first-child {\n      margin-right: 12px\n    }\n    .form-field {\n      display: inline-block;\n      width: 48.5%;\n    }\n\n    @include on-mobile() {\n      .form-field {\n        display: block;\n        width: 100%\n      }\n    }\n  }\n\n  .why-tax-id {\n    summary {\n      small {\n        &:hover {\n          color: $color-web-orange;\n          cursor: pointer;\n        }\n      }\n    }\n  }\n</style>\n","/**\n * VIRU NOTE: code adapted from gist: https://gist.github.com/afgomez/5691823\n *\n * ValidateSpanishID. Returns the type of document and checks its validity.\n *\n * Usage:\n *     ValidateSpanishID(str);\n *\n *     > ValidateSpanishID('12345678Z');\n *     // { type: 'dni', valid: true }\n *\n *     > ValidateSpanishID('B83375575');\n *     // { type: 'cif', valid: false }\n *\n * The algorithm is adapted from other solutions found at:\n * - http://www.compartecodigo.com/javascript/validar-nif-cif-nie-segun-ley-vigente-31.html\n * - http://es.wikipedia.org/wiki/C%C3%B3digo_de_identificaci%C3%B3n_fiscal\n */\nconst DNI_REGEX = /^(\\d{8})([A-Z])$/\nconst CIF_REGEX = /^([ABCDEFGHJKLMNPQRSUVW])(\\d{7})([0-9A-J])$/\nconst NIE_REGEX = /^[XYZ]\\d{7,8}[A-Z]$/\n\nexport { validateSpanishID, spainIdType }\n\nfunction validateSpanishID (str) {\n  if (str === null) { return false }\n  // Ensure upcase and remove whitespace\n  str = str.toUpperCase().replace(/\\s/, '')\n\n  let valid = false\n  const type = spainIdType(str)\n\n  switch (type) {\n    case 'dni':\n      valid = validDNI(str)\n      break\n    case 'nie':\n      valid = validNIE(str)\n      break\n    case 'cif':\n      valid = validCIF(str)\n      break\n  }\n  return valid\n}\n\nfunction spainIdType (str = '') {\n  if (str.match(DNI_REGEX)) {\n    return 'dni'\n  }\n  if (str.match(CIF_REGEX)) {\n    return 'cif'\n  }\n  if (str.match(NIE_REGEX)) {\n    return 'nie'\n  }\n}\n\nfunction validDNI (dni) {\n  const dniLetters = 'TRWAGMYFPDXBNJZSQVHLCKE'\n  const letter = dniLetters.charAt(parseInt(dni, 10) % 23)\n  return letter === dni.charAt(8)\n}\n\nfunction validNIE (nie) {\n  // Change the initial letter for the corresponding number and validate as DNI\n  let niePrefix = nie.charAt(0)\n\n  switch (niePrefix) {\n    case 'X': niePrefix = 0; break\n    case 'Y': niePrefix = 1; break\n    case 'Z': niePrefix = 2; break\n  }\n  return validDNI(niePrefix + nie.substr(1))\n}\n\nfunction validCIF (cif) {\n  const match = cif.match(CIF_REGEX)\n  const letter = match[1]\n  const number = match[2]\n  const control = match[3]\n  let evenSum = 0\n  let oddSum = 0\n  let n\n\n  for (let i = 0; i < number.length; i++) {\n    n = parseInt(number[i], 10)\n    // Odd positions (Even index equals to odd position. i=0 equals first position)\n    if (i % 2 === 0) {\n      // Odd positions are multiplied first.\n      n *= 2\n      // If the multiplication is bigger than 10 we need to adjust\n      oddSum += n < 10 ? n : n - 9\n    } else {\n      // Even positions\n      // Just sum them\n      evenSum += n\n    }\n  }\n  const controlDigit = (10 - (evenSum + oddSum).toString().substr(-1))\n  const controlLetter = 'JABCDEFGHI'.substr(controlDigit, 1)\n\n  // Control must be a digit\n  if (letter.match(/[ABEH]/)) {\n    return control == controlDigit\n  // Control must be a letter\n  } else if (letter.match(/[KPQS]/)) {\n    return control == controlLetter\n\n  // Can be either\n  } else {\n    return control == controlDigit || control == controlLetter\n  }\n}\n","import { render } from \"./EsTaxInformation.vue?vue&type=template&id=27544e76&scoped=true\"\nimport script from \"./EsTaxInformation.vue?vue&type=script&lang=js\"\nexport * from \"./EsTaxInformation.vue?vue&type=script&lang=js\"\n\nimport \"./EsTaxInformation.vue?vue&type=style&index=0&id=27544e76&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-27544e76\"]])\n\nexport default __exports__","<template>\n  <div class=\"it-tax\">\n    <FormField\n      :label=\"$t('donationForm.details.taxId.idNumber')\"\n      v-model=\"taxNumber\"\n      :validation=\"v$.taxNumber\"\n    />\n    <small>{{ $t('donationForm.details.taxId.details') }}</small>\n  </div>\n</template>\n\n<script>\nimport FormField from '@/components/form/FormField'\nimport { alphaNum } from '@vuelidate/validators'\nimport useVuelidate from '@vuelidate/core'\nimport { useDonationStore } from '@/stores/donation'\nimport { useL10nStore } from '@/stores/l10n'\n\nexport default {\n  name: 'ItTaxInformation',\n  components: { FormField },\n  setup () {\n    const donationStore = useDonationStore()\n    const l10nStore = useL10nStore()\n    return { v$: useVuelidate(), donationStore, l10nStore }\n  },\n  computed: {\n    taxNumber: {\n      get () { return this.donationStore.tax.taxNumber },\n      set (newValue) { this.donationStore.setTax({ taxNumber: newValue }) }\n    }\n  },\n  validations () {\n    return {\n      taxNumber: { alphaNum }\n    }\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n</style>\n","import { render } from \"./ItTaxInformation.vue?vue&type=template&id=42323ae9\"\nimport script from \"./ItTaxInformation.vue?vue&type=script&lang=js\"\nexport * from \"./ItTaxInformation.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./TaxIdentification.vue?vue&type=template&id=b7be9496&scoped=true\"\nimport script from \"./TaxIdentification.vue?vue&type=script&lang=js\"\nexport * from \"./TaxIdentification.vue?vue&type=script&lang=js\"\n\nimport \"./TaxIdentification.vue?vue&type=style&index=0&id=b7be9496&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-b7be9496\"]])\n\nexport default __exports__","<template>\n  <div class=\"donation-progress\">\n    <ul>\n      <li\n        class=\"step\"\n        :class=\"{ 'current-step': currentStep === 1 }\"\n      >\n        1\n      </li>\n      <li class=\"spacer\" />\n      <li\n        class=\"step\"\n        :class=\"{ 'current-step': currentStep === 2 }\"\n      >\n        2\n      </li>\n      <li class=\"spacer\" />\n      <li\n        class=\"step\"\n        :class=\"{ 'current-step': currentStep === 3 }\"\n      >\n        3\n      </li>\n      <li class=\"spacer\" />\n      <li\n        class=\"step\"\n        :class=\"{ 'current-step': currentStep === 4 }\"\n      >\n        <font-awesome-icon icon=\"check\" />\n      </li>\n    </ul>\n  </div>\n</template>\n\n<script>\nexport default {\n  name: 'ProgressTracker',\n  props: {\n    currentStep: { required: true, type: Number }\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n  div.donation-progress {\n    margin: 0 2rem;\n    ul {\n      display: flex;\n      justify-content: center;\n      padding-left: 0;\n\n      li.step {\n        flex: 0 1 auto;\n        list-style-type: none;\n        width: 40px;\n        height: 40px;\n        border-radius: 100%;\n        background-color: rgba(255, 255, 255, 0.3);\n        color: $color-faded-btn-text;\n        font-size: 20px;\n        line-height: 40px;\n        text-align: center;\n        font-weight: bold;\n      }\n\n      li.current-step {\n        color: $color-blue-lagoon;\n        background-color: white;\n      }\n\n      li.spacer {\n        margin: 0.1rem 0;\n        list-style-type: none;\n        height : 1.2rem;\n        border-bottom: 2px dotted white;\n        flex-grow: 1;\n      }\n    }\n  }\n</style>\n","import { render } from \"./ProgressTracker.vue?vue&type=template&id=ab439a30&scoped=true\"\nimport script from \"./ProgressTracker.vue?vue&type=script&lang=js\"\nexport * from \"./ProgressTracker.vue?vue&type=script&lang=js\"\n\nimport \"./ProgressTracker.vue?vue&type=style&index=0&id=ab439a30&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-ab439a30\"]])\n\nexport default __exports__","<template>\n  <div class=\"donation-summary\">\n    <span v-html=\"summaryText\" />\n  </div>\n</template>\n\n<script>\nimport { useDonationStore } from '@/stores/donation'\nimport { useL10nStore } from '@/stores/l10n'\n\nexport default {\n  name: 'DonationSummary',\n  setup () {\n    const donationStore = useDonationStore()\n    const l10nStore = useL10nStore()\n    return { donationStore, l10nStore }\n  },\n  computed: {\n    amount() { return this.donationStore.amount },\n    currency() { return this.donationStore.currency },\n    formattedCurrency() { return this.$l10n.formatCurrency(this.amount, this.currency, { precision: 2 }) },\n    type() { return this.donationStore.type },\n    summaryText() { return this.$t(`donationSummary.${this.type}`, { amount: this.formattedCurrency }) }\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n  div.donation-summary {\n    margin-left: 2rem;\n  }\n</style>\n","import { render } from \"./DonationSummary.vue?vue&type=template&id=348f24e2&scoped=true\"\nimport script from \"./DonationSummary.vue?vue&type=script&lang=js\"\nexport * from \"./DonationSummary.vue?vue&type=script&lang=js\"\n\nimport \"./DonationSummary.vue?vue&type=style&index=0&id=348f24e2&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-348f24e2\"]])\n\nexport default __exports__","<template>\n  <div class=\"gift-this-donation\">\n    <CheckBox\n      :label=\"$t('giftDonation.checkLabel')\"\n      v-model=\"giftDonation\"\n    />\n    <TransitionSlide>\n      <div v-if=\"giftDonation\">\n        <h4>{{ $t('giftDonation.name.title') }}</h4>\n        <FormField\n          :label=\"$t('giftDonation.name.label')\"\n          v-model=\"giftData.name\"\n          :validation=\"v$.giftData.name\"\n        />\n        <h4>{{ $t('giftDonation.email.title') }}</h4>\n        <FormField\n          :label=\"$t('giftDonation.email.label')\"\n          v-model=\"giftData.email\"\n          :validation=\"v$.giftData.email\"\n          type=\"email\"\n        />\n        <small>{{ $t('giftDonation.email.note') }}</small>\n        <FormField\n          :label=\"$t('giftDonation.message.label')\"\n          v-model=\"giftData.message\"\n          :validation=\"v$.giftData.message\"\n          type=\"textarea\"\n        />\n        <small>\n          {{ $t('giftDonation.message.characters') }}\n          {{ `${charsTaken}/400` }}\n        </small>\n      </div>\n    </TransitionSlide>\n  </div>\n</template>\n\n<script>\nimport CheckBox from '@/components/form/CheckBox'\nimport FormField from '@/components/form/FormField'\nimport TransitionSlide from '@/transitions/Slide'\nimport { requiredIf, email, maxLength } from '@vuelidate/validators'\nimport useVuelidate from '@vuelidate/core'\nimport { useDonationStore } from '@/stores/donation'\nimport { ref } from 'vue'\n\nexport default {\n  name: 'GiftDonation',\n  components: {\n    CheckBox, FormField, TransitionSlide\n  },\n  setup () {\n    const donationStore = useDonationStore()\n    const giftDonation = ref(false)\n    const giftData = ref({ name: null, email: null, message: '' })\n    return { donationStore, v$: useVuelidate(), giftDonation, giftData }\n  },\n  validations () {\n    return {\n      giftData: {\n        name: { required: requiredIf(function () { return this.giftDonation }) },\n        email: { email },\n        message: {\n          message: maxLength(400)\n        }\n      }\n    }\n  },\n  computed: {\n    charsTaken () { return this.giftData.message.length },\n    fieldsInvalid () { return this.v$.$invalid }\n  },\n  watch: {\n    giftDonation: function (val) {\n      if (val === false) {\n        this.donationStore.setGiftDonation(null)\n        this.giftData = { name: null, email: null, message: '' }\n      }\n    },\n    'giftData.name': function (_val) {\n      if (!this.fieldsInvalid && this.giftDonation) {\n        this.donationStore.setGiftDonation(`name=${this.giftData.name};email=${this.giftData.email};message=${this.giftData.message}`)\n      }\n    },\n    'giftData.email': function (_val) {\n      if (!this.fieldsInvalid && this.giftDonation) {\n        this.donationStore.setGiftDonation(`name=${this.giftData.name};email=${this.giftData.email};message=${this.giftData.message}`)\n      }\n    },\n    'giftData.message': function (_val) {\n      if (!this.fieldsInvalid && this.giftDonation) {\n        this.donationStore.setGiftDonation(`name=${this.giftData.name};email=${this.giftData.email};message=${this.giftData.message}`)\n      }\n    }\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n  .gift-this-donation {\n    margin-top: 1rem;\n\n    h4 {\n      color: white;\n      font-family: $titles-font-family-medium;\n      margin-bottom: 0.1rem;\n    }\n\n    .form-check {\n      padding-top: 0.5em;\n    }\n  }\n</style>\n","import { render } from \"./GiftDonation.vue?vue&type=template&id=780df392&scoped=true\"\nimport script from \"./GiftDonation.vue?vue&type=script&lang=js\"\nexport * from \"./GiftDonation.vue?vue&type=script&lang=js\"\n\nimport \"./GiftDonation.vue?vue&type=style&index=0&id=780df392&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-780df392\"]])\n\nexport default __exports__","<template>\n  <div\n    id=\"newsletterSignup\"\n    v-if=\"display\"\n  >\n    <h3>{{ $t('donationForm.details.newsletter.title') }}</h3>\n    <div>\n      <small>{{ $t('donationForm.details.newsletter.text') }}</small>\n    </div>\n    <CheckBox\n      :label=\"$t('donationForm.details.newsletter.label')\"\n      v-model=\"newsletter\"\n    />\n  </div>\n</template>\n\n<script>\nimport CheckBox from '@/components/form/CheckBox'\nimport { useDonationStore } from '@/stores/donation'\n\nexport default {\n  name: 'NewsletterSignup',\n  setup () {\n    const donationStore = useDonationStore()\n    return { donationStore }\n  },\n  components: { CheckBox },\n  computed: {\n    newsletter: {\n      get () { return this.donationStore.newsletter },\n      set (newValue) {\n        this.donationStore.setNewsletter(newValue)\n      }\n    },\n    display () { return this.$l10n.currentLocation.formFields.newsletter.show }\n  },\n  mounted () {\n    this.donationStore.setNewsletter(this.$l10n.currentLocation.formFields.newsletter.prechecked)\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n  h3 {\n    color: white;\n    font-family: $titles-font-family-medium;\n    margin-bottom: 0.5rem;\n  }\n\n  .form-check {\n    padding-top: 0.5em;\n  }\n</style>\n","import { render } from \"./NewsletterSignup.vue?vue&type=template&id=76f90b32&scoped=true\"\nimport script from \"./NewsletterSignup.vue?vue&type=script&lang=js\"\nexport * from \"./NewsletterSignup.vue?vue&type=script&lang=js\"\n\nimport \"./NewsletterSignup.vue?vue&type=style&index=0&id=76f90b32&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-76f90b32\"]])\n\nexport default __exports__","<template>\n  <div class=\"privacy-statement\">\n    <h3>{{ $t('donationForm.details.privacy.title') }}</h3>\n    <div>\n      <small v-html=\"$t('donationForm.details.privacy.text')\" />\n    </div>\n  </div>\n</template>\n\n<script>\nexport default {\n  name: 'PrivacyStatement'\n}\n</script>\n\n<style lang=\"scss\" scoped>\n  h3 {\n    color: white;\n    font-family: $titles-font-family-medium;\n    margin-bottom: 0.5rem;\n  }\n</style>\n","import { render } from \"./PrivacyStatement.vue?vue&type=template&id=d04328b8&scoped=true\"\nimport script from \"./PrivacyStatement.vue?vue&type=script&lang=js\"\nexport * from \"./PrivacyStatement.vue?vue&type=script&lang=js\"\n\nimport \"./PrivacyStatement.vue?vue&type=style&index=0&id=d04328b8&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-d04328b8\"]])\n\nexport default __exports__","import { render } from \"./PersonalDetails.vue?vue&type=template&id=1c4a604f&scoped=true\"\nimport script from \"./PersonalDetails.vue?vue&type=script&lang=js\"\nexport * from \"./PersonalDetails.vue?vue&type=script&lang=js\"\n\nimport \"./PersonalDetails.vue?vue&type=style&index=0&id=1c4a604f&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1c4a604f\"]])\n\nexport default __exports__","<template>\n  <div id=\"donation\">\n    <DonationHeader>\n      <LoadingPanel\n        :promise=\"submissionPromise\"\n        @success=\"handleSuccess\"\n      >\n        <template #loading>\n          <font-awesome-icon\n            icon=\"spinner\"\n            pulse\n          />\n          <h4>{{ $t('paymentStatus.processing') }}</h4>\n        </template>\n        <template #failure=\"failure\">\n          <h4>{{ $t('paymentStatus.failure') }}</h4>\n          <span class=\"error\">{{ failure.result.failure_message }}</span>\n          <button @click=\"resetPayment\">\n            {{ $t('paymentStatus.changePaymentMethod') }}\n          </button>\n        </template>\n      </LoadingPanel>\n      <div class=\"columns\">\n        <div class=\"column\">\n          <ProgressTracker :current-step=\"3\" />\n          <DonationSummary />\n          <PaymentMethodSelect @set-stripe-card=\"setStripeCard\" />\n          <button\n            class=\"submit\"\n            @click=\"submit\"\n            :class=\"{ disabled: !donationValid }\"\n          >\n            {{ $t('donationForm.confirm') }}\n          </button>\n          <p class=\"donation-nav\">\n            <router-link\n              :to=\"{ name: $t('routeNames.personalDetails') }\"\n              class=\"btn btn-primary back\"\n            >\n              <font-awesome-icon icon=\"arrow-left\" />\n              {{ $t('donationForm.back') }}\n            </router-link>\n          </p>\n          <div id=\"turnstile-container\" />\n        </div>\n      </div>\n    </DonationHeader>\n    <DonationFooter />\n  </div>\n</template>\n\n<script>\nimport DonationHeader from './donation/layout/DonationHeader'\nimport DonationFooter from './donation/layout/DonationFooter'\nimport submitDonation from '@/lib/donation/submitDonation'\nimport PaymentMethodSelect from '@/components/donation/PaymentMethodSelect'\nimport ProgressTracker from '@/components/donation/ProgressTracker'\nimport DonationSummary from '@/components/donation/DonationSummary'\nimport LoadingPanel from '@/components/LoadingPanel'\nimport { v4 as uuid } from 'uuid'\nimport { useDonationStore } from '@/stores/donation'\nimport { usePaymentStore } from '@/stores/payment'\nimport { useRootStore } from '@/stores/root'\nimport { ref } from 'vue'\n\nexport default {\n  name: 'PaymentDetails',\n  components: {\n    DonationFooter,\n    DonationHeader,\n    PaymentMethodSelect,\n    LoadingPanel,\n    ProgressTracker,\n    DonationSummary\n  },\n  setup () {\n    const rootStore = useRootStore()\n    const donationStore = useDonationStore()\n    const paymentStore = usePaymentStore()\n    const submissionPromise = ref(null)\n    const stripeCard = ref(null)\n    const turnstileToken = ref(null)\n    return {\n      donationStore, paymentStore, rootStore, submissionPromise,\n      stripeCard, turnstileToken\n    }\n  },\n  computed: {\n    thankYouPath () { return this.$t('routeNames.thankYou') },\n    donationValid () { return this.rootStore.formValid && this.turnstileToken },\n  },\n  methods: {\n    submit () { submitDonation(this, localStorage) },\n    resetPayment () {\n      this.donationStore.setReference(uuid())\n      this.paymentStore.reset()\n      this.submissionPromise = null\n    },\n    handleSuccess () { this.$router.push({ name: this.thankYouPath }) },\n    setStripeCard (card) { this.stripeCard = card } // The submit > serialize method requires this, and it cannot be stored within vuex (dynamic)\n  },\n  mounted () {\n    if (this.donationStore.type == 'oneOffSvlIt') {\n      this.donationStore.setType('oneOff')\n      let utms = this.donationStore.utms\n      let itUTMs = ['701Q500000cCBmf', '701Q500000cLap1', '701Q500000cC8C5', '701Q500000c8h9x']\n      if (!itUTMs.includes(utms.utm_id)) {\n        utms['utm_id'] = '701Q500000cLap1'\n        this.donationStore.setUtms(utms)\n      }\n    }\n    this.$scrollToElement('.column')\n    this.$loadScript('https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit', { async: false }).then(() => {\n      turnstile.ready(() => {\n        turnstile.render(\"#turnstile-container\", {\n          sitekey: process.env.VUE_APP_TURNSTILE_SITE_KEY,\n          theme: 'light',\n          size: 'normal',\n          language: this.$l10n.currentLanguage,\n          callback: (token) => { this.turnstileToken = token }\n        });\n      });\n    })\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n  .columns {\n    @include on-desktop() {\n      display: flex;\n      margin: 0 -0.5rem;\n    }\n\n    .column {\n      margin-bottom: 1.5rem;\n\n       @include on-desktop(){\n        flex: 1;\n        margin: 0;\n        padding: 0.5rem 1rem;\n      }\n    }\n  }\n\n  button.submit {\n    border: none;\n    padding: 0.6em 1em;\n    text-align: center;\n    width: 100%;\n    margin-top: 1em;\n    background-color: orange;\n    color: black;\n    text-shadow: 0 1px 0 white;\n    box-shadow: 2px 2px 7px rgba(black, 0.3);\n\n    &.disabled {\n      opacity: 0.7;\n    }\n  }\n</style>\n","import axios from 'axios'\n\nexport default function awaitUpdate (vueInstance, reference) {\n  vueInstance.$scrollToElement('.loading')\n\n  return new Promise((resolve) => {\n    const check = async () => {\n      const result = await axios.get(`${process.env.VUE_APP_BACKEND_HOST}/donation/${reference}/status`)\n      const payment = vueInstance.paymentStore.methods\n\n      if (result.data.success && result.data.status !== 'pending') {\n        const isIncomplete = Object.prototype.hasOwnProperty.call(result.data.details, 'auth_required') || Object.prototype.hasOwnProperty.call(result.data.details, 'incomplete') || result.data.details.status === 'incomplete' || result.data.details.status === 'requires_confirmation'\n        if (isIncomplete) {\n          vueInstance.paymentStore.setDetails(result.data.details)\n          resolve(payment.authorize(vueInstance, result, reference))\n        } else {\n          resolve(result.data)\n        }\n      } else {\n        setTimeout(check, 500)\n      }\n    }\n    check()\n  })\n}\n","export default function serialize (vueInstance) {\n  const payment = vueInstance.paymentStore.methods\n  const paymentPromise = payment.serialize(vueInstance)\n\n  return paymentPromise.then((paymentParams) => {\n    const donation = vueInstance.donationStore.donationParams\n    return Object.assign({}, {\n      ...donation,\n      payment: paymentParams,\n      location: vueInstance.$l10n.currentLocation.key,\n      language: vueInstance.$l10n.currentLanguage\n    })\n  })\n}\n","// Could be made into a plugin with an #install method?\nexport default function storeDonation (vueInstance, lokalStorage) {\n  const tmp = { ...vueInstance.donationStore.donationParams }\n  const parsedDonation = JSON.stringify(tmp)\n  lokalStorage.setItem('donation', parsedDonation)\n  lokalStorage.location = vueInstance.$l10n.currentLocation.key\n}\n","import { SPFDefaultParams, SensitiveParamFilter } from '@amaabca/sensitive-param-filter'\n\nexport default function sensitiveDataFilter (rawObject) {\n  const sensitiveParams = ['forename', 'surname', 'email', 'phone', 'street', 'zip']\n  const paramFilter = new SensitiveParamFilter({\n    params: SPFDefaultParams.concat(sensitiveParams)\n  })\n\n  return paramFilter.filter(rawObject)\n}\n","/* eslint-disable prefer-promise-reject-errors */\nimport awaitUpdate from '@/lib/donation/awaitUpdate'\nimport serialize from '@/lib/donation/serialize'\nimport storeDonation from '@/lib/donation/storeDonation'\nimport sensitiveDataFilter from '@/utilities/sensitiveDataFilter'\nimport axios from 'axios'\n\nexport default function submitDonation (vueInstance, lokalStorage) {\n  const donationValid = vueInstance.rootStore.formValid\n  if (!donationValid) {\n    vueInstance.rootStore.touchValidationFields(true)\n    if (document.querySelector('div.error')) {\n      vueInstance.$scrollToElement('.error')\n    } else {\n      vueInstance.$scrollToTop()\n    }\n    vueInstance.$nextTick(function () {\n      vueInstance.rootStore.touchValidationFields(false)\n    })\n    return\n  }\n\n  // Also rescue from turnstile error to force new payment selection ?\n  if (!vueInstance.turnstileToken) {\n    vueInstance.$scrollToElement('#turnstile-container')\n    return\n  } else {\n    storeDonation(vueInstance, lokalStorage)\n    const donation = vueInstance.donationStore.donationParams\n    vueInstance.submissionPromise = serialize(vueInstance)\n      .then((params) => {\n        const paramsWithRecaptcha = Object.assign(\n          {},\n          params,\n          donation,\n          { turnstile_response: vueInstance.turnstileToken }\n          )\n        return axios.post(`${process.env.VUE_APP_BACKEND_HOST}/donation`, paramsWithRecaptcha)\n      })\n      .catch((error) => {\n        const failureMessage = error.response ? error.response.data : error\n        reportFailureToBugsnag(error, vueInstance)\n        return Promise.reject({ failure_message: sanitisedMessage(failureMessage) })\n      })\n      .then(() => awaitUpdate(vueInstance, vueInstance.donationStore.reference))\n      .then((result) => {\n        if (result.status === 'failed') {\n          reportFailureToBugsnag(result.details, vueInstance)\n          return Promise.reject(sanitisedMessage(result.details))\n        }\n        return Promise.resolve(result.status)\n    })\n  }\n}\n\nfunction reportFailureToBugsnag (data, vueInstance) {\n  const errData = JSON.stringify(sensitiveDataFilter(data))\n  const error = new Error(errData)\n  const reference = vueInstance.donationStore.reference\n  if (reference) {\n    error.name = `PaymentFailureError - Reference: ${reference}`\n  } else {\n    error.name = 'PaymentFailureError'\n  }\n  vueInstance.$bugsnag.notify(error)\n}\n\nfunction sanitisedMessage (data) {\n  if (Object.prototype.hasOwnProperty.call(data, 'message')) {\n    return data.message\n  }\n\n  return data\n}\n","<template>\n  <div\n    class=\"payment-select\"\n    :class=\"{error: v$.$error}\"\n  >\n    <h3 class=\"payment-header\">\n      {{ $t('payment.header') }}\n    </h3>\n    <div class=\"options form-check-group\">\n      <div\n        class=\"option\"\n        v-for=\"key in Object.keys(validPaymentMethods)\"\n        :class=\"key\"\n        :key=\"key\"\n      >\n        <input\n          type=\"radio\"\n          v-model=\"selectedMethod\"\n          :value=\"key\"\n          :id=\"idFor(key)\"\n        >\n        <label\n          class=\"payment-checkbox\"\n          :for=\"idFor(key)\"\n        >\n          <img\n            :aria-label=\"$t(`payment.methods.${key}.name`)\"\n            :class=\"key\"\n            :src=\"$t(`payment.methods.${key}.logo`)\"\n            :alt=\"$t(`payment.methods.${key}.name`)\"\n            :title=\"$t(`payment.methods.${key}.name`)\"\n          >\n          <div>{{ $t(`payment.methods.${key}.name`) }}</div>\n        </label>\n      </div>\n    </div>\n    <div\n      class=\"payment\"\n      v-if=\"currentComponent\"\n    >\n      <component\n        :is=\"currentComponent\"\n        :validate-fields=\"validateAllFields\"\n        @set-stripe-card=\"$emit('set-stripe-card', $event)\"\n      />\n    </div>\n  </div>\n</template>\n\n<script>\nimport PaypalComponent from '../../payments/paypal/PaypalComponent.vue'\nimport StripeComponent from '../../payments/stripe/StripeComponent.vue'\nimport SepaComponent from '../../payments/sepa/SepaComponent.vue'\nimport SmartdebitComponent from '../../payments/smartdebit/SmartdebitComponent.vue'\nimport TransitionSlide from '../../transitions/Slide'\nimport { required } from '@vuelidate/validators'\nimport { v4 as uuid } from 'uuid'\nimport useVuelidate from '@vuelidate/core'\nimport { useDonationStore } from '@/stores/donation'\nimport { usePaymentStore } from '@/stores/payment'\nimport { useRootStore } from '@/stores/root'\nimport { ref, reactive } from 'vue'\n\nexport default {\n  name: 'PaymentMethodSelect',\n  components: { TransitionSlide, PaypalComponent, StripeComponent, SepaComponent, SmartdebitComponent },\n  setup () {\n    const donationStore = useDonationStore()\n    const paymentStore = usePaymentStore()\n    const rootStore = useRootStore()\n    const selectedMethod = ref(null)\n    const uniqueId = ref(uuid())\n    const paymentMethods = ref({})\n    const components = reactive({ stripe: 'StripeComponent', sepa: 'SepaComponent', paypal: 'PaypalComponent', smartdebit: 'SmartdebitComponent' })\n    const paymentMethodShorthands = reactive({ cc: 'stripe', dd: 'smartdebit', py: 'paypal', se: 'sepa' })\n    return {\n      v$: useVuelidate(), donationStore, paymentStore, rootStore,\n      selectedMethod, uniqueId, paymentMethods, components, paymentMethodShorthands\n    }\n  },\n  emits: ['set-stripe-card'],\n  computed: {\n    donation () { return this.donationStore.currentDonation },\n    currentComponent () { return this.components[this.selectedMethod] },\n    validPaymentMethods () {\n      var methods = this.paymentMethods\n      if (this.donation.currency !== 'eur') { delete methods.sepa }\n      if (this.donation.type === 'oneOff' || this.donation.currency !== 'gbp') { delete methods.smartdebit }\n      if (Object.prototype.hasOwnProperty.call(this.rootStore.queryParams, 'rmvPymnt')) {\n        this.rootStore.queryParams.rmvPymnt.split(',').forEach(type => {\n          let method = this.paymentMethodShorthands[type]\n          delete methods[method]\n        })\n      }\n      return methods\n    },\n    validateAllFields () { return this.rootStore.validateAllFields },\n    paymentDetailsComplete () { return this.paymentStore.complete },\n    paymentLoaded () { return Object.keys(this.paymentStore.methods).length > 0 }\n  },\n  validations () {\n    return {\n      paymentDetailsComplete: {\n        required,\n        paymentDetailsComplete: value => value === true\n      }\n    }\n  },\n  watch: {\n    selectedMethod (val) { if (val === null) { this.resetPayment() } },\n    paymentLoaded (val) { if (!val) { this.selectedMethod = null } },\n    paymentDetailsComplete (val) {\n      this.rootStore.setValidationPaymentMethodSelect(val)\n      this.v$.$touch()\n    },\n    validPaymentMethods () {\n      const currentPaymentAvailable = (Object.keys(this.validPaymentMethods).includes(this.selectedMethod))\n      if (!currentPaymentAvailable) {\n        this.resetPayment()\n        this.selectedMethod = null\n      }\n    },\n    '$l10n.currentLocation.key' () {\n      this.resetPayment()\n      this.paymentMethods = this.$l10n.currentLocation.paymentMethods\n    },\n    validateAllFields () { this.v$.$touch() },\n    'v$.$invalid': function (val) {\n      this.rootStore.setValidationPaymentMethodSelect(!val)\n    }\n  },\n  methods: {\n    idFor (method) { return `element-${this.uniqueId}-${method}` },\n    resetPayment () { this.paymentStore.reset }\n  },\n  mounted () {\n    this.paymentMethods = this.$l10n.currentLocation.paymentMethods\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n  .options {\n    display: flex;\n    flex-direction: column;\n    padding: 0.1rem;\n  }\n\n  .option {\n    margin-right: 0 !important;\n    margin: 0.1rem;\n    label {\n      padding: 1em;\n      display: flex;\n      flex-direction: row;\n      align-items: center;\n      transition: all 0.3s ease-in-out;\n      cursor: pointer;\n      text-align: center;\n      height: 100%;\n\n      &.payment-checkbox {\n        img {\n          margin-top: auto;\n          display: block;\n          width: 6rem;\n          height: 4rem;\n          object-fit: contain;\n          background-color: white;\n          padding: 0.25rem 0.5rem;\n          border-radius: 6px;\n          flex: 0 1 auto;\n        }\n\n        div {\n          line-height: 1rem;\n          flex: 1 1 auto;\n          text-align: left;\n          margin-left: 0.5rem;\n        }\n      }\n    }\n\n    input:checked + label {\n      height: 100%;\n    }\n  }\n\n  .error {\n    .options {\n      @include shake();\n    }\n  }\n\n  .payment {\n    margin-top: 1em;\n  }\n\n  .payment-header {\n    margin-bottom: 0.5rem;\n    color: white;\n    font-family: 'Stag-medium'\n  }\n</style>\n","<template>\n  <div class=\"paypal-payment\">\n    <small>{{ $t('payment.methods.paypal.popUpWarning') }}</small>\n  </div>\n</template>\n\n<script>\nimport { serialize } from './methods'\nimport { usePaymentStore } from '@/stores/payment'\n\nexport default {\n  name: 'PaypalComponent',\n  setup () {\n    const paymentStore = usePaymentStore()\n    return { paymentStore }\n  },\n  mounted () {\n    this.paymentStore.setComplete(true)\n    this.paymentStore.setMethods({ serialize })\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n</style>\n","// Could be made into a plugin with an #install method?\nexport default function storePaymentDetails (vueInstance, lokalStorage) {\n  const tmp = { ...vueInstance.paymentStore.details }\n  const parsedPayment = JSON.stringify(tmp)\n  lokalStorage.setItem('payment', parsedPayment)\n  lokalStorage.location = vueInstance.$l10n.currentLocation.key\n}\n","import axios from 'axios'\nimport storePaymentDetails from '../../lib/payment/storePaymentDetails'\n\nfunction serialize (vueInstance) {\n  const donation = vueInstance.donationStore.donationParams\n  return axios.post(\n    `${process.env.VUE_APP_BACKEND_HOST}/paypal/serialize`,\n    {\n      currency: donation.currency,\n      amount: donation.amount,\n      location: vueInstance.$l10n.currentLocation.key,\n      language: vueInstance.$l10n.currentLanguage,\n      type: donation.type,\n      return_url: `${location.origin}/callbacks/paypal/authorised?l=${vueInstance.$l10n.currentLocation.key}&paypal_redirect=true`\n    }).then((response) => {\n      const details = { paypalId: response.data.paypal_id }\n      vueInstance.paymentStore.setDetails(details)\n\n      storePaymentDetails(vueInstance, localStorage)\n      const storedPayment = vueInstance.paymentStore.details\n\n      if (storedPayment) {\n        return { approveUrl: response.data.approve }\n      } else {\n        return Promise.reject(new Error('Payment could not be stored'))\n      }\n    }).then(data => {\n      window.location.href = data.approveUrl\n      return new Promise(() => setTimeout(() => { console.log('Wait for window loaction change') }, 10000))\n    }\n  )\n}\n\nexport { serialize }\n","import { defineStore } from 'pinia'\n\nexport const usePaymentStore = defineStore('payment', {\n  namespaced: true,\n  state: () => {\n    return {\n      complete: false,\n      details: {},\n      methods: {}\n    }\n  },\n  getters: {},\n  actions: {\n    setDetails (payload) { this.details = payload },\n    setMethods (payload) { this.methods = payload },\n    setComplete (payload) { this.complete = payload },\n    reset () {\n      this.details = {}\n      this.methods = {}\n      this.complete = false\n    }\n  }\n})\n","import { render } from \"./PaypalComponent.vue?vue&type=template&id=18254bd2\"\nimport script from \"./PaypalComponent.vue?vue&type=script&lang=js\"\nexport * from \"./PaypalComponent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n  <div class=\"stripe-payment\">\n    <div\n      class=\"card\"\n      ref=\"card\"\n    />\n  </div>\n</template>\n\n<script>\n/* eslint-disable no-undef */\nimport { verifyPublicKey, authorize, confirmTwoFactor, serialize } from './methods'\nimport { v4 as uuid } from 'uuid'\nimport { usePaymentStore } from '@/stores/payment'\nimport { useDonationStore } from '@/stores/donation'\nimport { ref } from 'vue'\n\nexport default {\n  name: 'StripeComponent',\n  setup () {\n    const donationStore = useDonationStore()\n    const paymentStore = usePaymentStore()\n    const stripe = ref(null)\n    const card = ref(null)\n    return { donationStore, paymentStore, stripe, card }\n  },\n  computed: {\n    cardStyles () {\n      return {\n        base: {\n          fontSize: '20px',\n          backgroundColor: 'white',\n          padding: '1em'\n        }\n      }\n    }\n  },\n  emits: ['set-stripe-card'],\n  mounted () {\n    const config = this.$l10n.paymentMethods.stripe\n    this.donationStore.setReference(uuid())\n    this.paymentStore.setComplete(false)\n    this.$loadScript('https://js.stripe.com/v3/')\n      .then(() => {\n        const stripe = new Stripe(process.env[config.apiKey], { locale: config.locale })\n        verifyPublicKey(stripe, config.apiKey)\n\n        this.stripe = stripe\n        const elements = stripe.elements()\n\n        const card = elements.create('card', { hidePostalCode: true })\n        this.card = card\n        this.$emit('set-stripe-card', this.card)\n        this.card.mount(this.$refs.card)\n        this.card.on('change', ({ complete }) => { this.paymentStore.setComplete(complete) })\n\n        const paymentMethods = {\n          authorize,\n          confirmTwoFactor,\n          serialize,\n          retrievePaymentIntent: stripe.retrievePaymentIntent,\n          createToken: stripe.createToken,\n          confirmCardPayment: stripe.confirmCardPayment\n        }\n        this.paymentStore.setMethods(paymentMethods)\n      })\n  }\n}\n</script>\n\n<style scoped>\n  .card {\n    background-color: white;\n    padding: 1em;\n  }\n</style>\n","import axios from 'axios'\n\nexport default async function handleTwoFactorAuth (payment, reference, clientSecret) {\n  const confirmResult = await payment.confirmTwoFactor(clientSecret, payment)\n  if (confirmResult.error) {\n    const errBody = {\n      status: 'failed',\n      details: {\n        error_code: confirmResult.error.code,\n        payment_intent: confirmResult.error.payment_intent.id,\n        failure_message: confirmResult.error.message\n      }\n    }\n    await axios.post(`${process.env.VUE_APP_BACKEND_HOST}/donation/${reference}/update`, errBody)\n    return Promise.resolve(errBody)\n  } else {\n    await axios.post(\n      `${process.env.VUE_APP_BACKEND_HOST}/donation/${reference}/update`,\n      { status: 'successful', details: confirmResult }\n    )\n    return Promise.resolve({ status: 'successful', details: confirmResult })\n  }\n}\n","/* eslint-disable camelcase */\nimport handleTwoFactorAuth from '@/lib/donation/handleTwoFactorAuth'\n\nclass StripeApiKeyError extends Error {\n  constructor (message) {\n    super(message)\n    this.name = 'StripeApiKeyError'\n  }\n}\n\nfunction verifyPublicKey (stripe, apiKey) {\n  try {\n    stripe.createToken('pii', { personal_id_number: 'test' })\n      .then(result => {\n        if (result.token) {\n          console.log('valid stripe apiKey')\n        } else {\n          throw new StripeApiKeyError(`${apiKey} - Invalid`)\n        }\n      })\n  } catch (error) {\n    console.log('Invalid stripe apiKey')\n  }\n}\n\nfunction serialize (vueInstance) {\n  const donation = vueInstance.donationStore.currentDonation\n  const card = vueInstance.stripeCard\n  const stripe = vueInstance.paymentStore.methods\n  const requiredData = {\n    name: `${donation.forename} ${donation.surname}`,\n    address_country: donation.country\n  }\n  const address_line1 = (!!donation.street && donation.street !== '') ? { address_line1: donation.street } : {}\n  const address_city = (!!donation.city && donation.city !== '') ? { address_city: donation.city } : {}\n  const address_state = (!!donation.state && donation.state !== '') ? { address_state: donation.state } : {}\n  const address_zip = (!!donation.zip && donation.zip !== '') ? { address_zip: donation.zip } : {}\n\n  const donationData = Object.assign(requiredData, address_line1, address_city, address_state, address_zip)\n\n  return stripe.createToken(card, donationData)\n    .then(result => {\n      if (result.error) {\n        return Promise.reject(result.error)\n      } else {\n        return {\n          adapter: 'stripe',\n          token: result.token.id\n        }\n      }\n    })\n}\n\nasync function authorize (vueInstance, result, reference) {\n  const twoFactorResult = await handleTwoFactorAuth(\n    vueInstance.paymentStore.methods, reference, result.data.details.client_secret\n  )\n  return Promise.resolve(twoFactorResult)\n}\n\nfunction confirmTwoFactor (clientSecret, stripe) {\n  return stripe.retrievePaymentIntent(clientSecret)\n    .then(result => {\n      return stripe.confirmCardPayment(clientSecret, { payment_method: result.paymentIntent.payment_method })\n    })\n}\n\nexport {\n  verifyPublicKey,\n  authorize,\n  confirmTwoFactor,\n  serialize\n}\n","import { render } from \"./StripeComponent.vue?vue&type=template&id=7da3c964&scoped=true\"\nimport script from \"./StripeComponent.vue?vue&type=script&lang=js\"\nexport * from \"./StripeComponent.vue?vue&type=script&lang=js\"\n\nimport \"./StripeComponent.vue?vue&type=style&index=0&id=7da3c964&scoped=true&lang=css\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7da3c964\"]])\n\nexport default __exports__","<template>\n  <div class=\"sepa-payment\">\n    <small v-if=\"$tm('payment.methods.sepa.msg')[0]\">{{ $t('payment.methods.sepa.msg') }}</small>\n    <div>\n      <FormField\n        :label=\"showAsteriskIfRequired('iban') + $t('donationForm.details.sepa.iban.label')\"\n        v-model=\"sepa.iban\"\n        :validation=\"v$.sepa.iban\"\n        theme=\"light\"\n      />\n    </div>\n    <div\n      class=\"confirm-payment-holder\"\n      v-if=\"$l10n.currentLocation.formFields.confirmPaymentHolderRequired\"\n    >\n      <CheckBox\n        :label=\"$t('payment.confirmPaymentHolder')\"\n        v-model=\"assumedPaymentHolder\"\n      />\n    </div>\n  </div>\n</template>\n\n<script>\nimport FormField from '@/components/form/FormField'\nimport CheckBox from '@/components/form/CheckBox'\nimport Iban from 'iban'\nimport { v4 as uuid } from 'uuid'\nimport { serialize } from './methods'\nimport { required } from '@vuelidate/validators'\nimport useVuelidate from '@vuelidate/core'\nimport { useDonationStore } from '@/stores/donation'\nimport { usePaymentStore } from '@/stores/payment'\nimport { ref } from 'vue'\n\nexport default {\n  name: 'SepaComponent',\n  components: { FormField, CheckBox },\n  setup () {\n    const donationStore = useDonationStore()\n    const paymentStore = usePaymentStore()\n    const sepa = ref({ iban: '' })\n    const assumedPaymentHolder = ref(true)\n    return {\n      donationStore, paymentStore, v$: useVuelidate(), sepa, assumedPaymentHolder\n    }\n  },\n  props: {\n    validateFields: { type: Boolean, default: false }\n  },\n  validations: {\n    sepa: {\n      iban: {\n        required,\n        iban: value => Iban.isValid(value)\n      }\n    }\n  },\n  methods: {\n    showAsteriskIfRequired (field) {\n      const fieldRequired = this.v$.sepa[field].required\n      if (this.v$.sepa[field] === 'none') {\n        return '* '\n      }\n      return (fieldRequired && fieldRequired.$invalid) ? '* ' : ''\n    }\n  },\n  computed: {\n    sepaInvalid () {\n      if (this.assumedPaymentHolder === false) { return true }\n      return this.v$['sepa'] ? this.v$.sepa.$invalid : true\n    }\n  },\n  watch: {\n    'sepa.iban': function (val) {\n      if (val) {\n        this.sepa.iban = val.toUpperCase().replace(/[^A-Za-z0-9]/g, '')\n        this.paymentStore.setDetails({ ...this.sepa })\n      }\n    },\n    validateFields: function () { this.v$.$touch() },\n    sepaInvalid: function (val) { this.paymentStore.setComplete(!val) }\n  },\n  mounted () {\n    this.donationStore.setReference(uuid())\n    this.paymentStore.setComplete(false)\n    this.paymentStore.setMethods({ serialize })\n    if (this.$l10n.currentLocation.formFields.confirmPaymentHolderRequired) { this.assumedPaymentHolder = false }\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n  a {\n    color: $color-web-orange;\n    &:visited {\n      color: $color-web-orange;\n    }\n  }\n\n  .confirm-payment-holder {\n    margin-top: 0.5rem;\n  }\n</style>\n","function serialize (vueInstance) {\n  return Promise.resolve({\n    adapter: 'sepa',\n    iban_number: vueInstance.paymentStore.details.iban\n  })\n}\n\nexport { serialize }\n","import { render } from \"./SepaComponent.vue?vue&type=template&id=454088c4&scoped=true\"\nimport script from \"./SepaComponent.vue?vue&type=script&lang=js\"\nexport * from \"./SepaComponent.vue?vue&type=script&lang=js\"\n\nimport \"./SepaComponent.vue?vue&type=style&index=0&id=454088c4&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-454088c4\"]])\n\nexport default __exports__","<template>\n  <div class=\"smart-debit-payment\">\n    <div>\n      <CollectionDateSelect v-model=\"smartDebit.collectionDate\" />\n      <FormField\n        :label=\"showAsteriskIfRequired('accountName') + $t('donationForm.details.smartDebit.accountName.label')\"\n        v-model=\"smartDebit.accountName\"\n        :validation=\"v$.smartDebit.accountName\"\n      />\n      <FormField\n        :label=\"showAsteriskIfRequired('accountNumber') + $t('donationForm.details.smartDebit.accountNumber.label')\"\n        v-model=\"smartDebit.accountNumber\"\n        :validation=\"v$.smartDebit.accountNumber\"\n        v-mask=\"'########'\"\n      />\n      <FormField\n        :label=\"showAsteriskIfRequired('sortCode') + $t('donationForm.details.smartDebit.sortCode.label')\"\n        v-model=\"smartDebit.sortCode\"\n        :validation=\"v$.smartDebit.sortCode\"\n        v-mask=\"'## ## ##'\"\n      />\n    </div>\n    <div>\n      <p>\n        {{ $t('donationForm.details.smartDebit.accountHolder.text-part-1') }}\n      </p>\n      <p>\n        {{ $t('donationForm.details.smartDebit.accountHolder.text-part-2') }}\n        <a\n          :href=\"$t('donationForm.details.smartDebit.accountHolder.downloadableForm.url')\"\n          target=\"_blank\"\n        >\n          {{ $t('donationForm.details.smartDebit.accountHolder.downloadableForm.text') }}\n        </a>\n      </p>\n      <p>\n        {{ $t('donationForm.details.smartDebit.accountHolder.directDebitGuarantee.text') }}\n        <a\n          :href=\"$t('donationForm.details.smartDebit.accountHolder.directDebitGuarantee.url')\"\n          target=\"_blank\"\n        >\n          {{ $t('donationForm.details.smartDebit.accountHolder.directDebitGuarantee.linkText') }}\n        </a>\n      </p>\n    </div>\n  </div>\n</template>\n\n<script>\nimport FormField from '@/components/form/FormField'\nimport CollectionDateSelect from '@/components/donation/CollectionDateSelect'\nimport { mask } from 'vue-the-mask'\nimport { v4 as uuid } from 'uuid'\nimport { authorize, serialize } from './methods'\nimport { required, minLength } from '@vuelidate/validators'\nimport useVuelidate from '@vuelidate/core'\nimport { useDonationStore } from '@/stores/donation'\nimport { usePaymentStore } from '@/stores/payment'\nimport { useRootStore } from '@/stores/root'\nimport { ref } from 'vue'\n\nexport default {\n  name: 'SmartdebitComponent',\n  components: { FormField, CollectionDateSelect },\n  props: {\n    validateFields: { type: Boolean, default: false }\n  },\n  directives: { mask },\n  setup () {\n    const rootStore = useRootStore()\n    const donationStore = useDonationStore()\n    const paymentStore = usePaymentStore()\n    const smartDebit = ref({ accountName: '', sortCode: '', accountNumber: '', collectionDate: '1' })\n    return { donationStore, paymentStore, rootStore, v$: useVuelidate(), smartDebit }\n  },\n  validations: {\n    smartDebit: {\n      accountName: {\n        required,\n        minLength: minLength(3)\n      },\n      accountNumber: {\n        required,\n        minLength: minLength(8)\n      },\n      sortCode: {\n        required,\n        minLength: minLength(8) // +2 from input mask\n      }\n    }\n  },\n  methods: {\n    showAsteriskIfRequired (field) {\n      const fieldRequired = this.v$.smartDebit[field].required\n      if (this.v$.smartDebit[field] === 'none') {\n        return '* '\n      }\n      return (fieldRequired && fieldRequired.$invalid) ? '* ' : ''\n    }\n  },\n  computed: {\n    smartDebitInvalid () { return this.v$.smartDebit ? this.v$.smartDebit.$invalid : true },\n    frequency () { return this.donationStore.type }\n  },\n  watch: {\n    smartDebitInvalid: function (val) {\n      this.paymentStore.setComplete(!val)\n    },\n    'smartDebit.accountName': function (_accountName) {\n      this.paymentStore.setDetails({ ...this.smartDebit })\n    },\n    'smartDebit.accountNumber': function (_accountNumber) {\n      this.paymentStore.setDetails({ ...this.smartDebit })\n    },\n    'smartDebit.sortCode': function (_sortCode) {\n      this.paymentStore.setDetails({ ...this.smartDebit })\n    },\n    'smartDebit.collectionDate': function (_collectionDate) {\n      this.paymentStore.setDetails({ ...this.smartDebit })\n    },\n    validateFields: function (_freq) { this.v$.$touch() },\n    frequency: function () { this.smartDebit.collectionDate = '1' }\n  },\n  mounted () {\n    this.donationStore.setType('monthly')\n    this.rootStore.setOmittedFrequency('oneOff')\n    this.donationStore.setReference(uuid().substring(0, 18))\n    this.paymentStore.setComplete(false)\n    this.paymentStore.setMethods({ authorize, serialize })\n  },\n  beforeUnmount () {\n    this.rootStore.setOmittedFrequency(null)\n  }\n}\n</script>\n\n<style lang='scss' scoped>\n  .smart-debit-payment {\n    a {\n      color: white;\n    }\n  }\n</style>\n","<template>\n  <div class=\"collection-date-select\">\n    <label>{{ $t('donationForm.details.smartDebit.collectionDate.label') }}:</label>\n    <div class=\"options\">\n      <div\n        class=\"option\"\n        :class=\"`day-${key}`\"\n        v-for=\"(day, key) in availableCollectionDates\"\n        :key=\"key\"\n      >\n        <input\n          type=\"radio\"\n          :id=\"idFor(key)\"\n          v-model=\"model\"\n          :value=\"key\"\n        >\n        <label :for=\"idFor(key)\">{{ day }}</label>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { v4 as uuid } from 'uuid'\nimport { ref } from 'vue'\n\nexport default {\n  name: 'CollectionDateSelect',\n  setup () {\n    const uniqueId = ref(uuid())\n    return { uniqueId }\n  },\n  props: {\n    modelValue: { type: String, default: '1' }\n  },\n  emits: ['update:modelValue'],\n  computed: {\n    model: {\n      get () { return this.modelValue },\n      set (newValue) { this.$emit('update:modelValue', newValue) }\n    },\n    availableCollectionDates () { return this.$l10n.availableCollectionDates }\n  },\n  methods: {\n    idFor (day) { return `element-${this.uniqueId}-${day}` }\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n  .collection-date-select {\n    display: flex;\n    margin-bottom: 0.5em;\n\n    label {\n      line-height: 40px;\n      font-weight: bold;\n    }\n    .options {\n      flex: 1;\n      margin-left: 1em;\n      display: flex;\n      flex-direction: row;\n\n      .option {\n        margin-right: 0.5em;\n\n        input {\n          display: none;\n        }\n\n        label {\n          display: block;\n          width: 43px;\n          height: 43px;\n          border-radius: 100%;\n          background-color: white;\n          color: $color-blue-lagoon;\n          font-size: 20px;\n          line-height: 40px;\n          text-align: center;\n          font-weight: bold;\n          opacity: 0.4;\n          transition: opacity 0.3s ease-in-out;\n          cursor: pointer;\n        }\n\n        input:checked + label {\n          opacity: 1;\n          cursor: default;\n        }\n      }\n    }\n  }\n</style>\n","import { render } from \"./CollectionDateSelect.vue?vue&type=template&id=5fe3d9c0&scoped=true\"\nimport script from \"./CollectionDateSelect.vue?vue&type=script&lang=js\"\nexport * from \"./CollectionDateSelect.vue?vue&type=script&lang=js\"\n\nimport \"./CollectionDateSelect.vue?vue&type=style&index=0&id=5fe3d9c0&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-5fe3d9c0\"]])\n\nexport default __exports__","function serialize (vueInstance) {\n  return Promise.resolve({\n    adapter: 'smartdebit',\n    sort_code: vueInstance.paymentStore.details.sortCode.replace(/-|\\s/g, ''),\n    account_number: vueInstance.paymentStore.details.accountNumber,\n    account_name: vueInstance.paymentStore.details.accountName,\n    chosen_day: vueInstance.paymentStore.details.collectionDate\n  })\n}\n\nfunction authorize (vueInstance, _result, _reference = null) {\n  vueInstance.$router.push({ name: 'smartDebitConfirmation' })\n}\n\nexport { serialize, authorize }\n","import { render } from \"./SmartdebitComponent.vue?vue&type=template&id=1f5ad32c&scoped=true\"\nimport script from \"./SmartdebitComponent.vue?vue&type=script&lang=js\"\nexport * from \"./SmartdebitComponent.vue?vue&type=script&lang=js\"\n\nimport \"./SmartdebitComponent.vue?vue&type=style&index=0&id=1f5ad32c&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1f5ad32c\"]])\n\nexport default __exports__","import { render } from \"./PaymentMethodSelect.vue?vue&type=template&id=4106aafc&scoped=true\"\nimport script from \"./PaymentMethodSelect.vue?vue&type=script&lang=js\"\nexport * from \"./PaymentMethodSelect.vue?vue&type=script&lang=js\"\n\nimport \"./PaymentMethodSelect.vue?vue&type=style&index=0&id=4106aafc&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4106aafc\"]])\n\nexport default __exports__","<template>\n  <TransitionFade>\n    <div\n      class=\"loading-panel-overlay\"\n      v-if=\"promise\"\n    >\n      <div\n        class=\"loading-panel\"\n        :class=\"className\"\n      >\n        <div\n          class=\"loading\"\n          v-if=\"!completed\"\n        >\n          <slot name=\"loading\">\n            <font-awesome-icon\n              icon=\"spinner\"\n              pulse\n            />\n            <h4>{{ $t('paymentStatus.loading') }}</h4>\n          </slot>\n        </div>\n        <div\n          class=\"success\"\n          v-if=\"completed && success\"\n        >\n          <slot\n            name=\"success\"\n            :result=\"result\"\n          >\n            <h4>{{ result }}</h4>\n          </slot>\n        </div>\n        <div\n          class=\"failure\"\n          v-if=\"completed && !success\"\n        >\n          <slot\n            name=\"failure\"\n            :result=\"result\"\n          >\n            <h4>{{ result }}</h4>\n          </slot>\n        </div>\n      </div>\n    </div>\n  </TransitionFade>\n</template>\n\n<script>\nimport TransitionFade from '@/transitions/Fade'\nimport { ref } from 'vue'\n\nexport default {\n  name: 'LoadingPanel',\n  setup () {\n    const completed = ref(false)\n    const success = ref(null)\n    const result = ref(null)\n    return { completed, success, result }\n  },\n  components: { TransitionFade },\n  props: {\n    promise: { type: [Promise, null], required: true }\n  },\n  computed: {\n    className () {\n      if (!this.completed) { return 'loading' }\n      return this.success ? 'success' : 'failure'\n    }\n  },\n  emits: ['success', 'failure'],\n  watch: {\n    promise: {\n      immediate: true,\n      handler () {\n        if (!this.promise) { return }\n        this.completed = false\n        const promise = this.promise\n        this.promise\n          .then(\n            (result) => {\n              if (this.promise !== promise) {\n                return\n              }\n              this.completed = true\n              this.success = true\n              this.result = result\n              this.$emit('success', result)\n            },\n            (result) => {\n              if (this.promise !== promise) {\n                return\n              }\n              this.completed = true\n              this.success = false\n              this.result = result\n              this.$emit('failure', result)\n            }\n          )\n      }\n    }\n  }\n}\n</script>\n\n<style lang=\"scss\">\n  .loading-panel-overlay {\n    background-color: rgba(black, 0.7);\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    right: 0;\n    left: 0;\n    z-index: 5000;\n    text-align: center;\n\n    &:before {\n      content: '';\n      display: inline-block;\n      height: 100%;\n      vertical-align: middle;\n    }\n\n    .loading-panel {\n      background-color: white;\n      padding: 1em;\n      display: inline-block;\n      color: black;\n      width: 40%;\n      min-width: 300px;\n\n      @include on-non-mobile(){\n        min-width: 400px;\n      }\n\n      .fa-spinner {\n        width: 2em;\n        height: 2em;\n      }\n\n      h4 {\n        margin: 0;\n      }\n\n      button {\n        margin-top: 1em;\n        width: 100%;\n        padding: 0.5em 1em;\n        border: 4px solid black;\n      }\n    }\n  }\n</style>\n","<template>\n  <transition name=\"fade\">\n    <slot />\n  </transition>\n</template>\n\n<script>\nexport default {\n  name: 'TransitionFade'\n}\n</script>\n\n<style lang=\"scss\" scoped>\n  .fade-enter, .fade-leave-to {\n    opacity: 0;\n  }\n\n  .fade-enter-active, .fade-leave-active {\n    transition: opacity 0.5s;\n  }\n</style>\n","import { render } from \"./Fade.vue?vue&type=template&id=12c6b146&scoped=true\"\nimport script from \"./Fade.vue?vue&type=script&lang=js\"\nexport * from \"./Fade.vue?vue&type=script&lang=js\"\n\nimport \"./Fade.vue?vue&type=style&index=0&id=12c6b146&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-12c6b146\"]])\n\nexport default __exports__","import { render } from \"./LoadingPanel.vue?vue&type=template&id=0f03373b\"\nimport script from \"./LoadingPanel.vue?vue&type=script&lang=js\"\nexport * from \"./LoadingPanel.vue?vue&type=script&lang=js\"\n\nimport \"./LoadingPanel.vue?vue&type=style&index=0&id=0f03373b&lang=scss\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./PaymentDetails.vue?vue&type=template&id=a4e2e0f8&scoped=true\"\nimport script from \"./PaymentDetails.vue?vue&type=script&lang=js\"\nexport * from \"./PaymentDetails.vue?vue&type=script&lang=js\"\n\nimport \"./PaymentDetails.vue?vue&type=style&index=0&id=a4e2e0f8&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-a4e2e0f8\"]])\n\nexport default __exports__","<template>\n  <div class=\"contain\">\n    <div class=\"smart-debit-confirmation-page\">\n      <div class=\"page-title\">\n        <h2>\n          <div>Survival International</div>\n          <img\n            class=\"dd-logo\"\n            src=\"https://assets.survivalinternational.org/viru/logos/direct-debit.png\"\n            alt=\"Direct debit logo\"\n          >\n        </h2>\n        <div>\n          <ul class=\"contact-details\">\n            <li><strong>Address:</strong> 6 Charterhouse Buildings, London EC1M 7ET, UK</li>\n            <li><strong>Tel:</strong> 020 7687 8700</li>\n            <li><strong>Email: </strong><a href=\"mailto:info@survivalinternational.org\">info@survivalinternational.org</a></li>\n          </ul>\n        </div>\n      </div>\n      <div class=\"confirmation-details\">\n        <h4>Donation details</h4>\n        <div><strong>Reference:</strong> {{ reference }}</div>\n        <p>\n          You are donating <strong>{{ amountString }}</strong> {{ frequencyMessage }} month by <strong>Direct Debit</strong>.\n        </p>\n        <div class=\"detail\">\n          The details of your Direct Debit Instruction will be sent to you\n          within 3 working days or no later than 10 working days before the\n          first collection. If you wish, you can print this page for your\n          records.\n        </div>\n      </div>\n      <div class=\"direct-debit-confirmation\">\n        <div>\n          <h4>\n            Bank Details\n          </h4>\n          <div>\n            <div><strong>Bank/building society name: </strong>{{ paymentDetails.bank }}</div>\n            <div><strong>Bank/building society name branch: </strong>{{ paymentDetails.branch }}</div>\n            <div v-if=\"this.type === 'monthly'\">\n              <div><strong>First Payment will be taken on: </strong>{{ this.formatDate(paymentDetails.billing_date) }}</div>\n            </div>\n            <div v-if=\"this.type === 'oneOff'\">\n              <div><strong>Payment will be taken on: </strong>{{ this.formatDate(paymentDetails.end_date) }}</div>\n            </div>\n            <div><strong>Service User Number:</strong> 388350</div>\n          </div>\n          <br>\n          <div class=\"detail\">\n            Please pay Survival International Direct Debits from the\n            account detailed in this Instruction subject to the\n            safeguards assured by the Direct Debit Guarantee. I\n            understand that this Instruction may remain with Survival\n            International and, if so, details will be passed\n            electronically to my bank/building society.\n          </div>\n        </div>\n        <div class=\"confirm-cancel\">\n          <button\n            class=\"cancel\"\n            @click=\"cancel('Canceled DD confirmation')\"\n          >\n            Cancel\n          </button>\n          <button\n            class=\"submit\"\n            @click=\"submit\"\n          >\n            Confirm\n          </button>\n        </div>\n      </div>\n      <div class=\"direct-debit-guarantee\">\n        <h4>The Direct Debit Guarantee</h4>\n        <ul class=\"detail\">\n          <li>\n            This Guarantee is offered by all banks and building\n            societies that accept instructions to pay Direct Debits\n          </li>\n          <li>\n            If there are any changes to the amount, date or frequency\n            of your Direct Debit Survival International will notify you 10\n            working days in advance of your account being debited or as\n            otherwise agreed. If you request Survival International to\n            collect a payment, confirmation of the amount and date will be\n            given to you at the time of the request.\n          </li>\n          <li>\n            If an error is made in the payment of your Direct Debit, by\n            Survival International or your bank or building society, you\n            are entitled to a full and immediate refund of the amount paid\n            from your bank or building society\n            <br>\n            If you receive a refund you are not entitled to,\n            you must pay it back when Survival International asks you\n            to\n          </li>\n          <li>\n            You can cancel a Direct Debit at any time by simply\n            contacting your bank or building society. Written confirmation\n            may be required. Please also notify us.\n          </li>\n        </ul>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport axios from 'axios'\nimport { usePaymentStore } from '@/stores/payment'\nimport { useDonationStore } from '@/stores/donation'\nimport { ref } from 'vue'\n\nexport default {\n  name: 'SmartDebitConfirmation',\n  setup () {\n    const donationStore = useDonationStore()\n    const paymentStore = usePaymentStore()\n    const amount = ref(null)\n    const currency = ref(null)\n    const reference = ref(null)\n    const paymentDetails = ref(null)\n    const type = ref(null)\n    const amountString = ref(null)\n    return {\n      donationStore, paymentStore, amount , currency , reference , paymentDetails , type , amountString\n    }\n  },\n  computed: {\n    frequencyMessage () { return this.type === 'oneOff' ? 'this' : 'each' },\n    thankYouPath () { return this.$t('routeNames.thankYou') }\n  },\n  methods: {\n    submit () {\n      clearInterval(this.timer)\n      axios.post(\n        `${process.env.VUE_APP_BACKEND_HOST}/donation/${this.reference}/update`,\n        { status: 'successful', details: { status: 'Supporter confirmed Direct debit' } }\n      ).then(() => this.$router.push({ name: this.thankYouPath }))\n    },\n    cancel (status) {\n      clearInterval(this.timer)\n      axios.post(\n        `${process.env.VUE_APP_BACKEND_HOST}/donation/${this.reference}/update`,\n        { status: 'failed', details: { status: status } }\n      ).then(() => this.$router.push({ path: '/', query: { l: 'gb', payment_cancelled: true } }))\n    },\n    formatDate (UTCDateString) {\n      return new Date(UTCDateString).toDateString()\n    },\n    timeOutDonation () {\n      this.cancel('DD confirmation timed out')\n    }\n  },\n  beforeMount () {\n    this.paymentDetails = this.paymentStore.details.details\n    this.amount = this.donationStore.amount\n    this.currency = this.donationStore.currency\n    this.reference = this.donationStore.reference\n    this.type = this.donationStore.type\n    this.amountString = this.$l10n.formatCurrency(this.amount, this.currency)\n  },\n  mounted () {\n    this.$scrollToTop()\n    this.timer = setInterval(this.timeOutDonation, 300000) // 300000ms = 5minutes\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n  .contain {\n    background-color: $color-body-bg;\n  }\n  .smart-debit-confirmation-page {\n    margin: 1rem;\n\n    h2 {\n      display: flex;\n      flex-flow: row wrap;\n      div {\n        flex: 1 1 auto;\n      }\n      img {\n        flex: 0 0 auto;\n        margin: 1rem 0 0 0;\n        @include on-non-mobile(){\n          margin: 0 1rem;\n        }\n        max-height: 3rem;\n      }\n    }\n\n    h4 {\n      margin-bottom: 1rem;\n    }\n    .direct-debit-guarantee {\n      ul {\n        li {\n          margin-bottom: 0.5rem;\n        }\n      }\n    }\n\n    .contact-details {\n      a {\n        text-decoration: none;\n      }\n    }\n\n    .detail {\n      font-size: 1rem;\n    }\n\n    .confirm-cancel {\n      margin-top: 1rem;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n\n      button {\n        border: none;\n        padding: 0.6em 1em;\n        text-align: center;\n        width: auto;\n        margin: 1em;\n        color: black;\n        box-shadow: 2px 2px 7px rgba(black, 0.3);\n        display: inline;\n        max-width: 20rem;\n        flex: 1 1 auto;\n      }\n      button.submit {\n        background-color: orange;\n      }\n      button.cancel {\n        background-color: light-grey;\n      }\n    }\n    .dd-logo {\n      width: 6rem;\n    }\n  }\n</style>\n","import { render } from \"./SmartDebitConfirmation.vue?vue&type=template&id=52212c5b&scoped=true\"\nimport script from \"./SmartDebitConfirmation.vue?vue&type=script&lang=js\"\nexport * from \"./SmartDebitConfirmation.vue?vue&type=script&lang=js\"\n\nimport \"./SmartDebitConfirmation.vue?vue&type=style&index=0&id=52212c5b&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-52212c5b\"]])\n\nexport default __exports__","<template>\n  <div class=\"callback\">\n    <component\n      :is=\"component\"\n      v-if=\"component\"\n    />\n  </div>\n</template>\n\n<script>\nimport PaypalAuthorisedCallback from '@/payments/paypal/callbacks/Authorised'\nimport { markRaw } from \"vue\";\nimport { ref } from 'vue'\n\nexport default {\n  name: 'PaymentCallback',\n  setup () {\n    const component = ref(null)\n    return { component }\n  },\n  props: {\n    adapter: { type: String, required: true },\n    callback: { type: String, required: true }\n  },\n  components: {\n    PaypalAuthorisedCallback\n  },\n  methods: {\n    getComponent () {\n      const payment = this.adapter\n      const callback = this.callback\n      if ((payment === 'paypal') && (callback === 'authorised')) {\n        this.component = markRaw(PaypalAuthorisedCallback)\n      }\n    }\n  },\n  created () {\n    this.getComponent()\n  },\n  watch: {\n    adapter () { this.getComponent() },\n    callback () { this.getComponent() }\n  }\n}\n</script>\n","<template>\n  <div class=\"page-body\">\n    <div class=\"loading-panel-overlay\">\n      <div class=\"loading-panel\">\n        <div class=\"loading\">\n          <font-awesome-icon\n            icon=\"spinner\"\n            pulse\n          />\n          <h4>{{ $t('paymentStatus.loading') }}</h4>\n        </div>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { useHead } from '@vueuse/head'\nimport { computed, reactive } from 'vue'\nimport axios from 'axios'\nimport loadPaymentDetails from '../../../lib/payment/loadPaymentDetails'\nimport loadDonation from '../../../lib/donation/loadDonation'\nimport awaitUpdate from '../../../lib/donation/awaitUpdate'\nimport { usePaymentStore } from '@/stores/payment'\nimport { useDonationStore } from '@/stores/donation'\nimport { useRootStore } from '@/stores/root'\n\nexport default {\n  name: 'PaypalAuthorisedCallback',\n  setup () {\n    const paymentStore = usePaymentStore()\n    const donationStore = useDonationStore()\n    const rootStore = useRootStore()\n    const siteData = reactive({ title: '' })\n    useHead({\n      title: computed(() => siteData.title)\n    })\n    return { siteData, rootStore, paymentStore, donationStore }\n  },\n  beforeMount () {\n    this.siteData.title = this.$t('paymentStatus.loading') + ' - Paypal'\n  },\n  computed: {\n    token () { return this.rootStore.queryParams.token }\n  },\n  methods: {\n    submit (donation) {\n      axios.post(`${process.env.VUE_APP_BACKEND_HOST}/donation`, donation)\n        .then(() => awaitUpdate(this, donation.reference))\n        .then((result) => { if (result.status === 'failed') { this.handleFailure() } })\n        .then(() => { this.$router.push({ name: this.$t('routeNames.thankYou') }) })\n        .catch((error) => {\n          this.$bugsnag.notify(error)\n          this.handleFailure()\n        })\n    },\n    handleFailure (errMsg = null) {\n      const queryObject = { payment_cancelled: true }\n      if (localStorage.location) { queryObject.l = localStorage.location }\n      // add logic to PaymentDetails to populate submissionPromise with error to show supporter something went wrong.\n      this.$router.push({ path: '/', query: queryObject })\n    }\n  },\n  mounted () {\n    const storedDonation = loadDonation(this, localStorage) // err unless present\n    const storedPayment = loadPaymentDetails(this, localStorage) // err unless present\n    if (storedDonation && storedPayment) {\n      const donation = Object.assign(\n        {},\n        storedDonation,\n        {\n          payment: {\n            token: this.token,\n            adapter: 'paypal',\n            paypal_id: this.paymentStore.details.paypalId\n          },\n          location: this.$l10n.currentLocation.key,\n          language: this.$l10n.currentLanguage\n        }\n      )\n      this.submit(donation)\n    } else { this.handleFailure() }\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n  .page-body {\n    color: white;\n    position: relative;\n    overflow: initial;\n    background-color: white;\n    max-height: initial;\n    min-height: 60vh;\n  }\n\n  .loading-panel-overlay {\n    background-color: rgba(black, 0.7);\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    right: 0;\n    left: 0;\n    z-index: 5000;\n    text-align: center;\n\n    &:before {\n      content: '';\n      display: inline-block;\n      height: 100%;\n      vertical-align: middle;\n    }\n\n    .loading-panel {\n      background-color: white;\n      padding: 1em;\n      display: inline-block;\n      color: black;\n      width: 40%;\n      min-width: 300px;\n\n      @include on-non-mobile(){\n        min-width: 400px;\n      }\n\n      .fa-spinner {\n        width: 2em;\n        height: 2em;\n      }\n\n      h4 {\n        margin: 0;\n      }\n\n      // Keep button, could add button to close\n      // if paypal not loading?\n      button {\n        margin-top: 1em;\n        width: 100%;\n        padding: 0.5em 1em;\n        border: 4px solid black;\n      }\n    }\n  }\n</style>\n","// Taken directly from MDN:\n// https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API#Feature-detectinglokalStorage\n// Should account for private browsing & storage quota exceeded.\n\nexport default function storageAvailable (lokalStorage) {\n  try {\n    const x = '__storage_test__'\n    lokalStorage.setItem(x, x)\n    lokalStorage.removeItem(x)\n    return true\n  } catch (e) {\n    return e instanceof DOMException && (\n      // everything except Firefox\n      e.code === 22 ||\n      // Firefox\n      e.code === 1014 ||\n      // test name field too, because code might not be present\n      // everything except Firefox\n      e.name === 'QuotaExceededError' ||\n      // Firefox\n      e.name === 'NS_ERROR_DOM_QUOTA_REACHED') &&\n      // acknowledge QuotaExceededError only if there's something already stored\n      (lokalStorage && lokalStorage.length !== 0)\n  }\n}\n","import storageAvailable from '@/utilities/storageAvailable'\n\nexport default function loadPaymentDetails (vueInstance, lokalStorage) {\n  if (storageAvailable(lokalStorage)) {\n    let storedPayment = {}\n    if (lokalStorage.getItem('payment')) {\n      storedPayment = JSON.parse(lokalStorage.getItem('payment'))\n      vueInstance.paymentStore.setDetails(storedPayment)\n      return storedPayment\n    } else { return false } // raise error instead?\n  }\n}\n","import storageAvailable from '@/utilities/storageAvailable'\n\nexport default function loadDonation (vueInstance, lokalStorage) {\n  if (storageAvailable(lokalStorage)) {\n    let storedDonation = {}\n    if (lokalStorage.getItem('donation')) {\n      storedDonation = JSON.parse(lokalStorage.getItem('donation'))\n      vueInstance.donationStore.setReference(storedDonation.reference)\n      vueInstance.donationStore.setType(storedDonation.type)\n      vueInstance.donationStore.setAmount(storedDonation.amount)\n      vueInstance.donationStore.setForename(storedDonation.forename)\n      vueInstance.donationStore.setSurname(storedDonation.surname)\n      vueInstance.donationStore.setEmail(storedDonation.email)\n      vueInstance.donationStore.setPhone(storedDonation.phone)\n      vueInstance.donationStore.setCurrency(storedDonation.currency)\n      vueInstance.donationStore.setStreet(storedDonation.street)\n      vueInstance.donationStore.setZip(storedDonation.zip)\n      vueInstance.donationStore.setCity(storedDonation.city)\n      vueInstance.donationStore.setState(storedDonation.state)\n      vueInstance.donationStore.setCountry(storedDonation.country)\n      vueInstance.donationStore.setGiftaid(storedDonation.giftaid)\n      vueInstance.donationStore.setNewsletter(storedDonation.newsletter)\n      vueInstance.donationStore.setUtms(storedDonation.utms)\n      return storedDonation\n    } else { return false } // raise error instead?\n  }\n}\n","import { render } from \"./Authorised.vue?vue&type=template&id=179983d4&scoped=true\"\nimport script from \"./Authorised.vue?vue&type=script&lang=js\"\nexport * from \"./Authorised.vue?vue&type=script&lang=js\"\n\nimport \"./Authorised.vue?vue&type=style&index=0&id=179983d4&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-179983d4\"]])\n\nexport default __exports__","import { render } from \"./PaymentCallback.vue?vue&type=template&id=23439385\"\nimport script from \"./PaymentCallback.vue?vue&type=script&lang=js\"\nexport * from \"./PaymentCallback.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n  <div class=\"with-navigation\">\n    <MainNav />\n    <router-view />\n    <MainFooter />\n  </div>\n</template>\n\n<script>\n  import MainNav from './MainNav'\n  import MainFooter from './MainFooter'\n\n  export default {\n    name: 'WithNavigation',\n    components: { MainNav, MainFooter }\n  }\n</script>\n<style lang=\"scss\" scoped>\n  .with-navigation{\n    display: flex;\n    flex-direction: column;\n    min-height: calc(100vh + 110px);\n\n    > div{\n      flex: 1 1 100%;\n      display: flex;\n      flex-direction: column;\n    }\n  }\n</style>\n","<template>\n  <nav>\n    <div class=\"contain\">\n      <a :href=\"$t('header.homepageUrl')\">\n        <img\n          class=\"logo\"\n          src=\"https://assets.survivalinternational.org/viru/layout/survival-logo.svg\"\n        >\n      </a>\n    </div>\n  </nav>\n</template>\n\n<style lang=\"scss\" scoped>\n  nav{\n    background-color: #fff;\n    padding: 0.5rem;\n\n    @include on-non-mobile(){\n      padding: 1rem;\n    }\n\n    .contain{\n      width: 100%;\n      display: flex;\n      justify-content: center;\n      align-items: center;\n    }\n    img{\n      height: 40px;\n\n      @include on-non-mobile(){\n        height: 72px;\n      }\n    }\n  }\n</style>\n","import { render } from \"./MainNav.vue?vue&type=template&id=b2c408e8&scoped=true\"\nconst script = {}\n\nimport \"./MainNav.vue?vue&type=style&index=0&id=b2c408e8&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-b2c408e8\"]])\n\nexport default __exports__","<template>\n  <nav>\n    <div class=\"contain\">\n      <img\n        class=\"logo\"\n        src=\"https://assets.survivalinternational.org/viru/layout/survival-logo.svg\"\n      >\n      {{ $t('footer.main.text') }}\n    </div>\n  </nav>\n</template>\n\n<script>\nexport default {\n  computed: {\n    currentLanguage () { return this.$l10n.currentLanguage }\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n  nav{\n    background-color: #fff;\n    padding: 0.5rem;\n    font-size: 0.875rem;\n\n    @include on-non-mobile(){\n      padding: 1rem;\n    }\n\n    .contain{\n      width: 100%;\n      display: flex;\n      justify-content: center;\n      align-items: center;\n    }\n    img{\n      height: 40px;\n      margin: 0 1rem 0 0.5rem;\n\n      @include on-non-mobile(){\n        height: 72px;\n      }\n    }\n  }\n</style>\n","import { render } from \"./MainFooter.vue?vue&type=template&id=b6f3e6a8&scoped=true\"\nimport script from \"./MainFooter.vue?vue&type=script&lang=js\"\nexport * from \"./MainFooter.vue?vue&type=script&lang=js\"\n\nimport \"./MainFooter.vue?vue&type=style&index=0&id=b6f3e6a8&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-b6f3e6a8\"]])\n\nexport default __exports__","import { render } from \"./WithNavigation.vue?vue&type=template&id=19037139&scoped=true\"\nimport script from \"./WithNavigation.vue?vue&type=script&lang=js\"\nexport * from \"./WithNavigation.vue?vue&type=script&lang=js\"\n\nimport \"./WithNavigation.vue?vue&type=style&index=0&id=19037139&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-19037139\"]])\n\nexport default __exports__","import { createRouter as _createRouter, createWebHistory } from 'vue-router'\nimport ThankYou from './views/ThankYou'\nimport DonationIntro from './views/DonationIntro'\nimport PersonalDetails from './views/PersonalDetails'\nimport PaymentDetails from './views/PaymentDetails'\nimport SmartDebitConfirmation from './views/SmartDebitConfirmation'\nimport PaymentCallback from './views/PaymentCallback'\nimport WithNavigation from './views/layout/WithNavigation'\nimport { useDonationStore } from '@/stores/donation'\n\nfunction requireDonation (_to, _from, next) {\n  const donationStore = useDonationStore()\n  if (donationStore.amount) {\n    next()\n  } else {\n    next('/')\n  }\n}\n\nexport function createRouter () {\n  return _createRouter({\n    history: createWebHistory(),\n    routes: [\n      {\n        path: '/',\n        component: WithNavigation,\n        children: [\n          { path: '', name: 'donationIntro', component: DonationIntro },\n\n          { path: 'ihre-angaben', name: 'personalDetailsDe', component: PersonalDetails, beforeEnter: requireDonation },\n          { path: 'personal-information', name: 'personalDetailsEn', component: PersonalDetails, beforeEnter: requireDonation },\n          { path: 'informacion-personal', name: 'personalDetailsEs', component: PersonalDetails, beforeEnter: requireDonation },\n          { path: 'informations-personnelles', name: 'personalDetailsFr', component: PersonalDetails, beforeEnter: requireDonation },\n          { path: 'informazione-personale', name: 'personalDetailsIt', component: PersonalDetails, beforeEnter: requireDonation },\n          { path: 'dados-pessoas', name: 'personalDetailsBr', component: PersonalDetails, beforeEnter: requireDonation },\n\n          { path: 'zahlungsinformationen', name: 'paymentDetailsDe', component: PaymentDetails, beforeEnter: requireDonation },\n          { path: 'payment-information', name: 'paymentDetailsEn', component: PaymentDetails, beforeEnter: requireDonation },\n          { path: 'informacion-del-pago', name: 'paymentDetailsEs', component: PaymentDetails, beforeEnter: requireDonation },\n          { path: 'informations-de-paiement', name: 'paymentDetailsFr', component: PaymentDetails, beforeEnter: requireDonation },\n          { path: 'informazioni-sul-pagamento', name: 'paymentDetailsIt', component: PaymentDetails, beforeEnter: requireDonation },\n          { path: 'informacao-de-pagamento', name: 'paymentDetailsBr', component: PaymentDetails, beforeEnter: requireDonation },\n\n          { path: 'danke', name: 'thankYouDe', component: ThankYou, beforeEnter: requireDonation },\n          { path: 'thank-you', name: 'thankYouEn', component: ThankYou, beforeEnter: requireDonation },\n          { path: 'gracias', name: 'thankYouEs', component: ThankYou, beforeEnter: requireDonation },\n          { path: 'merci', name: 'thankYouFr', component: ThankYou, beforeEnter: requireDonation },\n          { path: 'grazie', name: 'thankYouIt', component: ThankYou, beforeEnter: requireDonation },\n          { path: 'obrigado', name: 'thankYouBr', component: ThankYou, beforeEnter: requireDonation },\n          {\n            path: 'direct-debit-confirmation',\n            name: 'smartDebitConfirmation',\n            component: SmartDebitConfirmation\n          }\n        ]\n      },\n      {\n        path: '/callbacks/:adapter/:callback',\n        component: PaymentCallback,\n        props: true\n      },\n      { path: '/:pathMatch(.*)*', name: 'not-found', component: DonationIntro }\n    ]\n  })\n}\n","<template>\n  <div id=\"app\">\n    <template v-if=\"loading\" />\n    <template v-else>\n      <router-view />\n    </template>\n  </div>\n</template>\n\n<script>\nimport domainToLocationMap from './locations/domainToLocationMap'\nimport locationParamMap from './locations/locationParamMap'\nimport { computed, reactive, ref } from 'vue'\nimport { useHead } from '@vueuse/head'\nimport { useRootStore } from '@/stores/root'\nimport { useDonationStore } from '@/stores/donation'\n\nexport default {\n  name: 'ViruRoot',\n  setup () {\n    const loading = ref(true)\n    const siteData = reactive({ title: 'Donate - Survival International', description: '' })\n    useHead({\n      title: computed(() => siteData.title),\n      meta: [{ name: 'description', content: computed(() => siteData.description) }]\n    })\n    const rootStore = useRootStore()\n    const donationStore = useDonationStore()\n    return { siteData, rootStore, donationStore, loading }\n  },\n  beforeMount () {\n    const currentDomain = window.location.hostname.replace(/local.|staging-/gi, '')\n    this.rootStore.setCurrentDomain(currentDomain)\n\n    const isEnDomain = (currentDomain === 'donate.survivalinternational.org')\n    this.rootStore.setIsEnDomain(isEnDomain)\n\n    const queryParams = Object.fromEntries(new URLSearchParams(window.location.search))\n    this.rootStore.setQueryParams(queryParams)\n    this.donationStore.setUtms(queryParams)\n\n    const omittedFrequency = ('omitFrequency' in queryParams) ? queryParams.omitFrequency : ''\n    switch (omittedFrequency) {\n      case 'oneOff':\n      case 'one_off':\n      case 'oneoff':\n        this.donationStore.setType('monthly')\n        this.rootStore.setOmittedFrequency('oneOff')\n        break\n      case 'regular':\n        this.donationStore.setType('oneOff')\n        this.rootStore.setOmittedFrequency('regular')\n        break\n    }\n\n    if (['701Q500000cCBmf', '701Q500000cLap1', '701Q500000cC8C5', '701Q500000c8h9x'].includes(queryParams.utm_id)) {\n      this.donationStore.setType('oneOffSvlIt')\n      this.rootStore.setOmittedFrequency('regular')\n    }\n\n    const appeal = queryParams.appeal\n    if (appeal) { this.rootStore.setAppeal(appeal) }\n\n    const currentLocationKey = this.locationFromParam(queryParams) || this.inferLocation(currentDomain)\n    this.$l10n.changeLocation(currentLocationKey).then(() => {\n      this.siteData.title = `${this.$t('meta.title')} - Survival International`\n        this.loading = false\n    })\n  },\n  methods: {\n    inferLocation (domain) {\n      return domainToLocationMap[domain] || 'us'\n    },\n    locationFromParam (queryParams) {\n      if ('l' in queryParams) {\n        return locationParamMap[queryParams.l]\n      } else { return false }\n    }\n  }\n}\n</script>\n\n<style lang=\"scss\">\n  @import 'assets/sass/layout';\n\n  #app {\n    position: relative;\n  }\n</style>\n","import { render } from \"./App.vue?vue&type=template&id=08b03b7f\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=08b03b7f&lang=scss\"\n\nimport exportComponent from \"/Users/sam/dev/viru/deploy/temp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import currency from 'currency.js'\nimport { useL10nStore } from '@/stores/l10n'\n\nfunction Service ({ i18n, locations }) {\n  this.i18n = i18n\n  this.store = useL10nStore()\n  this.availableLocations = locations\n\n  this.loadedLocales = []\n  this.locationChangeHooks = {}\n}\n\nService.prototype = {\n  _setLocale (locale) {\n    this.i18n.global.locale.value = locale\n    document.querySelector('html').setAttribute('lang', locale)\n    return locale\n  },\n\n  get currentLocation () { return this.store.current },\n  get currentLocale () { return this.i18n.global.locale },\n  get currentLanguage () { return this.i18n.global.locale.value.split('-')[0] },\n  get availableCurrencies () { return this.currentLocation.currencies },\n  get availableFrequencies () { return this.currentLocation.donationFrequencies },\n  get paymentMethods () { return this.currentLocation.paymentMethods },\n  get availableCollectionDates () { return this.currentLocation.paymentMethods.smartdebit.collectionDates },\n\n  changeLocation (location) {\n    return this.store.change(location)\n      .then(() => this.changeLanguage(this.currentLocation.defaultLanguage))\n      .then(() => { this.i18n.fallbackLocale = this.currentLocation.currentLocale })\n      .then(() => {\n        Object.values(this.locationChangeHooks)\n          .forEach(hook => {\n            hook(this.currentLocation)\n          })\n      })\n  },\n\n  async changeLanguage (language) {\n    const location = this.currentLocation.key\n    const locale = `${language}-${location.toUpperCase()}`\n    const countryList = await this.loadCountries(language)\n    const statesList = location !== 'us' ? {} : await this.loadStates(location)\n\n    if (this.i18n.global.locale === locale) { return Promise.resolve(locale) }\n    if (this.loadedLocales.includes(locale)) { return Promise.resolve(this._setLocale(locale)) }\n\n    return this.importLangFromFile(\n      language, location, locale, countryList, statesList\n    )\n  },\n\n  importLangFromFile (language, location, locale, countryList, statesList) {\n    return import(`../../locations/lang/${language}/${location}.json`)\n      .then((module) => {\n        Object.assign(module.default, { countries: countryList, states: statesList })\n        this.i18n.global.setLocaleMessage(locale, module.default)\n        this.loadedLocales.push(locale)\n        return this._setLocale(locale)\n      })\n  },\n\n  loadCountries (language) {\n    return import(`../../locations/lang/countries/${language}`)\n      .then((module) => { return module.countries })\n  },\n\n  loadStates (location) {\n    return import(`../../locations/lang/states/${location}`)\n      .then((module) => { return module.states })\n  },\n\n  suggestedAmountsFor (currency, type) {\n    const currencyConfig = this.currentLocation.currencies[currency]\n    return currencyConfig ? currencyConfig.suggestedAmounts[type] : []\n  },\n\n  minAmountFor (currency) {\n    return this.currentLocation.currencies[currency].minimum\n  },\n\n  formatCurrency (amount, cur, options = {}) {\n    if (this.currentLocation.currencies && cur) {\n      return currency(amount, Object.assign(\n        { formatWithSymbol: true },\n        this.currentLocation.currencies[cur].config,\n        options\n      )).format()\n    }\n  },\n\n  onLocationChange (name, hook, { immediate }) {\n    this.locationChangeHooks[name] = hook\n    if (immediate) hook(this.currentLocation)\n  }\n}\n\nexport default Service\n","import Service from './service'\nimport locations from '../../locations/list'\n\nexport default {\n  install: (app, i18n) => {\n    app.config.globalProperties.$l10n = new Service({ i18n, locations })\n  }\n}\n","import { createI18n } from 'vue-i18n'\n\nexport const i18n = createI18n(\n  {\n    // Below should work from vue-i18n v8.8+\n    // https://kazupon.github.io/vue-i18n/api/#constructor-options\n    // \"should\" stop vue complaining about: this.$i18n.t\n    silentFallbackWarn: true,\n    warnHtmlInMessage: false,\n    warnHtmlMessage: false,\n    globalInjection: true,\n    legacy: false\n  }\n)\n","export default {\n  install (app) {\n    app.config.globalProperties.$loadScript = (source, config = { async: true }) => {\n      const existing = document.querySelector(`script[src=\"${source}\"]`)\n\n      if (existing) {\n        return existing.promise\n      }\n\n      const script = document.createElement('script')\n\n      return (script.promise = new Promise((resolve, reject) => {\n        script.type = 'text/javascript'\n        script.async = config.async\n\n        script.addEventListener('load', resolve)\n        script.addEventListener('error', reject)\n        script.addEventListener('abort', reject)\n\n        script.src = source\n\n        document.head.appendChild(script)\n      }))\n    }\n  }\n}\n","import TWEEN from '@tweenjs/tween.js'\n\nconst animate = () => {\n  requestAnimationFrame(animate)\n\n  TWEEN.update()\n}\n\nanimate()\n","import { createApp } from 'vue'\nimport { createPinia } from 'pinia'\nimport { createRouter } from './router'\nimport { createHead } from '@vueuse/head'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'\nimport { faSpinner, faArrowRight, faArrowLeft, faCheck } from '@fortawesome/free-solid-svg-icons'\nimport App from './App.vue'\nimport l10n from './plugins/localisation'\nimport { i18n } from './i18n'\nimport LoadScript from './plugins/loadScript'\nimport Bugsnag from '@bugsnag/js'\nimport BugsnagPluginVue from '@bugsnag/plugin-vue'\nimport './animation'\n\nconst router = createRouter()\nconst head = createHead()\nconst app = createApp({ ...App })\n\nlibrary.add(faSpinner, faArrowRight, faArrowLeft, faCheck)\napp.component('FontAwesomeIcon', FontAwesomeIcon)\napp.use(createPinia())\napp.use(router)\napp.use(i18n)\napp.use(l10n, i18n)\napp.use(LoadScript)\napp.use(head)\n\napp.config.globalProperties.$windowName = window.name\napp.config.globalProperties.$clipboard = window.navigator.clipboard\napp.config.globalProperties.$scrollToTop = (x = 0, y = 0) => window.scrollTo(x, y)\napp.config.globalProperties.$scrollToElement = (selector) =>\n  document.querySelector(selector).scrollIntoView({\n    behavior: 'smooth',\n    block: 'center',\n    inline: 'nearest'\n  })\n\nif (process.env.VUE_APP_BUGSNAG_KEY) {\n  Bugsnag.start({\n    apiKey: process.env.VUE_APP_BUGSNAG_KEY,\n    plugins: [new BugsnagPluginVue()]\n  })\n  const bugsnagVue = Bugsnag.getPlugin('vue')\n  bugsnagVue.installVueErrorHandler(app)\n\n  app.config.globalProperties.$bugsnag = Bugsnag\n}\n\napp.mount('#app')\n","var map = {\n\t\"./de\": [\n\t\t8923,\n\t\t923\n\t],\n\t\"./de.json\": [\n\t\t8923,\n\t\t923\n\t],\n\t\"./en\": [\n\t\t9409,\n\t\t409\n\t],\n\t\"./en.json\": [\n\t\t9409,\n\t\t409\n\t],\n\t\"./es\": [\n\t\t4814,\n\t\t814\n\t],\n\t\"./es.json\": [\n\t\t4814,\n\t\t814\n\t],\n\t\"./fr\": [\n\t\t3348,\n\t\t348\n\t],\n\t\"./fr.json\": [\n\t\t3348,\n\t\t348\n\t],\n\t\"./it\": [\n\t\t7312,\n\t\t312\n\t],\n\t\"./it.json\": [\n\t\t7312,\n\t\t312\n\t],\n\t\"./pt\": [\n\t\t6512,\n\t\t512\n\t],\n\t\"./pt.json\": [\n\t\t6512,\n\t\t512\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__.t(id, 3 | 16);\n\t});\n}\nwebpackAsyncContext.keys = function() { return Object.keys(map); };\nwebpackAsyncContext.id = 6487;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./us\": [\n\t\t6439,\n\t\t439\n\t],\n\t\"./us.json\": [\n\t\t6439,\n\t\t439\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__.t(id, 3 | 16);\n\t});\n}\nwebpackAsyncContext.keys = function() { return Object.keys(map); };\nwebpackAsyncContext.id = 6168;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./countries/de.json\": [\n\t\t8923,\n\t\t923\n\t],\n\t\"./countries/en.json\": [\n\t\t9409,\n\t\t409\n\t],\n\t\"./countries/es.json\": [\n\t\t4814,\n\t\t814\n\t],\n\t\"./countries/fr.json\": [\n\t\t3348,\n\t\t348\n\t],\n\t\"./countries/it.json\": [\n\t\t7312,\n\t\t312\n\t],\n\t\"./countries/pt.json\": [\n\t\t6512,\n\t\t512\n\t],\n\t\"./de/de.json\": [\n\t\t5938,\n\t\t938\n\t],\n\t\"./en/gb.json\": [\n\t\t6940,\n\t\t940\n\t],\n\t\"./en/us.json\": [\n\t\t5758,\n\t\t758\n\t],\n\t\"./es/es.json\": [\n\t\t6415,\n\t\t415\n\t],\n\t\"./fr/fr.json\": [\n\t\t5298,\n\t\t298\n\t],\n\t\"./it/it.json\": [\n\t\t1799,\n\t\t799\n\t],\n\t\"./pt/br.json\": [\n\t\t8647,\n\t\t647\n\t],\n\t\"./states/us.json\": [\n\t\t6439,\n\t\t439\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__.t(id, 3 | 16);\n\t});\n}\nwebpackAsyncContext.keys = function() { return Object.keys(map); };\nwebpackAsyncContext.id = 6889;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./br\": [\n\t\t9901,\n\t\t3,\n\t\t901\n\t],\n\t\"./br.json\": [\n\t\t9901,\n\t\t3,\n\t\t901\n\t],\n\t\"./countryCodeToOffice\": [\n\t\t2586,\n\t\t9\n\t],\n\t\"./countryCodeToOffice.js\": [\n\t\t2586,\n\t\t9\n\t],\n\t\"./de\": [\n\t\t292,\n\t\t3,\n\t\t292\n\t],\n\t\"./de.json\": [\n\t\t292,\n\t\t3,\n\t\t292\n\t],\n\t\"./domainToLocationMap\": [\n\t\t1352,\n\t\t9\n\t],\n\t\"./domainToLocationMap.js\": [\n\t\t1352,\n\t\t9\n\t],\n\t\"./es\": [\n\t\t6689,\n\t\t3,\n\t\t689\n\t],\n\t\"./es.json\": [\n\t\t6689,\n\t\t3,\n\t\t689\n\t],\n\t\"./fr\": [\n\t\t7595,\n\t\t3,\n\t\t595\n\t],\n\t\"./fr.json\": [\n\t\t7595,\n\t\t3,\n\t\t595\n\t],\n\t\"./gb\": [\n\t\t2152,\n\t\t3,\n\t\t152\n\t],\n\t\"./gb.json\": [\n\t\t2152,\n\t\t3,\n\t\t152\n\t],\n\t\"./it\": [\n\t\t2340,\n\t\t3,\n\t\t340\n\t],\n\t\"./it.json\": [\n\t\t2340,\n\t\t3,\n\t\t340\n\t],\n\t\"./lang/countries/de\": [\n\t\t8923,\n\t\t3,\n\t\t923\n\t],\n\t\"./lang/countries/de.json\": [\n\t\t8923,\n\t\t3,\n\t\t923\n\t],\n\t\"./lang/countries/en\": [\n\t\t9409,\n\t\t3,\n\t\t409\n\t],\n\t\"./lang/countries/en.json\": [\n\t\t9409,\n\t\t3,\n\t\t409\n\t],\n\t\"./lang/countries/es\": [\n\t\t4814,\n\t\t3,\n\t\t814\n\t],\n\t\"./lang/countries/es.json\": [\n\t\t4814,\n\t\t3,\n\t\t814\n\t],\n\t\"./lang/countries/fr\": [\n\t\t3348,\n\t\t3,\n\t\t348\n\t],\n\t\"./lang/countries/fr.json\": [\n\t\t3348,\n\t\t3,\n\t\t348\n\t],\n\t\"./lang/countries/it\": [\n\t\t7312,\n\t\t3,\n\t\t312\n\t],\n\t\"./lang/countries/it.json\": [\n\t\t7312,\n\t\t3,\n\t\t312\n\t],\n\t\"./lang/countries/pt\": [\n\t\t6512,\n\t\t3,\n\t\t512\n\t],\n\t\"./lang/countries/pt.json\": [\n\t\t6512,\n\t\t3,\n\t\t512\n\t],\n\t\"./lang/de/de\": [\n\t\t5938,\n\t\t3,\n\t\t938\n\t],\n\t\"./lang/de/de.json\": [\n\t\t5938,\n\t\t3,\n\t\t938\n\t],\n\t\"./lang/en/gb\": [\n\t\t6940,\n\t\t3,\n\t\t940\n\t],\n\t\"./lang/en/gb.json\": [\n\t\t6940,\n\t\t3,\n\t\t940\n\t],\n\t\"./lang/en/us\": [\n\t\t5758,\n\t\t3,\n\t\t758\n\t],\n\t\"./lang/en/us.json\": [\n\t\t5758,\n\t\t3,\n\t\t758\n\t],\n\t\"./lang/es/es\": [\n\t\t6415,\n\t\t3,\n\t\t415\n\t],\n\t\"./lang/es/es.json\": [\n\t\t6415,\n\t\t3,\n\t\t415\n\t],\n\t\"./lang/fr/fr\": [\n\t\t5298,\n\t\t3,\n\t\t298\n\t],\n\t\"./lang/fr/fr.json\": [\n\t\t5298,\n\t\t3,\n\t\t298\n\t],\n\t\"./lang/it/it\": [\n\t\t1799,\n\t\t3,\n\t\t799\n\t],\n\t\"./lang/it/it.json\": [\n\t\t1799,\n\t\t3,\n\t\t799\n\t],\n\t\"./lang/pt/br\": [\n\t\t8647,\n\t\t3,\n\t\t647\n\t],\n\t\"./lang/pt/br.json\": [\n\t\t8647,\n\t\t3,\n\t\t647\n\t],\n\t\"./lang/states/us\": [\n\t\t6439,\n\t\t3,\n\t\t439\n\t],\n\t\"./lang/states/us.json\": [\n\t\t6439,\n\t\t3,\n\t\t439\n\t],\n\t\"./list\": [\n\t\t9766,\n\t\t9\n\t],\n\t\"./list.js\": [\n\t\t9766,\n\t\t9\n\t],\n\t\"./locationParamMap\": [\n\t\t7001,\n\t\t9\n\t],\n\t\"./locationParamMap.js\": [\n\t\t7001,\n\t\t9\n\t],\n\t\"./pt\": [\n\t\t3799,\n\t\t3,\n\t\t853\n\t],\n\t\"./pt.json\": [\n\t\t3799,\n\t\t3,\n\t\t853\n\t],\n\t\"./us\": [\n\t\t7834,\n\t\t3,\n\t\t834\n\t],\n\t\"./us.json\": [\n\t\t7834,\n\t\t3,\n\t\t834\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(2).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__.t(id, ids[1] | 16)\n\t});\n}\nwebpackAsyncContext.keys = function() { return Object.keys(map); };\nwebpackAsyncContext.id = 5003;\nmodule.exports = webpackAsyncContext;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"152\":\"b3fce697\",\"292\":\"0ba48747\",\"298\":\"524b5277\",\"312\":\"7365f573\",\"340\":\"97bca528\",\"348\":\"4bff8699\",\"409\":\"a3215bbd\",\"415\":\"207cfb17\",\"439\":\"5975b833\",\"512\":\"483822d6\",\"595\":\"30f322a8\",\"647\":\"8e5c479c\",\"689\":\"ca940cab\",\"758\":\"814b0fea\",\"799\":\"b178b8d3\",\"814\":\"098ca022\",\"834\":\"f5d8c1e9\",\"853\":\"5e923dd8\",\"901\":\"0298bc49\",\"923\":\"da8257e5\",\"938\":\"d327a476\",\"940\":\"b51280c2\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"frontend:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkfrontend\"] = self[\"webpackChunkfrontend\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(6714); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UK","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW","br","de","en_gb","en_us","en","gb","es","fr","it","pt","us","class","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","style","_normalizeStyle","backgroundImage","concat","$options","imageSrc","_hoisted_3","_hoisted_4","_toDisplayString","titleText","forename","formattedMsg","newsletter","_hoisted_5","innerHTML","_ctx","$t","_createVNode","_component_SocialShare","_component_ThankYouCampaigns","_component_ThankYouGalleries","href","target","src","_hoisted_7","_hoisted_8","_hoisted_11","_hoisted_12","_hoisted_16","_hoisted_17","_hoisted_18","script","__exports__","_hoisted_15","$tm","_hoisted_19","_hoisted_20","_Fragment","_renderList","Object","keys","key","_normalizeClass","alt","title","canCopy","onClick","_cache","addToClipboard","apply","arguments","copied","$setup","_regeneratorRuntime","exports","Op","prototype","hasOwn","hasOwnProperty","defineProperty","obj","desc","value","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","call","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","_typeof","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","done","methodName","undefined","return","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","setup","ref","methods","_this","_callee","_context","$clipboard","writeText","computed","this","strCamelToSnakeCase","str","replace","letter","toLowerCase","objectKeysCamelToSnakeCase","fromEntries","entries","map","_ref","_ref2","_slicedToArray","k","v","useDonationStore","defineStore","namespaced","reference","amount","surname","email","phone","currency","street","zip","city","country","giftaid","giftDonation","tax","idType","idNumber","taxNumber","utms","getters","currentDonation","donationParams","gift_donation","actions","setReference","payload","setType","setAmount","setForename","setSurname","setEmail","setPhone","setCurrency","setStreet","setZip","setCity","setState","setCountry","setGiftaid","setGiftDonation","setNewsletter","setUtms","setTax","useL10nStore","current","loadedLocations","addLocation","locationData","assign","set","location","setCurrentLocation","change","promise","module","default","components","ThankYouGalleries","ThankYouCampaigns","SocialShare","l10nStore","donationStore","siteData","reactive","useHead","beforeMount","thanksText","curr","currencies","formattedCurrency","formatCurrency","removeLocalStorage","localStorage","clear","formatWithSymbol","config","format","mounted","$scrollToTop","$nextTick","render","id","_component_DonationHeader","showCountryLocationSelect","_createBlock","_component_CountryLocationSelect","_component_TransitionSlide","officeLocationKnown","_component_CurrencySelect","_component_DonationTypeSelect","_component_AmountPreselect","allowContinue","_component_router_link","to","_component_font_awesome_icon","icon","_component_DonationFooter","donateText","titleTextCredit","description","_hoisted_6","_component_DonationContainer","_renderSlot","$slots","_Transition","onBeforeLeave","beforeLeave","onLeave","leave","onBeforeEnter","beforeEnter","onEnter","enter","props","time","Number","el","setProperty","clientHeight","currentStyles","getComputedStyle","Tween","height","opacity","easing","Easing","onUpdate","onComplete","start","useRootStore","fullMode","currentDomain","isEnDomain","queryParams","omittedFrequency","appeal","validation","paymentMethodSelect","form","validateAllFields","formValid","every","item","setFullMode","setCurrentDomain","setIsEnDomain","setOmittedFrequency","setAppeal","setQueryParams","setValidationPaymentMethodSelect","setValidationForm","touchValidationFields","rootStore","TransitionSlide","DonationContainer","_hoisted_9","_hoisted_10","_hoisted_14","_hoisted_21","_hoisted_22","card","index","_hoisted_23","_hoisted_26","_hoisted_27","_hoisted_29","_hoisted_30","_hoisted_32","currencyCount","availableCurrencies","idFor","$event","largeSymbol","symbol","for","uniqueId","uuid","get","newValue","$l10n","watch","_val","currentLocation","defaultCurrency","includes","appealPresent","_component_SuggestedAmountsForAppeals","onSelected","presetSelected","_component_SuggestedAmounts","_component_FormField","label","customLabel","v$","displayTaxRelief","_component_TaxReliefCalculator","suggestedAmounts","option","active","isActive","select","selectedAmount","emits","currentAmount","suggestedAmountsFor","precision","$emit","appealName","useVuelidate","hasError","light","$props","theme","hasValue","_mergeProps","onKeypress","isNumber","_toHandlers","focus","blur","step","min","maxlength","modelValue","required","String","validator","indexOf","$error","$touch","event","test","preventDefault","showCalc","ineligble","reducedAmount","deduction","countries","baseRate","higherRate","baseLimit","higherLimit","annualizedAmount","amountObj","frequency","multiply","installmentAmountFromAnnual","divide","calculateEffectiveRelief","annualAmount","baseAmount","baseReduction","higherAmount","subtract","higherReduction","annualReducedAmount","add","ineligible","calculateTaxRelief","locationKey","currentCurrency","currentFrequency","taxRelief","SuggestedAmounts","SuggestedAmountsForAppeals","FormField","TaxReliefCalculator","validations","minAmountFor","_component_SelectField","list","disabled","SelectField","updateOfficeFromCountryCode","countryCode","officeLocale","countrycodeToOffice","changeLocation","promptText","types","donationType","match","_component_DonationFrequencySelect","multipleFrequencies","changeClicked","open","frequencies","availableFrequencies","regular","filter","selected","DonationFrequencySelect","hideOneOff","hideRegular","regularType","CurrencySelect","DonationTypeSelect","AmountPreselect","DonationFooter","CountryLocationSelect","DonationHeader","paymentCancelled","donationDetailsGiven","prefillDonation","params","toLocaleLowerCase","$scrollToElement","onLocationChange","newLocation","immediate","_component_ProgressTracker","_component_DonationSummary","_component_DonationForm","_component_GiftDonation","_component_TaxIdentification","_component_NewsletterSignup","_component_PrivacyStatement","_component_GiftAid","touchAllFields","formClasses","showAsteriskIfRequired","showPhone","showState","editableCountry","field","fieldRequired","$invalid","zipValid","postcodeValidatorExistsForCountry","postcodeValidator","toUpperCase","formFields","show","telephone","hidePhoneAndState","requiredIf","lParamGiven","display","amountWithGiftAid","_component_CheckBox","Boolean","CheckBox","currentLocationKey","showItalyTaxID","_component_ItTaxInformation","showSpainTaxID","_component_EsTaxInformation","placeholder","idTypes","DNI_REGEX","CIF_REGEX","NIE_REGEX","validateSpanishID","valid","spainIdType","validDNI","validNIE","validCIF","dni","dniLetters","parseInt","nie","niePrefix","substr","cif","n","number","control","evenSum","oddSum","controlDigit","toString","controlLetter","currentCountry","alphaNum","EsTaxInformation","ItTaxInformation","currentStep","summaryText","giftData","message","charsTaken","maxLength","fieldsInvalid","prechecked","_defineProperty","_toPropertyKey","_toPrimitive","input","hint","prim","toPrimitive","res","_components","DonationForm","GiftAid","GiftDonation","TaxIdentification","ProgressTracker","DonationSummary","NewsletterSignup","PrivacyStatement","_component_LoadingPanel","submissionPromise","onSuccess","handleSuccess","loading","_withCtx","pulse","failure","failure_message","resetPayment","_component_PaymentMethodSelect","onSetStripeCard","setStripeCard","donationValid","submit","awaitUpdate","vueInstance","check","payment","isIncomplete","axios","process","paymentStore","data","success","status","details","setDetails","authorize","setTimeout","serialize","paymentPromise","paymentParams","donation","_objectSpread","language","currentLanguage","storeDonation","lokalStorage","tmp","parsedDonation","JSON","stringify","setItem","sensitiveDataFilter","rawObject","sensitiveParams","paramFilter","SensitiveParamFilter","SPFDefaultParams","submitDonation","document","querySelector","turnstileToken","paramsWithRecaptcha","turnstile_response","failureMessage","response","reportFailureToBugsnag","sanitisedMessage","errData","$bugsnag","notify","validPaymentMethods","selectedMethod","currentComponent","_resolveDynamicComponent","storePaymentDetails","parsedPayment","return_url","origin","paypalId","paypal_id","storedPayment","approveUrl","approve","window","console","log","usePaymentStore","setMethods","setComplete","handleTwoFactorAuth","_x","_x2","_x3","_handleTwoFactorAuth","clientSecret","confirmResult","errBody","confirmTwoFactor","error_code","code","payment_intent","_defineProperties","descriptor","_createClass","Constructor","protoProps","staticProps","_classCallCheck","instance","_inherits","subClass","superClass","_setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","Reflect","construct","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","_wrapNativeSuper","Class","Map","_isNativeFunction","has","Wrapper","_construct","Parent","bind","a","Function","sham","Proxy","valueOf","e","o","p","StripeApiKeyError","_Error","_super","verifyPublicKey","stripe","apiKey","createToken","personal_id_number","token","stripeCard","requiredData","address_country","address_line1","address_city","address_state","address_zip","donationData","adapter","_authorize","twoFactorResult","client_secret","retrievePaymentIntent","confirmCardPayment","payment_method","paymentIntent","cardStyles","base","fontSize","backgroundColor","padding","paymentMethods","$loadScript","Stripe","locale","elements","hidePostalCode","mount","$refs","on","sepa","iban","confirmPaymentHolderRequired","assumedPaymentHolder","iban_number","validateFields","Iban","sepaInvalid","_component_CollectionDateSelect","smartDebit","collectionDate","accountName","accountNumber","sortCode","availableCollectionDates","day","model","sort_code","account_number","account_name","chosen_day","_result","$router","CollectionDateSelect","directives","mask","minLength","smartDebitInvalid","_accountName","_accountNumber","_sortCode","_collectionDate","_freq","substring","beforeUnmount","PaypalComponent","StripeComponent","SepaComponent","SmartdebitComponent","paypal","smartdebit","paymentMethodShorthands","cc","dd","py","se","rmvPymnt","split","paymentDetailsComplete","paymentLoaded","currentPaymentAvailable","_component_TransitionFade","className","completed","TransitionFade","handler","PaymentMethodSelect","LoadingPanel","thankYouPath","itUTMs","utm_id","turnstile","ready","sitekey","size","callback","amountString","frequencyMessage","paymentDetails","bank","branch","_hoisted_13","formatDate","billing_date","end_date","cancel","clearInterval","timer","_this2","path","query","l","payment_cancelled","UTCDateString","Date","toDateString","timeOutDonation","setInterval","component","storageAvailable","x","removeItem","DOMException","loadPaymentDetails","getItem","parse","loadDonation","storedDonation","handleFailure","queryObject","PaypalAuthorisedCallback","getComponent","markRaw","created","_component_MainNav","_component_router_view","_component_MainFooter","MainNav","MainFooter","requireDonation","_to","_from","createRouter","_createRouter","history","createWebHistory","routes","WithNavigation","children","DonationIntro","PersonalDetails","PaymentDetails","ThankYou","SmartDebitConfirmation","PaymentCallback","meta","content","hostname","URLSearchParams","search","omitFrequency","locationFromParam","inferLocation","domain","domainToLocationMap","locationParamMap","Service","i18n","locations","store","availableLocations","loadedLocales","locationChangeHooks","_setLocale","global","setAttribute","currentLocale","donationFrequencies","collectionDates","changeLanguage","defaultLanguage","fallbackLocale","hook","countryList","statesList","loadCountries","t0","loadStates","importLangFromFile","_this3","states","setLocaleMessage","currencyConfig","minimum","cur","options","install","app","globalProperties","createI18n","silentFallbackWarn","warnHtmlInMessage","warnHtmlMessage","globalInjection","legacy","source","existing","createElement","addEventListener","head","appendChild","animate","requestAnimationFrame","TWEEN","router","createHead","createApp","App","library","faSpinner","faArrowRight","faArrowLeft","faCheck","FontAwesomeIcon","use","createPinia","l10n","LoadScript","$windowName","navigator","clipboard","y","scrollTo","selector","scrollIntoView","behavior","block","inline","Bugsnag","plugins","BugsnagPluginVue","bugsnagVue","installVueErrorHandler","webpackAsyncContext","req","__webpack_require__","ids","t","all","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","m","deferred","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","splice","r","getter","__esModule","d","leafPrototypes","mode","ns","def","getOwnPropertyNames","definition","f","chunkId","reduce","promises","u","miniCssF","g","globalThis","prop","inProgress","dataWebpackPrefix","url","needAttach","scripts","getElementsByTagName","s","getAttribute","charset","timeout","nc","onScriptComplete","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","installedChunks","installedChunkData","loadingEnded","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}