{"version":3,"file":"suggestion_container-Xqe8rLjJ.js","sources":["../../../app/frontend/entrypoints/vue/components/suggestion_container.js"],"sourcesContent":["let SuggestionContainer = {\n  data: function(){\n    const vm = this\n    return {\n      currentFocus: -1,\n      suggestions: [],\n      isActive: false,\n    }\n  },\n  props: {\n    ref_name: String\n  },\n  computed: {\n    width(){\n      let element = document.getElementById(this.ref_name)\n      if (element) {\n        return(String(element.parentElement.offsetWidth) + 'px')\n      }\n      return('180px')\n    }\n  },\n  methods: {\n    setSuggestions(suggestions){\n      this.suggestions = suggestions\n    },\n    selectSuggestion(e){\n      const vm = this\n      let suggestion = ''\n      if (e.type == 'mousedown'){\n        suggestion = e.target.innerText\n      }\n      else if (e.type == 'keydown'){\n        suggestion = vm.suggestions[vm.currentFocus]\n      }\n      vm.$emit(\"sg-selected\", suggestion)\n      vm.setActive(false)\n      vm.setFocus(-1)\n    },\n    focusInc(e){\n      this.setFocus(this.currentFocus + 1)\n    },\n    focusDec(e){\n      this.setFocus(this.currentFocus - 1)\n    },\n    setFocus(n){\n      if (n >= this.suggestions.length){n=0}\n      else if (n <-1){ n = this.suggestions.length - 1}\n      this.currentFocus = n\n    },\n    setActive(e){\n      if (this.isActive != e){this.isActive = e}\n    },\n  },\n  template: '<div :style=\"{width: width}\" class=\"c-suggestion__container\" v-show=isActive @mousedown=selectSuggestion> \\\n  <div class=\"c-suggestion__suggest-row\" v-for=\"(suggestion, index) in suggestions\" v-bind:class=\"{active: index==currentFocus}\">\\\n  {{suggestion}}</div>\\\n  </div>'\n}\n\nexport default SuggestionContainer\n"],"names":["SuggestionContainer","element","suggestions","e","vm","suggestion","n"],"mappings":"AAAG,IAACA,EAAsB,CACxB,KAAM,UAAU,CAEd,MAAO,CACL,aAAc,GACd,YAAa,CAAE,EACf,SAAU,EAChB,CACG,EACD,MAAO,CACL,SAAU,MACX,EACD,SAAU,CACR,OAAO,CACL,IAAIC,EAAU,SAAS,eAAe,KAAK,QAAQ,EACnD,OAAIA,EACK,OAAOA,EAAQ,cAAc,WAAW,EAAI,KAE9C,OACb,CACG,EACD,QAAS,CACP,eAAeC,EAAY,CACzB,KAAK,YAAcA,CACpB,EACD,iBAAiBC,EAAE,CACjB,MAAMC,EAAK,KACX,IAAIC,EAAa,GACbF,EAAE,MAAQ,YACZE,EAAaF,EAAE,OAAO,UAEfA,EAAE,MAAQ,YACjBE,EAAaD,EAAG,YAAYA,EAAG,YAAY,GAE7CA,EAAG,MAAM,cAAeC,CAAU,EAClCD,EAAG,UAAU,EAAK,EAClBA,EAAG,SAAS,EAAE,CACf,EACD,SAASD,EAAE,CACT,KAAK,SAAS,KAAK,aAAe,CAAC,CACpC,EACD,SAASA,EAAE,CACT,KAAK,SAAS,KAAK,aAAe,CAAC,CACpC,EACD,SAASG,EAAE,CACLA,GAAK,KAAK,YAAY,OAAQA,EAAE,EAC3BA,EAAG,KAAKA,EAAI,KAAK,YAAY,OAAS,GAC/C,KAAK,aAAeA,CACrB,EACD,UAAUH,EAAE,CACN,KAAK,UAAYA,IAAG,KAAK,SAAWA,EACzC,CACF,EACD,SAAU,2QAIZ"}