{"version":3,"sources":["webpack:///./src/components/UI/Components/MailInput.vue","webpack:///src/components/UI/Components/MailInput.vue","webpack:///./src/components/UI/Components/MailInput.vue?acdb","webpack:///./src/components/UI/Components/MailInput.vue?942f","webpack:///./src/components/UI/Components/MailInput.vue?ec63"],"names":["render","_vm","this","_c","_self","staticClass","class","inputBorderless","attrs","key","directives","name","rawName","value","mailaddressInput","expression","ref","emailInputErrors","length","isSingleAddress","mMailaddresses","domProps","on","broadcastInputCheck","$event","type","indexOf","_k","keyCode","addTag","apply","arguments","target","composing","$v","$touch","_l","mailaddress","index","_v","_s","removeTag","_e","staticRenderFns","WeakMap","props","Boolean","default","setFocusInput","mailaddresses","Array","String","data","mailaddressInputPlaceHolder","timer","validations","output","email","created","computed","errors","$dirty","$t","$emit","methods","trim","tagAlreadyAdded","$refs","focus","component"],"mappings":"uHAAA,IAAIA,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,GAAG,CAACA,EAAG,mBAAmB,CAACE,YAAY,0DAA0DC,MAAM,CAAE,gBAAiBL,EAAIM,iBAAkBC,MAAM,CAAC,KAAO,OAAO,KAAO,SAAS,YAAc,QAAQ,CAACL,EAAG,OAAO,CAACM,IAAI,mBAAmBJ,YAAY,mCAAmC,CAACF,EAAG,QAAQ,CAACO,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAUC,MAAOZ,EAAIa,iBAAkBC,WAAW,qBAAqBC,IAAI,mBAAmBV,MAAM,CAAC,CAAE,YAAaL,EAAIgB,iBAAiBC,QAAU,2BAA2BV,MAAM,CAAC,KAAO,OAAO,YAAc,kBAAkB,SAAWP,EAAIkB,iBAAmBlB,EAAImB,eAAeF,OAAS,GAAGG,SAAS,CAAC,MAASpB,EAAIa,kBAAmBQ,GAAG,CAAC,MAAQ,CAACrB,EAAIsB,oBAAoB,SAASC,GAAQ,OAAIA,EAAOC,KAAKC,QAAQ,QAAQzB,EAAI0B,GAAGH,EAAOI,QAAQ,QAAQ,GAAGJ,EAAOf,IAAI,SAAgB,KAAYR,EAAI4B,OAAOC,MAAM,KAAMC,aAAa,QAAU,SAASP,GAAQ,OAAIA,EAAOC,KAAKC,QAAQ,QAAQzB,EAAI0B,GAAGH,EAAOI,QAAQ,MAAM,EAAEJ,EAAOf,IAAI,OAAc,KAAYR,EAAI4B,OAAOC,MAAM,KAAMC,YAAY,MAAQ,CAAC,SAASP,GAAWA,EAAOQ,OAAOC,YAAiBhC,EAAIa,iBAAiBU,EAAOQ,OAAOnB,QAAO,SAASW,GAAQ,OAAOvB,EAAIiC,GAAGpB,iBAAiBqB,WAAW,KAAO,SAASX,GAAQ,OAAOvB,EAAIiC,GAAGpB,iBAAiBqB,aAAahC,EAAG,IAAI,CAACM,IAAI,eAAeJ,YAAY,6BAA6BC,MAAM,CACh3C,aAAcL,EAAIa,iBAClB,eAAgBb,EAAIa,kBACpBN,MAAM,CAAC,SAAWP,EAAIkB,iBAAmBlB,EAAImB,eAAeF,OAAS,GAAGI,GAAG,CAAC,MAAQrB,EAAI4B,SAAS,CAAC1B,EAAG,OAAO,CAACE,YAAY,uBAAuB,CAACF,EAAG,oBAAoB,CAACK,MAAM,CAAC,KAAO,CAAC,MAAO,YAAY,OAAOP,EAAImC,GAAInC,EAAImB,gBAAgB,SAASiB,EAAYC,GAAO,OAAOnC,EAAG,MAAM,CAACM,IAAI,KAAO6B,EAAMjC,YAAY,WAAW,CAACF,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACF,EAAG,OAAO,CAACE,YAAY,eAAe,CAACJ,EAAIsC,GAAGtC,EAAIuC,GAAGH,MAAgBlC,EAAG,IAAI,CAACE,YAAY,gBAAgBiB,GAAG,CAAC,MAAQ,SAASE,GAAQ,OAAOvB,EAAIwC,UAAUH,eAAkB,GAAIrC,EAAIgB,iBAAiBC,OAAQf,EAAG,MAAM,CAACE,YAAY,kBAAkBgB,SAAS,CAAC,UAAYpB,EAAIuC,GAAGvC,EAAIgB,qBAAqBhB,EAAIyC,MAAM,IAExqBC,EAAkB,G,gEC+BP,GAFf,IAAAC,QAEe,CACfC,MAAA,CACAtC,gBAAA,CACAkB,KAAAqB,QACAC,SAAA,GAEAC,cAAA,CACAvB,KAAAqB,QACAC,SAAA,GAEAE,cAAA,CACAxB,KAAAyB,MACAH,QAAA,WACA,WAGAlC,MAAA,CACAY,KAAA0B,OACAJ,QAAA,IAEA5B,gBAAA,CACAM,KAAAqB,QACAC,SAAA,IAIAK,KAAA,WACA,OACAtC,iBAAA,GACAM,eAAA,KAAA6B,cACAI,4BAAA,mBACAC,MAAA,OAOAC,YAAA,WACA,IAAAC,EAAA,CACA1C,iBAAA,CACA2C,mBAGA,OAAAD,GAGAE,QAAA,aAEAC,SAAA,CACA1C,iBAAA,WACA,IAAA2C,EAAA,GACA,YAAA1B,GAAApB,iBAAA+C,QACA,KAAA3B,GAAApB,iBAAA2C,QACAG,EAAA,KAAAE,GAAA,kCAEAF,EAAA1C,OAAA,GACA,KAAA6C,MAAA,oBAAAH,GAEAA,GAPAA,IAWAI,QAAA,CACAzC,oBAAA,WACA,KAAAwC,MAAA,4BAAAjD,iBAAAmD,OAAA/C,SAMAW,OAAA,WACA,QAAAf,mBAAA,KAAAG,iBAAAC,OAAA,CACA,IAAAmB,EAAA,KAAAvB,iBAGA,KAAAoD,gBAAA7B,EAAA4B,UAEA,KAAAnD,iBAAA,GACA,KAAAqD,MAAArD,iBAAAsD,QACA,KAAAL,MAAA,mBAAA1B,GACA,KAAAd,yBAQAkB,UAAA,SAAAH,GACA,KAAAyB,MAAA,0BAAAd,cAAAX,KAOA4B,gBAAA,SAAA7B,GACA,IAAAC,EAAA,KAAAlB,eAAAM,QAAAW,GACA,OAAAC,GAAA,MCvIgX,I,wBCQ5W+B,EAAY,eACd,EACArE,EACA2C,GACA,EACA,KACA,WACA,MAIa,aAAA0B,E,2CCnBf,W","file":"js/chunk-63bc3426.js?id=5568415ece3e2cd588bf","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{},[_c('transition-group',{staticClass:\"tagsarea textarea field is-grouped is-grouped-multiline\",class:{ 'is-borderless': _vm.inputBorderless },attrs:{\"name\":\"fade\",\"mode\":\"out-in\",\"mailaddress\":\"div\"}},[_c('span',{key:\"mailaddressInput\",staticClass:\"wrapper-input has-padding-right\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mailaddressInput),expression:\"mailaddressInput\"}],ref:\"mailaddressInput\",class:[{ 'is-danger': _vm.emailInputErrors.length }, 'input input-mailaddress'],attrs:{\"type\":\"text\",\"placeholder\":\"Add mailaddress\",\"disabled\":_vm.isSingleAddress && _vm.mMailaddresses.length > 0},domProps:{\"value\":(_vm.mailaddressInput)},on:{\"keyup\":[_vm.broadcastInputCheck,function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.addTag.apply(null, arguments)}],\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\"))return null;return _vm.addTag.apply(null, arguments)},\"input\":[function($event){if($event.target.composing)return;_vm.mailaddressInput=$event.target.value},function($event){return _vm.$v.mailaddressInput.$touch()}],\"blur\":function($event){return _vm.$v.mailaddressInput.$touch()}}}),_c('a',{key:\"addTagButton\",staticClass:\"button is-small is-primary\",class:{\n        'is-primary': _vm.mailaddressInput,\n        'is-disabled': !_vm.mailaddressInput,\n      },attrs:{\"disabled\":_vm.isSingleAddress && _vm.mMailaddresses.length > 0},on:{\"click\":_vm.addTag}},[_c('span',{staticClass:\"icon has-text-white\"},[_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'plus']}})],1)])]),_vm._l((_vm.mMailaddresses),function(mailaddress,index){return _c('div',{key:'t_' + index,staticClass:\"control\"},[_c('div',{staticClass:\"tags has-addons\"},[_c('span',{staticClass:\"tag is-link\"},[_vm._v(_vm._s(mailaddress))]),_c('a',{staticClass:\"tag is-delete\",on:{\"click\":function($event){return _vm.removeTag(index)}}})])])})],2),(_vm.emailInputErrors.length)?_c('div',{staticClass:\"has-text-danger\",domProps:{\"innerHTML\":_vm._s(_vm.emailInputErrors)}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"\">\n    <transition-group name=\"fade\" mode=\"out-in\" mailaddress=\"div\"\n      class=\"tagsarea textarea field is-grouped is-grouped-multiline\" :class=\"{ 'is-borderless': inputBorderless }\">\n      <span key=\"mailaddressInput\" class=\"wrapper-input has-padding-right\">\n        <input ref=\"mailaddressInput\" type=\"text\" v-model=\"mailaddressInput\"\n          :class=\"[{ 'is-danger': emailInputErrors.length }, 'input input-mailaddress']\" placeholder=\"Add mailaddress\"\n          :disabled=\"isSingleAddress && mMailaddresses.length > 0\" @keyup=\"broadcastInputCheck\" @keyup.enter=\"addTag\"\n          @keydown.tab=\"addTag\" @input=\"$v.mailaddressInput.$touch()\" @blur=\"$v.mailaddressInput.$touch()\" />\n        <a @click=\"addTag\" key=\"addTagButton\" class=\"button is-small is-primary\" :class=\"{\n          'is-primary': mailaddressInput,\n          'is-disabled': !mailaddressInput,\n        }\" :disabled=\"isSingleAddress && mMailaddresses.length > 0\">\n          <span class=\"icon has-text-white\">\n            <font-awesome-icon :icon=\"['fas', 'plus']\" />\n          </span>\n        </a>\n      </span>\n      <div v-for=\"(mailaddress, index) in mMailaddresses\" :key=\"'t_' + index\" class=\"control\">\n        <div class=\"tags has-addons\">\n          <span class=\"tag is-link\">{{ mailaddress }}</span>\n          <a @click=\"removeTag(index)\" class=\"tag is-delete\"></a>\n        </div>\n      </div>\n    </transition-group>\n    <div v-if=\"emailInputErrors.length\" class=\"has-text-danger\" v-html=\"emailInputErrors\">\n    </div>\n  </div>\n</template>\n\n<script>\n//from prev. input element\n// class=\"input input-mailaddress\"\nimport { email } from 'vuelidate/lib/validators'\nconst touchMap = new WeakMap()\n\nexport default {\n  props: {\n    inputBorderless: {\n      type: Boolean,\n      default: false,\n    },\n    setFocusInput: {\n      type: Boolean,\n      default: false,\n    },\n    mailaddresses: {\n      type: Array,\n      default: function () {\n        return []\n      },\n    },\n    value: {\n      type: String,\n      default: '',\n    },\n    isSingleAddress: {\n      type: Boolean,\n      default: false,\n    },\n  },\n\n  data() {\n    return {\n      mailaddressInput: '',\n      mMailaddresses: this.mailaddresses,\n      mailaddressInputPlaceHolder: 'Add mail address',\n      timer: null,\n    }\n  },\n\n  /**\n  * Form validation rules\n  */\n  validations() {\n    let output = {\n      mailaddressInput: {\n        email\n      }\n    }\n    return output\n  },\n\n  created() { },\n\n  computed: {\n    emailInputErrors() {\n      let errors = ''\n      if (!this.$v.mailaddressInput.$dirty) return errors\n      if (!this.$v.mailaddressInput.email) {\n        errors = this.$t('Form.InputErrors.InvalidEmail')\n      }\n      if (errors.length > 1) {\n        this.$emit('emailErrorPresent', errors)\n      }\n      return errors\n    },\n  },\n\n  methods: {\n    broadcastInputCheck() {\n      this.$emit('mailinputChecked', this.mailaddressInput.trim().length === 0)\n    },\n\n    /**\n     * Add mailaddress to mailaddresses array\n     */\n    addTag() {\n      if (this.mailaddressInput && !this.emailInputErrors.length) {\n        let mailaddress = this.mailaddressInput\n\n        // TODO: Validate email address\n        if (!this.tagAlreadyAdded(mailaddress.trim())) {\n          //this.mMailaddresses.unshift(mailaddress.trim())\n          this.mailaddressInput = ''\n          this.$refs.mailaddressInput.focus()\n          this.$emit('mailaddressAdded', mailaddress)\n          this.broadcastInputCheck()\n        }\n      }\n    },\n\n    /**\n     * Remove mailaddress from array\n     */\n    removeTag(index) {\n      this.$emit('mailaddressDeleted', this.mailaddresses[index])\n      //this.mMailaddresses.splice(index, 1)\n    },\n\n    /**\n     * Check if mailaddress already exists in array\n     */\n    tagAlreadyAdded(mailaddress) {\n      var index = this.mMailaddresses.indexOf(mailaddress)\n      if (index > -1) {\n        return true\n      }\n      return false\n    },\n  },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.row-whyTags {\n  display: flex;\n  align-items: baseline;\n\n  .message {\n    margin-bottom: 0;\n    padding: 2px 5px;\n  }\n}\n\n.is-borderless,\n.is-borderless:hover {\n  border-color: transparent;\n}\n\n.field.is-grouped.is-grouped-multiline {\n  align-items: baseline;\n  background-color: $white;\n  min-height: 80px;\n  height: auto;\n\n  &:last-child {\n    margin-bottom: $gap;\n  }\n\n  .mailaddresses {\n    .mailaddress {\n      font-size: $size-6;\n    }\n\n    a.is-delete {\n      color: $text;\n    }\n  }\n\n  .wrapper-input {\n    align-items: center;\n    display: inline-flex;\n    white-space: nowrap;\n\n    .input-mailaddress {\n      min-width: 200px;\n      width: 200px;\n      margin-right: 5px;\n      border-left: transparent;\n      border-top: transparent;\n      border-right: transparent;\n    }\n  }\n}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MailInput.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MailInput.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MailInput.vue?vue&type=template&id=1ec385b9&scoped=true\"\nimport script from \"./MailInput.vue?vue&type=script&lang=js\"\nexport * from \"./MailInput.vue?vue&type=script&lang=js\"\nimport style0 from \"./MailInput.vue?vue&type=style&index=0&id=1ec385b9&prod&lang=scss&scoped=true\"\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  \"1ec385b9\",\n  null\n  \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MailInput.vue?vue&type=style&index=0&id=1ec385b9&prod&lang=scss&scoped=true\""],"sourceRoot":""}