{"version":3,"sources":["webpack:///./src/js/modules/MobileDropdown.js"],"names":["_core","__webpack_require__","MobileDropdown","el","_classCallCheck","this","_possibleConstructorReturn","__proto__","Object","getPrototypeOf","call","Component","dom","$header","$el","find","$optionsPanel","$options","$chevron","on","onDropdownClick","bind","onOptionClick","e","stopPropagation","preventDefault","toggleDropdown","hasClass","closeDropDown","openDropDown","addClass","removeClass","slideDown","slideUp","updateDropdown","$","currentTarget","$option","activeText","text"],"mappings":"kZAAAA,EAAAC,EAAA,QACMC,cACJ,SAAAA,EAAYC,GAAI,mGAAAC,CAAAC,KAAAH,oKAAAI,CAAAD,MAAAH,EAAAK,WAAAC,OAAAC,eAAAP,IAAAQ,KAAAL,KACRF,uUAFmBQ,wDAKzBN,KAAKO,KACHC,QAASR,KAAKS,IAAIC,KAAK,+BACvBC,cAAeX,KAAKS,IAAIC,KAAK,MAC7BE,SAAUZ,KAAKS,IAAIC,KAAK,MACxBG,SAAUb,KAAKS,IAAIC,KAAK,oDAI1BV,KAAKO,IAAIC,QAAQM,GAAG,QAAWd,KAAKe,gBAApCC,KAA+BhB,OAC/BA,KAAKO,IAAIK,SAASE,GAAG,QAAWd,KAAKiB,cAArCD,KAAgChB,+CAElBkB,GACdA,EAAEC,kBACFD,EAAEE,iBACFpB,KAAKqB,0DAIDrB,KAAKO,IAAIC,QAAQc,SAAS,+BAC5BtB,KAAKuB,gBAELvB,KAAKwB,sDAKPxB,KAAKO,IAAIC,QAAQiB,SAAS,+BAC1BzB,KAAKO,IAAIM,SAASa,YAAY,UAAUD,SAAS,OACjDzB,KAAKO,IAAII,cAAcgB,UAAU,gDAIjC3B,KAAKO,IAAIC,QAAQkB,YAAY,+BAC7B1B,KAAKO,IAAIM,SAASa,YAAY,OAAOD,SAAS,UAC9CzB,KAAKO,IAAII,cAAciB,QAAQ,8CAGnBV,GACZlB,KAAK6B,eAAeC,EAAEZ,EAAEa,uDAGXC,GACbhC,KAAKuB,gBACL,IAAMU,EAAaD,EAAQE,OAC3BlC,KAAKO,IAAIK,SAASc,YAAY,aAC9BM,EAAQP,SAAS,aACjBzB,KAAKO,IAAIC,QAAQE,KAAK,qCAAqCwB,KAAKD,sBAGrDpC","file":"27.d6a14146b15fca05b056.bundle.js","sourcesContent":["import { Component } from '@verndale/core';\nclass MobileDropdown extends Component {\n constructor(el) {\n super(el);\n }\n setupDefaults() {\n this.dom = {\n $header: this.$el.find('.js-mobile-dropdown__header'),\n $optionsPanel: this.$el.find('ul'),\n $options: this.$el.find('li'),\n $chevron: this.$el.find('.chevron')\n };\n }\n addListeners() {\n this.dom.$header.on('click', ::this.onDropdownClick);\n this.dom.$options.on('click', ::this.onOptionClick);\n }\n onDropdownClick(e) {\n e.stopPropagation();\n e.preventDefault();\n this.toggleDropdown();\n }\n\n toggleDropdown() {\n if (this.dom.$header.hasClass('js-mobile-dropdown--is-open')) {\n this.closeDropDown();\n } else {\n this.openDropDown();\n }\n }\n\n openDropDown() {\n this.dom.$header.addClass('js-mobile-dropdown--is-open');\n this.dom.$chevron.removeClass('bottom').addClass('top');\n this.dom.$optionsPanel.slideDown('fast');\n }\n\n closeDropDown() {\n this.dom.$header.removeClass('js-mobile-dropdown--is-open');\n this.dom.$chevron.removeClass('top').addClass('bottom');\n this.dom.$optionsPanel.slideUp('fast');\n }\n\n onOptionClick(e) {\n this.updateDropdown($(e.currentTarget));\n }\n\n updateDropdown($option) {\n this.closeDropDown();\n const activeText = $option.text();\n this.dom.$options.removeClass('is-active');\n $option.addClass('is-active');\n this.dom.$header.find('.js-mobile-dropdown__active-label').text(activeText);\n }\n}\nexport default MobileDropdown;\n"],"sourceRoot":""}