{"version":3,"sources":["webpack:///./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///./resources/js/src/app/components/newsletter/NewsletterInput.vue","webpack:///./resources/js/src/app/components/newsletter/NewsletterInput.vue?6745","webpack:///resources/js/src/app/components/newsletter/NewsletterInput.vue","webpack:///./resources/js/src/app/components/newsletter/NewsletterInput.vue?f1b2"],"names":["normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","options","_compiled","functional","_scopeId","context","this","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","call","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","concat","exports","_vm","_c","_self","ref","attrs","id","_uid","method","on","submit","$event","preventDefault","validateData","apply","arguments","staticClass","directives","name","rawName","value","email","expression","type","autocomplete","placeholder","multiLanguage","NewsletterPlaceHolder","domProps","focus","loadRecaptcha","input","target","composing","_v","_s","$translate","newsletterPopop","success","NewsletterSubscribe","replace","cachedEmail","_e","disabled","isDisabled","click","showPrivacyPolicyCheckbox","privacyPolicyValue","checked","Array","isArray","_i","change","$$a","$$el","$$c","$$i","slice","for","innerHTML","privacyPolicyText","$ceres","config","global","googleRecaptchaApiKey","_withStripped","props","Boolean","default","emailFolder","Number","Object","data","honeypot","computed","link","App","urls","privacyPolicy","hyphen","policy","methods","_this","ValidationService","validate","$","done","save","fail","invalidFields","markInvalidFields","filter","field","dataset","map","innerText","forEach","NotificationService","error","closeAfter","_this2","recaptchaEl","$el","querySelector","window","grecaptcha","executeReCaptcha","then","recaptchaToken","ApiService","post","recaptcha","containsHoneypot","warn","$props","resetInputs","always","resetRecaptcha","googleRecaptchaVersion","recaptchaId","reset","component"],"mappings":"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","file":"chunks/ceres-client-31.min.js","sourcesContent":["/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n  scriptExports,\n  render,\n  staticRenderFns,\n  functionalTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */,\n  shadowMode /* vue-cli only */\n) {\n  // Vue.extend constructor export interop\n  var options =\n    typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n  // render functions\n  if (render) {\n    options.render = render\n    options.staticRenderFns = staticRenderFns\n    options._compiled = true\n  }\n\n  // functional template\n  if (functionalTemplate) {\n    options.functional = true\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = 'data-v-' + scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) {\n    // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = shadowMode\n      ? function () {\n          injectStyles.call(\n            this,\n            (options.functional ? this.parent : this).$root.$options.shadowRoot\n          )\n        }\n      : injectStyles\n  }\n\n  if (hook) {\n    if (options.functional) {\n      // for template-only hot-reload because in that case the render fn doesn't\n      // go through the normalizer\n      options._injectStyles = hook\n      // register for functional component in vue file\n      var originalRender = options.render\n      options.render = function renderWithStyleInjection(h, context) {\n        hook.call(context)\n        return originalRender(h, context)\n      }\n    } else {\n      // inject component registration as beforeCreate hook\n      var existing = options.beforeCreate\n      options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n    }\n  }\n\n  return {\n    exports: scriptExports,\n    options: options\n  }\n}\n","var render = function render() {\n  var _vm = this,\n    _c = _vm._self._c\n  return _c(\n    \"form\",\n    {\n      ref: \"newsletterForm\",\n      attrs: {\n        id:\n          \"newsletter-input-form_\" + _vm.newsletterPopop && \"popop_\" + _vm._uid,\n        method: \"post\",\n      },\n      on: {\n        submit: function ($event) {\n          $event.preventDefault()\n          return _vm.validateData.apply(null, arguments)\n        },\n      },\n    },\n    [\n      _c(\"div\", { staticClass: \"form-group\" }, [\n        _c(\n          \"div\",\n          { staticClass: \"form-input\", attrs: { \"data-validate\": \"mail\" } },\n          [\n            _c(\"input\", {\n              directives: [\n                {\n                  name: \"model\",\n                  rawName: \"v-model\",\n                  value: _vm.email,\n                  expression: \"email\",\n                },\n              ],\n              attrs: {\n                type: \"email\",\n                autocomplete: \"email\",\n                placeholder: _vm.multiLanguage.NewsletterPlaceHolder,\n                id:\n                  \"email-input-id_\" + _vm.newsletterPopop &&\n                  \"popop_\" + _vm._uid,\n                \"data-testing\": \"mail\",\n              },\n              domProps: { value: _vm.email },\n              on: {\n                focus: function ($event) {\n                  _vm.loadRecaptcha = true\n                },\n                input: function ($event) {\n                  if ($event.target.composing) return\n                  _vm.email = $event.target.value\n                },\n              },\n            }),\n            _vm._v(\" \"),\n            _c(\"div\", { staticClass: \"d-none error-feedback my-1\" }, [\n              _vm._v(\n                \"\\n        \" +\n                  _vm._s(\n                    _vm.$translate(\"Ceres::Template.contactEnterConfirmEmail\")\n                  ) +\n                  \"\\n      \"\n              ),\n            ]),\n            _vm._v(\" \"),\n            _vm.newsletterPopop && _vm.success\n              ? _c(\"div\", { staticClass: \"d-none success-feedback my-2\" }, [\n                  _vm._v(\n                    \"\\n        \" +\n                      _vm._s(\n                        _vm.multiLanguage.NewsletterSubscribe.replace(\n                          \"{email}\",\n                          _vm.cachedEmail\n                        )\n                      ) +\n                      \"\\n      \"\n                  ),\n                ])\n              : _vm._e(),\n          ]\n        ),\n        _vm._v(\" \"),\n        _c(\"div\", { staticClass: \"form-btn\" }, [\n          _c(\n            \"button\",\n            {\n              staticClass: \"btn btn-block btn-primary\",\n              attrs: {\n                type: \"button\",\n                disabled: _vm.isDisabled,\n                \"data-testing\": \"nl-send\",\n              },\n              on: { click: _vm.validateData },\n            },\n            [\n              _vm._v(\n                \"\\n        \" +\n                  _vm._s(\n                    _vm.$translate(\n                      \"Ceres::Template.newsletterSubscribeButtonLabel\"\n                    )\n                  ) +\n                  \"\\n      \"\n              ),\n            ]\n          ),\n        ]),\n        _vm._v(\" \"),\n        _vm.showPrivacyPolicyCheckbox\n          ? _c(\n              \"div\",\n              {\n                staticClass: \"form-check small mt-3\",\n                attrs: { \"data-validate\": \"\" },\n              },\n              [\n                _c(\"input\", {\n                  directives: [\n                    {\n                      name: \"model\",\n                      rawName: \"v-model\",\n                      value: _vm.privacyPolicyValue,\n                      expression: \"privacyPolicyValue\",\n                    },\n                  ],\n                  staticClass: \"form-check-input\",\n                  attrs: {\n                    type: \"checkbox\",\n                    id:\n                      \"privacy-policy-accept-id_\" + _vm.newsletterPopop &&\n                      \"popop_\" + _vm._uid,\n                    name: \"privacy-policy-accept\",\n                    \"data-testing\": \"nl-policy\",\n                    \"aria-label\": \"checkbox\",\n                  },\n                  domProps: {\n                    checked: Array.isArray(_vm.privacyPolicyValue)\n                      ? _vm._i(_vm.privacyPolicyValue, null) > -1\n                      : _vm.privacyPolicyValue,\n                  },\n                  on: {\n                    change: function ($event) {\n                      var $$a = _vm.privacyPolicyValue,\n                        $$el = $event.target,\n                        $$c = $$el.checked ? true : false\n                      if (Array.isArray($$a)) {\n                        var $$v = null,\n                          $$i = _vm._i($$a, $$v)\n                        if ($$el.checked) {\n                          $$i < 0 &&\n                            (_vm.privacyPolicyValue = $$a.concat([$$v]))\n                        } else {\n                          $$i > -1 &&\n                            (_vm.privacyPolicyValue = $$a\n                              .slice(0, $$i)\n                              .concat($$a.slice($$i + 1)))\n                        }\n                      } else {\n                        _vm.privacyPolicyValue = $$c\n                      }\n                    },\n                  },\n                }),\n                _vm._v(\" \"),\n                _c(\"label\", {\n                  staticClass: \"form-check-label\",\n                  attrs: {\n                    for:\n                      \"privacy-policy-accept-id_\" + _vm.newsletterPopop &&\n                      \"popop_\" + _vm._uid,\n                  },\n                  domProps: { innerHTML: _vm._s(_vm.privacyPolicyText) },\n                }),\n              ]\n            )\n          : _vm._e(),\n      ]),\n      _vm._v(\" \"),\n      !!_vm.$ceres.config.global.googleRecaptchaApiKey && _vm.loadRecaptcha\n        ? _c(\"recaptcha\")\n        : _vm._e(),\n    ],\n    1\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewsletterInput.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewsletterInput.vue?vue&type=script&lang=js\"","<template>\n  <form\n    ref=\"newsletterForm\"\n    :id=\"'newsletter-input-form_' + newsletterPopop && 'popop_' + _uid\"\n    method=\"post\"\n    @submit.prevent=\"validateData\"\n  >\n    <div class=\"form-group\">\n      <div class=\"form-input\" data-validate=\"mail\">\n        <input\n          @focus=\"loadRecaptcha = true\"\n          type=\"email\"\n          autocomplete=\"email\"\n          :placeholder=\"multiLanguage.NewsletterPlaceHolder\"\n          :id=\"'email-input-id_' + newsletterPopop && 'popop_' + _uid\"\n          v-model=\"email\"\n          data-testing=\"mail\"\n        />\n\n        <div class=\"d-none error-feedback my-1\">\n          {{ $translate(\"Ceres::Template.contactEnterConfirmEmail\") }}\n        </div>\n        <div\n          v-if=\"newsletterPopop && success\"\n          class=\"d-none success-feedback my-2\"\n        >\n          {{\n            multiLanguage.NewsletterSubscribe.replace(\"{email}\", cachedEmail)\n          }}\n        </div>\n      </div>\n\n      <div class=\"form-btn\">\n        <button\n          type=\"button\"\n          class=\"btn btn-block btn-primary\"\n          @click=\"validateData\"\n          :disabled=\"isDisabled\"\n          data-testing=\"nl-send\"\n        >\n          {{ $translate(\"Ceres::Template.newsletterSubscribeButtonLabel\") }}\n        </button>\n      </div>\n\n      <div\n        class=\"form-check small mt-3\"\n        data-validate\n        v-if=\"showPrivacyPolicyCheckbox\"\n      >\n        <input\n          type=\"checkbox\"\n          class=\"form-check-input\"\n          :id=\"'privacy-policy-accept-id_' + newsletterPopop && 'popop_' + _uid\"\n          name=\"privacy-policy-accept\"\n          v-model=\"privacyPolicyValue\"\n          data-testing=\"nl-policy\"\n          aria-label=\"checkbox\"\n        />\n        <label\n          :for=\"\n            'privacy-policy-accept-id_' + newsletterPopop && 'popop_' + _uid\n          \"\n          class=\"form-check-label\"\n          v-html=\"privacyPolicyText\"\n        ></label>\n      </div>\n    </div>\n    <recaptcha\n      v-if=\"!!$ceres.config.global.googleRecaptchaApiKey && loadRecaptcha\"\n    ></recaptcha>\n  </form>\n</template>\n\n<script>\nimport ApiService from \"../../services/ApiService\";\nimport NotificationService from \"../../services/NotificationService\";\nimport ValidationService from \"../../services/ValidationService\";\nimport { executeReCaptcha } from \"../../helper/executeReCaptcha\";\n\nexport default {\n  props: {\n    showPrivacyPolicyCheckbox: {\n      type: Boolean,\n      default: false,\n    },\n    emailFolder: {\n      type: Number,\n      default: 0,\n    },\n    newsletterPopop: {\n      type: Boolean,\n      default: false,\n    },\n    multiLanguage: Object,\n  },\n  data() {\n    return {\n      email: \"\",\n      cachedEmail: \"\",\n      isDisabled: false,\n      privacyPolicyValue: false,\n      honeypot: \"\",\n      success: false,\n      loadRecaptcha: false,\n    };\n  },\n  computed: {\n    privacyPolicyText() {\n      const link =\n        '<a href=\"' +\n        App.urls.privacyPolicy +\n        '\" target=\"_blank\"><span class=\"text-appearance\">' +\n        this.$translate(\"Ceres::Template.checkoutPrivacyPolicy\", {\n          hyphen: \"&shy;\",\n        }) +\n        \"</span></a>\";\n      return (\n        this.$translate(\"Ceres::Template.newsletterAcceptPrivacyPolicy\", {\n          policy: link,\n        }) + this.$translate(\"Ceres::Template.newsletterIsRequiredFootnote\")\n      );\n    },\n  },\n  methods: {\n    validateData() {\n      this.isDisabled = true;\n      ValidationService.validate(\n        $(\"#newsletter-input-form_\" + newsletterPopop && \"popop_\" + this._uid)\n      )\n        .done(() => {\n          this.save();\n        })\n        .fail((invalidFields) => {\n          ValidationService.markInvalidFields(invalidFields, \"error\");\n          invalidFields\n            .filter((field) => {\n              return field.dataset.validate !== null;\n            })\n            .map((field) => {\n              return {\n                type: field.dataset.validate,\n                name: field.innerText,\n              };\n            })\n            .forEach((field) => {\n              if (field.type === \"!regex\") {\n                NotificationService.error(\n                  this.$translate(\n                    \"Ceres::Template.newsletterNotAllowedCharacters\",\n                    { name: field.name }\n                  )\n                ).closeAfter(5000);\n              }\n            });\n          this.isDisabled = false;\n        });\n    },\n    save() {\n      const recaptchaEl = this.$el.querySelector(\"[data-recaptcha]\");\n      if (\n        App.config.global.googleRecaptchaApiKey &&\n        (!window.grecaptcha || !recaptchaEl)\n      ) {\n        NotificationService.error(\n          this.$translate(\"Ceres::Template.newsletterAcceptRecaptchaCookie\")\n        ).closeAfter(5000);\n        this.isDisabled = false;\n        return;\n      }\n      executeReCaptcha(this.$el).then((recaptchaToken) => {\n        ApiService.post(\"/rest/io/customer/newsletter\", {\n          email: this.email,\n          emailFolder: this.emailFolder,\n          honeypot: this.honeypot,\n          recaptcha: recaptchaToken,\n        })\n          .done((data) => {\n            if (!!data.containsHoneypot) {\n              NotificationService.warn(\n                this.$translate(\"Ceres::Template.newsletterHoneypotWarning\")\n              ).closeAfter(5000);\n            } else {\n              NotificationService.success(\n                this.$translate(\"Ceres::Template.newsletterSuccessMessage\")\n              ).closeAfter(3000);\n            }\n            this.success = true;\n            if (this.$props.newsletterPopop) {\n              this.cachedEmail = this.email;\n            }\n            this.resetInputs();\n          })\n          .fail(() => {\n            NotificationService.error(\n              this.$translate(\"Ceres::Template.newsletterErrorMessage\")\n            ).closeAfter(5000);\n          })\n          .always(() => {\n            this.isDisabled = false;\n            this.resetRecaptcha();\n          });\n      });\n    },\n    resetInputs() {\n      this.email = \"\";\n      this.privacyPolicyValue = false;\n    },\n    resetRecaptcha() {\n      if (App.config.global.googleRecaptchaVersion === 2 && window.grecaptcha) {\n        const recaptchaId = this.$el.querySelector(\"[data-recaptcha]\");\n        window.grecaptcha.reset(recaptchaId);\n      }\n    },\n  },\n};\n</script>\n","import { render, staticRenderFns } from \"./NewsletterInput.vue?vue&type=template&id=114c65e5\"\nimport script from \"./NewsletterInput.vue?vue&type=script&lang=js\"\nexport * from \"./NewsletterInput.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports"],"sourceRoot":""}