{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./frontend/components/multipstepFormAndValidation.js","webpack:///./frontend/components/AddressLookup/index.js","webpack:///./frontend/components/Giftaid/static/giftaid.svg","webpack:///./frontend/components/Header/static/logo-narrow.svg","webpack:///./frontend/components/Header/static/logo-wide.svg","webpack:///./frontend/components/Hero/static/tick.svg","webpack:///./frontend/components/ImpactBlock/static/moneyhandgreen2.jpg","webpack:///./frontend/components/ImpactBlock/static/handsgreen2.jpg","webpack:///./frontend/components/ImpactBlock/static/huggreen2.jpg","webpack:///./frontend/images/favicon.ico","webpack:///./frontend/images/donate-hero.jpg","webpack:///./frontend/images/barnardos-stat.jpg","webpack:///./frontend/images/Tom-volunteering-in-shop.jpg","webpack:///./frontend/images/thank-you.jpg","webpack:///./frontend/images/thank-you-hero.jpg","webpack:///./frontend/images/gift-teaser.jpg","webpack:///./frontend/images/news-teaser.jpg","webpack:///./frontend/images/get-involved-teaser.jpg","webpack:///./frontend/images/opayo-logo.jpg","webpack:///./frontend/images/secured-by-opayo-logo.jpg","webpack:///./frontend/images/dd-logo.jpg","webpack:///./frontend/images/donate-hero-mobile.jpg","webpack:///./frontend/images/donate-any.jpg","webpack:///./frontend/images/monthly5.jpg","webpack:///./frontend/images/monthly8.jpg","webpack:///./frontend/images/monthly10.jpg","webpack:///./frontend/images/monthly15.jpg","webpack:///./frontend/images/single10.jpg","webpack:///./frontend/images/single25.jpg","webpack:///./frontend/images/single50.jpg","webpack:///./frontend/images/single100.jpg","webpack:///./frontend/images/signature.jpg","webpack:///./frontend/images/woman-and-boy-on-a-tablet.jpg","webpack:///./node_modules/@barnardoswebteam/consent-banner/consent-banner.node.js","webpack:///./node_modules/process/browser.js","webpack:///./frontend/helpers/polyfill.js","webpack:///./frontend/init/index.js","webpack:///./frontend/components/DonateBlock/index.js","webpack:///./frontend/components/Footer/index.js","webpack:///./frontend/components/Giftaid/index.js","webpack:///./frontend/components/SelectBoxRelations/index.js","webpack:///./node_modules/@rails/ujs/app/assets/javascripts/rails-ujs.esm.js","webpack:///./frontend/packs/application.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","window","FormValidation","formElement","options","document","createElement","querySelector","querySelectorAll","forEach","step","style","display","getElementById","this","form","ul","displayError","el","liveRegion","message","getComputedStyle","setAttribute","id","textContent","getFollowingSibling","sibling","nextSibling","nodeName","toLowerCase","controls","selector","ii","length","addEventListener","e","blurred","target","parentNode","runValidation","currentStep","showStep","inp","type","messageInvalidEmail","messageInvalidPostcode","fieldName","substring","lastIndexOf","split","join","customError","dataset","customerror","createErrorList","string","addErrorListItem","fieldID","replace","toUpperCase","closest","checkHiddenGiftaidContent","checkRequiredFieldsVisible","donationTypeInvalid","frontendErrorList","invalids","innerHTML","scrollIntoView","behavior","elemInput","nextPrev","invalidPhoneField","preventDefault","invalidElement","nextBtnText","x","getElementsByClassName","stepTracker","body","scrollTop","documentElement","classList","remove","add","fixStepIndicator","y","fixPageStep","errorText","li","a","linkText","createTextNode","appendChild","href","manualAddressButton","event","address","searchAddress","addressLine1","addressLine2","town","postcode","country","onload","cc","clickToAddress","defaultCountry","countryLanguage","accessToken","domMode","getIpLocation","placeholders","texts","default_placeholder","attach","search","line_1","line_2","onResultSelected","c2a","elements","addressErrored","fieldsetErrored","address1Filled","frontendValidationError","gtmCode","privacyURL","cookieURL","process","env","PRIVACY_URL","COOKIE_URL","getCookieValue","result","cookie","match","pop","buildButton","text","button","className","consentBanner","rejectButton","acceptButton","cookieOverlay","closeButton","closeConsentBanner","removeChild","expires","Date","setDate","getDate","loadScripts","w","push","getTime","f","getElementsByTagName","j","dl","async","src","insertBefore","sessionStorage","consentBannerSessionLoad","heading","buttonWrap","firstChild","focusableElements","focusableElementsArray","slice","focus","buildBanner","shiftKey","activeElement","firstFocusableElement","lastFocusableElement","handleBackwardTab","handleForwardTab","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","Error","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","timeout","len","run","marker","runClearTimeout","Item","array","noop","nextTick","args","Array","arguments","apply","title","browser","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","getOwnPropertyDescriptor","NodeList","htmlElement","paymentHiddenSubmitButton","submit","phoneField","phoneFieldError","phoneConsentField","smsConsentField","hideDisplayPhone","checked","item","submitMessage","messageInvalidPassword","messageSummaryMultiple","messageSummarySingle","under_18","giftaidoption","giftaidoptionStandalone","keepInTouch","under18Text","under18Giftaid","DonateBlock","node","_this","_classCallCheck","periods","selectedPeriod","defaultFrequency","getAttribute","defaultAmountGroup","defaultAmount","amounts","amountGroups","userInput","init","initPeriodMatch","periodMatch","togglePeriod","toggleAmount","updateUserInput","updateNudgeText","updateNudgeImage","updateDonateButton","period","amount","frequency","currentPeriod","contains","_this2","amountGroup","_this3","choice","innerText","prefetchElement","prefetchImage","amountButtonInput","hasAttribute","inputAttribute","linkElement","rel","as","head","relList","supports","IntersectionObserver","IntersectionObserverEntry","eventListenersOptions","capture","passive","amountButton","getFullYear","GiftaidBlock","ownMoney","inMemory","fromEvent","fromOrg","fromLegacy","inMemoryOwn","inMemoryCollection","giftaidOption","gitaidCheckbox","inMemoryInputs","inMemoryInputFields","fromEventInputs","fromEventInputFields","fromEventInputSelect","fromOrgInputs","fromOrgInputFields","fromLegacyInputs","fromLegacyInputFields","giftaidSelected","inMemorySelected","inMemoryOwnSelected","inMemoryCollectionSelected","fromEventSelected","fromOrgSelected","fromLegacySelected","hideGiftaid","showGiftaid","uncheckGiftaid","hideInMemoryInputs","showInMemoryInputs","clearInMemoryInputs","hideFromEventInputs","showFromEventInputs","clearFromEventInputs","hideFromOrgInputs","showFromOrgInputs","clearFromOrgInputs","hideFromLegacyInputs","showFromLegacyInputs","clearFromLegacyInputs","input","selectedIndex","donateAmountInput","donateAmount","giftAidAmount","toFixed","selectBoxesRelations","selectBoxRelation","selection","selectionOther","linkClickSelector","buttonClickSelector","exclude","inputChangeSelector","formSubmitSelector","formInputClickSelector","formDisableSelector","formEnableSelector","linkDisableSelector","buttonDisableSelector","nonce","loadCSPNonce","metaTag","content","cspNonce","Element","matches","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","element","EXPANDO","getData","undefined","setData","$","isContentEditable","isEditable","parentElement","csrfToken","meta","csrfParam","CSRFProtection","xhr","token","setRequestHeader","refreshCSRFTokens","param","AcceptHeaders","html","xml","json","script","ajax","prepareOptions","createXHR","response","processResponse","responseText","getResponseHeader","Math","floor","status","success","statusText","error","complete","beforeSend","readyState","XMLHttpRequest","OPENED","send","data","url","location","indexOf","dataType","accept","done","open","crossDomain","withCredentials","onreadystatechange","DONE","JSON","parse","parser","DOMParser","parseFromString","error1","isCrossDomain","originAnchor","urlAnchor","protocol","host","CustomEvent","params","evt","createEvent","initCustomEvent","bubbles","cancelable","detail","Event","defaultPrevented","fire","obj","dispatchEvent","stopEverything","stopPropagation","stopImmediatePropagation","delegate","eventType","handler","toArray","serializeElement","additionalParam","inputs","disabled","option","selected","map","encodeURIComponent","formElements","filter","allowAction","rails","callback","answer","confirm","handleDisabledElement","enableElement","isXhrRedirect","enableLinkElement","enableFormElement","enableFormElements","disableElement","disableLinkElement","disableFormElement","disableFormElements","replacement","originalText","removeEventListener","formSubmitButtonClick","formNoValidate","preventInsignificantClick","method","insignificantMetaClick","metaKey","ctrlKey","Rails","fileInputSelector","handleConfirm","handleMethod","link","csrfToken$1","csrfParam$1","formContent","action","click","handleMethodWithRails","handleRemote","isRemote","enctype","FormData","append","_len","_key","_len2","_key2","_len3","_key3","handleRemoteWithRails","start","_rails_loaded","jQuery","ajaxPrefilter","originalOptions","require"],"mappings":"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","file":"js/application-1f8d19728a56720a28c7.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/packs/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 90);\n","window.FormValidation = function(formElement, options) {\n\n // If the element doesn't exist or the browser isn't good enough, adios.\n if(!formElement || !('querySelector' in document && 'addEventListener' in window && 'localStorage' in window && 'classList' in document.createElement('a'))) {\n return;\n }\n\n /* On submitting form, Rails checks for any errors and reloads form if there are errors. \n * We need to open up all the steps so users are able to see the whole form if frontend validation\n * doesn't pick something up */ \n const railsErrors = document.querySelector('.ErrorSummary');\n if (railsErrors) {\n var formSteps = document.querySelectorAll(\".formSection\");\n formSteps.forEach(step => {\n step.style.display = \"block\"\n });\n document.getElementById(\"nextBtn\").style.display = \"none\";\n document.getElementById(\"prevBtn\").style.display = \"none\";\n document.getElementById(\"Submit\").style.display = \"inline-block\";\n return\n } \n\n this.options = options || {};\n\n var form = formElement;\n\n let ul = document.getElementById(\"errorsList\");\n\n var displayError = function(el, liveRegion, message) {\n // Make the form field accessibly invalid\n if (window.getComputedStyle(el).display === \"none\") {\n return\n } else {\n el.setAttribute('aria-invalid', 'true');\n el.setAttribute('aria-describedby', liveRegion.id);\n }\n\n // Insert the error message\n liveRegion.textContent = message;\n };\n\n function capitalizeFirstLetter(string) {\n return string.replace(/^./, string[0].toUpperCase())\n }\n\n // Get a succeeding sibling\n var getFollowingSibling = function(el, sibling) {\n if(el.nextSibling.nodeName.toLowerCase() === sibling) {\n return el.nextSibling;\n } else {\n return getFollowingSibling(el.nextSibling, sibling);\n }\n };\n\n var controls = form.querySelectorAll(options.selector);\n\n for(var i = 0, ii = controls.length; i < ii; i++) {\n controls[i].addEventListener('blur', function(e) {\n\n // The blurred form control\n var blurred = e.target;\n\n // Get the aria-live region\n var liveRegion = getFollowingSibling(blurred, 'span');\n\n // Use appropriate error messages\n if(blurred.parentNode.querySelector(':invalid')) {\n runValidation(blurred);\n }\n });\n }\n\n /* Page steps here, this bit was picked up from w3schools example */\n\n var currentStep = 0; // Current tab is set to be the first tab (0)\n showStep(currentStep); // Display the current tab\n\n function showStep(n) {\n // This function will display the specified tab of the form...\n let x = document.getElementsByClassName(\"formSection\");\n let stepTracker = document.getElementById(\"stepTracker\");\n\n x[n].style.display = \"block\";\n \n /* Scroll page upto steptracker position for next and previosu steps */\n if (n > 0) {\n stepTracker.scrollIntoView(true, { behavior: \"instant\" });\n } else {\n document.body.scrollTop = 0;\n document.documentElement.scrollTop = 0;\n }\n\n let nextBtnText;\n\n /* if donation type is hidden and only gift aid shown because of specific utm params then update next button text to giftaid */\n let giftAidStepNext = document.querySelector('.js-Giftaid.hideDonationType');\n\n if (giftAidStepNext && n == 0) {\n nextBtnText = \"Next: Gift Aid\"\n } else {\n nextBtnText = \"Next: donation type\"\n }\n\n // Text on next Button\n switch (n) {\n case 0:\n nextBtnText;\n break;\n case 1:\n nextBtnText = \"Next: keep in touch\";\n break;\n default:\n nextBtnText = \"Next\";\n }\n \n if (n == 0) {\n document.getElementById(\"prevBtn\").style.display = \"none\";\n } else {\n document.getElementById(\"prevBtn\").style.display = \"inline\";\n } \n if (n == (x.length - 1)) {\n document.getElementById(\"nextBtn\").style.display = \"none\";\n document.getElementById(\"Submit\").style.display = \"block\";\n } else {\n document.getElementById(\"nextBtn\").style.display = \"inline\";\n document.getElementById(\"nextBtn\").textContent = nextBtnText;\n document.getElementById(\"Submit\").style.display = \"none\";\n } \n //... and run a function that will display the correct step indicator:\n fixStepIndicator(n);\n fixPageStep(n)\n }\n\n /* runValidation function to check for any required fields, run validation and display correct error message */\n var runValidation = function(inp) {\n var liveRegion = getFollowingSibling(inp, 'span');\n \n if(inp.parentNode.querySelector(':invalid')) {\n if(inp.type === 'email' && inp.value) {\n displayError(inp, liveRegion, options.messageInvalidEmail);\n } \n else if(inp.id === 'donation_postcode' && inp.value) {\n displayError(inp, liveRegion, options.messageInvalidPostcode);\n }\n else {\n let fieldName = liveRegion.id;\n fieldName = fieldName.substring(0, fieldName.lastIndexOf('-')).split('-').join(' ');\n let customError = inp.dataset.customerror;\n /* Display customError msg if available on field otherwise get fieldname and display as error msg */\n if (customError && customError.length > 0) {\n displayError(inp, liveRegion, customError + ' field is required'); \n } else {\n displayError(inp, liveRegion, 'The ' + fieldName.split('_').join(' ') + ' field is required'); \n }\n }\n }\n }\n\n /* Create error List messages for front end validation */\n let createErrorList = function(inp) {\n let liveRegion = getFollowingSibling(inp, 'span');\n if(inp.parentNode.querySelector(':invalid')) {\n if(inp.type === 'email' && inp.value) {\n addErrorListItem(options.messageInvalidEmail, inp.id);\n } \n else if(inp.id === 'donation_postcode' && inp.value) {\n addErrorListItem(options.messageInvalidPostcode, inp.id);\n }\n else {\n let fieldID = inp.id;\n let fieldName = liveRegion.id;\n fieldName = fieldName.substring(0, fieldName.lastIndexOf('-')).split('-').join(' ');\n fieldName = capitalizeFirstLetter(fieldName);\n let customError = inp.dataset.customerror;\n let fieldset;\n\n /* Display customError msg if available on field otherwise get fieldname and display as error msg */\n if (inp.type == \"radio\" && inp.closest('.Fieldset')) {\n let fieldsetID = inp.closest('.Fieldset').id;\n addErrorListItem(fieldName + ' is required', fieldsetID);\n } else if (customError && customError.length > 0) {\n addErrorListItem(customError + ' is required', fieldID); \n } else {\n addErrorListItem(fieldName + ' is required', fieldID); \n }\n }\n }\n }\n\n function addErrorListItem(errorText, fieldID) {\n var li = document.createElement(\"li\");\n li.classList.add(\"ErrorSummary-item\");\n var a = document.createElement('a');\n var linkText = document.createTextNode(errorText);\n a.appendChild(linkText);\n a.classList.add(\"ErrorSummary-link\");\n a.href = \"#\" + fieldID;\n li.appendChild(a);\n ul.appendChild(li);\n }\n \n document.getElementById(\"nextBtn\").addEventListener(\"click\", function() { \n // Check if page has giftaid content and add visible classes to related input, to check validation\n let checkHiddenGiftaidContent = form.querySelectorAll('.formSection.active .Giftaid-content');\n let checkRequiredFieldsVisible = form.querySelectorAll('.formSection.active .Giftaid--show [required]:invalid');\n let donationTypeInvalid = form.querySelector('.formSection.active #donation_donation_type [required]:invalid');\n let frontendErrorList = document.querySelector('#FrontendValidation');\n // Clear any existing message - disable this for now until needed\n /** var formAlert = document.querySelector(options.submitMessage);\n formAlert.textContent = ''; */\n\n // Check for invalid form fields\n var invalids = form.querySelectorAll('.formSection.active input:invalid');\n\n if(checkHiddenGiftaidContent.length) {\n if (donationTypeInvalid !== null) {\n ul.innerHTML = \"\";\n runValidation(donationTypeInvalid);\n createErrorList(donationTypeInvalid);\n frontendErrorList.style.display=\"block\";\n frontendErrorList.scrollIntoView(true, { behavior: \"smooth\" });\n\n } else if (checkRequiredFieldsVisible.length > 0) {\n ul.innerHTML = \"\";\n checkRequiredFieldsVisible.forEach(elemInput => {\n runValidation(elemInput);\n createErrorList(elemInput);\n frontendErrorList.style.display=\"block\";\n frontendErrorList.scrollIntoView(true, { behavior: \"smooth\" });\n }); \n } else {\n ul.innerHTML = \"\";\n frontendErrorList.style.display=\"none\";\n nextPrev(1);\n }\n\n } else if (invalids.length) {\n ul.innerHTML = \"\";\n for(var i = 0, ii = controls.length; i < ii; i++) {\n runValidation(controls[i]);\n createErrorList(controls[i]);\n frontendErrorList.style.display=\"block\";\n frontendErrorList.scrollIntoView(true, { behavior: \"smooth\" });\n }\n \n const frontendValidationError = document.querySelector('[aria-describedby=address-line1-error]');\n if (frontendValidationError) {\n document.querySelector(\".AddressLookup\").style=\"display:block\";\n } \n } else {\n ul.innerHTML = \"\";\n frontendErrorList.style.display=\"none\";\n nextPrev(1);\n }\n });\n\n document.getElementById(\"prevBtn\").addEventListener(\"click\", function() { \n ul.innerHTML = \"\";\n document.querySelector('#FrontendValidation').style.display=\"none\";\n nextPrev(-1);\n });\n\n function nextPrev(n) {\n // This function will figure out which tab to display\n var x = document.getElementsByClassName(\"formSection\");\n\n // Hide the current tab:\n x[currentStep].style.display = \"none\";\n // Increase or decrease the current tab by 1:\n currentStep = currentStep + n;\n // if you have reached the end of the form...\n if (currentStep >= x.length) {\n // ... the form gets submitted:\n return;\n }\n // Otherwise, display the correct tab:\n showStep(currentStep);\n } \n\n function fixStepIndicator(n) {\n // This function removes the \"active\" class of all steps...\n var i, x = document.getElementsByClassName(\"step\");\n\n for (i = 0; i < x.length; i++) {\n x[i].classList.remove(\"active\");\n \n if ( i < n) {\n x[i].classList.add(\"completed\");\n }\n }\n //... and adds the \"active\" class on the current step:\n x[n].classList.add(\"active\");\n }\n\n form.addEventListener('submit', function(e) {\n // var invalidPhoneField = form.querySelector('.phoneField input:invalid');\n let invalidPhoneField = form.querySelectorAll('.formSection.active .phoneField--show input:invalid');\n let frontendErrorList = document.querySelector('#FrontendValidation');\n if(invalidPhoneField.length) {\n e.preventDefault();\n ul.innerHTML = \"\";\n invalidPhoneField.forEach(invalidElement => {\n runValidation(invalidElement);\n createErrorList(invalidElement);\n frontendErrorList.style.display=\"block\";\n frontendErrorList.scrollIntoView(true, { behavior: \"smooth\" });\n });\n }\n });\n};\n\nfunction fixPageStep(n) {\n // This function removes the \"active\" class of all steps...\n var i, y = document.getElementsByClassName(\"formSection\");\n\n for (i = 0; i < y.length; i++) {\n y[i].classList.remove(\"active\");\n }\n //... and adds the \"active\" class on the current step:\n y[n].classList.add(\"active\");\n}\n","const manualAddressButton = document.querySelector(\".manualAddress\");\n if (manualAddressButton) {\n manualAddressButton.addEventListener(\"click\", function(event){\n event.preventDefault();\n document.querySelector(\".AddressLookup\").style=\"display:block\";\n });\n}\n\nconst addressLookup = document.querySelector(\".AddressLookup\");\n\nif (addressLookup) {\nlet address = { \n searchAddress : document.querySelector('#address_search'),\n addressLine1 : document.querySelector('#donation_address_line_1'), \n addressLine2 : document.querySelector('#donation_address_line_2'), \n town : document.querySelector('#donation_town'), \n postcode: document.querySelector('#donation_postcode'), \n country : document.querySelector('#donation_mailing_country')\n}; \n\nwindow.onload = function() { \n var config = { defaultCountry: 'gbr', countryLanguage: 'en', accessToken: '6d5b7-08304-5eb5c-0838a', domMode: 'object', getIpLocation: false, placeholders: true,\n texts: {\n default_placeholder: 'Start typing your address',\n }\n }\n\ncc = new clickToAddress(config);\n\ncc.attach({\n search: address.searchAddress, // 'search_field' is the name of the search box element\n line_1: address.addressLine1,\n line_2: address.addressLine2,\n town: address.town,\n postcode: address.postcode,\n country: address.country\n },\n {\n onResultSelected: function(c2a, elements, address) {\n document.querySelector(\".AddressLookup\").style=\"display:block\";\n document.querySelector(\".manualAddress\").style=\"display:none\";\n },\n \n});\n}\n}\n\nconst addressErrored = document.querySelector('.Field--errored');\nconst fieldsetErrored = document.querySelector('.Fieldset--errored');\nconst address1Filled = document.querySelector('#donation_address_line_1');\nconst frontendValidationError = document.querySelector('[aria-describedby=address-line1-error]');\n\nif (addressErrored || fieldsetErrored || frontendValidationError) {\n document.querySelector(\".AddressLookup\").style=\"display:block\";\n}\n\nif (address1Filled && address1Filled.value.length > 0) {\n document.querySelector(\".AddressLookup\").style=\"display:block\";\n}\n","module.exports = __webpack_public_path__ + \"media/components/Giftaid/static/giftaid-94a6f17cdffa6ca020b94b815065b93f.svg\";","module.exports = __webpack_public_path__ + \"media/components/Header/static/logo-narrow-cf053e280865747d6099bb7455d4254b.svg\";","module.exports = __webpack_public_path__ + \"media/components/Header/static/logo-wide-2a02dd09282cb55616ee7900bd2d09f6.svg\";","module.exports = __webpack_public_path__ + \"media/components/Hero/static/tick-87444284f076ed53712ccb44bea57c47.svg\";","module.exports = __webpack_public_path__ + \"media/components/ImpactBlock/static/moneyhandgreen2-804044bd4e670c1332ac6972a8cdd5f1.jpg\";","module.exports = __webpack_public_path__ + \"media/components/ImpactBlock/static/handsgreen2-92bdf73f6fb2b4acdf3cd0f917b246ab.jpg\";","module.exports = __webpack_public_path__ + \"media/components/ImpactBlock/static/huggreen2-9642db241bf8588ede2c884a6e6feffe.jpg\";","module.exports = __webpack_public_path__ + \"media/images/favicon-cf582c49dd1286af8d11da2c763d594e.ico\";","module.exports = __webpack_public_path__ + \"media/images/donate-hero-9f94c3588bc11fa52a59f8ce3bc314fb.jpg\";","module.exports = __webpack_public_path__ + \"media/images/barnardos-stat-c3bbda2bf582b6933718b993959b199f.jpg\";","module.exports = __webpack_public_path__ + \"media/images/Tom-volunteering-in-shop-5db0be2a1f1889a514913c2df55e87ca.jpg\";","module.exports = __webpack_public_path__ + \"media/images/thank-you-2ea4af57da260ddd44f4eaf1c894a64b.jpg\";","module.exports = __webpack_public_path__ + \"media/images/thank-you-hero-6a55310b1d28d4917328d3d23517603d.jpg\";","module.exports = __webpack_public_path__ + \"media/images/gift-teaser-53c7892ed5c0a9b5e231a1b9ffa23b87.jpg\";","module.exports = __webpack_public_path__ + \"media/images/news-teaser-3f7a44bf0d0202ecfb2bae3a5e7a5c07.jpg\";","module.exports = __webpack_public_path__ + \"media/images/get-involved-teaser-b4cbbbf809ea59c5a3c0e28b922303c2.jpg\";","module.exports = __webpack_public_path__ + \"media/images/opayo-logo-9b8fde1adc03ded45d2a887a004c8b9d.jpg\";","module.exports = __webpack_public_path__ + \"media/images/secured-by-opayo-logo-58d9cc352479bd6b8824592f39333925.jpg\";","module.exports = __webpack_public_path__ + \"media/images/dd-logo-0d57dbe35535e08b1b543eb250a7eee5.jpg\";","module.exports = __webpack_public_path__ + \"media/images/donate-hero-mobile-5b8b50ddbe75e2f40c97a32fd42da5a5.jpg\";","module.exports = __webpack_public_path__ + \"media/images/donate-any-8f7173b521173fa5f577a2156db4a093.jpg\";","module.exports = __webpack_public_path__ + \"media/images/monthly5-de1aafc40cd00e2adbba42170789485a.jpg\";","module.exports = __webpack_public_path__ + \"media/images/monthly8-3781dcf0cc043c3bfd57d26d54bbe176.jpg\";","module.exports = __webpack_public_path__ + \"media/images/monthly10-0ef888366c61ed3faef77f0737282840.jpg\";","module.exports = __webpack_public_path__ + \"media/images/monthly15-91f834aab08f48ed06d9a1c06e8fd226.jpg\";","module.exports = __webpack_public_path__ + \"media/images/single10-9654c2eab24d8e05ac6b99d0fa0509b6.jpg\";","module.exports = __webpack_public_path__ + \"media/images/single25-29c7d444b8780db1dd471c0644365635.jpg\";","module.exports = __webpack_public_path__ + \"media/images/single50-953d772f540fd1d502ceb58caea526a1.jpg\";","module.exports = __webpack_public_path__ + \"media/images/single100-e02f97e3937be8202ab6fbe94f437200.jpg\";","module.exports = __webpack_public_path__ + \"media/images/signature-c5a64dfec9f1fea96c1565473eaf9e3e.jpg\";","module.exports = __webpack_public_path__ + \"media/images/woman-and-boy-on-a-tablet-aa4580af63a33cd87af785758617c341.jpg\";","module.exports = () => {\n const gtmCode = process.env.GTM_CODE;\n if (!gtmCode) {\n return;\n }\n let privacyURL;\n let cookieURL;\n if (process.env.PRIVACY_URL) {\n privacyURL = options.privacyURL;\n } else {\n privacyURL = 'https://www.barnardos.org.uk/privacy-notice';\n }\n if (process.env.COOKIE_URL) {\n cookieURL = options.cookieURL;\n } else {\n cookieURL = 'https://www.barnardos.org.uk/cookie-notice';\n }\n const getCookieValue = name => {\n const result = document.cookie.match(`(^|[^;]+)\\\\s*${name}\\\\s*=\\\\s*([^;]+)`);\n return result ? result.pop() : '';\n };\n\n // Build a button\n const buildButton = text => {\n const button = document.createElement('button');\n button.type = 'button';\n button.id = text.toLowerCase();\n button.textContent = text;\n button.className = '_barnardos-consent-banner__button';\n return button;\n };\n\n // Create the two buttons and a placeholder for the banner\n const consentBanner = document.createElement('div');\n const rejectButton = buildButton('Reject');\n const acceptButton = buildButton('Accept');\n const cookieOverlay = document.createElement(\"div\");\n const closeButton = document.createElement(\"button\");\n\n // Build the banner\n const buildBanner = () => {\n cookieOverlay.className = \"_barnardos-cookie-overlay\";\n cookieOverlay.id = \"overlay\";\n consentBanner.className = '_barnardos-consent-banner';\n consentBanner.setAttribute(\"role\", \"dialog\");\n consentBanner.setAttribute(\"aria-modal\", \"true\");\n consentBanner.setAttribute(\"aria-labelledby\", \"dialog-title\");\n consentBanner.setAttribute(\"aria-describedby\", \"dialog-description\");\n consentBanner.setAttribute(\"tabindex\", \"-1\");\n closeButton.id = \"close\";\n closeButton.className = \"_barnardos-cookie-close\";\n closeButton.setAttribute(\"aria-label\", \"Close cookie tracking preference\");\n closeButton.innerHTML = \"✕\";\n const heading = document.createElement(\"h2\");\n heading.textContent = \"Cookie tracking preference\";\n heading.className = \"_barnardos-cookie-heading\";\n heading.id = \"dialog-title\";\n const text = document.createElement('p');\n text.id = \"dialog-description\";\n text.innerHTML = `We use cookies and similar technologies to improve your experience on our site, and for advertising, marketing and analytics purposes. By pressing accept, you agree to us storing those cookies on your device. By pressing reject, you refuse the use of all cookies except those that are essential to the running of our website. See our privacy policy and cookie notice for more details.`;\n const style = document.createElement('style');\n style.textContent = \"._barnardos-cookie-overlay{z-index:3;position:fixed;top:0;left:0;width:100%;height:100%;background-color: rgba(0,0,0,0.7);}._barnardos-consent-banner {background-color:#fff;padding:0.5rem 1rem 1rem;position:fixed;top:10%;right:5%;bottom:10%;left:5%;z-index:4;overflow-y:scroll}@media screen and (min-width:360px) and (min-height:600px){._barnardos-consent-banner {top:50%;left:50%;bottom:30%;width:90%;max-width:36rem;transform:translate(-50%,-50%);bottom:auto}}._barnardos-consent-banner:focus{outline:none}._barnardos-consent-banner h2 {margin-right:2rem}._barnardos-consent-banner p {display:inline-block;margin:0.5rem 0 1.5rem;vertical-align:middle}._barnardos-consent-banner div{display:inline-block;white-space:nowrap}._barnardos-consent-banner button {appearance: none; background-color: #558200; border: 1px solid #558200; border-radius: 0; color: #fff; display: inline-block; font-size: 1.125rem; font-weight: 800; letter-spacing: 0; line-height: 1.5rem; padding: 0.5rem 2rem; text-align: center; user-select: none; vertical-align: middle; white-space: nowrap; margin:0 1em 0 0;}._barnardos-consent-banner button:hover, ._barnardos-consent-banner button:focus { background-color: #192700; border-color: #192700; }._barnardos-consent-banner a {text-decoration:underline}._barnardos-consent-banner ._barnardos-cookie-close{position:absolute;right:0;top:0;margin:0;line-height:1;padding:0.5rem}\";\n consentBanner.appendChild(style);\n consentBanner.appendChild(heading);\n consentBanner.appendChild(text);\n const buttonWrap = document.createElement('div');\n buttonWrap.appendChild(rejectButton);\n buttonWrap.appendChild(acceptButton);\n consentBanner.appendChild(buttonWrap);\n consentBanner.appendChild(closeButton);\n // Put first in the DOM so keyboard and AT users can interact with it quickly\n const firstChild = document.body.firstChild;\n firstChild.parentNode.insertBefore(consentBanner, firstChild);\n consentBanner.parentNode.insertBefore(cookieOverlay, consentBanner);\n // Get the focusable elements and focus the cookie notice\n const focusableElements = consentBanner.querySelectorAll(\"a, button\");\n const focusableElementsArray = [].slice.call(focusableElements);\n const firstFocusableElement = focusableElementsArray[0];\n const lastFocusableElement = focusableElementsArray[focusableElementsArray.length - 1];\n consentBanner.focus();\n };\n\n // Close consent banner\n const closeConsentBanner = () => {\n consentBanner.parentNode.removeChild(consentBanner);\n cookieOverlay.parentNode.removeChild(cookieOverlay);\n const expires = new Date();\n expires.setDate(expires.getDate() + 365);\n document.cookie = `consentBanner=closed; expires=${expires}; domain=.barnardos.org.uk; path=/; SameSite=Strict`;\n };\n\n // Load the scripts and trackers\n // Using the minified code GTM gives us\n const loadScripts = (w, d, s, l, i) => {\n w[l] = w[l] || [];\n w[l].push({\n 'gtm.start': new Date().getTime(),\n event: 'gtm.js'\n });\n const f = d.getElementsByTagName(s)[0];\n const j = d.createElement(s);\n const dl = l != 'dataLayer' ? `&l=${l}` : '';\n j.async = true;\n j.src = `https://www.googletagmanager.com/gtm.js?id=${i}${dl}`;\n f.parentNode.insertBefore(j, f);\n // Add acceptance to cookie so we can load the trackers and scripts with subsequent page views\n const expires = new Date();\n expires.setDate(expires.getDate() + 365);\n document.cookie = `consentAction=accept; expires=${expires}; domain=.barnardos.org.uk; path=/; SameSite=Strict`;\n };\n\n // Create a YYYY-MM date format\n const formatDate = timestamp => {\n const date = new Date(timestamp * 1000);\n const year = date.getFullYear();\n const month = `0${date.getMonth() + 1}`.slice(-2);\n return `${year}-${month}`;\n };\n const handleForwardTab = function (e) {\n if (document.activeElement === lastFocusableElement) {\n e.preventDefault();\n firstFocusableElement.focus();\n }\n };\n const handleBackwardTab = function (e) {\n if (document.activeElement === firstFocusableElement) {\n e.preventDefault();\n lastFocusableElement.focus();\n }\n };\n if (getCookieValue('consentBanner') !== 'closed') {\n // Check if the banner has been loaded and if not send a session load to the counter\n if (sessionStorage.consentBannerSessionLoad !== \"loaded\") {\n sessionStorage.consentBannerSessionLoad = \"loaded\";\n }\n buildBanner();\n }\n\n // If cookies are previously accepted run the function to load the trackers and scripts\n if (getCookieValue('consentAction') === 'accept') {\n loadScripts(window, document, 'script', 'dataLayer', gtmCode); // eslint-disable-line no-undef\n }\n\n // Listeners\n if (rejectButton) {\n rejectButton.addEventListener('click', e => {\n closeConsentBanner();\n });\n }\n if (acceptButton) {\n acceptButton.addEventListener('click', e => {\n closeConsentBanner();\n loadScripts(window, document, 'script', 'dataLayer', gtmCode); // eslint-disable-line no-undef\n });\n }\n if (cookieOverlay) {\n cookieOverlay.addEventListener(\"click\", e => {\n closeConsentBanner();\n });\n }\n if (closeButton) {\n closeButton.addEventListener(\"click\", e => {\n closeConsentBanner();\n });\n }\n if (consentBanner) {\n consentBanner.addEventListener(\"keydown\", e => {\n switch (e.key) {\n case \"Tab\":\n if (e.shiftKey) {\n handleBackwardTab(e);\n } else {\n handleForwardTab(e);\n }\n break;\n case \"Escape\":\n closeConsentBanner();\n break;\n default:\n break;\n }\n });\n }\n};","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n})();\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n var len = queue.length;\n while (len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\nfunction noop() {}\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\nprocess.listeners = function (name) {\n return [];\n};\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\nprocess.cwd = function () {\n return '/';\n};\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function () {\n return 0;\n};","export const enableIEpolyfills = () => {\n if (!Object.getOwnPropertyDescriptor(NodeList.prototype, \"forEach\")) {\n Object.defineProperty(\n NodeList.prototype,\n \"forEach\",\n Object.getOwnPropertyDescriptor(Array.prototype, \"forEach\")\n );\n }\n};\n","import \"./index.css\";\n\nimport { enableIEpolyfills } from \"../helpers/polyfill\";\n\nenableIEpolyfills();\n\ndocument.addEventListener(\"DOMContentLoaded\", (event) => {\n\n /* START JS for removing payment holding page (page in between donate form and payment) */\n let htmlElement = document.documentElement;\n\thtmlElement.classList.add('JS');\n\thtmlElement.classList.remove('no-JS');\n\n /** There is a page after filling single donate form, which we want to hide from users so that it goes\n * straight to opayo/elavon payment page rather than user having to press submit again, so below will submit on domLoad\n * as long as js is on client side otherwise this page will show with js off and user will have to press submit to pay\" */\n const paymentHiddenSubmitButton = document.querySelector(\".selectSubmit\");\n if (paymentHiddenSubmitButton) {\n paymentHiddenSubmitButton.submit();\n }\n /* END JS for removing payment holding page (page in between donate form and payment) */\n\n\n});\n\nwindow.addEventListener(\"load\", (event) => {\n /* START JS for showing phone field only when phone or sms consent checkboxes are selected */\n const phoneField = document.querySelector(\".phoneField\");\n const phoneFieldError = document.querySelector('[for=\"donation_phone_number\"] + .Error');\n const phoneConsentField = document.querySelector(\"#donation_phone_consent\");\n const smsConsentField = document.querySelector(\"#donation_sms_consent\");\n const phoneArray = [phoneConsentField, smsConsentField]\n\n phoneArray.forEach((item) => {\n if (item) {\n item.addEventListener(\"change\", (event) => {\n hideDisplayPhone();\n });\n }\n });\n\n //Run this function incase form errors\n hideDisplayPhone();\n\n /* hide phone number field unless phone or sms consent selected */\n function hideDisplayPhone() {\n if (phoneConsentField || smsConsentField) {\n if (phoneConsentField.checked || smsConsentField.checked ) {\n phoneField.style=\"display:flex\";\n phoneField.classList.remove(\"phoneField--hide\");\n phoneField.classList.add(\"phoneField--show\");\n if (phoneFieldError) {\n phoneFieldError.style=\"display:block\";\n }\n } else {\n phoneField.style=\"display:none\";\n phoneField.classList.remove(\"phoneField--show\");\n phoneField.classList.add(\"phoneField--hide\");\n if (phoneFieldError) {\n phoneFieldError.style=\"display:none\";\n }\n }\n } else {\n return\n }\n }\n /* END JS for showing phone field only when phone or sms consent checkboxes are selected */\n\n if (document.querySelector('.donationForm')) {\n FormValidation(document.querySelector('.donationForm'), {\n selector: '.formSection.active .form__control',\n submitMessage: '.js-form-alert',\n messageInvalidEmail: 'That looks like an invalid email address',\n messageInvalidPostcode: 'That looks like an invalid postcode',\n messageInvalidPassword: 'That looks like an invalid email address',\n messageSummaryMultiple: 'Some form fields need correcting, please review the form.',\n messageSummarySingle: 'A form field needs correcting, please review the form.'\n }) \n } else {\n return;\n }\n\n\n let under_18 = document.querySelector('#donation_under_18');\n let giftaidoption = document.getElementById('js-Giftaid-main');\n let giftaidoptionStandalone = document.getElementById('Giftaid-contentStandalone')\n let keepInTouch = document.getElementById('keepInTouch');\n let under18Text = document.getElementById(\"under18Text\");\n let under18Giftaid = document.getElementById(\"under18Giftaid\");\n \n\n under_18.addEventListener(\"change\", () => {\n if (under_18.checked){\n if (giftaidoption){\n giftaidoption.style=\"display:none\";\n }\n if (giftaidoptionStandalone){\n giftaidoptionStandalone.style=\"display:none\";\n under18Giftaid.style=\"display:block\";\n }\n keepInTouch.style=\"display:none\";\n under18Text.style=\"display:block\";\n\n } else {\n if (giftaidoption){\n giftaidoption.style=\"display:block\";\n }\n if (giftaidoptionStandalone){\n giftaidoptionStandalone.style=\"display:block\";\n under18Giftaid.style=\"display:none\";\n }\n keepInTouch.style=\"display:block\";\n under18Text.style=\"display:none\";\n }\n });\n});\n\n","import \"./index.css\";\n\nclass DonateBlock {\n constructor(node) {\n this.node = node;\n\n this.periods = node.querySelectorAll(\".js-donate-block__period--input\");\n this.selectedPeriod = node.querySelector(\n \".js-donate-block__period--input:checked\"\n );\n\n this.defaultFrequency = node.getAttribute(\"data-default-frequency\");\n this.defaultAmountGroup = node.querySelector(\n `.js-donate-block__amounts[data-amount-collection=\"${this.defaultFrequency}\"]`\n );\n this.defaultAmount = node.querySelector(\n `.donate-block__amounts--${this.defaultFrequency} input:checked`\n )\n ? node.querySelector(\n `.donate-block__amounts--${this.defaultFrequency} input:checked`\n )\n : node.querySelector(\".js-donate-block__currency-input-field\");\n\n this.amounts = node.querySelectorAll(\".js-donate-block__choice--input\");\n this.amountGroups = node.querySelectorAll(\".js-donate-block__amounts\");\n this.userInput = node.querySelector(\n \".js-donate-block__currency-input-field\"\n );\n\n this.init = this.init.bind(this);\n this.initPeriodMatch = this.initPeriodMatch.bind(this);\n this.periodMatch = this.periodMatch.bind(this);\n this.togglePeriod = this.togglePeriod.bind(this);\n this.toggleAmount = this.toggleAmount.bind(this);\n this.updateUserInput = this.updateUserInput.bind(this);\n this.updateNudgeText = this.updateNudgeText.bind(this);\n this.updateNudgeImage = this.updateNudgeImage.bind(this);\n this.updateDonateButton = this.updateDonateButton.bind(this);\n\n this.init(\n this.defaultAmount,\n this.defaultFrequency,\n this.defaultAmountGroup,\n this.selectedPeriod\n );\n\n this.periods.forEach(period => {\n period.addEventListener(\"click\", this.togglePeriod);\n });\n\n this.amounts.forEach(amount => {\n amount.addEventListener(\"click\", this.toggleAmount);\n });\n\n this.userInput.addEventListener(\"input\", this.updateUserInput);\n }\n\n init(amount, frequency, defaultAmountGroup, currentPeriod) {\n if (amount.classList.contains(\"js-donate-block__currency-input-field\")) {\n amount.setAttribute(\"data-donation-type\", frequency);\n }\n\n if (\n this.defaultAmountGroup.getAttribute(\"data-amount-collection\") !==\n currentPeriod.value\n ) {\n this.initPeriodMatch(currentPeriod);\n } else {\n this.updateNudgeText(amount);\n this.updateDonateButton(amount);\n }\n }\n\n togglePeriod(e) {\n this.amountGroups.forEach(amountGroup => {\n this.periodMatch(amountGroup, e.target);\n });\n }\n\n initPeriodMatch(currentPeriod) {\n this.amountGroups.forEach(amountGroup => {\n this.periodMatch(amountGroup, currentPeriod);\n });\n }\n\n periodMatch(period, currentPeriod) {\n if (period.getAttribute(\"data-amount-collection\") === currentPeriod.value) {\n period.classList.add(\"donate-block__amounts--visible\");\n this.userInput.setAttribute(\"data-donation-type\", currentPeriod.value);\n this.updateNudgeText(\n period.querySelector(\".js-donate-block__choice--input:checked\")\n ? period.querySelector(\".js-donate-block__choice--input:checked\")\n : this.userInput\n );\n this.updateNudgeImage(\n period.querySelector(\".js-donate-block__choice--input:checked\")\n ? period.querySelector(\".js-donate-block__choice--input:checked\")\n : this.userInput\n );\n this.updateDonateButton(\n period.querySelector(\".js-donate-block__choice--input:checked\")\n ? period.querySelector(\".js-donate-block__choice--input:checked\")\n : this.userInput\n );\n } else {\n period.classList.remove(\"donate-block__amounts--visible\");\n }\n }\n\n toggleAmount(e) {\n this.updateNudgeText(e.target);\n this.updateNudgeImage(e.target);\n this.updateDonateButton(e.target);\n this.userInput.value = \"\";\n }\n\n updateUserInput(e) {\n this.updateNudgeText(e.target);\n this.updateNudgeImage(e.target);\n this.updateDonateButton(e.target);\n this.amountGroups.forEach(amountGroup => {\n if (\n amountGroup.querySelector(\".js-donate-block__choice--input:checked\") !==\n null\n ) {\n // eslint-disable-next-line no-param-reassign\n amountGroup.querySelector(\n \".js-donate-block__choice--input:checked\"\n ).checked = false;\n }\n });\n }\n\n updateNudgeText(choice) {\n this.node.querySelector(\n \".js-donate-block__nudgeText\"\n ).innerText = choice.getAttribute(\"data-nudge-text\");\n }\n\n updateNudgeImage(choice) {\n this.node.querySelector(\n \".js-donate-block__nudgeImage\"\n ).src = choice.getAttribute(\"data-nudge-image\");\n }\n\n updateDonateButton(choice) {\n this.node.querySelector(\".js-donate-block__submit span\").innerText = `£${\n choice.value\n } ${choice.getAttribute(\"data-donation-type\")}`;\n }\n}\n\ndocument.querySelectorAll(\".js-donate-block\").forEach(node => {\n new DonateBlock(node);\n});\n\n/* Add prefetch link element in head when user hovers or touches the donate amount buttons\nto help load images faster. */\n\nconst prefetchElement = document.createElement(\"link\");\nconst isSupported =\n prefetchElement.relList &&\n prefetchElement.relList.supports &&\n prefetchElement.relList.supports(\"prefetch\") &&\n window.IntersectionObserver &&\n \"isIntersecting\" in IntersectionObserverEntry.prototype;\n\nfunction prefetchImage() {\n const amountButtonLabel = this.closest(\"label\");\n const amountButtonInput = amountButtonLabel.querySelector(\n \".js-donate-block__choice--input\"\n );\n\n if (amountButtonInput && !amountButtonInput.hasAttribute(\"imagePrefetched\")) {\n const inputAttribute = amountButtonInput.getAttribute(\"data-nudge-image\");\n const linkElement = document.createElement(\"link\");\n linkElement.rel = \"prefetch\";\n linkElement.href = inputAttribute;\n linkElement.as = \"image\";\n document.head.appendChild(linkElement);\n amountButtonInput.setAttribute(\"imagePrefetched\", \"\");\n }\n}\n\nif (isSupported) {\n const eventListenersOptions = {\n capture: true,\n passive: true\n };\n\n const amountButtons = document.querySelectorAll(\".Trigger\");\n amountButtons.forEach(amountButton => {\n amountButton.addEventListener(\n \"mouseover\",\n prefetchImage,\n eventListenersOptions\n );\n amountButton.addEventListener(\n \"touchstart\",\n prefetchImage,\n eventListenersOptions\n );\n });\n}\n","import \"./index.css\";\n\ndocument.querySelector(\n \".Footer-copyright\"\n).innerHTML += ` ${new Date().getFullYear()}`;\n","import \"./index.css\";\nimport \"./static/giftaid.svg\";\n\nclass GiftaidBlock {\n constructor(node) {\n this.node = node;\n\n this.ownMoney = node.querySelector(\".js-donating_own_money\");\n this.inMemory = node.querySelector(\".js-donating_in_memory\");\n this.fromEvent = node.querySelector(\".js-donating_from_event\");\n this.fromOrg = node.querySelector(\".js-donating_for_organisation\");\n this.fromLegacy = node.querySelector(\".js-donating_for_legacy\");\n this.inMemoryOwn = node.querySelector(\".js-donating_in_memory_own_money\");\n this.inMemoryCollection = node.querySelector(\n \".js-donating_in_memory_collection\"\n );\n\n this.giftaidOption = node.querySelector(\".js-Giftaid-option\");\n this.gitaidCheckbox = node.querySelector(\".js-Giftaid-option input\");\n this.inMemoryInputs = node.querySelector(\".js-Giftaid-in-memory\");\n this.inMemoryInputFields = node.querySelectorAll(\n \".js-Giftaid-in-memory input\"\n );\n this.fromEventInputs = node.querySelector(\".js-Giftaid-event\");\n this.fromEventInputFields = node.querySelector(\n \".js-Giftaid-event textarea\"\n );\n this.fromEventInputSelect = node.querySelector(\".js-Giftaid-event select\");\n this.fromOrgInputs = node.querySelector(\".js-Giftaid-organisation\");\n this.fromOrgInputFields = node.querySelectorAll(\n \".js-Giftaid-organisation input\"\n );\n this.fromLegacyInputs = node.querySelector(\".js-Giftaid-legacy\");\n this.fromLegacyInputFields = node.querySelectorAll(\n \".js-Giftaid-legacy input\"\n );\n\n this.init = this.init.bind(this);\n\n this.giftaidSelected = this.giftaidSelected.bind(this);\n this.inMemorySelected = this.inMemorySelected.bind(this);\n this.inMemoryOwnSelected = this.inMemoryOwnSelected.bind(this);\n this.inMemoryCollectionSelected =\n this.inMemoryCollectionSelected.bind(this);\n this.fromEventSelected = this.fromEventSelected.bind(this);\n this.fromOrgSelected = this.fromOrgSelected.bind(this);\n this.fromLegacySelected = this.fromLegacySelected.bind(this);\n\n this.hideGiftaid = this.hideGiftaid.bind(this);\n this.showGiftaid = this.showGiftaid.bind(this);\n this.uncheckGiftaid = this.uncheckGiftaid.bind(this);\n\n this.hideInMemoryInputs = this.hideInMemoryInputs.bind(this);\n this.showInMemoryInputs = this.showInMemoryInputs.bind(this);\n this.clearInMemoryInputs = this.clearInMemoryInputs.bind(this);\n\n this.hideFromEventInputs = this.hideFromEventInputs.bind(this);\n this.showFromEventInputs = this.showFromEventInputs.bind(this);\n this.clearFromEventInputs = this.clearFromEventInputs.bind(this);\n\n this.hideFromOrgInputs = this.hideFromOrgInputs.bind(this);\n this.showFromOrgInputs = this.showFromOrgInputs.bind(this);\n this.clearFromOrgInputs = this.clearFromOrgInputs.bind(this);\n\n this.hideFromLegacyInputs = this.hideFromLegacyInputs.bind(this);\n this.showFromLegacyInputs = this.showFromLegacyInputs.bind(this);\n this.clearFromLegacyInputs = this.clearFromLegacyInputs.bind(this);\n\n this.init(\n this.ownMoney,\n this.inMemory,\n this.inMemoryOwn,\n this.inMemoryCollection,\n this.fromEvent,\n this.fromOrg,\n this.fromLegacy\n );\n this.ownMoney.addEventListener(\"change\", this.giftaidSelected);\n this.inMemory.addEventListener(\"change\", this.inMemorySelected);\n if (this.inMemoryOwn) {\n this.inMemoryOwn.addEventListener(\"change\", this.inMemoryOwnSelected);\n }\n if (this.inMemoryCollection) {\n this.inMemoryCollection.addEventListener(\n \"change\",\n this.inMemoryCollectionSelected\n );\n }\n if (this.fromEvent) {\n this.fromEvent.addEventListener(\"change\", this.fromEventSelected);\n }\n if (this.fromOrg) {\n this.fromOrg.addEventListener(\"change\", this.fromOrgSelected);\n }\n if (this.fromLegacy) {\n this.fromLegacy.addEventListener(\"change\", this.fromLegacySelected);\n }\n }\n\n init(\n ownMoney,\n inMemory,\n inMemoryOwn,\n inMemoryCollection,\n fromEvent,\n fromOrg,\n fromLegacy\n ) {\n if (ownMoney.checked === true) {\n this.giftaidSelected();\n } else if (inMemory.checked === true) {\n this.inMemorySelected();\n } else if (fromEvent && fromEvent.checked === true) {\n this.fromEventSelected();\n } else if (fromOrg && fromOrg.checked === true) {\n this.fromOrgSelected();\n } else if (fromLegacy && fromLegacy.checked === true) {\n this.fromLegacySelected();\n }\n if (inMemoryOwn && inMemoryOwn.checked === true) {\n this.inMemoryOwnSelected();\n }\n if (inMemoryCollection && inMemoryCollection.checked === true) {\n this.inMemoryCollectionSelected();\n }\n }\n\n giftaidSelected() {\n this.showGiftaid();\n this.hideInMemoryInputs();\n this.hideFromEventInputs();\n this.hideFromOrgInputs();\n this.hideFromLegacyInputs();\n this.clearInMemoryInputs();\n this.clearFromEventInputs();\n this.clearFromOrgInputs();\n this.clearFromLegacyInputs();\n }\n\n inMemorySelected() {\n this.showInMemoryInputs();\n this.showGiftaid();\n this.hideFromEventInputs();\n this.hideFromOrgInputs();\n this.hideFromLegacyInputs();\n this.clearFromEventInputs();\n this.clearFromOrgInputs();\n this.clearFromLegacyInputs();\n }\n\n inMemoryOwnSelected() {\n this.showGiftaid();\n }\n\n inMemoryCollectionSelected() {\n this.hideGiftaid();\n }\n\n fromEventSelected() {\n this.showFromEventInputs();\n this.hideGiftaid();\n this.hideInMemoryInputs();\n this.hideFromOrgInputs();\n this.hideFromLegacyInputs();\n this.clearInMemoryInputs();\n this.clearFromOrgInputs();\n this.clearFromLegacyInputs();\n this.uncheckGiftaid();\n }\n\n fromOrgSelected() {\n this.showFromOrgInputs();\n this.hideGiftaid();\n this.hideInMemoryInputs();\n this.hideFromEventInputs();\n this.hideFromLegacyInputs();\n this.clearInMemoryInputs();\n this.clearFromEventInputs();\n this.clearFromLegacyInputs();\n this.uncheckGiftaid();\n }\n\n fromLegacySelected() {\n this.showFromLegacyInputs();\n this.hideGiftaid();\n this.hideInMemoryInputs();\n this.hideFromEventInputs();\n this.hideFromOrgInputs();\n this.clearInMemoryInputs();\n this.clearFromEventInputs();\n this.clearFromOrgInputs();\n this.uncheckGiftaid();\n }\n\n hideGiftaid() {\n this.giftaidOption.classList.remove(\"Giftaid--show\");\n this.giftaidOption.classList.add(\"Giftaid--hide\");\n }\n\n showGiftaid() {\n this.giftaidOption.classList.remove(\"Giftaid--hide\");\n this.giftaidOption.classList.add(\"Giftaid--show\");\n }\n\n uncheckGiftaid() {\n this.gitaidCheckbox.checked = false;\n }\n\n hideInMemoryInputs() {\n this.inMemoryInputs.classList.remove(\"Giftaid--show\");\n this.inMemoryInputs.classList.add(\"Giftaid--hide\");\n }\n\n showInMemoryInputs() {\n this.inMemoryInputs.classList.remove(\"Giftaid--hide\");\n this.inMemoryInputs.classList.add(\"Giftaid--show\");\n }\n\n clearInMemoryInputs() {\n this.inMemoryInputFields.forEach((input) => {\n input.value = \"\";\n input.checked = false;\n });\n }\n\n hideFromEventInputs() {\n this.fromEventInputs.classList.remove(\"Giftaid--show\");\n this.fromEventInputs.classList.add(\"Giftaid--hide\");\n }\n\n showFromEventInputs() {\n this.fromEventInputs.classList.remove(\"Giftaid--hide\");\n this.fromEventInputs.classList.add(\"Giftaid--show\");\n }\n\n clearFromEventInputs() {\n this.fromEventInputFields.value = \"\";\n this.fromEventInputSelect.selectedIndex = 0;\n }\n\n hideFromOrgInputs() {\n this.fromOrgInputs.classList.remove(\"Giftaid--show\");\n this.fromOrgInputs.classList.add(\"Giftaid--hide\");\n }\n\n showFromOrgInputs() {\n this.fromOrgInputs.classList.remove(\"Giftaid--hide\");\n this.fromOrgInputs.classList.add(\"Giftaid--show\");\n }\n\n clearFromOrgInputs() {\n this.fromOrgInputFields.forEach((input) => {\n input.value = \"\";\n input.checked = false;\n });\n }\n\n hideFromLegacyInputs() {\n if (this.fromLegacy) {\n this.fromLegacyInputs.classList.remove(\"Giftaid--show\");\n this.fromLegacyInputs.classList.add(\"Giftaid--hide\");\n }\n }\n\n showFromLegacyInputs() {\n this.fromLegacyInputs.classList.remove(\"Giftaid--hide\");\n this.fromLegacyInputs.classList.add(\"Giftaid--show\");\n }\n\n clearFromLegacyInputs() {\n this.fromLegacyInputFields.forEach((input) => {\n input.value = \"\";\n });\n }\n}\n\nlet hideDonationType = document.querySelector('.hideDonationType');\nif (!hideDonationType) {\n document.querySelectorAll(\".js-Giftaid\").forEach((node) => {\n new GiftaidBlock(node);\n });\n}\n\nconst donateAmountInput = document.querySelector(\".CurrencyInput-input\");\nconst donateAmount = document.querySelector(\".js-donation-amount\");\nconst giftAidAmount = document.querySelector(\".js-giftaid-amount\");\n\nfunction updateGiftaidContent(e) {\n donateAmount.textContent = `£${(e.target.value * 1).toFixed(2)}`;\n giftAidAmount.textContent = `£${(e.target.value * 0.25).toFixed(2)}`;\n}\n\nif (donateAmountInput) {\n donateAmountInput.addEventListener(\"input\", updateGiftaidContent);\n}\n","import \"./index.css\";\n\nconst selectBoxesRelations = document.querySelectorAll(\".SelectBoxRelations\");\n\nif (selectBoxesRelations) {\n selectBoxesRelations.forEach((selectBoxRelation) => {\n const selection = selectBoxRelation.querySelector(\".Select\");\n const selectionOther = selectBoxRelation.querySelector(\n \".Giftaid-relation--other\"\n );\n\n selection.addEventListener(\"change\", function () {\n if (this.value === \"Other\") {\n selectionOther.classList.remove(\"Giftaid--hide\");\n } else {\n selectionOther.classList.add(\"Giftaid--hide\");\n }\n });\n });\n}\n","/*\nUnobtrusive JavaScript\nhttps://github.com/rails/rails/blob/main/actionview/app/javascript\nReleased under the MIT license\n */\nconst linkClickSelector = \"a[data-confirm], a[data-method], a[data-remote]:not([disabled]), a[data-disable-with], a[data-disable]\";\nconst buttonClickSelector = {\n selector: \"button[data-remote]:not([form]), button[data-confirm]:not([form])\",\n exclude: \"form button\"\n};\nconst inputChangeSelector = \"select[data-remote], input[data-remote], textarea[data-remote]\";\nconst formSubmitSelector = \"form:not([data-turbo=true])\";\nconst formInputClickSelector = \"form:not([data-turbo=true]) input[type=submit], form:not([data-turbo=true]) input[type=image], form:not([data-turbo=true]) button[type=submit], form:not([data-turbo=true]) button:not([type]), input[type=submit][form], input[type=image][form], button[type=submit][form], button[form]:not([type])\";\nconst formDisableSelector = \"input[data-disable-with]:enabled, button[data-disable-with]:enabled, textarea[data-disable-with]:enabled, input[data-disable]:enabled, button[data-disable]:enabled, textarea[data-disable]:enabled\";\nconst formEnableSelector = \"input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled, input[data-disable]:disabled, button[data-disable]:disabled, textarea[data-disable]:disabled\";\nconst fileInputSelector = \"input[name][type=file]:not([disabled])\";\nconst linkDisableSelector = \"a[data-disable-with], a[data-disable]\";\nconst buttonDisableSelector = \"button[data-remote][data-disable-with], button[data-remote][data-disable]\";\nlet nonce = null;\nconst loadCSPNonce = () => {\n const metaTag = document.querySelector(\"meta[name=csp-nonce]\");\n return nonce = metaTag && metaTag.content;\n};\nconst cspNonce = () => nonce || loadCSPNonce();\nconst m = Element.prototype.matches || Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector;\nconst matches = function (element, selector) {\n if (selector.exclude) {\n return m.call(element, selector.selector) && !m.call(element, selector.exclude);\n } else {\n return m.call(element, selector);\n }\n};\nconst EXPANDO = \"_ujsData\";\nconst getData = (element, key) => element[EXPANDO] ? element[EXPANDO][key] : undefined;\nconst setData = function (element, key, value) {\n if (!element[EXPANDO]) {\n element[EXPANDO] = {};\n }\n return element[EXPANDO][key] = value;\n};\nconst $ = selector => Array.prototype.slice.call(document.querySelectorAll(selector));\nconst isContentEditable = function (element) {\n var isEditable = false;\n do {\n if (element.isContentEditable) {\n isEditable = true;\n break;\n }\n element = element.parentElement;\n } while (element);\n return isEditable;\n};\nconst csrfToken = () => {\n const meta = document.querySelector(\"meta[name=csrf-token]\");\n return meta && meta.content;\n};\nconst csrfParam = () => {\n const meta = document.querySelector(\"meta[name=csrf-param]\");\n return meta && meta.content;\n};\nconst CSRFProtection = xhr => {\n const token = csrfToken();\n if (token) {\n return xhr.setRequestHeader(\"X-CSRF-Token\", token);\n }\n};\nconst refreshCSRFTokens = () => {\n const token = csrfToken();\n const param = csrfParam();\n if (token && param) {\n return $('form input[name=\"' + param + '\"]').forEach(input => input.value = token);\n }\n};\nconst AcceptHeaders = {\n \"*\": \"*/*\",\n text: \"text/plain\",\n html: \"text/html\",\n xml: \"application/xml, text/xml\",\n json: \"application/json, text/javascript\",\n script: \"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"\n};\nconst ajax = options => {\n options = prepareOptions(options);\n var xhr = createXHR(options, function () {\n const response = processResponse(xhr.response != null ? xhr.response : xhr.responseText, xhr.getResponseHeader(\"Content-Type\"));\n if (Math.floor(xhr.status / 100) === 2) {\n if (typeof options.success === \"function\") {\n options.success(response, xhr.statusText, xhr);\n }\n } else {\n if (typeof options.error === \"function\") {\n options.error(response, xhr.statusText, xhr);\n }\n }\n return typeof options.complete === \"function\" ? options.complete(xhr, xhr.statusText) : undefined;\n });\n if (options.beforeSend && !options.beforeSend(xhr, options)) {\n return false;\n }\n if (xhr.readyState === XMLHttpRequest.OPENED) {\n return xhr.send(options.data);\n }\n};\nvar prepareOptions = function (options) {\n options.url = options.url || location.href;\n options.type = options.type.toUpperCase();\n if (options.type === \"GET\" && options.data) {\n if (options.url.indexOf(\"?\") < 0) {\n options.url += \"?\" + options.data;\n } else {\n options.url += \"&\" + options.data;\n }\n }\n if (!(options.dataType in AcceptHeaders)) {\n options.dataType = \"*\";\n }\n options.accept = AcceptHeaders[options.dataType];\n if (options.dataType !== \"*\") {\n options.accept += \", */*; q=0.01\";\n }\n return options;\n};\nvar createXHR = function (options, done) {\n const xhr = new XMLHttpRequest();\n xhr.open(options.type, options.url, true);\n xhr.setRequestHeader(\"Accept\", options.accept);\n if (typeof options.data === \"string\") {\n xhr.setRequestHeader(\"Content-Type\", \"application/x-www-form-urlencoded; charset=UTF-8\");\n }\n if (!options.crossDomain) {\n xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n CSRFProtection(xhr);\n }\n xhr.withCredentials = !!options.withCredentials;\n xhr.onreadystatechange = function () {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n return done(xhr);\n }\n };\n return xhr;\n};\nvar processResponse = function (response, type) {\n if (typeof response === \"string\" && typeof type === \"string\") {\n if (type.match(/\\bjson\\b/)) {\n try {\n response = JSON.parse(response);\n } catch (error) {}\n } else if (type.match(/\\b(?:java|ecma)script\\b/)) {\n const script = document.createElement(\"script\");\n script.setAttribute(\"nonce\", cspNonce());\n script.text = response;\n document.head.appendChild(script).parentNode.removeChild(script);\n } else if (type.match(/\\b(xml|html|svg)\\b/)) {\n const parser = new DOMParser();\n type = type.replace(/;.+/, \"\");\n try {\n response = parser.parseFromString(response, type);\n } catch (error1) {}\n }\n }\n return response;\n};\nconst href = element => element.href;\nconst isCrossDomain = function (url) {\n const originAnchor = document.createElement(\"a\");\n originAnchor.href = location.href;\n const urlAnchor = document.createElement(\"a\");\n try {\n urlAnchor.href = url;\n return !((!urlAnchor.protocol || urlAnchor.protocol === \":\") && !urlAnchor.host || originAnchor.protocol + \"//\" + originAnchor.host === urlAnchor.protocol + \"//\" + urlAnchor.host);\n } catch (e) {\n return true;\n }\n};\nlet preventDefault;\nlet _window = window,\n CustomEvent = _window.CustomEvent;\nif (typeof CustomEvent !== \"function\") {\n CustomEvent = function (event, params) {\n const evt = document.createEvent(\"CustomEvent\");\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n };\n CustomEvent.prototype = window.Event.prototype;\n preventDefault = CustomEvent.prototype.preventDefault;\n CustomEvent.prototype.preventDefault = function () {\n const result = preventDefault.call(this);\n if (this.cancelable && !this.defaultPrevented) {\n Object.defineProperty(this, \"defaultPrevented\", {\n get() {\n return true;\n }\n });\n }\n return result;\n };\n}\nconst fire = (obj, name, data) => {\n const event = new CustomEvent(name, {\n bubbles: true,\n cancelable: true,\n detail: data\n });\n obj.dispatchEvent(event);\n return !event.defaultPrevented;\n};\nconst stopEverything = e => {\n fire(e.target, \"ujs:everythingStopped\");\n e.preventDefault();\n e.stopPropagation();\n e.stopImmediatePropagation();\n};\nconst delegate = (element, selector, eventType, handler) => element.addEventListener(eventType, function (e) {\n let target = e.target;\n while (!!(target instanceof Element) && !matches(target, selector)) {\n target = target.parentNode;\n }\n if (target instanceof Element && handler.call(target, e) === false) {\n e.preventDefault();\n e.stopPropagation();\n }\n});\nconst toArray = e => Array.prototype.slice.call(e);\nconst serializeElement = (element, additionalParam) => {\n let inputs = [element];\n if (matches(element, \"form\")) {\n inputs = toArray(element.elements);\n }\n const params = [];\n inputs.forEach(function (input) {\n if (!input.name || input.disabled) {\n return;\n }\n if (matches(input, \"fieldset[disabled] *\")) {\n return;\n }\n if (matches(input, \"select\")) {\n toArray(input.options).forEach(function (option) {\n if (option.selected) {\n params.push({\n name: input.name,\n value: option.value\n });\n }\n });\n } else if (input.checked || [\"radio\", \"checkbox\", \"submit\"].indexOf(input.type) === -1) {\n params.push({\n name: input.name,\n value: input.value\n });\n }\n });\n if (additionalParam) {\n params.push(additionalParam);\n }\n return params.map(function (param) {\n if (param.name) {\n return `${encodeURIComponent(param.name)}=${encodeURIComponent(param.value)}`;\n } else {\n return param;\n }\n }).join(\"&\");\n};\nconst formElements = (form, selector) => {\n if (matches(form, \"form\")) {\n return toArray(form.elements).filter(el => matches(el, selector));\n } else {\n return toArray(form.querySelectorAll(selector));\n }\n};\nconst handleConfirmWithRails = rails => function (e) {\n if (!allowAction(this, rails)) {\n stopEverything(e);\n }\n};\nconst confirm = (message, element) => window.confirm(message);\nvar allowAction = function (element, rails) {\n let callback;\n const message = element.getAttribute(\"data-confirm\");\n if (!message) {\n return true;\n }\n let answer = false;\n if (fire(element, \"confirm\")) {\n try {\n answer = rails.confirm(message, element);\n } catch (error) {}\n callback = fire(element, \"confirm:complete\", [answer]);\n }\n return answer && callback;\n};\nconst handleDisabledElement = function (e) {\n const element = this;\n if (element.disabled) {\n stopEverything(e);\n }\n};\nconst enableElement = e => {\n let element;\n if (e instanceof Event) {\n if (isXhrRedirect(e)) {\n return;\n }\n element = e.target;\n } else {\n element = e;\n }\n if (isContentEditable(element)) {\n return;\n }\n if (matches(element, linkDisableSelector)) {\n return enableLinkElement(element);\n } else if (matches(element, buttonDisableSelector) || matches(element, formEnableSelector)) {\n return enableFormElement(element);\n } else if (matches(element, formSubmitSelector)) {\n return enableFormElements(element);\n }\n};\nconst disableElement = e => {\n const element = e instanceof Event ? e.target : e;\n if (isContentEditable(element)) {\n return;\n }\n if (matches(element, linkDisableSelector)) {\n return disableLinkElement(element);\n } else if (matches(element, buttonDisableSelector) || matches(element, formDisableSelector)) {\n return disableFormElement(element);\n } else if (matches(element, formSubmitSelector)) {\n return disableFormElements(element);\n }\n};\nvar disableLinkElement = function (element) {\n if (getData(element, \"ujs:disabled\")) {\n return;\n }\n const replacement = element.getAttribute(\"data-disable-with\");\n if (replacement != null) {\n setData(element, \"ujs:enable-with\", element.innerHTML);\n element.innerHTML = replacement;\n }\n element.addEventListener(\"click\", stopEverything);\n return setData(element, \"ujs:disabled\", true);\n};\nvar enableLinkElement = function (element) {\n const originalText = getData(element, \"ujs:enable-with\");\n if (originalText != null) {\n element.innerHTML = originalText;\n setData(element, \"ujs:enable-with\", null);\n }\n element.removeEventListener(\"click\", stopEverything);\n return setData(element, \"ujs:disabled\", null);\n};\nvar disableFormElements = form => formElements(form, formDisableSelector).forEach(disableFormElement);\nvar disableFormElement = function (element) {\n if (getData(element, \"ujs:disabled\")) {\n return;\n }\n const replacement = element.getAttribute(\"data-disable-with\");\n if (replacement != null) {\n if (matches(element, \"button\")) {\n setData(element, \"ujs:enable-with\", element.innerHTML);\n element.innerHTML = replacement;\n } else {\n setData(element, \"ujs:enable-with\", element.value);\n element.value = replacement;\n }\n }\n element.disabled = true;\n return setData(element, \"ujs:disabled\", true);\n};\nvar enableFormElements = form => formElements(form, formEnableSelector).forEach(element => enableFormElement(element));\nvar enableFormElement = function (element) {\n const originalText = getData(element, \"ujs:enable-with\");\n if (originalText != null) {\n if (matches(element, \"button\")) {\n element.innerHTML = originalText;\n } else {\n element.value = originalText;\n }\n setData(element, \"ujs:enable-with\", null);\n }\n element.disabled = false;\n return setData(element, \"ujs:disabled\", null);\n};\nvar isXhrRedirect = function (event) {\n const xhr = event.detail ? event.detail[0] : undefined;\n return xhr && xhr.getResponseHeader(\"X-Xhr-Redirect\");\n};\nconst handleMethodWithRails = rails => function (e) {\n const link = this;\n const method = link.getAttribute(\"data-method\");\n if (!method) {\n return;\n }\n if (isContentEditable(this)) {\n return;\n }\n const href = rails.href(link);\n const csrfToken$1 = csrfToken();\n const csrfParam$1 = csrfParam();\n const form = document.createElement(\"form\");\n let formContent = ``;\n if (csrfParam$1 && csrfToken$1 && !isCrossDomain(href)) {\n formContent += ``;\n }\n formContent += '';\n form.method = \"post\";\n form.action = href;\n form.target = link.target;\n form.innerHTML = formContent;\n form.style.display = \"none\";\n document.body.appendChild(form);\n form.querySelector('[type=\"submit\"]').click();\n stopEverything(e);\n};\nconst isRemote = function (element) {\n const value = element.getAttribute(\"data-remote\");\n return value != null && value !== \"false\";\n};\nconst handleRemoteWithRails = rails => function (e) {\n let data, method, url;\n const element = this;\n if (!isRemote(element)) {\n return true;\n }\n if (!fire(element, \"ajax:before\")) {\n fire(element, \"ajax:stopped\");\n return false;\n }\n if (isContentEditable(element)) {\n fire(element, \"ajax:stopped\");\n return false;\n }\n const withCredentials = element.getAttribute(\"data-with-credentials\");\n const dataType = element.getAttribute(\"data-type\") || \"script\";\n if (matches(element, formSubmitSelector)) {\n const button = getData(element, \"ujs:submit-button\");\n method = getData(element, \"ujs:submit-button-formmethod\") || element.getAttribute(\"method\") || \"get\";\n url = getData(element, \"ujs:submit-button-formaction\") || element.getAttribute(\"action\") || location.href;\n if (method.toUpperCase() === \"GET\") {\n url = url.replace(/\\?.*$/, \"\");\n }\n if (element.enctype === \"multipart/form-data\") {\n data = new FormData(element);\n if (button != null) {\n data.append(button.name, button.value);\n }\n } else {\n data = serializeElement(element, button);\n }\n setData(element, \"ujs:submit-button\", null);\n setData(element, \"ujs:submit-button-formmethod\", null);\n setData(element, \"ujs:submit-button-formaction\", null);\n } else if (matches(element, buttonClickSelector) || matches(element, inputChangeSelector)) {\n method = element.getAttribute(\"data-method\");\n url = element.getAttribute(\"data-url\");\n data = serializeElement(element, element.getAttribute(\"data-params\"));\n } else {\n method = element.getAttribute(\"data-method\");\n url = rails.href(element);\n data = element.getAttribute(\"data-params\");\n }\n ajax({\n type: method || \"GET\",\n url: url,\n data: data,\n dataType: dataType,\n beforeSend(xhr, options) {\n if (fire(element, \"ajax:beforeSend\", [xhr, options])) {\n return fire(element, \"ajax:send\", [xhr]);\n } else {\n fire(element, \"ajax:stopped\");\n return false;\n }\n },\n success() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return fire(element, \"ajax:success\", args);\n },\n error() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return fire(element, \"ajax:error\", args);\n },\n complete() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return fire(element, \"ajax:complete\", args);\n },\n crossDomain: isCrossDomain(url),\n withCredentials: withCredentials != null && withCredentials !== \"false\"\n });\n stopEverything(e);\n};\nconst formSubmitButtonClick = function (e) {\n const button = this;\n const form = button.form;\n if (!form) {\n return;\n }\n if (button.name) {\n setData(form, \"ujs:submit-button\", {\n name: button.name,\n value: button.value\n });\n }\n setData(form, \"ujs:formnovalidate-button\", button.formNoValidate);\n setData(form, \"ujs:submit-button-formaction\", button.getAttribute(\"formaction\"));\n return setData(form, \"ujs:submit-button-formmethod\", button.getAttribute(\"formmethod\"));\n};\nconst preventInsignificantClick = function (e) {\n const link = this;\n const method = (link.getAttribute(\"data-method\") || \"GET\").toUpperCase();\n const data = link.getAttribute(\"data-params\");\n const metaClick = e.metaKey || e.ctrlKey;\n const insignificantMetaClick = metaClick && method === \"GET\" && !data;\n const nonPrimaryMouseClick = e.button != null && e.button !== 0;\n if (nonPrimaryMouseClick || insignificantMetaClick) {\n e.stopImmediatePropagation();\n }\n};\nconst Rails = {\n $: $,\n ajax: ajax,\n buttonClickSelector: buttonClickSelector,\n buttonDisableSelector: buttonDisableSelector,\n confirm: confirm,\n cspNonce: cspNonce,\n csrfToken: csrfToken,\n csrfParam: csrfParam,\n CSRFProtection: CSRFProtection,\n delegate: delegate,\n disableElement: disableElement,\n enableElement: enableElement,\n fileInputSelector: fileInputSelector,\n fire: fire,\n formElements: formElements,\n formEnableSelector: formEnableSelector,\n formDisableSelector: formDisableSelector,\n formInputClickSelector: formInputClickSelector,\n formSubmitButtonClick: formSubmitButtonClick,\n formSubmitSelector: formSubmitSelector,\n getData: getData,\n handleDisabledElement: handleDisabledElement,\n href: href,\n inputChangeSelector: inputChangeSelector,\n isCrossDomain: isCrossDomain,\n linkClickSelector: linkClickSelector,\n linkDisableSelector: linkDisableSelector,\n loadCSPNonce: loadCSPNonce,\n matches: matches,\n preventInsignificantClick: preventInsignificantClick,\n refreshCSRFTokens: refreshCSRFTokens,\n serializeElement: serializeElement,\n setData: setData,\n stopEverything: stopEverything\n};\nconst handleConfirm = handleConfirmWithRails(Rails);\nRails.handleConfirm = handleConfirm;\nconst handleMethod = handleMethodWithRails(Rails);\nRails.handleMethod = handleMethod;\nconst handleRemote = handleRemoteWithRails(Rails);\nRails.handleRemote = handleRemote;\nconst start = function () {\n if (window._rails_loaded) {\n throw new Error(\"rails-ujs has already been loaded!\");\n }\n window.addEventListener(\"pageshow\", function () {\n $(formEnableSelector).forEach(function (el) {\n if (getData(el, \"ujs:disabled\")) {\n enableElement(el);\n }\n });\n $(linkDisableSelector).forEach(function (el) {\n if (getData(el, \"ujs:disabled\")) {\n enableElement(el);\n }\n });\n });\n delegate(document, linkDisableSelector, \"ajax:complete\", enableElement);\n delegate(document, linkDisableSelector, \"ajax:stopped\", enableElement);\n delegate(document, buttonDisableSelector, \"ajax:complete\", enableElement);\n delegate(document, buttonDisableSelector, \"ajax:stopped\", enableElement);\n delegate(document, linkClickSelector, \"click\", preventInsignificantClick);\n delegate(document, linkClickSelector, \"click\", handleDisabledElement);\n delegate(document, linkClickSelector, \"click\", handleConfirm);\n delegate(document, linkClickSelector, \"click\", disableElement);\n delegate(document, linkClickSelector, \"click\", handleRemote);\n delegate(document, linkClickSelector, \"click\", handleMethod);\n delegate(document, buttonClickSelector, \"click\", preventInsignificantClick);\n delegate(document, buttonClickSelector, \"click\", handleDisabledElement);\n delegate(document, buttonClickSelector, \"click\", handleConfirm);\n delegate(document, buttonClickSelector, \"click\", disableElement);\n delegate(document, buttonClickSelector, \"click\", handleRemote);\n delegate(document, inputChangeSelector, \"change\", handleDisabledElement);\n delegate(document, inputChangeSelector, \"change\", handleConfirm);\n delegate(document, inputChangeSelector, \"change\", handleRemote);\n delegate(document, formSubmitSelector, \"submit\", handleDisabledElement);\n delegate(document, formSubmitSelector, \"submit\", handleConfirm);\n delegate(document, formSubmitSelector, \"submit\", handleRemote);\n delegate(document, formSubmitSelector, \"submit\", e => setTimeout(() => disableElement(e), 13));\n delegate(document, formSubmitSelector, \"ajax:send\", disableElement);\n delegate(document, formSubmitSelector, \"ajax:complete\", enableElement);\n delegate(document, formInputClickSelector, \"click\", preventInsignificantClick);\n delegate(document, formInputClickSelector, \"click\", handleDisabledElement);\n delegate(document, formInputClickSelector, \"click\", handleConfirm);\n delegate(document, formInputClickSelector, \"click\", formSubmitButtonClick);\n document.addEventListener(\"DOMContentLoaded\", refreshCSRFTokens);\n document.addEventListener(\"DOMContentLoaded\", loadCSPNonce);\n return window._rails_loaded = true;\n};\nRails.start = start;\nif (typeof jQuery !== \"undefined\" && jQuery && jQuery.ajax) {\n if (jQuery.rails) {\n throw new Error(\"If you load both jquery_ujs and rails-ujs, use rails-ujs only.\");\n }\n jQuery.rails = Rails;\n jQuery.ajaxPrefilter(function (options, originalOptions, xhr) {\n if (!options.crossDomain) {\n return CSRFProtection(xhr);\n }\n });\n}\nexport { Rails as default };","// This file is automatically compiled by Webpack, along with any other files\n// present in this directory. You're encouraged to place your actual application logic in\n// a relevant structure within app/javascript and only use these pack files to reference\n// that code so it'll be compiled.\n\n// Uncomment to copy all static images under ../images to the output folder and reference\n// them with the image_pack_tag helper in views (e.g <%= image_pack_tag 'rails.png' %>)\n// or the `imagePath` JavaScript helper below.\n//\n// const images = require.context('../images', true)\n// const imagePath = (name) => images(name, true)\n\nimport \"components/multipstepFormAndValidation.js\"\nimport \"init\";\n\n// components\nimport \"components/AddressLookup\";\nimport \"components/BulletedList\";\nimport \"components/CalloutBlock\";\nimport \"components/CalloutBlocks\";\nimport \"components/Checkbox\";\nimport \"components/Checkboxes\";\nimport \"components/Confirmation\";\nimport \"components/CurrencyInput\";\nimport \"components/Details\";\nimport \"components/DonateBlock\";\nimport \"components/Error\";\nimport \"components/ErrorSummary\";\nimport \"components/Field\";\nimport \"components/Fieldset\";\nimport \"components/Form\";\nimport \"components/Footer\";\nimport \"components/Giftaid\";\nimport \"components/GiftaidRegular\";\nimport \"components/Header\";\nimport \"components/Heading\";\nimport \"components/Hero\";\nimport \"components/HeroImage\";\nimport \"components/HeroImageSplit\";\nimport \"components/Hint\";\nimport \"components/Image\";\nimport \"components/ImageAndTextSection\";\nimport \"components/ImpactBlock\";\nimport \"components/Label\";\nimport \"components/Layout\";\nimport \"components/Lede\";\nimport \"components/Link\";\nimport \"components/Main\";\nimport \"components/NextPrevButtons\";\nimport \"components/Paragraph\";\nimport \"components/Section\";\nimport \"components/SectionCenter\";\nimport \"components/SectionFlex\";\nimport \"components/Sections\";\nimport \"components/SelectBox\";\nimport \"components/SelectBoxRelations\";\nimport \"components/SkipLink\";\nimport \"components/SplitSection\";\nimport \"components/StepTrackerForm\";\nimport \"components/StepTrackerThanksPage\";\nimport \"components/Submit\";\nimport \"components/Switch\";\nimport \"components/Switches\";\nimport \"components/Table\";\nimport \"components/Teaser\";\nimport \"components/Teasers\";\nimport \"components/TextArea\";\nimport \"components/TextInput\";\nimport \"components/Title\";\nimport \"components/Trigger\";\nimport \"components/Video\";\n\n// images\nimport \"../images/favicon.ico\";\nimport \"../images/donate-hero.jpg\";\nimport \"../images/barnardos-stat.jpg\";\nimport \"../images/Tom-volunteering-in-shop.jpg\";\nimport \"../images/thank-you.jpg\";\nimport \"../images/thank-you-hero.jpg\";\nimport \"../images/gift-teaser.jpg\";\nimport \"../images/news-teaser.jpg\";\nimport \"../images/get-involved-teaser.jpg\";\nimport \"../images/opayo-logo.jpg\";\nimport \"../images/secured-by-opayo-logo.jpg\";\nimport \"../images/dd-logo.jpg\";\nimport \"../images/donate-hero-mobile.jpg\";\nimport \"../images/donate-any.jpg\";\nimport \"../images/monthly5.jpg\";\nimport \"../images/monthly8.jpg\";\nimport \"../images/monthly10.jpg\";\nimport \"../images/monthly15.jpg\";\nimport \"../images/single10.jpg\";\nimport \"../images/single25.jpg\";\nimport \"../images/single50.jpg\";\nimport \"../images/single100.jpg\";\nimport \"../images/signature.jpg\";\nimport \"../images/woman-and-boy-on-a-tablet.jpg\";\n\n\nconst consentBanner = require('@barnardoswebteam/consent-banner');\nconsentBanner();\n\nimport Rails from \"@rails/ujs\";\nif (Rails.fire(document, \"rails:attachBindings\")) {\n Rails.start();\n}"],"sourceRoot":""}