{"version":3,"file":"business-9SMlQQP_.js","sources":["../../../app/javascript/api/business.js","../../../app/javascript/components/business/CreateUserForm.vue","../../../app/javascript/pages/Business.vue","../../../app/javascript/entrypoints/business.js"],"sourcesContent":["import api from \"./index\";\n\nexport default {\n  async create(data) {\n    const response = await api.post(\"/business_enquiries\", data);\n    return response;\n  }\n};\n","<template>\n  <div>\n    <text-input\n      v-model=\"value.first_name\"\n      :errors=\"errors.first_name\"\n      :label=\"t('create-user.form.labels.first_name')\"\n      :placeholder=\"t('create-user.form.labels.first_name')\"\n      input-id=\"first_name\"\n      class=\"mb-4\"\n      required />\n    <text-input\n      v-model=\"value.last_name\"\n      :errors=\"errors.last_name\"\n      :label=\"t('create-user.form.labels.last_name')\"\n      :placeholder=\"t('create-user.form.labels.last_name')\"\n      input-id=\"last_name\"\n      class=\"mb-4\"\n      required />\n    <text-input\n      v-model=\"value.email\"\n      :errors=\"errors.email\"\n      :label=\"t('create-user.form.labels.email')\"\n      :placeholder=\"t('create-user.form.labels.email')\"\n      input-id=\"email\"\n      class=\"mb-4\"\n      required />\n    <text-input\n      v-model=\"value.password\"\n      :errors=\"errors.password\"\n      :label=\"t('create-user.form.labels.password')\"\n      :placeholder=\"t('create-user.form.labels.password')\"\n      type=\"password\"\n      input-id=\"password\"\n      class=\"mb-4\"\n      required />\n    <checkbox-input\n      v-model:checked=\"value.newsletter\"\n      :errors=\"errors.newsletter\"\n      :label=\"t('create-user.form.labels.newsletter')\"\n      input-id=\"newsletter\" />\n  </div>\n</template>\n\n<script>\nimport TextInput from \"../shared/TextInput.vue\";\nimport CheckboxInput from \"../shared/CheckboxInput.vue\";\n\nexport default {\n  name: \"CreateUserForm\",\n  components: {\n    TextInput,\n    CheckboxInput\n  },\n  props: {\n    errors: {\n      type: Object,\n      required: true\n    },\n    value: {\n      type: Object,\n      required: true\n    }\n  }\n};\n</script>\n","<template>\n  <div class=\"container\">\n    <fade-transition mode=\"out-in\">\n      <div\n        v-if=\"isFinished\"\n        key=\"finishedForm\">\n        <div class=\"p-4 my-4 flex items-center justify-center\">\n          <div class=\"my-8 text-center\">\n            <p class=\"typeset-2 mb-6\">\n              {{ t(\"business-enquiries.success.heading\") }}\n            </p>\n            <p class=\"typeset-6 mb-3\">\n              {{ t(\"business-enquiries.success.subheading\") }}\n            </p>\n            <a\n              href=\"/business-enquiry\"\n              class=\"underline\">\n              {{ t(\"business-enquiries.success.button\") }}\n            </a>\n          </div>\n        </div>\n      </div>\n      <div\n        v-else\n        key=\"unfinishedForm\"\n        class=\"m-auto sm:w-3/4 md:w-2/3 py-6\">\n        <p class=\"typeset-2 mb-6\">{{ t(\"business-enquiries.heading\") }}</p>\n        <div class=\"mb-4 flex flex-wrap justify-center md:-mx-3\">\n          <div class=\"typeset-7 w-full md:w-1/2 md:px-3\">\n            <select-input\n              v-model=\"params.product\"\n              class=\"mb-4\"\n              :label=\"t('business-enquiries.form.labels.product')\"\n              :options=\"productOptions\"\n              :errors=\"errors.product\"\n              :placeholder=\"t('business-enquiries.form.options.placeholder')\"\n              content-key=\"content\"\n              value-key=\"value\"\n              include-blank\n              required />\n            <select-input\n              v-model=\"params.personalisation\"\n              class=\"mb-4\"\n              :label=\"t('business-enquiries.form.labels.personalisation')\"\n              :options=\"personalisationOptions\"\n              :errors=\"errors.personalisation\"\n              :placeholder=\"t('business-enquiries.form.options.placeholder')\"\n              content-key=\"content\"\n              value-key=\"value\"\n              include-blank\n              required />\n            <text-input\n              v-model=\"params.quantity\"\n              :label=\"t('business-enquiries.form.labels.quantity')\"\n              :placeholder=\"t('business-enquiries.form.labels.quantity')\"\n              :errors=\"errors.quantity\"\n              input-id=\"quantity\"\n              class=\"mb-4\"\n              required />\n            <textarea-input\n              v-model=\"params.urls\"\n              :label=\"t('business-enquiries.form.labels.urls')\"\n              :errors=\"errors.urls\"\n              class=\"mb-4\"\n              input-id=\"urls\" />\n            <date-picker\n              v-model=\"params.delivery_date\"\n              :label=\"t('business-enquiries.form.labels.delivery_date')\"\n              :lang=\"locale\"\n              :disabled-date=\"notBeforeToday\"\n              :errors=\"errors.delivery_date\"\n              input-id=\"delivery_date\" />\n            <select-input\n              v-model=\"params.delivery_country\"\n              class=\"mb-4\"\n              :options=\"countries\"\n              :label=\"t('business-enquiries.form.labels.delivery_country')\"\n              :errors=\"errors.delivery_country\"\n              required\n              icon-key=\"flag_image\"\n              value-key=\"iso\"\n              content-key=\"name\" />\n          </div>\n          <div class=\"w-full md:w-1/2 md:px-3\">\n            <select-input\n              v-model=\"params.source\"\n              class=\"mb-4\"\n              :label=\"t('business-enquiries.form.labels.source')\"\n              :options=\"sourceOptions\"\n              :errors=\"errors.source\"\n              :placeholder=\"t('business-enquiries.form.options.placeholder')\"\n              content-key=\"content\"\n              value-key=\"value\"\n              include-blank\n              required />\n            <text-input\n              v-model=\"params.company_name\"\n              :label=\"t('business-enquiries.form.labels.company_name')\"\n              :placeholder=\"t('business-enquiries.form.labels.company_name')\"\n              :errors=\"errors.company_name\"\n              input-id=\"company_name\"\n              class=\"mb-4\"\n              required />\n            <create-user-form\n              v-if=\"!loggedIn\"\n              :value=\"user\"\n              :errors=\"userErrors\" />\n          </div>\n        </div>\n        <btn\n          :promise=\"submit()\"\n          type=\"primary\"\n          class=\"my-3 w-full btn-large\">\n          {{ t(\"business-enquiries.form.labels.submit\") }}\n        </btn>\n      </div>\n    </fade-transition>\n  </div>\n</template>\n\n<script>\nimport businessApi from \"../api/business\";\nimport userApi from \"../api/user\";\n\nimport TextInput from \"../components/shared/TextInput.vue\";\nimport TextareaInput from \"../components/shared/TextareaInput.vue\";\nimport DatePicker from \"../components/shared/DatePicker.vue\";\nimport SelectInput from \"../components/shared/SelectInput.vue\";\nimport Btn from \"../components/shared/Btn.vue\";\nimport CreateUserForm from \"../components/business/CreateUserForm.vue\";\nimport FadeTransition from \"../components/transitions/FadeTransition.vue\";\n\nexport default {\n  name: \"Business\",\n  components: {\n    TextInput,\n    TextareaInput,\n    DatePicker,\n    SelectInput,\n    Btn,\n    CreateUserForm,\n    FadeTransition\n  },\n  props: {\n    countries: {\n      type: Array,\n      required: true\n    },\n    productOptions: {\n      type: Array,\n      required: true\n    },\n    personalisationOptions: {\n      type: Array,\n      required: true\n    },\n    sourceOptions: {\n      type: Array,\n      required: true\n    },\n    alreadyLoggedIn: {\n      type: Boolean,\n      required: true\n    },\n    defaultCountry: {\n      type: String,\n      required: true\n    },\n    locale: {\n      type: String,\n      required: true\n    }\n  },\n  data() {\n    return {\n      params: {\n        product: \"\",\n        personalisation: \"\",\n        quantity: null,\n        urls: null,\n        delivery_date: null,\n        delivery_country: this.defaultCountry,\n        source: \"\",\n        company_name: null\n      },\n      errors: {},\n      user: {\n        first_name: null,\n        last_name: null,\n        email: null,\n        password: null,\n        newsletter: false\n      },\n      userErrors: {},\n      isFinished: false,\n      loggedIn: this.alreadyLoggedIn\n    };\n  },\n  computed: {\n    notBeforeToday() {\n      return date => {\n        const today = new Date();\n        today.setHours(0, 0, 0, 0);\n        return date.getTime() < today.getTime();\n      };\n    }\n  },\n  methods: {\n    submit() {\n      return () =>\n        new Promise((resolve, reject) => {\n          if (!this.loggedIn) {\n            this.createUser().then(response => {\n              if (response.success) {\n                this.loggedIn = true;\n                this.createEnquiry(resolve, reject);\n              } else {\n                this.userErrors = response.data.errors;\n                reject();\n              }\n            });\n          } else {\n            this.createEnquiry(resolve, reject);\n          }\n        });\n    },\n    createEnquiry(resolve, reject) {\n      businessApi\n        .create(this.params)\n        .then(() => {\n          this.isFinished = true;\n          this.sendAnalyticsEvent();\n          resolve();\n        })\n        .catch(e => {\n          this.errors = e.response.data.errors;\n          reject();\n        });\n    },\n    createUser() {\n      return userApi.register(this.user);\n    },\n    sendAnalyticsEvent() {\n      analytics.track(\"Submitted B2B Form\");\n    }\n  }\n};\n</script>\n","import { createApp } from \"vue\";\n\nimport I18n from \"../plugins/i18n\";\nimport Business from \"../pages/Business.vue\";\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n  const node = document.getElementById(\"business-app\");\n  const props = JSON.parse(node.dataset.props);\n  const translations = JSON.parse(node.dataset.translations);\n\n  const app = createApp(Business, props);\n\n  app.use(I18n, translations);\n\n  app.mount(node);\n});\n"],"names":["businessApi","data","api","_sfc_main","TextInput","CheckboxInput","_createElementBlock","_createVNode","_component_text_input","$props","_cache","$event","_ctx","_component_checkbox_input","TextareaInput","DatePicker","SelectInput","Btn","CreateUserForm","FadeTransition","date","today","resolve","reject","response","e","userApi","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_openBlock","_component_fade_transition","_withCtx","$data","_createElementVNode","_toDisplayString","_hoisted_7","_hoisted_8","_component_select_input","_component_textarea_input","_component_date_picker","$options","_createCommentVNode","_createBlock","_component_create_user_form","_component_btn","_createTextVNode","node","props","translations","app","createApp","Business","I18n"],"mappings":"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"}