From bfb72317f1324605181e8b333b952ff951dc623b Mon Sep 17 00:00:00 2001 From: Collin Henderson Date: Sun, 25 Mar 2018 15:57:36 -0400 Subject: [PATCH] Fixes and updates some dev dependencies --- .babelrc | 15 + __tests__/VueTributeTest.js | 2 +- dist/client.2ed01ca6.js | 2 - dist/client.2ed01ca6.js.map | 1 - dist/client.90c53eaf.css | 2 - dist/client.90c53eaf.css.map | 1 - dist/index.html | 1 - dist/manifest.95292176.js | 2 - dist/manifest.95292176.js.map | 1 - dist/vendor.72774014.js | 2 - dist/vendor.72774014.js.map | 1 - dist/vue-tribute.cjs.js | 44 + dist/vue-tribute.es.js | 40 + dist/vue-tribute.js | 1647 +++++++++++++++++ dist/vue-tribute.min.js | 2 + dist/vue-tribute.min.js.map | 1 + example/dist/index.html | 1 + example/dist/main.dd74d6ff.css | 3 + example/dist/main.dd74d6ff.css.map | 1 + example/dist/main.dd74d6ff.js | 69 + example/dist/main.dd74d6ff.js.map | 1 + package.json | 11 +- yarn.lock | 2707 ++++++++++++---------------- 23 files changed, 3010 insertions(+), 1547 deletions(-) create mode 100644 .babelrc delete mode 100644 dist/client.2ed01ca6.js delete mode 100644 dist/client.2ed01ca6.js.map delete mode 100644 dist/client.90c53eaf.css delete mode 100644 dist/client.90c53eaf.css.map delete mode 100644 dist/index.html delete mode 100644 dist/manifest.95292176.js delete mode 100644 dist/manifest.95292176.js.map delete mode 100644 dist/vendor.72774014.js delete mode 100644 dist/vendor.72774014.js.map create mode 100644 dist/vue-tribute.cjs.js create mode 100644 dist/vue-tribute.es.js create mode 100644 dist/vue-tribute.js create mode 100644 dist/vue-tribute.min.js create mode 100644 dist/vue-tribute.min.js.map create mode 100644 example/dist/index.html create mode 100644 example/dist/main.dd74d6ff.css create mode 100644 example/dist/main.dd74d6ff.css.map create mode 100644 example/dist/main.dd74d6ff.js create mode 100644 example/dist/main.dd74d6ff.js.map diff --git a/.babelrc b/.babelrc new file mode 100644 index 0000000..9e6180c --- /dev/null +++ b/.babelrc @@ -0,0 +1,15 @@ +{ + "presets": [ + [ + "@babel/preset-env", + { + "modules": false + } + ] + ], + "env": { + "test": { + "presets": [["@babel/preset-env"]] + } + } +} diff --git a/__tests__/VueTributeTest.js b/__tests__/VueTributeTest.js index 3f4d3b0..e4b8932 100644 --- a/__tests__/VueTributeTest.js +++ b/__tests__/VueTributeTest.js @@ -1,4 +1,4 @@ -import { mount } from 'vue-test-utils' +import { mount } from '@vue/test-utils' import VueTribute from '../src' describe('VueTribute', () => { diff --git a/dist/client.2ed01ca6.js b/dist/client.2ed01ca6.js deleted file mode 100644 index f2c26fe..0000000 --- a/dist/client.2ed01ca6.js +++ /dev/null @@ -1,2 +0,0 @@ -webpackJsonp([1],[,function(t,e,n){"use strict";var a=n(11);e.a={components:{VueTribute:a.a},data:function(){return{options:{values:[{key:"Collin Henderson",value:"syropian"},{key:"Sarah Drasner",value:"sarah_edo"},{key:"Evan You",value:"youyuxi"},{key:"Adam Wathan",value:"adamwathan"}]}}},methods:{append:function(){var t=Math.random().toString(36).slice(2);this.options.values.push({key:t,value:t})}}}},function(t,e,n){t.exports=n(3)},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n(4),i=n(8);new a.a({el:"#app",render:function(t){return t(i.a)}})},,,,,function(t,e,n){"use strict";function a(t){n(9)}var i=n(1),r=n(13),o=n(10),u=a,s=o(i.a,r.a,!1,u,null,null);e.a=s.exports},function(t,e){},,function(t,e,n){"use strict";var a=n(12),i=n.n(a),r={name:"vue-tribute",props:{options:{type:Object,required:!0}},data:function(){return{tribute:null}},mounted:function(){var t=this,e=this.$slots.default[0].elm;this.tribute=new i.a(this.options),this.tribute.attach(e),e.addEventListener("tribute-replaced",function(e){t.$emit("tribute-replaced",e)}),e.addEventListener("tribute-no-match",function(e){t.$emit("tribute-no-match",e)})},render:function(t){return t("div",{staticClass:"v-tribute"},this.$slots.default)}};"undefined"!=typeof window&&window.Vue&&window.Vue.component(r.name,r),e.a=r},,function(t,e,n){"use strict";var a=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"container"},[n("h1",[t._v("vue-tribute Demo")]),t._v(" "),n("h3",[t._v("Simple text input")]),t._v(" "),n("vue-tribute",{attrs:{options:t.options}},[n("input",{attrs:{type:"text",placeholder:"@..."}})]),t._v(" "),n("br"),t._v(" "),n("h3",[t._v("Textarea")]),t._v(" "),n("vue-tribute",{attrs:{options:t.options}},[n("textarea",{attrs:{placeholder:"@..."}})]),t._v(" "),n("br"),t._v(" "),n("h3",[t._v("contenteditable element")]),t._v(" "),n("vue-tribute",{attrs:{options:t.options}},[n("div",{staticClass:"content-editable",attrs:{contenteditable:"true",placeholder:"@..."}})]),t._v(" "),n("br"),t._v(" "),n("button",{staticClass:"btn",on:{click:t.append}},[t._v("Append New Item")])],1)},i=[],r={render:a,staticRenderFns:i};e.a=r}],[2]); -//# sourceMappingURL=client.2ed01ca6.js.map \ No newline at end of file diff --git a/dist/client.2ed01ca6.js.map b/dist/client.2ed01ca6.js.map deleted file mode 100644 index fb6fbcc..0000000 --- a/dist/client.2ed01ca6.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///client.2ed01ca6.js","webpack:///example/App.vue","webpack:///./example/index.js","webpack:///./example/App.vue?5bba","webpack:///./src/index.js","webpack:///./example/App.vue?ac34"],"names":["webpackJsonp","module","__webpack_exports__","__webpack_require__","__WEBPACK_IMPORTED_MODULE_0__src__","components","VueTribute","data","options","values","key","value","methods","append","kv","Math","random","toString","slice","this","push","exports","Object","defineProperty","__WEBPACK_IMPORTED_MODULE_0_vue__","__WEBPACK_IMPORTED_MODULE_1__App__","el","render","h","injectStyle","ssrContext","__WEBPACK_IMPORTED_MODULE_0__babel_loader_babelrc_false_presets_Users_sansa_Code_vue_tribute_node_modules_babel_preset_poi_index_js_jsx_vue_cacheDirectory_true_node_modules_vue_loader_lib_selector_type_script_index_0_App_vue__","__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_5599c2ac_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_App_vue__","normalizeComponent","__vue_styles__","Component","__WEBPACK_IMPORTED_MODULE_0_tributejs__","__WEBPACK_IMPORTED_MODULE_0_tributejs___default","n","name","props","type","required","tribute","mounted","_this","$el","$slots","default","elm","a","attach","addEventListener","e","$emit","staticClass","window","Vue","component","_vm","_h","$createElement","_c","_self","_v","attrs","placeholder","contenteditable","on","click","staticRenderFns","esExports"],"mappings":"AAAAA,cAAc,IACP,CAOD,SAAUC,EAAQC,EAAqBC,GAE7C,YACqB,IAAIC,GAAqCD,EAAkC,GCYhGD,GAAA,GDaEG,YCTFC,WAAAF,EAAA,GDYEG,KAAM,WACJ,OACEC,SACEC,SCXRC,IAAA,mBAAAC,MACA,aAAAD,IAAA,gBAAAC,MACA,cAAAD,IAAA,WAAAC,MACA,YAAAD,IAAA,cAAAC,MAIA,kBDSEC,SACEC,OAAQ,WACN,GAAIC,GAAKC,KCPfC,SAAAC,SACA,IAAAC,MACA,EDMMC,MAAKX,QAAQC,OAAOW,MAClBV,ICLRI,EDMQH,MCJRG,QDiBM,SAAUb,EAAQoB,EAASlB,GAEjCF,EAAOoB,QAAUlB,EAAyE,IAUpF,SAAUF,EAAQC,EAAqBC,GAE7C,YACAmB,QAAOC,eAAerB,EAAqB,cAAgBS,OAAO,GAC7C,IAAIa,GAAoCrB,EAA+B,GACnEsB,EAAqCtB,EAAiC,EE/E/F,IAAIqB,GAAA,GACFE,GAAI,OACJC,OAFM,SAECC,GACL,MAAOA,GAAEH,EAAA,OFwFN,CACA,CACA,CACA,CAOD,SAAUxB,EAAQC,EAAqBC,GAE7C,YG1GA,SAAA0B,GAAAC,GACA3B,EAAA,GH0GqB,GAAI4B,GAAqO5B,EAA0P,GG3Gxf6B,EAAA7B,EAAA,IAGA8B,EAAA9B,EAAA,IASA+B,EAAAL,EAKAM,EAAAF,EACAF,EAAA,EACAC,EAAA,GATA,EAWAE,EAPA,KAEA,KAUAhC,GAAA,EAAAiC,EAAA,SHwHM,SAAUlC,EAAQoB,KAKhB,CAOF,SAAUpB,EAAQC,EAAqBC,GAE7C,YACqB,IAAIiC,GAA0CjC,EAAqC,IAC/EkC,EAAkDlC,EAAoBmC,EAAEF,GIhK3F9B,GACJiC,KAAM,cACNC,OACEhC,SACEiC,KAAMnB,OACNoB,UAAU,IAGdnC,KARiB,WASf,OACEoC,QAAS,OAGbC,QAbiB,WAaP,GAAAC,GAAA1B,KACF2B,EAAM3B,KAAK4B,OAAOC,QAAQ,GAAGC,GAEnC9B,MAAKwB,QAAU,GAAIN,GAAAa,EAAQ/B,KAAKX,SAChCW,KAAKwB,QAAQQ,OAAOL,GAEpBA,EAAIM,iBAAiB,mBAAoB,SAAAC,GACvCR,EAAKS,MAAM,mBAAoBD,KAGjCP,EAAIM,iBAAiB,mBAAoB,SAAAC,GACvCR,EAAKS,MAAM,mBAAoBD,MAGnC1B,OA3BiB,SA2BVC,GACL,MAAOA,GACL,OAEE2B,YAAa,aAEfpC,KAAK4B,OAAOC,UAKI,oBAAXQ,SAA0BA,OAAOC,KAC1CD,OAAOC,IAAIC,UAAUpD,EAAWiC,KAAMjC,GAGxCJ,EAAA,KJoKQ,CAOF,SAAUD,EAAQC,EAAqBC,GAE7C,YKzNA,IAAAwB,GAAA,WAA0B,GAAAgC,GAAAxC,KAAayC,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,CAAwB,OAAAE,GAAA,OAAiBP,YAAA,cAAwBO,EAAA,MAAAH,EAAAK,GAAA,sBAAAL,EAAAK,GAAA,KAAAF,EAAA,MAAAH,EAAAK,GAAA,uBAAAL,EAAAK,GAAA,KAAAF,EAAA,eAAyHG,OAAOzD,QAAAmD,EAAAnD,WAAuBsD,EAAA,SAAcG,OAAOxB,KAAA,OAAAyB,YAAA,YAAoCP,EAAAK,GAAA,KAAAF,EAAA,MAAAH,EAAAK,GAAA,KAAAF,EAAA,MAAAH,EAAAK,GAAA,cAAAL,EAAAK,GAAA,KAAAF,EAAA,eAAiGG,OAAOzD,QAAAmD,EAAAnD,WAAuBsD,EAAA,YAAiBG,OAAOC,YAAA,YAAsBP,EAAAK,GAAA,KAAAF,EAAA,MAAAH,EAAAK,GAAA,KAAAF,EAAA,MAAAH,EAAAK,GAAA,6BAAAL,EAAAK,GAAA,KAAAF,EAAA,eAAgHG,OAAOzD,QAAAmD,EAAAnD,WAAuBsD,EAAA,OAAYP,YAAA,mBAAAU,OAAsCE,gBAAA,OAAAD,YAAA,YAA+CP,EAAAK,GAAA,KAAAF,EAAA,MAAAH,EAAAK,GAAA,KAAAF,EAAA,UAAkDP,YAAA,MAAAa,IAAsBC,MAAAV,EAAA9C,UAAoB8C,EAAAK,GAAA,0BAC10BM,KACAC,GAAiB5C,SAAA2C,kBACjBpE,GAAA,OL6NG","file":"client.2ed01ca6.js","sourcesContent":["webpackJsonp([1],[\n/* 0 */,\n/* 1 */\n/*!******************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib?{\"babelrc\":false,\"presets\":[[\"/Users/sansa/Code/vue-tribute/node_modules/babel-preset-poi/index.js\",{\"jsx\":\"vue\"}]],\"cacheDirectory\":true}!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./example/App.vue ***!\n \\******************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/*! exports used: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src__ = __webpack_require__(/*! ../src */ 11);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n components: {\n VueTribute: __WEBPACK_IMPORTED_MODULE_0__src__[\"a\" /* default */]\n },\n data: function data() {\n return {\n options: {\n values: [{ key: 'Collin Henderson', value: 'syropian' }, { key: 'Sarah Drasner', value: 'sarah_edo' }, { key: 'Evan You', value: 'youyuxi' }, { key: 'Adam Wathan', value: 'adamwathan' }]\n }\n };\n },\n\n methods: {\n append: function append() {\n var kv = Math.random().toString(36).slice(2);\n this.options.values.push({\n key: kv,\n value: kv\n });\n }\n }\n});\n\n/***/ }),\n/* 2 */\n/*!********************************!*\\\n !*** multi ./example/index.js ***!\n \\********************************/\n/*! dynamic exports provided */\n/*! all exports used */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(/*! /Users/sansa/Code/vue-tribute/example/index.js */3);\n\n\n/***/ }),\n/* 3 */\n/*!**************************!*\\\n !*** ./example/index.js ***!\n \\**************************/\n/*! no exports provided */\n/*! all exports used */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(/*! vue */ 4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__App__ = __webpack_require__(/*! ./App */ 8);\n\n\n\nnew __WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */]({\n el: '#app',\n render: function render(h) {\n return h(__WEBPACK_IMPORTED_MODULE_1__App__[\"a\" /* default */]);\n }\n});\n\n/***/ }),\n/* 4 */,\n/* 5 */,\n/* 6 */,\n/* 7 */,\n/* 8 */\n/*!*************************!*\\\n !*** ./example/App.vue ***!\n \\*************************/\n/*! exports provided: default */\n/*! exports used: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_babelrc_false_presets_Users_sansa_Code_vue_tribute_node_modules_babel_preset_poi_index_js_jsx_vue_cacheDirectory_true_node_modules_vue_loader_lib_selector_type_script_index_0_App_vue__ = __webpack_require__(/*! !babel-loader?{\"babelrc\":false,\"presets\":[[\"/Users/sansa/Code/vue-tribute/node_modules/babel-preset-poi/index.js\",{\"jsx\":\"vue\"}]],\"cacheDirectory\":true}!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue */ 1);\n/* unused harmony namespace reexport */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_5599c2ac_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_App_vue__ = __webpack_require__(/*! !../node_modules/vue-loader/lib/template-compiler/index?{\"id\":\"data-v-5599c2ac\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!../node_modules/vue-loader/lib/selector?type=template&index=0!./App.vue */ 13);\nfunction injectStyle (ssrContext) {\n __webpack_require__(/*! !../node_modules/extract-text-webpack-plugin/dist/loader.js?{\"omit\":1,\"remove\":true}!vue-style-loader!css-loader?{\"autoprefixer\":false,\"sourceMap\":true,\"minimize\":true}!../node_modules/vue-loader/lib/style-compiler/index?{\"vue\":true,\"id\":\"data-v-5599c2ac\",\"scoped\":false,\"hasInlineConfig\":true}!sass-loader?{\"sourceMap\":true}!../node_modules/vue-loader/lib/selector?type=styles&index=0!./App.vue */ 9)\n}\nvar normalizeComponent = __webpack_require__(/*! ../node_modules/vue-loader/lib/component-normalizer */ 10)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_babelrc_false_presets_Users_sansa_Code_vue_tribute_node_modules_babel_preset_poi_index_js_jsx_vue_cacheDirectory_true_node_modules_vue_loader_lib_selector_type_script_index_0_App_vue__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_5599c2ac_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_App_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Component.exports);\n\n\n/***/ }),\n/* 9 */\n/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/extract-text-webpack-plugin/dist/loader.js?{\"omit\":1,\"remove\":true}!./node_modules/vue-style-loader!./node_modules/css-loader?{\"autoprefixer\":false,\"sourceMap\":true,\"minimize\":true}!./node_modules/vue-loader/lib/style-compiler?{\"vue\":true,\"id\":\"data-v-5599c2ac\",\"scoped\":false,\"hasInlineConfig\":true}!./node_modules/sass-loader/lib/loader.js?{\"sourceMap\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./example/App.vue ***!\n \\*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! dynamic exports provided */\n/*! all exports used */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 10 */,\n/* 11 */\n/*!**********************!*\\\n !*** ./src/index.js ***!\n \\**********************/\n/*! exports provided: default */\n/*! exports used: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tributejs__ = __webpack_require__(/*! tributejs */ 12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tributejs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_tributejs__);\n\n\nvar VueTribute = {\n name: 'vue-tribute',\n props: {\n options: {\n type: Object,\n required: true\n }\n },\n data: function data() {\n return {\n tribute: null\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n var $el = this.$slots.default[0].elm;\n\n this.tribute = new __WEBPACK_IMPORTED_MODULE_0_tributejs___default.a(this.options);\n this.tribute.attach($el);\n\n $el.addEventListener('tribute-replaced', function (e) {\n _this.$emit('tribute-replaced', e);\n });\n\n $el.addEventListener('tribute-no-match', function (e) {\n _this.$emit('tribute-no-match', e);\n });\n },\n render: function render(h) {\n return h('div', {\n staticClass: 'v-tribute'\n }, this.$slots.default);\n }\n};\n\nif (typeof window !== 'undefined' && window.Vue) {\n window.Vue.component(VueTribute.name, VueTribute);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (VueTribute);\n\n/***/ }),\n/* 12 */,\n/* 13 */\n/*!**************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-5599c2ac\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./example/App.vue ***!\n \\**************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/*! exports used: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\"},[_c('h1',[_vm._v(\"vue-tribute Demo\")]),_vm._v(\" \"),_c('h3',[_vm._v(\"Simple text input\")]),_vm._v(\" \"),_c('vue-tribute',{attrs:{\"options\":_vm.options}},[_c('input',{attrs:{\"type\":\"text\",\"placeholder\":\"@...\"}})]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('h3',[_vm._v(\"Textarea\")]),_vm._v(\" \"),_c('vue-tribute',{attrs:{\"options\":_vm.options}},[_c('textarea',{attrs:{\"placeholder\":\"@...\"}})]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('h3',[_vm._v(\"contenteditable element\")]),_vm._v(\" \"),_c('vue-tribute',{attrs:{\"options\":_vm.options}},[_c('div',{staticClass:\"content-editable\",attrs:{\"contenteditable\":\"true\",\"placeholder\":\"@...\"}})]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.append}},[_vm._v(\"Append New Item\")])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\n\n/***/ })\n],[2]);\n\n\n// WEBPACK FOOTER //\n// client.2ed01ca6.js","\n\n\n\n\n// WEBPACK FOOTER //\n// example/App.vue","import Vue from 'vue'\nimport App from './App'\n\nnew Vue({\n el: '#app',\n render(h) {\n return h(App)\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./example/index.js","function injectStyle (ssrContext) {\n require(\"!!../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"autoprefixer\\\":false,\\\"sourceMap\\\":true,\\\"minimize\\\":true}!../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-5599c2ac\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":true}!sass-loader?{\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/selector?type=styles&index=0!./App.vue\")\n}\nvar normalizeComponent = require(\"!../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader?{\\\"babelrc\\\":false,\\\"presets\\\":[[\\\"/Users/sansa/Code/vue-tribute/node_modules/babel-preset-poi/index.js\\\",{\\\"jsx\\\":\\\"vue\\\"}]],\\\"cacheDirectory\\\":true}!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\nimport __vue_script__ from \"!!babel-loader?{\\\"babelrc\\\":false,\\\"presets\\\":[[\\\"/Users/sansa/Code/vue-tribute/node_modules/babel-preset-poi/index.js\\\",{\\\"jsx\\\":\\\"vue\\\"}]],\\\"cacheDirectory\\\":true}!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\n/* template */\nimport __vue_template__ from \"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-5599c2ac\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../node_modules/vue-loader/lib/selector?type=template&index=0!./App.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./example/App.vue\n// module id = 8\n// module chunks = 1","import Tribute from 'tributejs'\n\nconst VueTribute = {\n name: 'vue-tribute',\n props: {\n options: {\n type: Object,\n required: true\n }\n },\n data() {\n return {\n tribute: null\n }\n },\n mounted() {\n const $el = this.$slots.default[0].elm\n\n this.tribute = new Tribute(this.options)\n this.tribute.attach($el)\n\n $el.addEventListener('tribute-replaced', e => {\n this.$emit('tribute-replaced', e)\n })\n\n $el.addEventListener('tribute-no-match', e => {\n this.$emit('tribute-no-match', e)\n })\n },\n render(h) {\n return h(\n 'div',\n {\n staticClass: 'v-tribute'\n },\n this.$slots.default\n )\n }\n}\n\nif (typeof window !== 'undefined' && window.Vue) {\n window.Vue.component(VueTribute.name, VueTribute)\n}\n\nexport default VueTribute\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\"},[_c('h1',[_vm._v(\"vue-tribute Demo\")]),_vm._v(\" \"),_c('h3',[_vm._v(\"Simple text input\")]),_vm._v(\" \"),_c('vue-tribute',{attrs:{\"options\":_vm.options}},[_c('input',{attrs:{\"type\":\"text\",\"placeholder\":\"@...\"}})]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('h3',[_vm._v(\"Textarea\")]),_vm._v(\" \"),_c('vue-tribute',{attrs:{\"options\":_vm.options}},[_c('textarea',{attrs:{\"placeholder\":\"@...\"}})]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('h3',[_vm._v(\"contenteditable element\")]),_vm._v(\" \"),_c('vue-tribute',{attrs:{\"options\":_vm.options}},[_c('div',{staticClass:\"content-editable\",attrs:{\"contenteditable\":\"true\",\"placeholder\":\"@...\"}})]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.append}},[_vm._v(\"Append New Item\")])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-5599c2ac\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./example/App.vue\n// module id = 13\n// module chunks = 1"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/client.90c53eaf.css b/dist/client.90c53eaf.css deleted file mode 100644 index e5b0257..0000000 --- a/dist/client.90c53eaf.css +++ /dev/null @@ -1,2 +0,0 @@ -*{-webkit-box-sizing:border-box;box-sizing:border-box}body,html{height:100vh;width:100vw}body{background:-webkit-gradient(linear,left top,right top,from(#fc466b),to(#3f5efb));background:linear-gradient(90deg,#fc466b,#3f5efb);color:#fff;font-family:Helvetica Neue,Arial,sans-serif}.container,body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.container{max-width:500px;width:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:0 20px}.v-tribute{width:100%}.content-editable,input[type=text]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:#eee;padding:1rem;color:#666;width:100%;border-radius:.25rem;font-size:16px;outline:none}.content-editable:focus,input[type=text]:focus{background:#fff}.content-editable:empty:before{content:attr(placeholder);display:block;color:#666}textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:#eee;padding:1rem;width:100%;border-radius:.25rem;font-size:16px;height:100px;outline:none}textarea:focus{background:#fff}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;margin:20px 0;background:#fc466b;color:#fff;font-size:16px;padding:8px 16px;border-radius:3px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.18);box-shadow:0 1px 3px rgba(0,0,0,.18)}.btn:hover{background:#fc375f}.tribute-container{position:absolute;top:0;left:0;height:auto;max-height:300px;max-width:500px;overflow:auto;display:block;z-index:999999;border-radius:4px;-webkit-box-shadow:0 1px 4px rgba(0,0,0,.13);box-shadow:0 1px 4px rgba(0,0,0,.13)}.tribute-container ul{margin:0;margin-top:2px;padding:0;list-style:none;background:#fff;border-radius:4px;border:1px solid rgba(0,0,0,.13);background-clip:padding-box;overflow:hidden}.tribute-container li{color:#3f5efb;padding:5px 10px;cursor:pointer;font-size:14px}.tribute-container li.highlight,.tribute-container li:hover{background:#3f5efb;color:#fff}.tribute-container li span{font-weight:700}.tribute-container li.no-match{cursor:default}.tribute-container .menu-highlighted{font-weight:700} -/*# sourceMappingURL=client.90c53eaf.css.map*/ \ No newline at end of file diff --git a/dist/client.90c53eaf.css.map b/dist/client.90c53eaf.css.map deleted file mode 100644 index 6252ba6..0000000 --- a/dist/client.90c53eaf.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./example/App.vue"],"names":[],"mappings":"AACA,EACE,8BACQ,qBAAuB,CAEjC,UAEE,aACA,WAAa,CAEf,KACE,iFACA,kDAUA,WACA,2CAAmD,CAErD,gBAZE,oBACA,oBACA,aACA,yBACI,sBACI,mBACR,wBACI,qBACI,sBAAwB,CAqBjC,WAhBC,gBACA,WAUA,4BACA,6BACI,0BACI,sBACR,cAAgB,CAElB,WACE,UAAY,CAEd,mCAEE,wBACG,qBACK,gBACR,YACA,gBACA,aACA,WACA,WACA,qBACA,eACA,YAAc,CAEhB,+CAEI,eAAiB,CAErB,+BACE,0BACA,cACA,UAAY,CAEd,SACE,wBACG,qBACK,gBACR,YACA,gBACA,aACA,WACA,qBACA,eACA,aACA,YAAc,CAEhB,eACI,eAAiB,CAErB,KACE,wBACG,qBACK,gBACR,YACA,eACA,cACA,mBACA,WACA,eACA,iBACA,kBACA,6CACQ,oCAA0C,CAEpD,WACI,kBAAoB,CAExB,mBACE,kBACA,MACA,OACA,YACA,iBACA,gBACA,cACA,cACA,eACA,kBACA,6CACQ,oCAA0C,CAEpD,sBACE,SACA,eACA,UACA,gBACA,gBACA,kBACA,iCACA,4BACA,eAAiB,CAEnB,sBACE,cACA,iBACA,eACA,cAAgB,CAElB,4DAEE,mBACA,UAAY,CAEd,2BACE,eAAkB,CAEpB,+BACE,cAAgB,CAElB,qCACE,eAAkB","file":"client.90c53eaf.css","sourcesContent":["\n* {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\nhtml,\nbody {\n height: 100vh;\n width: 100vw;\n}\nbody {\n background: -webkit-gradient(linear, left top, right top, from(#fc466b), to(#3f5efb));\n background: linear-gradient(to right, #fc466b, #3f5efb);\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n color: #fff;\n font-family: 'Helvetica Neue', 'Arial', sans-serif;\n}\n.container {\n max-width: 500px;\n width: 100%;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n padding: 0 20px;\n}\n.v-tribute {\n width: 100%;\n}\ninput[type='text'],\n.content-editable {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n border: none;\n background: #eee;\n padding: 1rem 1rem;\n color: #666;\n width: 100%;\n border-radius: 0.25rem;\n font-size: 16px;\n outline: none;\n}\ninput[type='text']:focus,\n .content-editable:focus {\n background: #fff;\n}\n.content-editable:empty:before {\n content: attr(placeholder);\n display: block;\n color: #666;\n}\ntextarea {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n border: none;\n background: #eee;\n padding: 1rem;\n width: 100%;\n border-radius: 0.25rem;\n font-size: 16px;\n height: 100px;\n outline: none;\n}\ntextarea:focus {\n background: #fff;\n}\n.btn {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n border: none;\n cursor: pointer;\n margin: 20px 0;\n background: #fc466b;\n color: #fff;\n font-size: 16px;\n padding: 8px 16px;\n border-radius: 3px;\n -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);\n}\n.btn:hover {\n background: #fc375f;\n}\n.tribute-container {\n position: absolute;\n top: 0;\n left: 0;\n height: auto;\n max-height: 300px;\n max-width: 500px;\n overflow: auto;\n display: block;\n z-index: 999999;\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.13);\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.13);\n}\n.tribute-container ul {\n margin: 0;\n margin-top: 2px;\n padding: 0;\n list-style: none;\n background: #fff;\n border-radius: 4px;\n border: 1px solid rgba(0, 0, 0, 0.13);\n background-clip: padding-box;\n overflow: hidden;\n}\n.tribute-container li {\n color: #3f5efb;\n padding: 5px 10px;\n cursor: pointer;\n font-size: 14px;\n}\n.tribute-container li.highlight,\n.tribute-container li:hover {\n background: #3f5efb;\n color: #fff;\n}\n.tribute-container li span {\n font-weight: bold;\n}\n.tribute-container li.no-match {\n cursor: default;\n}\n.tribute-container .menu-highlighted {\n font-weight: bold;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./example/App.vue"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/index.html b/dist/index.html deleted file mode 100644 index ec8b496..0000000 --- a/dist/index.html +++ /dev/null @@ -1 +0,0 @@ -vue-tribute
\ No newline at end of file diff --git a/dist/manifest.95292176.js b/dist/manifest.95292176.js deleted file mode 100644 index 139cb9c..0000000 --- a/dist/manifest.95292176.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(r){function n(e){if(o[e])return o[e].exports;var t=o[e]={i:e,l:!1,exports:{}};return r[e].call(t.exports,t,t.exports,n),t.l=!0,t.exports}var e=window.webpackJsonp;window.webpackJsonp=function(o,u,c){for(var f,i,p,a=0,l=[];a=0&&Math.floor(t)===t&&isFinite(e)}function d(e){return null==e?"":"object"==typeof e?JSON.stringify(e,null,2):String(e)}function p(e){var t=parseFloat(e);return isNaN(t)?e:t}function v(e,t){for(var n=Object.create(null),r=e.split(","),i=0;i-1)return e.splice(n,1)}}function m(e,t){return wr.call(e,t)}function g(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}function y(e,t){function n(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length=e.length,n}function b(e,t){return e.bind(t)}function _(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function w(e,t){for(var n in t)e[n]=t[n];return e}function C(e){for(var t={},n=0;n-1)if(o&&!m(i,"default"))a=!1;else if(""===a||a===Ar(e)){var u=ne(String,i.type);(u<0||s0&&(a=be(a,(t||"")+"_"+n),ye(a[0])&&ye(c)&&(l[u]=N(c.text+a[0].text),a.shift()),l.push.apply(l,a)):s(a)?ye(c)?l[u]=N(c.text+a):""!==a&&l.push(N(a)):ye(a)&&ye(c)?l[u]=N(c.text+a.text):(o(e._isVList)&&i(a.tag)&&r(a.key)&&i(t)&&(a.key="__vlist"+t+"_"+n+"__"),l.push(a)));return l}function _e(e,t){return(e.__esModule||Jr&&"Module"===e[Symbol.toStringTag])&&(e=e.default),u(e)?t.extend(e):e}function we(e,t,n,r,i){var o=ii();return o.asyncFactory=e,o.asyncMeta={data:t,context:n,children:r,tag:i},o}function Ce(e,t,n){if(o(e.error)&&i(e.errorComp))return e.errorComp;if(i(e.resolved))return e.resolved;if(o(e.loading)&&i(e.loadingComp))return e.loadingComp;if(!i(e.contexts)){var a=e.contexts=[n],s=!0,c=function(){for(var e=0,t=a.length;eOi&&Ti[n].id>e.id;)n--;Ti.splice(n+1,0,e)}else Ti.push(e);Ei||(Ei=!0,ue(Ue))}}function ze(e,t,n){Mi.get=function(){return this[t][n]},Mi.set=function(e){this[t][n]=e},Object.defineProperty(e,n,Mi)}function qe(e){e._watchers=[];var t=e.$options;t.props&&Xe(e,t.props),t.methods&&Ze(e,t.methods),t.data?Ye(e):R(e._data={},!0),t.computed&&Ge(e,t.computed),t.watch&&t.watch!==Vr&&et(e,t.watch)}function Xe(e,t){var n=e.$options.propsData||{},r=e._props={},i=e.$options._propKeys=[];!e.$parent||P(!1);for(var o in t)(function(o){i.push(o);var a=Q(o,t,n,e);F(r,o,a),o in e||ze(e,"_props",o)})(o);P(!0)}function Ye(e){var t=e.$options.data;t=e._data="function"==typeof t?Ke(t,e):t||{},c(t)||(t={});for(var n=Object.keys(t),r=e.$options.props,i=(e.$options.methods,n.length);i--;){var o=n[i];r&&m(r,o)||E(o)||ze(e,"_data",o)}R(t,!0)}function Ke(e,t){I();try{return e.call(t,t)}catch(e){return re(e,t,"data()"),{}}finally{M()}}function Ge(e,t){var n=e._computedWatchers=Object.create(null),r=Kr();for(var i in t){var o=t[i],a="function"==typeof o?o:o.get;r||(n[i]=new Ii(e,a||k,k,Ni)),i in e||Je(e,i,o)}}function Je(e,t,n){var r=!Kr();"function"==typeof n?(Mi.get=r?Qe(t):n,Mi.set=k):(Mi.get=n.get?r&&!1!==n.cache?Qe(t):n.get:k,Mi.set=n.set?n.set:k),Object.defineProperty(e,t,Mi)}function Qe(e){return function(){var t=this._computedWatchers&&this._computedWatchers[e];if(t)return t.dirty&&t.evaluate(),ei.target&&t.depend(),t.value}}function Ze(e,t){e.$options.props;for(var n in t)e[n]=null==t[n]?k:Er(t[n],e)}function et(e,t){for(var n in t){var r=t[n];if(Array.isArray(r))for(var i=0;i=0||n.indexOf(e[i])<0)&&r.push(e[i]);return r}return e}function Pt(e){this._init(e)}function jt(e){e.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(t.indexOf(e)>-1)return this;var n=_(arguments,1);return n.unshift(this),"function"==typeof e.install?e.install.apply(e,n):"function"==typeof e&&e.apply(null,n),t.push(e),this}}function Dt(e){e.mixin=function(e){return this.options=G(this.options,e),this}}function Rt(e){e.cid=0;var t=1;e.extend=function(e){e=e||{};var n=this,r=n.cid,i=e._Ctor||(e._Ctor={});if(i[r])return i[r];var o=e.name||n.options.name,a=function(e){this._init(e)};return a.prototype=Object.create(n.prototype),a.prototype.constructor=a,a.cid=t++,a.options=G(n.options,e),a.super=n,a.options.props&&Ft(a),a.options.computed&&Ut(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,Ir.forEach(function(e){a[e]=n[e]}),o&&(a.options.components[o]=a),a.superOptions=n.options,a.extendOptions=e,a.sealedOptions=w({},a.options),i[r]=a,a}}function Ft(e){var t=e.options.props;for(var n in t)ze(e.prototype,"_props",n)}function Ut(e){var t=e.options.computed;for(var n in t)Je(e.prototype,n,t[n])}function Ht(e){Ir.forEach(function(t){e[t]=function(e,n){return n?("component"===t&&c(n)&&(n.name=n.name||e,n=this.options._base.extend(n)),"directive"===t&&"function"==typeof n&&(n={bind:n,update:n}),this.options[t+"s"][e]=n,n):this.options[t+"s"][e]}})}function Wt(e){return e&&(e.Ctor.options.name||e.tag)}function Bt(e,t){return Array.isArray(e)?e.indexOf(t)>-1:"string"==typeof e?e.split(",").indexOf(t)>-1:!!l(e)&&e.test(t)}function Vt(e,t){var n=e.cache,r=e.keys,i=e._vnode;for(var o in n){var a=n[o];if(a){var s=Wt(a.componentOptions);s&&!t(s)&&zt(n,o,r,i)}}}function zt(e,t,n,r){var i=e[t];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),e[t]=null,h(n,t)}function qt(e){for(var t=e.data,n=e,r=e;i(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(t=Xt(r.data,t));for(;i(n=n.parent);)n&&n.data&&(t=Xt(t,n.data));return Yt(t.staticClass,t.class)}function Xt(e,t){return{staticClass:Kt(e.staticClass,t.staticClass),class:i(e.class)?[e.class,t.class]:t.class}}function Yt(e,t){return i(e)||i(t)?Kt(e,Gt(t)):""}function Kt(e,t){return e?t?e+" "+t:e:t||""}function Gt(e){return Array.isArray(e)?Jt(e):u(e)?Qt(e):"string"==typeof e?e:""}function Jt(e){for(var t,n="",r=0,o=e.length;r-1?ro[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:ro[e]=/HTMLUnknownElement/.test(t.toString())}function tn(e){if("string"==typeof e){var t=document.querySelector(e);return t||document.createElement("div")}return e}function nn(e,t){var n=document.createElement(e);return"select"!==e?n:(t.data&&t.data.attrs&&void 0!==t.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n)}function rn(e,t){return document.createElementNS(Zi[e],t)}function on(e){return document.createTextNode(e)}function an(e){return document.createComment(e)}function sn(e,t,n){e.insertBefore(t,n)}function un(e,t){e.removeChild(t)}function cn(e,t){e.appendChild(t)}function ln(e){return e.parentNode}function fn(e){return e.nextSibling}function dn(e){return e.tagName}function pn(e,t){e.textContent=t}function vn(e,t){e.setAttribute(t,"")}function hn(e,t){var n=e.data.ref;if(i(n)){var r=e.context,o=e.componentInstance||e.elm,a=r.$refs;t?Array.isArray(a[n])?h(a[n],o):a[n]===o&&(a[n]=void 0):e.data.refInFor?Array.isArray(a[n])?a[n].indexOf(o)<0&&a[n].push(o):a[n]=[o]:a[n]=o}}function mn(e,t){return e.key===t.key&&(e.tag===t.tag&&e.isComment===t.isComment&&i(e.data)===i(t.data)&&gn(e,t)||o(e.isAsyncPlaceholder)&&e.asyncFactory===t.asyncFactory&&r(t.asyncFactory.error))}function gn(e,t){if("input"!==e.tag)return!0;var n,r=i(n=e.data)&&i(n=n.attrs)&&n.type,o=i(n=t.data)&&i(n=n.attrs)&&n.type;return r===o||io(r)&&io(o)}function yn(e,t,n){var r,o,a={};for(r=t;r<=n;++r)o=e[r].key,i(o)&&(a[o]=r);return a}function bn(e,t){(e.data.directives||t.data.directives)&&_n(e,t)}function _n(e,t){var n,r,i,o=e===so,a=t===so,s=wn(e.data.directives,e.context),u=wn(t.data.directives,t.context),c=[],l=[];for(n in u)r=s[n],i=u[n],r?(i.oldValue=r.value,kn(i,"update",t,e),i.def&&i.def.componentUpdated&&l.push(i)):(kn(i,"bind",t,e),i.def&&i.def.inserted&&c.push(i));if(c.length){var f=function(){for(var n=0;n-1?An(e,t,n):Yi(t)?Qi(n)?e.removeAttribute(t):(n="allowfullscreen"===t&&"EMBED"===e.tagName?"true":t,e.setAttribute(t,n)):Xi(t)?e.setAttribute(t,Qi(n)||"false"===n?"false":"true"):Gi(t)?Qi(n)?e.removeAttributeNS(Ki,Ji(t)):e.setAttributeNS(Ki,t,n):An(e,t,n)}function An(e,t,n){if(Qi(n))e.removeAttribute(t);else{if(Ur&&!Hr&&"TEXTAREA"===e.tagName&&"placeholder"===t&&!e.__ieph){var r=function(t){t.stopImmediatePropagation(),e.removeEventListener("input",r)};e.addEventListener("input",r),e.__ieph=!0}e.setAttribute(t,n)}}function En(e,t){var n=t.elm,o=t.data,a=e.data;if(!(r(o.staticClass)&&r(o.class)&&(r(a)||r(a.staticClass)&&r(a.class)))){var s=qt(t),u=n._transitionClasses;i(u)&&(s=Kt(s,Gt(u))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}}function Sn(e){if(i(e[ho])){var t=Ur?"change":"input";e[t]=[].concat(e[ho],e[t]||[]),delete e[ho]}i(e[mo])&&(e.change=[].concat(e[mo],e.change||[]),delete e[mo])}function On(e,t,n){var r=Wi;return function i(){null!==e.apply(null,arguments)&&In(t,i,n,r)}}function $n(e,t,n,r,i){t=se(t),n&&(t=On(t,e,r)),Wi.addEventListener(e,t,zr?{capture:r,passive:i}:r)}function In(e,t,n,r){(r||Wi).removeEventListener(e,t._withTask||t,n)}function Mn(e,t){if(!r(e.data.on)||!r(t.data.on)){var n=t.data.on||{},i=e.data.on||{};Wi=t.elm,Sn(n),de(n,i,$n,In,t.context),Wi=void 0}}function Nn(e,t){if(!r(e.data.domProps)||!r(t.data.domProps)){var n,o,a=t.elm,s=e.data.domProps||{},u=t.data.domProps||{};i(u.__ob__)&&(u=t.data.domProps=w({},u));for(n in s)r(u[n])&&(a[n]="");for(n in u){if(o=u[n],"textContent"===n||"innerHTML"===n){if(t.children&&(t.children.length=0),o===s[n])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===n){a._value=o;var c=r(o)?"":String(o);Ln(a,c)&&(a.value=c)}else a[n]=o}}}function Ln(e,t){return!e.composing&&("OPTION"===e.tagName||Pn(e,t)||jn(e,t))}function Pn(e,t){var n=!0;try{n=document.activeElement!==e}catch(e){}return n&&e.value!==t}function jn(e,t){var n=e.value,r=e._vModifiers;if(i(r)){if(r.lazy)return!1;if(r.number)return p(n)!==p(t);if(r.trim)return n.trim()!==t.trim()}return n!==t}function Dn(e){var t=Rn(e.style);return e.staticStyle?w(e.staticStyle,t):t}function Rn(e){return Array.isArray(e)?C(e):"string"==typeof e?bo(e):e}function Fn(e,t){var n,r={};if(t)for(var i=e;i.componentInstance;)(i=i.componentInstance._vnode)&&i.data&&(n=Dn(i.data))&&w(r,n);(n=Dn(e.data))&&w(r,n);for(var o=e;o=o.parent;)o.data&&(n=Dn(o.data))&&w(r,n);return r}function Un(e,t){var n=t.data,o=e.data;if(!(r(n.staticStyle)&&r(n.style)&&r(o.staticStyle)&&r(o.style))){var a,s,u=t.elm,c=o.staticStyle,l=o.normalizedStyle||o.style||{},f=c||l,d=Rn(t.data.style)||{};t.data.normalizedStyle=i(d.__ob__)?w({},d):d;var p=Fn(t,!0);for(s in f)r(p[s])&&Co(u,s,"");for(s in p)(a=p[s])!==f[s]&&Co(u,s,null==a?"":a)}}function Hn(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(/\s+/).forEach(function(t){return e.classList.add(t)}):e.classList.add(t);else{var n=" "+(e.getAttribute("class")||"")+" ";n.indexOf(" "+t+" ")<0&&e.setAttribute("class",(n+t).trim())}}function Wn(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(/\s+/).forEach(function(t){return e.classList.remove(t)}):e.classList.remove(t),e.classList.length||e.removeAttribute("class");else{for(var n=" "+(e.getAttribute("class")||"")+" ",r=" "+t+" ";n.indexOf(r)>=0;)n=n.replace(r," ");n=n.trim(),n?e.setAttribute("class",n):e.removeAttribute("class")}}function Bn(e){if(e){if("object"==typeof e){var t={};return!1!==e.css&&w(t,Ao(e.name||"v")),w(t,e),t}return"string"==typeof e?Ao(e):void 0}}function Vn(e){Lo(function(){Lo(e)})}function zn(e,t){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(t)<0&&(n.push(t),Hn(e,t))}function qn(e,t){e._transitionClasses&&h(e._transitionClasses,t),Wn(e,t)}function Xn(e,t,n){var r=Yn(e,t),i=r.type,o=r.timeout,a=r.propCount;if(!i)return n();var s=i===So?Io:No,u=0,c=function(){e.removeEventListener(s,l),n()},l=function(t){t.target===e&&++u>=a&&c()};setTimeout(function(){u0&&(n=So,l=a,f=o.length):t===Oo?c>0&&(n=Oo,l=c,f=u.length):(l=Math.max(a,c),n=l>0?a>c?So:Oo:null,f=n?n===So?o.length:u.length:0),{type:n,timeout:l,propCount:f,hasTransform:n===So&&Po.test(r[$o+"Property"])}}function Kn(e,t){for(;e.length1}function tr(e,t){!0!==t.data.show&&Jn(t)}function nr(e,t,n){rr(e,t,n),(Ur||Wr)&&setTimeout(function(){rr(e,t,n)},0)}function rr(e,t,n){var r=t.value,i=e.multiple;if(!i||Array.isArray(r)){for(var o,a,s=0,u=e.options.length;s-1,a.selected!==o&&(a.selected=o);else if(T(or(a),r))return void(e.selectedIndex!==s&&(e.selectedIndex=s));i||(e.selectedIndex=-1)}}function ir(e,t){return t.every(function(t){return!T(t,e)})}function or(e){return"_value"in e?e._value:e.value}function ar(e){e.target.composing=!0}function sr(e){e.target.composing&&(e.target.composing=!1,ur(e.target,"input"))}function ur(e,t){var n=document.createEvent("HTMLEvents");n.initEvent(t,!0,!0),e.dispatchEvent(n)}function cr(e){return!e.componentInstance||e.data&&e.data.transition?e:cr(e.componentInstance._vnode)}function lr(e){var t=e&&e.componentOptions;return t&&t.Ctor.options.abstract?lr(Te(t.children)):e}function fr(e){var t={},n=e.$options;for(var r in n.propsData)t[r]=e[r];var i=n._parentListeners;for(var o in i)t[kr(o)]=i[o];return t}function dr(e,t){if(/\d-keep-alive$/.test(t.tag))return e("keep-alive",{props:t.componentOptions.propsData})}function pr(e){for(;e=e.parent;)if(e.data.transition)return!0}function vr(e,t){return t.key===e.key&&t.tag===e.tag}function hr(e){e.elm._moveCb&&e.elm._moveCb(),e.elm._enterCb&&e.elm._enterCb()}function mr(e){e.data.newPos=e.elm.getBoundingClientRect()}function gr(e){var t=e.data.pos,n=e.data.newPos,r=t.left-n.left,i=t.top-n.top;if(r||i){e.data.moved=!0;var o=e.elm.style;o.transform=o.WebkitTransform="translate("+r+"px,"+i+"px)",o.transitionDuration="0s"}}var yr=Object.freeze({}),br=Object.prototype.toString,_r=(v("slot,component",!0),v("key,ref,slot,slot-scope,is")),wr=Object.prototype.hasOwnProperty,Cr=/-(\w)/g,kr=g(function(e){return e.replace(Cr,function(e,t){return t?t.toUpperCase():""})}),Tr=g(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),xr=/\B([A-Z])/g,Ar=g(function(e){return e.replace(xr,"-$1").toLowerCase()}),Er=Function.prototype.bind?b:y,Sr=function(e,t,n){return!1},Or=function(e){return e},$r="data-server-rendered",Ir=["component","directive","filter"],Mr=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured"],Nr={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:Sr,isReservedAttr:Sr,isUnknownElement:Sr,getTagNamespace:k,parsePlatformTagName:Or,mustUseProp:Sr,_lifecycleHooks:Mr},Lr=/[^\w.$]/,Pr="__proto__"in{},jr="undefined"!=typeof window,Dr="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,Rr=Dr&&WXEnvironment.platform.toLowerCase(),Fr=jr&&window.navigator.userAgent.toLowerCase(),Ur=Fr&&/msie|trident/.test(Fr),Hr=Fr&&Fr.indexOf("msie 9.0")>0,Wr=Fr&&Fr.indexOf("edge/")>0,Br=(Fr&&Fr.indexOf("android"),Fr&&/iphone|ipad|ipod|ios/.test(Fr)||"ios"===Rr),Vr=(Fr&&/chrome\/\d+/.test(Fr),{}.watch),zr=!1;if(jr)try{var qr={};Object.defineProperty(qr,"passive",{get:function(){zr=!0}}),window.addEventListener("test-passive",null,qr)}catch(e){}var Xr,Yr,Kr=function(){return void 0===Xr&&(Xr=!jr&&!Dr&&void 0!==e&&"server"===e.process.env.VUE_ENV),Xr},Gr=jr&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__,Jr="undefined"!=typeof Symbol&&$(Symbol)&&"undefined"!=typeof Reflect&&$(Reflect.ownKeys);Yr="undefined"!=typeof Set&&$(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var Qr=k,Zr=0,ei=function(){this.id=Zr++,this.subs=[]};ei.prototype.addSub=function(e){this.subs.push(e)},ei.prototype.removeSub=function(e){h(this.subs,e)},ei.prototype.depend=function(){ei.target&&ei.target.addDep(this)},ei.prototype.notify=function(){for(var e=this.subs.slice(),t=0,n=e.length;t1?_(n):n;for(var r=_(arguments,1),i=0,o=n.length;iparseInt(this.max)&&zt(u,c[0],c,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}},Hi={KeepAlive:Ui};(function(e){var t={};t.get=function(){return Nr},Object.defineProperty(e,"config",t),e.util={warn:Qr,extend:w,mergeOptions:G,defineReactive:F},e.set=U,e.delete=H,e.nextTick=ue,e.options=Object.create(null),Ir.forEach(function(t){e.options[t+"s"]=Object.create(null)}),e.options._base=e,w(e.options.components,Hi),jt(e),Dt(e),Rt(e),Ht(e)})(Pt),Object.defineProperty(Pt.prototype,"$isServer",{get:Kr}),Object.defineProperty(Pt.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Pt,"FunctionalRenderContext",{value:gt}),Pt.version="2.5.15";var Wi,Bi,Vi=v("style,class"),zi=v("input,textarea,option,select,progress"),qi=function(e,t,n){return"value"===n&&zi(e)&&"button"!==t||"selected"===n&&"option"===e||"checked"===n&&"input"===e||"muted"===n&&"video"===e},Xi=v("contenteditable,draggable,spellcheck"),Yi=v("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),Ki="http://www.w3.org/1999/xlink",Gi=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},Ji=function(e){return Gi(e)?e.slice(6,e.length):""},Qi=function(e){return null==e||!1===e},Zi={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},eo=v("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),to=v("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),no=function(e){return eo(e)||to(e)},ro=Object.create(null),io=v("text,number,password,search,email,tel,url"),oo=Object.freeze({createElement:nn,createElementNS:rn,createTextNode:on,createComment:an,insertBefore:sn,removeChild:un,appendChild:cn,parentNode:ln,nextSibling:fn,tagName:dn,setTextContent:pn,setStyleScope:vn}),ao={create:function(e,t){hn(t)},update:function(e,t){e.data.ref!==t.data.ref&&(hn(e,!0),hn(t))},destroy:function(e){hn(e,!0)}},so=new ni("",{},[]),uo=["create","activate","update","remove","destroy"],co={create:bn,update:bn,destroy:function(e){bn(e,so)}},lo=Object.create(null),fo=[ao,co],po={create:Tn,update:Tn},vo={create:En,update:En},ho="__r",mo="__c",go={create:Mn,update:Mn},yo={create:Nn,update:Nn},bo=g(function(e){var t={},n=/;(?![^(]*\))/g,r=/:(.+)/;return e.split(n).forEach(function(e){if(e){var n=e.split(r);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}),_o=/^--/,wo=/\s*!important$/,Co=function(e,t,n){if(_o.test(t))e.style.setProperty(t,n);else if(wo.test(n))e.style.setProperty(t,n.replace(wo,""),"important");else{var r=To(t);if(Array.isArray(n))for(var i=0,o=n.length;iv?(f=r(n[g+1])?null:n[g+1].elm,y(e,f,n,p,g,o)):p>g&&_(e,t,d,v)}function k(e,t,n,r){for(var o=n;o=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},n(6),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(t,n(0))},function(e,t,n){(function(e,t){(function(e,n){"use strict";function r(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n1)for(var n=1;nNo match!'}.bind(n)}(O),lookup:w,fillAttr:k,values:o,requireLeadingSpace:I}];else{if(!x)throw new Error("[Tribute] No collection specified.");this.collection=x.map(function(t){return{trigger:t.trigger||h,iframe:t.iframe||s,selectClass:t.selectClass||f,selectTemplate:(t.selectTemplate||e.defaultSelectTemplate).bind(n),menuItemTemplate:(t.menuItemTemplate||e.defaultMenuItemTemplate).bind(n),noMatchTemplate:function(e){return"function"==typeof e?e.bind(n):null}(O),lookup:t.lookup||w,fillAttr:t.fillAttr||k,values:t.values,requireLeadingSpace:t.requireLeadingSpace}})}new d.default(this),new u.default(this),new l.default(this),new v.default(this)}return o(e,[{key:"triggers",value:function(){return this.collection.map(function(e){return e.trigger})}},{key:"attach",value:function(e){if(!e)throw new Error("[Tribute] Must pass in a DOM node or NodeList.");if("undefined"!=typeof jQuery&&e instanceof jQuery&&(e=e.get()),e.constructor===NodeList||e.constructor===HTMLCollection||e.constructor===Array)for(var t=e.length,n=0;n",post:"",extract:function(e){if("string"==typeof n.current.collection.lookup)return e[n.current.collection.lookup];if("function"==typeof n.current.collection.lookup)return n.current.collection.lookup(e);throw new Error("Invalid lookup attribute, lookup must be string or function.")}});n.current.filteredItems=r;var i=n.menu.querySelector("ul");if(n.range.positionMenuAtCaret(t),!r.length){var o=new CustomEvent("tribute-no-match",{detail:n.menu});return n.current.element.dispatchEvent(o),void(n.current.collection.noMatchTemplate?i.innerHTML=n.current.collection.noMatchTemplate():n.hideMenu())}i.innerHTML="",r.forEach(function(e,t){var r=n.range.getDocument().createElement("li");r.setAttribute("data-index",t),r.addEventListener("mouseenter",function(e){var t=e.target,r=t.getAttribute("data-index");n.events.setActiveLi(r)}),n.menuSelected===t&&(r.className=n.current.collection.selectClass),r.innerHTML=n.current.collection.menuItemTemplate(e),i.appendChild(r)})}};"function"==typeof this.current.collection.values?this.current.collection.values(this.current.mentionText,r):r(this.current.collection.values)}}},{key:"showMenuForCollection",value:function(e,t){e!==document.activeElement&&this.placeCaretAtEnd(e),this.current.collection=this.collection[t||0],this.current.externalTrigger=!0,this.current.element=e,e.isContentEditable?this.insertTextAtCursor(this.current.collection.trigger):this.insertAtCaret(e,this.current.collection.trigger),this.showMenuFor(e)}},{key:"placeCaretAtEnd",value:function(e){if(e.focus(),void 0!==window.getSelection&&void 0!==document.createRange){var t=document.createRange();t.selectNodeContents(e),t.collapse(!1);var n=window.getSelection();n.removeAllRanges(),n.addRange(t)}else if(void 0!==document.body.createTextRange){var r=document.body.createTextRange();r.moveToElementText(e),r.collapse(!1),r.select()}}},{key:"insertTextAtCursor",value:function(e){var t,n;t=window.getSelection(),n=t.getRangeAt(0),n.deleteContents();var r=document.createTextNode(e);n.insertNode(r),n.selectNodeContents(r),n.collapse(!1),t.removeAllRanges(),t.addRange(n)}},{key:"insertAtCaret",value:function(e,t){var n=e.scrollTop,r=e.selectionStart,i=e.value.substring(0,r),o=e.value.substring(e.selectionEnd,e.value.length);e.value=i+t+o,r+=t.length,e.selectionStart=r,e.selectionEnd=r,e.focus(),e.scrollTop=n}},{key:"hideMenu",value:function(){this.menu&&(this.menu.style.cssText="display: none;",this.isActive=!1,this.menuSelected=0,this.current={})}},{key:"selectItemAtIndex",value:function(e,t){if("number"==typeof(e=parseInt(e))){var n=this.current.filteredItems[e],r=this.current.collection.selectTemplate(n);null!==r&&this.replaceText(r,t,n)}}},{key:"replaceText",value:function(e,t,n){this.range.replaceTriggerText(e,!0,!0,t,n)}},{key:"_append",value:function(e,t,n){if("function"==typeof e.values)throw new Error("Unable to append to values, as it is a function.");e.values=n?t:e.values.concat(t)}},{key:"append",value:function(e,t,n){var r=parseInt(e);if("number"!=typeof r)throw new Error("please provide an index for the collection to update.");var i=this.collection[r];this._append(i,t,n)}},{key:"appendCurrent",value:function(e,t){if(!this.isActive)throw new Error("No active state. Please use append instead and pass an index.");this._append(this.current.collection,e,t)}}],[{key:"defaultSelectTemplate",value:function(e){return void 0===e?null:this.range.isContentEditable(this.current.element)?''+(this.current.collection.trigger+e.original[this.current.collection.fillAttr])+"":this.current.collection.trigger+e.original[this.current.collection.fillAttr]}},{key:"defaultMenuItemTemplate",value:function(e){return e.string}},{key:"inputTypes",value:function(){return["TEXTAREA","INPUT"]}}]),e}();n.default=h,t.exports=n.default},{"./TributeEvents":2,"./TributeMenuEvents":3,"./TributeRange":4,"./TributeSearch":5,"./utils":7}],2:[function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n container for the click");n.selectItemAtIndex(r.getAttribute("data-index"),t),n.hideMenu()}else n.current.element&&!n.current.externalTrigger&&(n.current.externalTrigger=!1,setTimeout(function(){return n.hideMenu()}))}},{key:"keyup",value:function(e,t){if(e.inputEvent&&(e.inputEvent=!1),e.updateSelection(this),27!==t.keyCode){if(!e.tribute.isActive){var n=e.getKeyCode(e,this,t);if(isNaN(n)||!n)return;var r=e.tribute.triggers().find(function(e){return e.charCodeAt(0)===n});void 0!==r&&e.callbacks().triggerChar(t,this,r)}(e.tribute.current.trigger&&!1===e.commandEvent||e.tribute.isActive&&8===t.keyCode)&&e.tribute.showMenuFor(this,!0)}}},{key:"shouldDeactivate",value:function(t){if(!this.tribute.isActive)return!1;if(0===this.tribute.current.mentionText.length){var n=!1;return e.keys().forEach(function(e){t.keyCode===e.key&&(n=!0)}),!n}return!1}},{key:"getKeyCode",value:function(e,t,n){var r=e.tribute,i=r.range.getTriggerInfo(!1,!1,!0,r.allowSpaces);return!!i&&i.mentionTriggerChar.charCodeAt(0)}},{key:"updateSelection",value:function(e){this.tribute.current.element=e;var t=this.tribute.range.getTriggerInfo(!1,!1,!0,this.tribute.allowSpaces);t&&(this.tribute.current.selectedPath=t.mentionSelectedPath,this.tribute.current.mentionText=t.mentionText,this.tribute.current.selectedOffset=t.mentionSelectedOffset)}},{key:"callbacks",value:function(){var e=this;return{triggerChar:function(t,n,r){var i=e.tribute;i.current.trigger=r;var o=i.collection.find(function(e){return e.trigger===r});i.current.collection=o,i.inputEvent&&i.showMenuFor(n,!0)},enter:function(t,n){e.tribute.isActive&&(t.preventDefault(),t.stopPropagation(),setTimeout(function(){e.tribute.selectItemAtIndex(e.tribute.menuSelected,t),e.tribute.hideMenu()},0))},escape:function(t,n){e.tribute.isActive&&(t.preventDefault(),t.stopPropagation(),e.tribute.isActive=!1,e.tribute.hideMenu())},tab:function(t,n){e.callbacks().enter(t,n)},up:function(t,n){if(e.tribute.isActive){t.preventDefault(),t.stopPropagation();var r=e.tribute.current.filteredItems.length,i=e.tribute.menuSelected;r>i&&i>0?(e.tribute.menuSelected--,e.setActiveLi()):0===i&&(e.tribute.menuSelected=r-1,e.setActiveLi(),e.tribute.menu.scrollTop=e.tribute.menu.scrollHeight)}},down:function(t,n){if(e.tribute.isActive){t.preventDefault(),t.stopPropagation();var r=e.tribute.current.filteredItems.length-1,i=e.tribute.menuSelected;r>i?(e.tribute.menuSelected++,e.setActiveLi()):r===i&&(e.tribute.menuSelected=0,e.setActiveLi(),e.tribute.menu.scrollTop=0)}},delete:function(t,n){e.tribute.isActive&&e.tribute.current.mentionText.length<1?e.tribute.hideMenu():e.tribute.isActive&&e.tribute.showMenuFor(n)}}}},{key:"setActiveLi",value:function(e){var t=this.tribute.menu.querySelectorAll("li"),n=t.length>>>0,r=this.getFullHeight(this.tribute.menu),i=this.getFullHeight(t[0]);e&&(this.tribute.menuSelected=e);for(var o=0;oc?this.tribute.menu.scrollTop+=i:s=0&&(t=r.substring(0,i))}}else{var o=this.tribute.current.element;if(o){var a=o.selectionStart;o.value&&a>=0&&(t=o.value.substring(0,a))}}return t}},{key:"getTriggerInfo",value:function(e,t,n,r){var i=this,o=this.tribute.current,a=void 0,s=void 0,u=void 0;if(this.isContentEditable(o.element)){var c=this.getContentEditableSelectedPath(o);c&&(a=c.selected,s=c.path,u=c.offset)}else a=this.getDocument().activeElement;var l=this.getTextPrecedingCurrentSelection();if(void 0!==l&&null!==l){var f=-1,d=void 0;if(this.tribute.collection.forEach(function(e){var t=e.trigger,r=e.requireLeadingSpace?i.lastIndexWithLeadingSpace(l,t):l.lastIndexOf(t);r>f&&(f=r,d=t,n=e.requireLeadingSpace)}),f>=0&&(0===f||!n||/[\xA0\s]/g.test(l.substring(f-1,f)))){var p=l.substring(f+1,l.length);d=l.substring(f,f+1);var v=p.substring(0,1),h=p.length>0&&(" "===v||" "===v);t&&(p=p.trim());var m=r?/[^\S ]/g:/[\xA0\s]/g;if(!h&&(e||!m.test(p)))return{mentionPosition:f,mentionText:p,mentionSelectedElement:a,mentionSelectedPath:s,mentionSelectedOffset:u,mentionTriggerChar:d}}}}},{key:"lastIndexWithLeadingSpace",value:function(e,t){for(var n=e.split("").reverse().join(""),r=-1,i=0,o=e.length;iparseInt(a.height)&&(o.overflowY="scroll")):o.overflow="hidden",i.textContent=e.value.substring(0,t),"INPUT"===e.nodeName&&(i.textContent=i.textContent.replace(/\s/g," "));var s=this.getDocument().createElement("span");s.textContent=e.value.substring(t)||".",i.appendChild(s);var u=e.getBoundingClientRect(),c=document.documentElement,l=(window.pageXOffset||c.scrollLeft)-(c.clientLeft||0),f=(window.pageYOffset||c.scrollTop)-(c.clientTop||0),d={top:u.top+f+s.offsetTop+parseInt(a.borderTopWidth)+parseInt(a.fontSize)-e.scrollTop,left:u.left+l+s.offsetLeft+parseInt(a.borderLeftWidth)};return this.getDocument().body.removeChild(i),d}},{key:"getContentEditableCaretPosition",value:function(e){var t=void 0,n="sel_"+(new Date).getTime()+"_"+Math.random().toString().substr(2),r=void 0,i=this.getWindowSelection(),o=i.getRangeAt(0);r=this.getDocument().createRange(),r.setStart(i.anchorNode,e),r.setEnd(i.anchorNode,e),r.collapse(!1),t=this.getDocument().createElement("span"),t.id=n,t.appendChild(this.getDocument().createTextNode("\ufeff")),r.insertNode(t),i.removeAllRanges(),i.addRange(o);var a=t.getBoundingClientRect(),s=document.documentElement,u=(window.pageXOffset||s.scrollLeft)-(s.clientLeft||0),c=(window.pageYOffset||s.scrollTop)-(s.clientTop||0),l={left:a.left+u,top:a.top+t.offsetHeight+c};return t.parentNode.removeChild(t),l}},{key:"scrollIntoView",value:function(e){var t=void 0,n=this.menu;if(void 0!==n){for(;void 0===t||0===t.height;)if(t=n.getBoundingClientRect(),0===t.height&&(void 0===(n=n.childNodes[0])||!n.getBoundingClientRect))return;var r=t.top,i=r+t.height;if(r<0)window.scrollTo(0,window.pageYOffset+t.top-20);else if(i>window.innerHeight){var o=window.pageYOffset+t.top-20;o-window.pageYOffset>100&&(o=window.pageYOffset+100);var a=window.pageYOffset-(window.innerHeight-i);a>o&&(a=o),window.scrollTo(0,a)}}}}]),e}();n.default=o,t.exports=n.default},{}],5:[function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;ne.length-n)){for(var o=t[r],a=e.indexOf(o,n),s=void 0,u=void 0;a>-1;){if(i.push(a),u=this.traverse(e,t,a+1,r+1,i),i.pop(),!u)return s;(!s||s.score0&&(e[i-1]+1===r?n+=n+1:n=1),t+=n}),t}},{key:"render",value:function(e,t,n,r){var i=e.substring(0,t[0]);return t.forEach(function(o,a){i+=n+e[o]+r+e.substring(o+1,t[a+1]?t[a+1]:e.length)}),i}},{key:"filter",value:function(e,t,n){var r=this;return n=n||{},t.reduce(function(t,i,o,a){var s=i;n.extract&&((s=n.extract(i))||(s=""));var u=r.match(e,s,n);return null!=u&&(t[t.length]={string:u.rendered,score:u.score,index:o,original:i}),t},[]).sort(function(e,t){var n=t.score-e.score;return n||e.index-t.index})}}]),e}();n.default=o,t.exports=n.default},{}],6:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=e("./Tribute"),i=function(e){return e&&e.__esModule?e:{default:e}}(r);n.default=i.default,t.exports=n.default},{"./Tribute":1}],7:[function(e,t,n){"use strict";if(Array.prototype.find||(Array.prototype.find=function(e){if(null===this)throw new TypeError("Array.prototype.find called on null or undefined");if("function"!=typeof e)throw new TypeError("predicate must be a function");for(var t,n=Object(this),r=n.length>>>0,i=arguments[1],o=0;o= 0 && Math.floor(n) === n && isFinite(val)\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : typeof val === 'object'\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert a input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if a attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether the object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it... e.g.\n * PhantomJS 1.x. Technically we don't need this anymore since native bind is\n * now more performant in most browsers, but removing it would be breaking for\n * code that was able to run in PhantomJS 1.x, so this must be kept for\n * backwards compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/)\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/**\n * Return same value\n */\nvar identity = function (_) { return _; };\n\n/**\n * Generate a static keys string from compiler modules.\n */\n\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured'\n];\n\n/* */\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: \"production\" !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: \"production\" !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n})\n\n/* */\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = /[^\\w.$]/;\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = (function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (false) {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return ''\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm || {};\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// the current target watcher being evaluated.\n// this is globally unique because there could be only one\n// watcher being evaluated at any time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (_target) {\n if (Dep.target) { targetStack.push(Dep.target); }\n Dep.target = _target;\n}\n\nfunction popTarget () {\n Dep.target = targetStack.pop();\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n vnode.children,\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n var augment = hasProto\n ? protoAugment\n : copyAugment;\n augment(value, arrayMethods, arrayKeys);\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through each property and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment an target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src, keys) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment an target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n if (!getter && arguments.length === 2) {\n val = obj[key];\n }\n var setter = property && property.set;\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (false) {\n customSetter();\n }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (false\n ) {\n warn((\"Cannot set reactive property on non-object/array value: \" + target));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n \"production\" !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (false\n ) {\n warn((\"Cannot delete reactive property on non-object/array value: \" + target));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n \"production\" !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (false) {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n var keys = Object.keys(from);\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (isPlainObject(toVal) && isPlainObject(fromVal)) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n \"production\" !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n return childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n \"production\" !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (false) {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && \"production\" !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!/^[a-zA-Z][\\w-]*$/.test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'can only contain alphanumeric characters and the hyphen, ' +\n 'and must start with a letter.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (false) {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (false) {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (false) {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def = dirs[key];\n if (typeof def === 'function') {\n dirs[key] = { bind: def, update: def };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (false) {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n var extendsFrom = child.extends;\n if (extendsFrom) {\n parent = mergeOptions(parent, extendsFrom, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (false) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n false\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (false) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n if (!valid) {\n warn(\n \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', ')) +\n \", got \" + (toRawType(value)) + \".\",\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n logError(e, null, 'config.errorHandler');\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (false) {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n/* globals MessageChannel */\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using both microtasks and (macro) tasks.\n// In < 2.4 we used microtasks everywhere, but there are some scenarios where\n// microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690) or even between bubbling of the same\n// event (#6566). However, using (macro) tasks everywhere also has subtle problems\n// when state is changed right before repaint (e.g. #6813, out-in transitions).\n// Here we use microtask by default, but expose a way to force (macro) task when\n// needed (e.g. in event handlers attached by v-on).\nvar microTimerFunc;\nvar macroTimerFunc;\nvar useMacroTask = false;\n\n// Determine (macro) task defer implementation.\n// Technically setImmediate should be the ideal choice, but it's only available\n// in IE. The only polyfill that consistently queues the callback after all DOM\n// events triggered in the same loop is by using MessageChannel.\n/* istanbul ignore if */\nif (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n macroTimerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else if (typeof MessageChannel !== 'undefined' && (\n isNative(MessageChannel) ||\n // PhantomJS\n MessageChannel.toString() === '[object MessageChannelConstructor]'\n)) {\n var channel = new MessageChannel();\n var port = channel.port2;\n channel.port1.onmessage = flushCallbacks;\n macroTimerFunc = function () {\n port.postMessage(1);\n };\n} else {\n /* istanbul ignore next */\n macroTimerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\n// Determine microtask defer implementation.\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n microTimerFunc = function () {\n p.then(flushCallbacks);\n // in problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n} else {\n // fallback to macro\n microTimerFunc = macroTimerFunc;\n}\n\n/**\n * Wrap a function so that if any code inside triggers state change,\n * the changes are queued using a (macro) task instead of a microtask.\n */\nfunction withMacroTask (fn) {\n return fn._withTask || (fn._withTask = function () {\n useMacroTask = true;\n var res = fn.apply(null, arguments);\n useMacroTask = false;\n return res\n })\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n if (useMacroTask) {\n macroTimerFunc();\n } else {\n microTimerFunc();\n }\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (false) {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) || key.charAt(0) === '_';\n if (!has && !isAllowed) {\n warnNonPresent(target, key);\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n warnNonPresent(target, key);\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\nvar mark;\nvar measure;\n\nif (false) {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n perf.clearMeasures(name);\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n cloned[i].apply(null, arguments$1);\n }\n } else {\n // return handler return value for single handlers\n return fns.apply(null, arguments)\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n vm\n) {\n var name, def, cur, old, event;\n for (name in on) {\n def = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n /* istanbul ignore if */\n if (isUndef(cur)) {\n \"production\" !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur);\n }\n add(event.name, cur, event.once, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\n/* */\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (false) {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g.