{"version":3,"file":"form.js","names":[],"sources":["../resources/javascript/form.js"],"sourcesContent":["import { Loqate } from './form/loqate';\n\ndocument.addEventListener('DOMContentLoaded', () => {\n    const form = document.querySelector('.contact-form');\n    if (form) {\n        const submitButton = form.querySelector('button[type=\"submit\"]');\n        form.addEventListener('submit', () => {\n            submitButton?.setAttribute('disabled', 'disabled');\n        });\n    }\n\n    for (const loqateForm of document.querySelectorAll('.js-address_fields') ??\n        []) {\n        const loqate = new Loqate(loqateForm);\n    }\n    const address = document.querySelector('#js-address_fields');\n    const optouts = document.querySelectorAll(\n        '#contact_optout_post, #contact_optout_partners'\n    );\n    const brochureOptout = document.querySelector('#contact_optout_post');\n    const brochureOptOutMessage = document.querySelector('.brochure-messaging');\n    const message = document.querySelector('#js-message');\n    const enquirySelect = document.querySelector('#contact_reason');\n    const awarenessSelect = document.querySelector('#awareness-select');\n    const antispams = document.querySelectorAll('.js-antispam');\n\n    const toggleFields = (fields, condition) => {\n        fields.forEach(field => {\n            const dataContact = field.getAttribute('data-contact');\n            const showAttribute =\n                dataContact && dataContact.includes(condition);\n\n            field.toggleAttribute('hidden', !showAttribute);\n        });\n    };\n\n    // Populate the antispam on the all forms.\n    for (const antispam of antispams ?? []) {\n        antispam.value = antispam.dataset.antispam.split('').reverse().join('');\n    }\n\n    for (const optout of optouts ?? []) {\n        optout.addEventListener('change', () => {\n            if (optout.classList.contains('disabled')) {\n                return;\n            }\n\n            const checked = Array.from(optouts).some(\n                checkbox => checkbox.checked\n            );\n\n            address.toggleAttribute('hidden', !checked);\n        });\n    }\n\n    if (brochureOptOutMessage && brochureOptout) {\n        brochureOptOutMessage.hidden = true;\n\n        if (brochureOptout.checked) {\n            brochureOptOutMessage.hidden = false;\n        }\n\n        brochureOptout.addEventListener('change', e => {\n            if (e.target.checked) {\n                brochureOptOutMessage.hidden = false;\n            } else {\n                brochureOptOutMessage.hidden = true;\n            }\n        });\n    }\n\n    enquirySelect?.addEventListener('change', event => {\n        const value = event.currentTarget.value;\n        const fields = document.querySelectorAll('[data-contact]');\n\n        if (!value) {\n            return;\n        }\n\n        toggleFields(fields, value);\n\n        if (!optouts.length) {\n            return;\n        }\n\n        if (value === 'stop' && message) {\n            optouts[0].dispatchEvent(new Event('change'));\n            message.setAttribute('hidden', '');\n        } else {\n            message.removeAttribute('hidden');\n        }\n    });\n\n    if (enquirySelect) {\n        enquirySelect.dispatchEvent(new Event('change'));\n    }\n\n    awarenessSelect?.addEventListener('change', event => {\n        const value = event.currentTarget.value;\n        const otherReasonElement = document.querySelector('[data-expand]');\n\n        otherReasonElement.toggleAttribute('hidden', value !== 'Other');\n    });\n});\n"],"mappings":"+CAEA,SAAS,iBAAiB,uBAA0B,CAChD,IAAM,EAAO,SAAS,cAAc,eAAe,EACnD,GAAI,EAAM,CACN,IAAM,EAAe,EAAK,cAAc,uBAAuB,EAC/D,EAAK,iBAAiB,aAAgB,CAClC,GAAc,aAAa,WAAY,UAAU,CACrD,CAAC,CACL,CAEA,IAAK,IAAM,KAAA,EAAc,SAAS,iBAAiB,oBAAoB,IACnE,CAAA,EAAC,CAAA,IAAA,EACc,IAAI,EAAO,CAAU,CAAA,CAExC,IAAM,EAAU,SAAS,cAAc,oBAAoB,EACrD,EAAU,SAAS,iBACrB,gDACJ,EACM,EAAiB,SAAS,cAAc,sBAAsB,EAC9D,EAAwB,SAAS,cAAc,qBAAqB,EACpE,EAAU,SAAS,cAAc,aAAa,EAC9C,EAAgB,SAAS,cAAc,iBAAiB,EACxD,EAAkB,SAAS,cAAc,mBAAmB,EAC5D,EAAY,SAAS,iBAAiB,cAAc,EAEpD,GAAgB,EAAQ,IAAc,CACxC,EAAO,QAAQ,GAAS,CACpB,IAAM,EAAc,EAAM,aAAa,cAAc,EAC/C,EACF,GAAe,EAAY,SAAS,CAAS,EAEjD,EAAM,gBAAgB,SAAU,CAAC,CAAa,CAClD,CAAC,CACL,EAGA,IAAK,IAAM,KAAY,GAAa,CAAA,EAChC,EAAS,MAAQ,EAAS,QAAQ,SAAS,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAG1E,IAAK,IAAM,KAAU,GAAW,CAAA,EAC5B,EAAO,iBAAiB,aAAgB,CACpC,GAAI,EAAO,UAAU,SAAS,UAAU,EACpC,OAGJ,IAAM,EAAU,MAAM,KAAK,CAAO,CAAC,CAAC,KAChC,GAAY,EAAS,OACzB,EAEA,EAAQ,gBAAgB,SAAU,CAAC,CAAO,CAC9C,CAAC,EAGD,GAAyB,IACzB,EAAsB,OAAS,GAE3B,EAAe,UACf,EAAsB,OAAS,IAGnC,EAAe,iBAAiB,SAAU,GAAK,CACvC,EAAE,OAAO,QACT,EAAsB,OAAS,GAE/B,EAAsB,OAAS,EAEvC,CAAC,GAGL,GAAe,iBAAiB,SAAU,GAAS,CAC/C,IAAM,EAAQ,EAAM,cAAc,MAC5B,EAAS,SAAS,iBAAiB,gBAAgB,EAEpD,IAIL,EAAa,EAAQ,CAAK,EAErB,EAAQ,SAIT,IAAU,QAAU,GACpB,EAAQ,EAAE,CAAC,cAAc,IAAI,MAAM,QAAQ,CAAC,EAC5C,EAAQ,aAAa,SAAU,EAAE,GAEjC,EAAQ,gBAAgB,QAAQ,GAExC,CAAC,EAEG,GACA,EAAc,cAAc,IAAI,MAAM,QAAQ,CAAC,EAGnD,GAAiB,iBAAiB,SAAU,GAAS,CACjD,IAAM,EAAQ,EAAM,cAAc,MAGlC,SAFoC,cAAc,eAEjC,CAAC,CAAC,gBAAgB,SAAU,IAAU,OAAO,CAClE,CAAC,CACL,CAAC"}