{"version":3,"sources":["webpack:///./node_modules/core-js/modules/es.string.split.js","webpack:///src/components/UI/TransitionExpand.vue","webpack:///./src/components/UI/TransitionExpand.vue","webpack:///./src/components/UI/TransitionExpand.vue?7c9b","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack:///./src/components/UI/TransitionExpand.vue?08db","webpack:///./src/components/UI/Form/TagInput.vue?4a3c","webpack:///./src/components/UI/Form/TagInput.vue","webpack:///src/components/UI/Form/TagInput.vue","webpack:///./src/components/UI/Form/TagInput.vue?59e1","webpack:///./src/components/UI/Form/TagInput.vue?6b4c","webpack:///./src/components/UI/TransitionExpand.vue?cdc1"],"names":["call","uncurryThis","fixRegExpWellKnownSymbolLogic","anObject","isObject","requireObjectCoercible","speciesConstructor","advanceStringIndex","toLength","toString","getMethod","regExpExec","stickyHelpers","fails","UNSUPPORTED_Y","MAX_UINT32","min","Math","push","stringSlice","slice","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","re","originalExec","exec","apply","this","arguments","result","split","length","BUGGY","SPLIT","nativeSplit","maybeCallNative","internalSplit","undefined","separator","limit","O","splitter","string","rx","S","res","done","value","C","RegExp","unicodeMatching","unicode","flags","ignoreCase","multiline","source","lim","p","q","A","lastIndex","e","z","i","render","staticRenderFns","name","functional","createElement","context","data","props","on","afterEnter","element","style","height","enter","_getComputedStyle","getComputedStyle","width","position","visibility","_getComputedStyle2","setTimeout","leave","_getComputedStyle3","children","component","_arrayWithoutHoles","r","Array","isArray","arrayLikeToArray","_iterableToArray","Symbol","iterator","from","_nonIterableSpread","TypeError","_toConsumableArray","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","_vm","_c","_self","staticClass","class","isStatic","inputBorderless","hasError","attrs","_l","mTags","tag","index","key","_v","_s","_e","$event","removeTag","editMode","directives","rawName","tagInput","expression","ref","$t","domProps","type","indexOf","_k","keyCode","addTag","target","composing","error","message","concat","components","TransitionExpand","Boolean","default","tags","String","required","note","validationRules","Object","errorMessages","showAllOpenErrors","isLoadingTagsFromQuestion","tagInputPlaceHolder","timer","computed","mounted","output","_tags","trim","toLowerCase","cleanSource","methods","$options","filters","stripHtml","$refs","focus","arr","tagAlreadyAdded","$emit","join","validate","splice","_this","rules","keys","messages","some","rule"],"mappings":"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","file":"js/chunk-b9531a9c.js?id=4f08517de3033def7516","sourcesContent":["'use strict';\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar fails = require('../internals/fails');\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\nvar MAX_UINT32 = 0xFFFFFFFF;\nvar min = Math.min;\nvar push = uncurryThis([].push);\nvar stringSlice = uncurryThis(''.slice);\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n  // eslint-disable-next-line regexp/no-empty-group -- required for testing\n  var re = /(?:)/;\n  var originalExec = re.exec;\n  re.exec = function () { return originalExec.apply(this, arguments); };\n  var result = 'ab'.split(re);\n  return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nvar BUGGY = 'abbc'.split(/(b)*/)[1] === 'c' ||\n  // eslint-disable-next-line regexp/no-empty-group -- required for testing\n  'test'.split(/(?:)/, -1).length !== 4 ||\n  'ab'.split(/(?:ab)*/).length !== 2 ||\n  '.'.split(/(.?)(.?)/).length !== 4 ||\n  // eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing\n  '.'.split(/()()/).length > 1 ||\n  ''.split(/.?/).length;\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', function (SPLIT, nativeSplit, maybeCallNative) {\n  var internalSplit = '0'.split(undefined, 0).length ? function (separator, limit) {\n    return separator === undefined && limit === 0 ? [] : call(nativeSplit, this, separator, limit);\n  } : nativeSplit;\n\n  return [\n    // `String.prototype.split` method\n    // https://tc39.es/ecma262/#sec-string.prototype.split\n    function split(separator, limit) {\n      var O = requireObjectCoercible(this);\n      var splitter = isObject(separator) ? getMethod(separator, SPLIT) : undefined;\n      return splitter\n        ? call(splitter, separator, O, limit)\n        : call(internalSplit, toString(O), separator, limit);\n    },\n    // `RegExp.prototype[@@split]` method\n    // https://tc39.es/ecma262/#sec-regexp.prototype-@@split\n    //\n    // NOTE: This cannot be properly polyfilled in engines that don't support\n    // the 'y' flag.\n    function (string, limit) {\n      var rx = anObject(this);\n      var S = toString(string);\n\n      if (!BUGGY) {\n        var res = maybeCallNative(internalSplit, rx, S, limit, internalSplit !== nativeSplit);\n        if (res.done) return res.value;\n      }\n\n      var C = speciesConstructor(rx, RegExp);\n      var unicodeMatching = rx.unicode;\n      var flags = (rx.ignoreCase ? 'i' : '') +\n                  (rx.multiline ? 'm' : '') +\n                  (rx.unicode ? 'u' : '') +\n                  (UNSUPPORTED_Y ? 'g' : 'y');\n      // ^(? + rx + ) is needed, in combination with some S slicing, to\n      // simulate the 'y' flag.\n      var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags);\n      var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n      if (lim === 0) return [];\n      if (S.length === 0) return regExpExec(splitter, S) === null ? [S] : [];\n      var p = 0;\n      var q = 0;\n      var A = [];\n      while (q < S.length) {\n        splitter.lastIndex = UNSUPPORTED_Y ? 0 : q;\n        var z = regExpExec(splitter, UNSUPPORTED_Y ? stringSlice(S, q) : S);\n        var e;\n        if (\n          z === null ||\n          (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p\n        ) {\n          q = advanceStringIndex(S, q, unicodeMatching);\n        } else {\n          push(A, stringSlice(S, p, q));\n          if (A.length === lim) return A;\n          for (var i = 1; i <= z.length - 1; i++) {\n            push(A, z[i]);\n            if (A.length === lim) return A;\n          }\n          q = p = e;\n        }\n      }\n      push(A, stringSlice(S, p));\n      return A;\n    }\n  ];\n}, BUGGY || !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y);\n","<script>\nexport default {\n  name: `TransitionExpand`,\n  functional: true,\n  render(createElement, context) {\n    const data = {\n      props: {\n        name: `expand`\n      },\n      on: {\n        afterEnter(element) {\n          // eslint-disable-next-line no-param-reassign\n          element.style.height = `auto`\n        },\n        enter(element) {\n          const { width } = getComputedStyle(element)\n          /* eslint-disable no-param-reassign */\n          element.style.width = width\n          element.style.position = `absolute`\n          element.style.visibility = `hidden`\n          element.style.height = `auto`\n          /* eslint-enable */\n          const { height } = getComputedStyle(element)\n          /* eslint-disable no-param-reassign */\n          element.style.width = null\n          element.style.position = null\n          element.style.visibility = null\n          element.style.height = 0\n          /* eslint-enable */\n          // Force repaint to make sure the\n          // animation is triggered correctly.\n          // eslint-disable-next-line no-unused-expressions\n          getComputedStyle(element).height\n          setTimeout(() => {\n            // eslint-disable-next-line no-param-reassign\n            element.style.height = height\n          })\n        },\n        leave(element) {\n          const { height } = getComputedStyle(element)\n          // eslint-disable-next-line no-param-reassign\n          element.style.height = height\n          // Force repaint to make sure the\n          // animation is triggered correctly.\n          // eslint-disable-next-line no-unused-expressions\n          getComputedStyle(element).height\n          setTimeout(() => {\n            // eslint-disable-next-line no-param-reassign\n            element.style.height = 0\n          })\n        }\n      }\n    }\n    return createElement(`transition`, data, context.children)\n  }\n}\n</script>\n\n<style scoped>\n* {\n  will-change: height;\n  transform: translateZ(0);\n  backface-visibility: hidden;\n  perspective: 1000px;\n}\n</style>\n\n<style>\n.expand-enter-active,\n.expand-leave-active {\n  transition: height 0.3s ease-in-out;\n  overflow: hidden;\n}\n.expand-enter,\n.expand-leave-to {\n  height: 0;\n}\n</style>\n","var render, staticRenderFns\nimport script from \"./TransitionExpand.vue?vue&type=script&lang=js\"\nexport * from \"./TransitionExpand.vue?vue&type=script&lang=js\"\nimport style0 from \"./TransitionExpand.vue?vue&type=style&index=0&id=3deb10ec&prod&scoped=true&lang=css\"\nimport style1 from \"./TransitionExpand.vue?vue&type=style&index=1&id=3deb10ec&prod&lang=css\"\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  \"3deb10ec\",\n  null\n  \n)\n\nexport default component.exports","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!./TransitionExpand.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!./TransitionExpand.vue?vue&type=script&lang=js\"","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n  if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _iterableToArray(r) {\n  if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","function _nonIterableSpread() {\n  throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n  return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TransitionExpand.vue?vue&type=style&index=1&id=3deb10ec&prod&lang=css\"","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!./TagInput.vue?vue&type=style&index=0&id=b736b766&prod&lang=scss&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('transition-group',{staticClass:\"tagsarea textarea is-rounded field is-grouped is-grouped-multiline\",class:{ 'is-static': _vm.isStatic, 'is-borderless': _vm.inputBorderless, 'is-danger': _vm.hasError },attrs:{\"name\":\"fade\",\"mode\":\"out-in\",\"tag\":\"div\"}},[_vm._l((_vm.mTags),function(tag,index){return _c('div',{key:'t_' + index,staticClass:\"control\"},[_c('div',{staticClass:\"tags\"},[_c('span',{staticClass:\"tag is-white\"},[_c('span',[_vm._v(_vm._s(tag))]),(!_vm.isStatic)?_c('a',{staticClass:\"icon is-small has-text-danger has-text-white is-rounded\",on:{\"click\":function($event){return _vm.removeTag(index)}}},[_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'trash-alt']}})],1):_vm._e()])])])}),(!_vm.isStatic && _vm.editMode)?_c('span',{key:\"tagInput\",staticClass:\"wrapper-input\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.tagInput),expression:\"tagInput\"}],ref:\"tagInput\",staticClass:\"input input-tag\",class:{'is-danger': _vm.hasError},attrs:{\"type\":\"text\",\"placeholder\":_vm.$t('Form.Control.AddTag')},domProps:{\"value\":(_vm.tagInput)},on:{\"keyup\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.addTag.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\"))return null;return _vm.addTag.apply(null, arguments)}],\"blur\":function($event){return _vm.addTag()},\"input\":function($event){if($event.target.composing)return;_vm.tagInput=$event.target.value}}}),_c('a',{key:\"addTagButton\",staticClass:\"button-add button is-small is-rounded is-primary\",class:{ 'is-primary': _vm.tagInput, 'is-success is-light': !_vm.tagInput },on:{\"click\":_vm.addTag}},[_c('span',{staticClass:\"icon is-small\"},[_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'plus']}})],1)])]):_vm._e()],2),_c('transition-expand',[(_vm.error)?_c('div',[(!Array.isArray(_vm.error))?_c('span',{staticClass:\"help is-danger\",domProps:{\"innerHTML\":_vm._s(_vm.error)}}):_c('div',{staticClass:\"help is-danger\"},_vm._l((_vm.error),function(message,index){return _c('div',{key:`e${index}`,domProps:{\"innerHTML\":_vm._s(message)}})}),0)]):_vm._e()])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div>\n    <transition-group\n      name=\"fade\"\n      mode=\"out-in\"\n      tag=\"div\"\n      class=\"tagsarea textarea is-rounded field is-grouped is-grouped-multiline\"\n      :class=\"{ 'is-static': isStatic, 'is-borderless': inputBorderless, 'is-danger': hasError }\"\n    >\n      <div\n        v-for=\"(tag, index) in mTags\"\n        :key=\"'t_' + index\"\n        class=\"control\"\n      >\n        <div class=\"tags\">\n          <span class=\"tag is-white\">\n            <span>{{ tag }}</span>\n            <a\n              v-if=\"!isStatic\"\n              @click=\"removeTag(index)\"\n              class=\"icon is-small has-text-danger has-text-white is-rounded\"\n            >\n              <font-awesome-icon :icon=\"['fas', 'trash-alt']\" />\n            </a>\n          </span>\n        </div>\n      </div>\n      <span\n        v-if=\"!isStatic && editMode\"\n        key=\"tagInput\"\n        class=\"wrapper-input\"\n      >\n        <input\n          ref=\"tagInput\"\n          type=\"text\"\n          v-model=\"tagInput\"\n          class=\"input input-tag\"\n          :class=\"{'is-danger': hasError}\"\n          :placeholder=\"$t('Form.Control.AddTag')\"\n          @keyup.enter=\"addTag\"\n          @keyup.tab=\"addTag\"\n          @blur=\"addTag()\"\n        />\n        <a\n          @click=\"addTag\"\n          key=\"addTagButton\"\n          class=\"button-add button is-small is-rounded is-primary\"\n          :class=\"{ 'is-primary': tagInput, 'is-success is-light': !tagInput }\"\n        >\n          <span class=\"icon is-small\">\n            <font-awesome-icon :icon=\"['fas', 'plus']\" />\n          </span>\n        </a>\n      </span>\n    </transition-group>\n    <transition-expand>\n      <div v-if=\"error\">\n        <span\n          v-if=\"!Array.isArray(error)\"\n          class=\"help is-danger\"\n          v-html=\"error\"\n        ></span>\n        <div\n          v-else\n          class=\"help is-danger\"\n        >\n          <div\n            v-for=\"(message, index) in error\"\n            :key=\"`e${index}`\"\n            v-html=\"message\"\n          ></div>\n        </div>\n      </div>\n    </transition-expand>\n  </div>\n</template>\n\n<script>\nimport { cleanSource } from '@/utils/objectHelper'\nimport TransitionExpand from '@/components/UI/TransitionExpand.vue'\nexport default {\n  name: 'TagInput',\n\n  components: {\n    TransitionExpand\n  },\n\n  props: {\n    editMode: {\n      type: Boolean,\n      default: true,\n    },\n    isStatic: {\n      type: Boolean,\n      default: false,\n    },\n    inputBorderless: {\n      type: Boolean,\n      default: false,\n    },\n    tags: {\n      type: [Array, String],\n      default: function() {\n        return []\n      },\n    },\n    value: {\n      type: [String, Array],\n      default: '',\n    },\n    required: {\n      type: Boolean,\n      default: false,\n      note: 'Whether the input field is required. Overrides validationRules.'\n    },\n    validationRules: {\n      type: Object,\n      default: () => {\n        return {}\n      },\n      note: 'An object with Vuelidate validation rules'\n    },\n    errorMessages: {\n      type: Object,\n      default: () => {\n        return {}\n      },\n      note:\n        'An object with error messages. The keys should be the same as the Vuelidate validation rules.'\n    },\n\n    showAllOpenErrors: {\n      type: Boolean,\n      default: false,\n      note: 'When true all open errors will shown'\n    },\n  },\n\n  data() {\n    return {\n      isLoadingTagsFromQuestion: false,\n      tagInput: '',\n      mTags: [],\n      tagInputPlaceHolder: 'Add tag',\n      timer: null,\n      error: ''\n    }\n  },\n\n  computed: {\n    hasError() {\n      return this.error.length\n    }\n  },\n\n  mounted() {\n    let output = []\n    if (typeof this.value === 'string') {\n      let _tags = this.value.trim().toLowerCase()\n      output = _tags.length !== 0 ? _tags.split(',') : []\n    }\n    else {\n      output = cleanSource(this.value)\n    }\n\n    if (typeof this.tags === 'string') {\n      let _tags = this.tags.trim().toLowerCase()\n      _tags = _tags.length !== 0 ? _tags.split(',') : []\n      output = [..._tags, ...output]\n    }\n    else {\n      output = [...output, ...cleanSource(this.tags)]\n    }\n\n    this.mTags = output\n  },\n\n  methods: {\n    /**\n     * Add tag to tags array\n     */\n    addTag() {\n      if (this.tagInput && this.tagInput.length > 0) {\n        let tag = this.$options.filters.stripHtml(this.tagInput.toLowerCase())\n        if (!tag) {\n          this.tagInput = ''\n          this.$refs.tagInput.focus()\n          return\n        }\n\n        let arr = tag.split(/[\\*+-/_#]/)\n\n        for (let i in arr) {\n          if (arr[i].trim() && !this.tagAlreadyAdded(arr[i].trim())) {\n            this.mTags.push(arr[i].trim())\n          }\n        }\n        arr = []\n\n        this.tagInput = ''\n        this.$refs.tagInput.focus()\n\n        this.$emit('input', typeof this.value === 'string' ? this.mTags.join(',') : this.mTags)\n        this.$emit('tagAdded', tag)\n        this.$emit('updatedTags', this.mTags)\n      }\n\n      this.validate()\n    },\n\n    /**\n     * Remove tag from array\n     */\n    removeTag(index) {\n      this.$emit('tagDeleted', this.tags[index])\n      this.mTags.splice(index, 1)\n      this.$emit('input', typeof this.value === 'string' ? this.mTags.join(',') : this.mTags)\n      this.$emit('updatedTags', this.mTags)\n      this.validate()\n    },\n\n    /**\n     * Check if tag already exists in array\n     */\n    tagAlreadyAdded(tag) {\n      let index = this.mTags.indexOf(tag)\n      return index > -1\n    },\n\n    validate() {\n      let rules = Object.keys(this.validationRules) || []\n      if (this.required) {\n        rules['required'] = this.required\n      }\n\n      let message = ''\n      let messages = []\n\n\n      // Go through the rules, and exit at the first invalid rule\n      rules.some(rule => {\n        if (this.validationRules[rule](this.mTags)) {\n          // Check for a custom message, fall back to the default\n          if (this.errorMessages[rule]) {\n            message = this.errorMessages[rule]\n            messages.push(this.errorMessages[rule])\n          }\n          return !this.showAllOpenErrors\n        }\n      })\n\n      this.error = !this.showAllOpenErrors ? message : messages\n      return this.error.length ? 'Failed' : 'Passed'\n    }\n  },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.row-whyTags {\n  display: flex;\n  align-items: baseline;\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.tagsarea {\n  min-height: 52px;\n}\n\n.field.is-grouped.is-grouped-multiline {\n  align-items: baseline;\n  // background-color: white\n  min-height: 52px;\n  height: auto;\n\n  &:last-child {\n    margin-bottom: 0.5 * $gap;\n  }\n\n  .control {\n    margin-top: 4px;\n    margin-bottom: 4px;\n  }\n  .tags {\n    &:last-child {\n      margin-bottom: 0;\n    }\n    .tag {\n      display: inline-flex;\n      margin-bottom: 0;\n      align-items: center;\n      border: 1px solid $black;\n\n      span {\n        padding: 0 4px;\n        font-size: $size-6;\n      }\n    }\n  }\n  .wrapper-input {\n    align-items: center;\n    display: inline-flex;\n    white-space: nowrap;\n    .input-tag {\n      min-width: 140px;\n      font-size: $size-6;\n      width: 140px;\n      margin-right: 5px;\n      border-left: transparent;\n      border-top: transparent;\n      border-right: transparent;\n      border-bottom: 1px solid $grey;\n      height: 1.75em;\n      &:focus {\n        box-shadow: none;\n        border-bottom: 1px solid $green;\n      }\n    }\n  }\n\n  .button-add {\n    width: 24px;\n    height: 24px;\n    padding: 0;\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!./TagInput.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!./TagInput.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TagInput.vue?vue&type=template&id=b736b766&scoped=true\"\nimport script from \"./TagInput.vue?vue&type=script&lang=js\"\nexport * from \"./TagInput.vue?vue&type=script&lang=js\"\nimport style0 from \"./TagInput.vue?vue&type=style&index=0&id=b736b766&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  \"b736b766\",\n  null\n  \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TransitionExpand.vue?vue&type=style&index=0&id=3deb10ec&prod&scoped=true&lang=css\""],"sourceRoot":""}