{"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,gBAAgB,CACpD,GAAI,EAAM,CACN,IAAM,EAAe,EAAK,cAAc,wBAAwB,CAChE,EAAK,iBAAiB,aAAgB,CAClC,GAAc,aAAa,WAAY,WAAW,EACpD,CAGN,IAAK,IAAM,KAAc,SAAS,iBAAiB,qBAAqB,EACpE,EAAE,CACa,IAAI,EAAO,EAAW,CAEzC,IAAM,EAAU,SAAS,cAAc,qBAAqB,CACtD,EAAU,SAAS,iBACrB,iDACH,CACK,EAAiB,SAAS,cAAc,uBAAuB,CAC/D,EAAwB,SAAS,cAAc,sBAAsB,CACrE,EAAU,SAAS,cAAc,cAAc,CAC/C,EAAgB,SAAS,cAAc,kBAAkB,CACzD,EAAkB,SAAS,cAAc,oBAAoB,CAC7D,EAAY,SAAS,iBAAiB,eAAe,CAErD,GAAgB,EAAQ,IAAc,CACxC,EAAO,QAAQ,GAAS,CACpB,IAAM,EAAc,EAAM,aAAa,eAAe,CAChD,EACF,GAAe,EAAY,SAAS,EAAU,CAElD,EAAM,gBAAgB,SAAU,CAAC,EAAc,EACjD,EAIN,IAAK,IAAM,KAAY,GAAa,EAAE,CAClC,EAAS,MAAQ,EAAS,QAAQ,SAAS,MAAM,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,CAG3E,IAAK,IAAM,KAAU,GAAW,EAAE,CAC9B,EAAO,iBAAiB,aAAgB,CACpC,GAAI,EAAO,UAAU,SAAS,WAAW,CACrC,OAGJ,IAAM,EAAU,MAAM,KAAK,EAAQ,CAAC,KAChC,GAAY,EAAS,QACxB,CAED,EAAQ,gBAAgB,SAAU,CAAC,EAAQ,EAC7C,CAGF,GAAyB,IACzB,EAAsB,OAAS,GAE3B,EAAe,UACf,EAAsB,OAAS,IAGnC,EAAe,iBAAiB,SAAU,GAAK,CACvC,EAAE,OAAO,QACT,EAAsB,OAAS,GAE/B,EAAsB,OAAS,IAErC,EAGN,GAAe,iBAAiB,SAAU,GAAS,CAC/C,IAAM,EAAQ,EAAM,cAAc,MAC5B,EAAS,SAAS,iBAAiB,iBAAiB,CAErD,IAIL,EAAa,EAAQ,EAAM,CAEtB,EAAQ,SAIT,IAAU,QAAU,GACpB,EAAQ,GAAG,cAAc,IAAI,MAAM,SAAS,CAAC,CAC7C,EAAQ,aAAa,SAAU,GAAG,EAElC,EAAQ,gBAAgB,SAAS,IAEvC,CAEE,GACA,EAAc,cAAc,IAAI,MAAM,SAAS,CAAC,CAGpD,GAAiB,iBAAiB,SAAU,GAAS,CACjD,IAAM,EAAQ,EAAM,cAAc,MACP,SAAS,cAAc,gBAAgB,CAE/C,gBAAgB,SAAU,IAAU,QAAQ,EACjE,EACJ"}