diff --git a/.gitignore b/.gitignore
index 40b878d..12ac647 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
-node_modules/
\ No newline at end of file
+node_modules/
+.DS_Store
\ No newline at end of file
diff --git a/README.md b/README.md
index ac57dda..153ae8e 100644
--- a/README.md
+++ b/README.md
@@ -1,51 +1,25 @@
# vue2-waterfall
-[](https://travis-ci.org/PLDaily/vue2-waterfall)
-[](https://www.npmjs.com/package/vue2-waterfall)
-[](https://www.npmjs.com/package/vue2-waterfall)
-[](https://www.npmjs.com/package/vue2-waterfall)
+[](https://www.npmjs.com/package/@rguanghui/vue2-waterfall)
+[](https://www.npmjs.com/package/@rguanghui/vue2-waterfall)
+[](https://www.npmjs.com/package/@rguanghui/vue2-waterfall)
[](https://github.com/standard/standard)
-[访问中文版](https://github.com/PLDaily/vue2-waterfall/blob/2.0/ZH_CN.md)
-
## Overview
> An AutoHeight Waterfall Component For Vue2
-[demo](http://67.218.146.247:8090/)
-
-## Release 2.0
-
-- support ssr
-- no dependencies
-
## Install
-### Install vue2-waterfall
-
```sh
-npm install vue2-waterfall
+npm install @rguanghui/vue2-waterfall
```
-### Import vue2-waterfall
-
-ES6/commonjs import style is supported.
-
-```js
-// ES6
-import {Waterfall, WaterfallItem} from 'vue2-waterfall';
-
-// commonjs
-const Waterfall = require("vue2-waterfall").Waterfall;
-const WaterfallItem = require("vue2-waterfall").WaterfallItem;
-```
-or link as a `script` in an html file and access global variable `Vue2Waterfall`.
+## Usage
```js
-
+import { Waterfall, WaterfallItem } from 'vue2-waterfall'
```
-## Usage
-
```html
item1
@@ -55,28 +29,24 @@ or link as a `script` in an html file and access global variable `Vue2Waterfall`
```
+> See the source code to get the complete example.
+
## options
### Waterfall Attributes
-| Option | Description | default | type | acceptable values |
-| --------------- | ------------------------------------------------------------- | ----------- | --------- | ------------------------ |
-| gutterWidth | the waterfall brick element horizontal gutter | 0 | Number | - |
-| gutterHeight | the waterfall brick element vertical gutter | 0 | Number | - |
-| resizable | triggers layout when browser window is resized | true | Boolean | 'true' 'false' |
-| align | Alignment | 'center' | String | 'left' 'center' 'right' |
-| fixWidth | fix the waterfall component width | - | Number | - |
-| minCol | min columns | 1 | Number | - |
-| maxCol | max column | - | Number | - |
-| percent | use Fluid layout, ignore waterfallitem width. such as [1, 1] | - | Array | - |
+| Option | Description | default | type
+| ------------ | ---------------------------------------------- | ------ | ------- |
+| gutterWidth | the waterfall brick element horizontal gutter | 10 | Number |
+| gutterHeight | the waterfall brick element vertical gutter | 10 | Number |
+| resizable | triggers layout when browser window is resized | true | Boolean |
+| percent | use Fluid layout. such as [1, 1] | - | Array |
### WaterfallItem Attributes
-| Option | Description | default | type |
-| ------- | ----------------------------------------------------------- | ----------- | --------- |
-| width | The width of waterfallItem | 150 | Number |
-
-
-## LICENSE
+| Option | Description | default | type
+| --------- | ------------ | ----------- | --- |
+| emitEvent | emit an event when the component rendered complete by yourself | - | String |
-MIT@[PLDaily](https://github.com/PLDaily)
+> Note: the effect of the `emitEvent` is to let code know how height is this component.
+> in some case(such as async component or has child component to render), we don't know when to get the final height in the browser. so you may need to actively emit an event to help get the correct dom tree.
diff --git a/ZH_CN.md b/ZH_CN.md
deleted file mode 100644
index cca08c7..0000000
--- a/ZH_CN.md
+++ /dev/null
@@ -1,80 +0,0 @@
-# vue2-waterfall
-
-[](https://travis-ci.org/PLDaily/vue2-waterfall)
-[](https://www.npmjs.com/package/vue2-waterfall)
-[](https://www.npmjs.com/package/vue2-waterfall)
-[](https://www.npmjs.com/package/vue2-waterfall)
-[](https://github.com/standard/standard)
-
-## 概述
-> 一个基于vue2的自适应高度瀑布流组件
-
-[demo](http://67.218.146.247:8090/)
-
-## Release 2.0
-
-- 支持服务端渲染
-- 无任何依赖
-
-## 安装
-
-### 安装 vue2-waterfall
-
-```sh
-npm install vue2-waterfall
-```
-
-### 加载 vue2-waterfall 模块
-
-支持 ES6 与 commonjs 的加载方式
-
-```js
-// ES6
-import {Waterfall, WaterfallItem} from 'vue2-waterfall';
-
-// commonjs
-const Waterfall = require("vue2-waterfall").Waterfall;
-const WaterfallItem = require("vue2-waterfall").WaterfallItem;
-```
-也可以在 html 文件中使用 `script` 标签引入脚本,访问全局变量 `Vue2Waterfall`
-
-```js
-
-```
-
-## 使用
-
-```html
-
- item1
- item2
- item3
- ...
-
-```
-
-## 选项
-
-### Waterfall 属性
-
-| 属性 | 描述 | 默认值 | 类型 | 可选项 |
-| --------------- | ---------------------------------------------- | ----------- | --------- | ------------------------ |
-| gutterWidth | 瀑布流子组件水平间距 | 0 | Number | - |
-| gutterHeight | 瀑布流子组件垂直间距 | 0 | Number | - |
-| resizable | 当浏览器窗口调整大小时是否重新布局 | true | Boolean | 'true' 'false' |
-| align | 对齐方式 | 'center' | String | 'left' 'center' 'right' |
-| fixWidth | 是否固定组件宽度 | - | Number | - |
-| minCol | 最小显示列数 | 1 | Number | - |
-| maxCol | 最大显示列数 | - | Number | - |
-| percent | 使用流体百分比布局,忽略子组件的宽度,例: [1,1] | - | Array | - |
-
-### WaterfallItem 属性
-
-| 属性 | 描述 | 默认值 | 类型 |
-| ------- | -------------------------------------------------------- | ------------ | --------- |
-| width | 瀑布流子组件的宽度 | 150 | Number |
-
-
-## LICENSE
-
-MIT@[PLDaily](https://github.com/PLDaily)
diff --git a/dist/vue2-waterfall.js b/dist/vue2-waterfall.js
index 5736b20..436cbc3 100644
--- a/dist/vue2-waterfall.js
+++ b/dist/vue2-waterfall.js
@@ -1,11 +1,6 @@
/*!
* An AutoHeight Waterfall Component For Vue2
- * v2.0.1 ©2018 PLDaily
+ * v3.0.0-alpha.3 ©2019 PLDaily
* https://github.com/PLDaily/vue2-waterfall#readme
*/
-!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Vue2Waterfall=t():e.Vue2Waterfall=t()}("undefined"!=typeof self?self:this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/",t(t.s=5)}([function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t){e.exports=function(e,t,n,r,o,i){var a,s=e=e||{},c=typeof e.default;"object"!==c&&"function"!==c||(a=e,s=e.default);var u="function"==typeof s?s.options:s;t&&(u.render=t.render,u.staticRenderFns=t.staticRenderFns,u._compiled=!0),n&&(u.functional=!0),o&&(u._scopeId=o);var l;if(i?(l=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(i)},u._ssrRegister=l):r&&(l=r),l){var f=u.functional,d=f?u.render:u.beforeCreate;f?(u._injectStyles=l,u.render=function(e,t){return l.call(t),d(e,t)}):u.beforeCreate=d?[].concat(d,l):[l]}return{esModule:a,exports:s,options:u}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(7),o=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default={name:"Waterfall",props:{gutterWidth:{type:Number,default:0},gutterHeight:{type:Number,default:0},resizable:{type:Boolean,default:!0},align:{type:String,default:"center"},fixWidth:{type:Number},minCol:{type:Number,default:1},maxCol:{type:Number},percent:{type:Array}},data:function(){return{width:0,itemWidth:100,minWidth:0,maxWidth:0}},mounted:function(){var e=this;o.default.nextTick(function(){e.width=e.$refs.waterfall.offsetWidth,e.resizeHandle()}),this.percent||this.$on("itemRender",function(t){e.width=e.$refs.waterfall.offsetWidth,e.itemWidth=t,e.emit(),e.calMinWidth(),e.calMaxWidth()})},render:function(e){var t=this;if(!this.$slots.default)return e("div",{class:"waterfall",ref:"waterfall"},this.$slots.default);if(this.percent&&this.percent.length>0){var n=this.percent.length,r=this.percent.reduce(function(e,t){return e+t});return e("div",{class:"waterfall",ref:"waterfall",style:{display:"undefined"==typeof window?"none":"block"}},Array.apply(null,{length:n}).map(function(o,i){return e("div",{class:"waterfall-box",style:{width:t.percent[i]*t.width/r+"px",verticalAlign:"top",display:"inline-block"}},t.$slots.default.filter(function(e,t){return t%n===i}))}))}var o=this.fixWidth||this.width,i=parseInt(o/(this.itemWidth+this.gutterWidth))||1;return e("div",{class:"waterfall",ref:"waterfall",style:{display:"undefined"==typeof window?"none":"block",textAlign:this.align,margin:"0 auto"}},Array.apply(null,{length:i}).map(function(n,r){return e("div",{class:"waterfall-box",style:{width:t.itemWidth+"px",padding:"0 "+t.gutterWidth/2+"px",verticalAlign:"top",display:"inline-block"}},t.$slots.default.filter(function(e,t){return t%i===r}))}))},methods:{emit:function(){var e=this;this.$children.map(function(t){return t.$emit("getGutterHeight",e.gutterHeight)})},resizeHandle:function(){this.resizable?this.onResize():this.offResize()},onResize:function(){var e=this;window.addEventListener("resize",function(){e.width=e.$refs.waterfall.offsetWidth},!1)},offResize:function(){var e=this;this.$refs.waterfall.style.width=this.width+"px",window.removeEventListener("resize",function(){e.width=e.$refs.waterfall.offsetWidth},!1)},calMinWidth:function(){this.minCol&&this.minCol>0&&(this.minWidth=(this.itemWidth+this.gutterWidth)*this.minCol,this.$refs.waterfall.style.minWidth=this.minWidth+"px")},calMaxWidth:function(){this.maxCol&&this.maxCol>0&&(this.maxWidth=(this.itemWidth+this.gutterWidth)*this.maxCol,this.$refs.waterfall.style.maxWidth=this.maxWidth+"px")}}}},function(e,t){function n(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function o(e){if(l===setTimeout)return setTimeout(e,0);if((l===n||!l)&&setTimeout)return l=setTimeout,setTimeout(e,0);try{return l(e,0)}catch(t){try{return l.call(null,e,0)}catch(t){return l.call(this,e,0)}}}function i(e){if(f===clearTimeout)return clearTimeout(e);if((f===r||!f)&&clearTimeout)return f=clearTimeout,clearTimeout(e);try{return f(e)}catch(t){try{return f.call(null,e)}catch(t){return f.call(this,e)}}}function a(){h&&p&&(h=!1,p.length?v=p.concat(v):m=-1,v.length&&s())}function s(){if(!h){var e=o(a);h=!0;for(var t=v.length;t;){for(p=v,v=[];++m1)for(var n=1;n=0&&Math.floor(t)===t&&isFinite(e)}function v(e){return null==e?"":"object"==typeof e?JSON.stringify(e,null,2):String(e)}function h(e){var t=parseFloat(e);return isNaN(t)?e:t}function m(e,t){for(var n=Object.create(null),r=e.split(","),o=0;o-1)return e.splice(n,1)}}function g(e,t){return kr.call(e,t)}function _(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}function b(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 w(e,t){return e.bind(t)}function E(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function O(e,t){for(var n in t)e[n]=t[n];return e}function N(e){for(var t={},n=0;n-1)if(a&&!g(i,"default"))s=!1;else if(""===s||s===jr(t)){var u=ue(String,i.type);(u<0||c0&&(r=Ce(r,(t||"")+"_"+n),xe(r[0])&&xe(u)&&(l[s]=I(u.text+r[0].text),r.shift()),l.push.apply(l,r)):c(r)?xe(u)?l[s]=I(u.text+r):""!==r&&l.push(I(r)):xe(r)&&xe(u)?l[s]=I(u.text+r.text):(a(e._isVList)&&i(r.tag)&&o(r.key)&&i(t)&&(r.key="__vlist"+t+"_"+n+"__"),l.push(r)));return l}function $e(e,t){return(e.__esModule||ao&&"Module"===e[Symbol.toStringTag])&&(e=e.default),u(e)?t.extend(e):e}function Ae(e,t,n,r,o){var i=wo();return i.asyncFactory=e,i.asyncMeta={data:t,context:n,children:r,tag:o},i}function ke(t,n,r){if(a(t.error)&&i(t.errorComp))return t.errorComp;if(i(t.resolved))return t.resolved;if(a(t.loading)&&i(t.loadingComp))return t.loadingComp;if(!i(t.contexts)){var s=t.contexts=[r],c=!0,l=function(){for(var e=0,t=s.length;eQo)){so("You may have an infinite update loop "+(t.user?'in watcher with expression "'+t.expression+'"':"in a component render function."),t.vm);break}var r=ti.slice(),o=ei.slice();qe(),Ye(r),Xe(o),io&&Fr.devtools&&io.emit("flush")}function Xe(e){for(var t=e.length;t--;){var n=e[t],r=n.vm;r._watcher===n&&r._isMounted&&Be(r,"updated")}}function Ge(e){e._inactive=!1,ti.push(e)}function Ye(e){for(var t=0;tai&&ei[n].id>e.id;)n--;ei.splice(n+1,0,e)}else ei.push(e);oi||(oi=!0,he(Ke))}}function Ze(e,t,n){ui.get=function(){return this[t][n]},ui.set=function(e){this[t][n]=e},Object.defineProperty(e,n,ui)}function Qe(e){e._watchers=[];var t=e.$options;t.props&&et(e,t.props),t.methods&&at(e,t.methods),t.data?tt(e):R(e._data={},!0),t.computed&&rt(e,t.computed),t.watch&&t.watch!==Qr&&st(e,t.watch)}function et(t,n){var r=t.$options.propsData||{},o=t._props={},i=t.$options._propKeys=[];!t.$parent||P(!1);for(var a in n)!function(a){i.push(a);var s=re(a,n,r,t);if("production"!==e.env.NODE_ENV){var c=jr(a);(Ar(c)||Fr.isReservedAttr(c))&&so('"'+c+'" is a reserved attribute and cannot be used as component prop.',t),F(o,a,s,function(){t.$parent&&!Zo&&so("Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop's value. Prop being mutated: \""+a+'"',t)})}else F(o,a,s);a in t||Ze(t,"_props",a)}(a);P(!0)}function tt(t){var n=t.$options.data;n=t._data="function"==typeof n?nt(n,t):n||{},f(n)||(n={},"production"!==e.env.NODE_ENV&&so("data functions should return an object:\nhttps://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function",t));for(var r=Object.keys(n),o=t.$options.props,i=t.$options.methods,a=r.length;a--;){var s=r[a];"production"!==e.env.NODE_ENV&&i&&g(i,s)&&so('Method "'+s+'" has already been defined as a data property.',t),o&&g(o,s)?"production"!==e.env.NODE_ENV&&so('The data property "'+s+'" is already declared as a prop. Use prop default value instead.',t):k(s)||Ze(t,"_data",s)}R(n,!0)}function nt(e,t){V();try{return e.call(t,t)}catch(e){return le(e,t,"data()"),{}}finally{j()}}function rt(t,n){var r=t._computedWatchers=Object.create(null),o=oo();for(var i in n){var a=n[i],s="function"==typeof a?a:a.get;"production"!==e.env.NODE_ENV&&null==s&&so('Getter is missing for computed property "'+i+'".',t),o||(r[i]=new ci(t,s||x,x,li)),i in t?"production"!==e.env.NODE_ENV&&(i in t.$data?so('The computed property "'+i+'" is already defined in data.',t):t.$options.props&&i in t.$options.props&&so('The computed property "'+i+'" is already defined as a prop.',t)):ot(t,i,a)}}function ot(t,n,r){var o=!oo();"function"==typeof r?(ui.get=o?it(n):r,ui.set=x):(ui.get=r.get?o&&!1!==r.cache?it(n):r.get:x,ui.set=r.set?r.set:x),"production"!==e.env.NODE_ENV&&ui.set===x&&(ui.set=function(){so('Computed property "'+n+'" was assigned to but it has no setter.',this)}),Object.defineProperty(t,n,ui)}function it(e){return function(){var t=this._computedWatchers&&this._computedWatchers[e];if(t)return t.dirty&&t.evaluate(),yo.target&&t.depend(),t.value}}function at(t,n){var r=t.$options.props;for(var o in n)"production"!==e.env.NODE_ENV&&(null==n[o]&&so('Method "'+o+'" has an undefined value in the component definition. Did you reference the function correctly?',t),r&&g(r,o)&&so('Method "'+o+'" has already been defined as a prop.',t),o in t&&k(o)&&so('Method "'+o+'" conflicts with an existing Vue instance method. Avoid defining component methods that start with _ or $.')),t[o]=null==n[o]?x:Ir(n[o],t)}function st(e,t){for(var n in t){var r=t[n];if(Array.isArray(r))for(var o=0;o=0||n.indexOf(e[o])<0)&&r.push(e[o]);return r}return e}function Ft(t){"production"===e.env.NODE_ENV||this instanceof Ft||so("Vue is a constructor and should be called with the `new` keyword"),this._init(t)}function Ht(e){e.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(t.indexOf(e)>-1)return this;var n=E(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 Ut(e){e.mixin=function(e){return this.options=te(this.options,e),this}}function zt(t){t.cid=0;var n=1;t.extend=function(t){t=t||{};var r=this,o=r.cid,i=t._Ctor||(t._Ctor={});if(i[o])return i[o];var a=t.name||r.options.name;"production"!==e.env.NODE_ENV&&a&&Y(a);var s=function(e){this._init(e)};return s.prototype=Object.create(r.prototype),s.prototype.constructor=s,s.cid=n++,s.options=te(r.options,t),s.super=r,s.options.props&&Bt(s),s.options.computed&&qt(s),s.extend=r.extend,s.mixin=r.mixin,s.use=r.use,Wr.forEach(function(e){s[e]=r[e]}),a&&(s.options.components[a]=s),s.superOptions=r.options,s.extendOptions=t,s.sealedOptions=O({},s.options),i[o]=s,s}}function Bt(e){var t=e.options.props;for(var n in t)Ze(e.prototype,"_props",n)}function qt(e){var t=e.options.computed;for(var n in t)ot(e.prototype,n,t[n])}function Kt(t){Wr.forEach(function(n){t[n]=function(t,r){return r?("production"!==e.env.NODE_ENV&&"component"===n&&Y(t),"component"===n&&f(r)&&(r.name=r.name||t,r=this.options._base.extend(r)),"directive"===n&&"function"==typeof r&&(r={bind:r,update:r}),this.options[n+"s"][t]=r,r):this.options[n+"s"][t]}})}function Xt(e){return e&&(e.Ctor.options.name||e.tag)}function Gt(e,t){return Array.isArray(e)?e.indexOf(t)>-1:"string"==typeof e?e.split(",").indexOf(t)>-1:!!d(e)&&e.test(t)}function Yt(e,t){var n=e.cache,r=e.keys,o=e._vnode;for(var i in n){var a=n[i];if(a){var s=Xt(a.componentOptions);s&&!t(s)&&Jt(n,i,r,o)}}}function Jt(e,t,n,r){var o=e[t];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),e[t]=null,y(n,t)}function Zt(e){for(var t=e.data,n=e,r=e;i(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(t=Qt(r.data,t));for(;i(n=n.parent);)n&&n.data&&(t=Qt(t,n.data));return en(t.staticClass,t.class)}function Qt(e,t){return{staticClass:tn(e.staticClass,t.staticClass),class:i(e.class)?[e.class,t.class]:t.class}}function en(e,t){return i(e)||i(t)?tn(e,nn(t)):""}function tn(e,t){return e?t?e+" "+t:e:t||""}function nn(e){return Array.isArray(e)?rn(e):u(e)?on(e):"string"==typeof e?e:""}function rn(e){for(var t,n="",r=0,o=e.length;r-1?ji[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:ji[e]=/HTMLUnknownElement/.test(t.toString())}function cn(t){if("string"==typeof t){var n=document.querySelector(t);return n||("production"!==e.env.NODE_ENV&&so("Cannot find element: "+t),document.createElement("div"))}return t}function un(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 ln(e,t){return document.createElementNS(Di[e],t)}function fn(e){return document.createTextNode(e)}function dn(e){return document.createComment(e)}function pn(e,t,n){e.insertBefore(t,n)}function vn(e,t){e.removeChild(t)}function hn(e,t){e.appendChild(t)}function mn(e){return e.parentNode}function yn(e){return e.nextSibling}function gn(e){return e.tagName}function _n(e,t){e.textContent=t}function bn(e,t){e.setAttribute(t,"")}function wn(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])?y(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 En(e,t){return e.key===t.key&&(e.tag===t.tag&&e.isComment===t.isComment&&i(e.data)===i(t.data)&&On(e,t)||a(e.isAsyncPlaceholder)&&e.asyncFactory===t.asyncFactory&&o(t.asyncFactory.error))}function On(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||Ii(r)&&Ii(o)}function Nn(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 xn(e,t){(e.data.directives||t.data.directives)&&Cn(e,t)}function Cn(e,t){var n,r,o,i=e===Li,a=t===Li,s=$n(e.data.directives,e.context),c=$n(t.data.directives,t.context),u=[],l=[];for(n in c)r=s[n],o=c[n],r?(o.oldValue=r.value,kn(o,"update",t,e),o.def&&o.def.componentUpdated&&l.push(o)):(kn(o,"bind",t,e),o.def&&o.def.inserted&&u.push(o));if(u.length){var f=function(){for(var n=0;n-1?Sn(e,t,n):xi(t)?ki(n)?e.removeAttribute(t):(n="allowfullscreen"===t&&"EMBED"===e.tagName?"true":t,e.setAttribute(t,n)):Ni(t)?e.setAttribute(t,ki(n)||"false"===n?"false":"true"):$i(t)?ki(n)?e.removeAttributeNS(Ci,Ai(t)):e.setAttributeNS(Ci,t,n):Sn(e,t,n)}function Sn(e,t,n){if(ki(n))e.removeAttribute(t);else{if(Xr&&!Gr&&"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 Vn(e,t){var n=t.elm,r=t.data,a=e.data;if(!(o(r.staticClass)&&o(r.class)&&(o(a)||o(a.staticClass)&&o(a.class)))){var s=Zt(t),c=n._transitionClasses;i(c)&&(s=tn(s,nn(c))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}}function jn(e){if(i(e[Bi])){var t=Xr?"change":"input";e[t]=[].concat(e[Bi],e[t]||[]),delete e[Bi]}i(e[qi])&&(e.change=[].concat(e[qi],e.change||[]),delete e[qi])}function In(e,t,n){var r=_i;return function o(){null!==e.apply(null,arguments)&&Pn(t,o,n,r)}}function Mn(e,t,n,r,o){t=ve(t),n&&(t=In(t,e,r)),_i.addEventListener(e,t,eo?{capture:r,passive:o}:r)}function Pn(e,t,n,r){(r||_i).removeEventListener(e,t._withTask||t,n)}function Ln(e,t){if(!o(e.data.on)||!o(t.data.on)){var n=t.data.on||{},r=e.data.on||{};_i=t.elm,jn(n),_e(n,r,Mn,Pn,t.context),_i=void 0}}function Wn(e,t){if(!o(e.data.domProps)||!o(t.data.domProps)){var n,r,a=t.elm,s=e.data.domProps||{},c=t.data.domProps||{};i(c.__ob__)&&(c=t.data.domProps=O({},c));for(n in s)o(c[n])&&(a[n]="");for(n in c){if(r=c[n],"textContent"===n||"innerHTML"===n){if(t.children&&(t.children.length=0),r===s[n])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===n){a._value=r;var u=o(r)?"":String(r);Rn(a,u)&&(a.value=u)}else a[n]=r}}}function Rn(e,t){return!e.composing&&("OPTION"===e.tagName||Fn(e,t)||Hn(e,t))}function Fn(e,t){var n=!0;try{n=document.activeElement!==e}catch(e){}return n&&e.value!==t}function Hn(e,t){var n=e.value,r=e._vModifiers;if(i(r)){if(r.lazy)return!1;if(r.number)return h(n)!==h(t);if(r.trim)return n.trim()!==t.trim()}return n!==t}function Un(e){var t=zn(e.style);return e.staticStyle?O(e.staticStyle,t):t}function zn(e){return Array.isArray(e)?N(e):"string"==typeof e?Gi(e):e}function Bn(e,t){var n,r={};if(t)for(var o=e;o.componentInstance;)(o=o.componentInstance._vnode)&&o.data&&(n=Un(o.data))&&O(r,n);(n=Un(e.data))&&O(r,n);for(var i=e;i=i.parent;)i.data&&(n=Un(i.data))&&O(r,n);return r}function qn(e,t){var n=t.data,r=e.data;if(!(o(n.staticStyle)&&o(n.style)&&o(r.staticStyle)&&o(r.style))){var a,s,c=t.elm,u=r.staticStyle,l=r.normalizedStyle||r.style||{},f=u||l,d=zn(t.data.style)||{};t.data.normalizedStyle=i(d.__ob__)?O({},d):d;var p=Bn(t,!0);for(s in f)o(p[s])&&Zi(c,s,"");for(s in p)(a=p[s])!==f[s]&&Zi(c,s,null==a?"":a)}}function Kn(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 Xn(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 Gn(e){if(e){if("object"==typeof e){var t={};return!1!==e.css&&O(t,na(e.name||"v")),O(t,e),t}return"string"==typeof e?na(e):void 0}}function Yn(e){la(function(){la(e)})}function Jn(e,t){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(t)<0&&(n.push(t),Kn(e,t))}function Zn(e,t){e._transitionClasses&&y(e._transitionClasses,t),Xn(e,t)}function Qn(e,t,n){var r=er(e,t),o=r.type,i=r.timeout,a=r.propCount;if(!o)return n();var s=o===oa?sa:ua,c=0,u=function(){e.removeEventListener(s,l),n()},l=function(t){t.target===e&&++c>=a&&u()};setTimeout(function(){c0&&(n=oa,l=a,f=i.length):t===ia?u>0&&(n=ia,l=u,f=c.length):(l=Math.max(a,u),n=l>0?a>u?oa:ia:null,f=n?n===oa?i.length:c.length:0),{type:n,timeout:l,propCount:f,hasTransform:n===oa&&fa.test(r[aa+"Property"])}}function tr(e,t){for(;e.length explicit "+t+" duration is not a valid number - got "+JSON.stringify(e)+".",n.context):isNaN(e)&&so(" explicit "+t+" duration is NaN - the duration expression might be incorrect.",n.context)}function ar(e){return"number"==typeof e&&!isNaN(e)}function sr(e){if(o(e))return!1;var t=e.fns;return i(t)?sr(Array.isArray(t)?t[0]:t):(e._length||e.length)>1}function cr(e,t){!0!==t.data.show&&rr(t)}function ur(e,t,n){lr(e,t,n),(Xr||Yr)&&setTimeout(function(){lr(e,t,n)},0)}function lr(t,n,r){var o=n.value,i=t.multiple;if(i&&!Array.isArray(o))return void("production"!==e.env.NODE_ENV&&so('