{"version":3,"sources":["node_modules/form-serialize/index.js","src/js/modules/newsletter.js"],"names":["k_r_submitter","k_r_success_contrls","brackets","hash_serializer","result","key","value","match","hash_assign","keys","length","shift","between","Array","isArray","push","_values","string","index","isNaN","children","RegExp","exec","parse_keys","existing","str_serialize","replace","encodeURIComponent","module","exports","form","options","hash","undefined","serializer","elements","radio_store","Object","create","i","element","disabled","name","test","nodeName","type","val","checked","empty","selectOptions","isSelectedOptions","j","option","allowedEmpty","hasValue","selected","slice","NewsletterForm","constructor","this","parent","closest","addEventListener","e","submit","console","warn","class","preventDefault","classList","remove","data","serialize","lang","window","stageLanguage","document","documentElement","getAttribute","xhr","method","uri","body","json","headers","err","resp","success","statusCode","new_subscriber_id","add","token","updateToken","loadToken"],"mappings":"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","file":"hashed/4.6a055b63.chunk.js","sourcesContent":["// get successful control from form and assemble into object\n// http://www.w3.org/TR/html401/interact/forms.html#h-17.13.2\n\n// types which indicate a submit action and are not successful controls\n// these will be ignored\nvar k_r_submitter = /^(?:submit|button|image|reset|file)$/i;\n\n// node names which could be successful controls\nvar k_r_success_contrls = /^(?:input|select|textarea|keygen)/i;\n\n// Matches bracket notation.\nvar brackets = /(\\[[^\\[\\]]*\\])/g;\n\n// serializes form fields\n// @param form MUST be an HTMLForm element\n// @param options is an optional argument to configure the serialization. Default output\n// with no options specified is a url encoded string\n// - hash: [true | false] Configure the output type. If true, the output will\n// be a js object.\n// - serializer: [function] Optional serializer function to override the default one.\n// The function takes 3 arguments (result, key, value) and should return new result\n// hash and url encoded str serializers are provided with this module\n// - disabled: [true | false]. If true serialize disabled fields.\n// - empty: [true | false]. If true serialize empty fields\nfunction serialize(form, options) {\n if (typeof options != 'object') {\n options = { hash: !!options };\n }\n else if (options.hash === undefined) {\n options.hash = true;\n }\n\n var result = (options.hash) ? {} : '';\n var serializer = options.serializer || ((options.hash) ? hash_serializer : str_serialize);\n\n var elements = form && form.elements ? form.elements : [];\n\n //Object store each radio and set if it's empty or not\n var radio_store = Object.create(null);\n\n for (var i=0 ; i {\n this.submit(e);\n });\n }\n\n submit(e) {\n e.preventDefault();\n\n this.parent.classList.remove('form-success', 'form-error')\n\n const data = serialize(this.form, { hash: true });\n const lang = window.stageLanguage || document.documentElement.getAttribute('lang');\n\n xhr({\n method: 'POST',\n uri: '/stage-ajax/addSubscriber/?stage-language=' + lang,\n body: data,\n json: true,\n headers: {\n 'Content-Type': 'application/json'\n }\n }, (err, resp, body) => {\n let success = false;\n if (resp.statusCode === 200 && body.new_subscriber_id) {\n success = true;\n }\n\n if (success) {\n this.parent.classList.add('form-success');\n } else {\n this.parent.classList.add('form-error');\n }\n\n // Update tokens for all forms\n if (body.token) {\n updateToken(body.token);\n } else {\n loadToken();\n }\n });\n }\n\n}\n\nexport { NewsletterForm };\n"],"sourceRoot":""}