├── .gitignore
├── demo
├── assets
│ ├── bg.jpg
│ ├── logo.png
│ ├── timelapse.mp4
│ └── style.css
├── main.js
└── build
│ └── build.js
├── .npmignore
├── .babelrc
├── .editorconfig
├── README.md
├── webpack.config.js
├── LICENSE
├── package.json
├── index.html
└── src
└── VideoBackground.vue
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 |
--------------------------------------------------------------------------------
/demo/assets/bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pespantelis/vue-videobg/HEAD/demo/assets/bg.jpg
--------------------------------------------------------------------------------
/demo/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pespantelis/vue-videobg/HEAD/demo/assets/logo.png
--------------------------------------------------------------------------------
/demo/assets/timelapse.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pespantelis/vue-videobg/HEAD/demo/assets/timelapse.mp4
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | .idea/
2 | .babelrc
3 | .editorconfig
4 | .npmignore
5 | demo/
6 | index.html
7 | webpack.config.js
8 |
--------------------------------------------------------------------------------
/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": ["es2015", "stage-2"],
3 | "plugins": ["transform-runtime"],
4 | "comments": false
5 | }
6 |
--------------------------------------------------------------------------------
/demo/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue/dist/vue.common'
2 | import VideoBg from '../src/VideoBackground.vue'
3 |
4 | new Vue({
5 | el: '#demo',
6 | components: { VideoBg }
7 | })
8 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | charset = utf-8
5 | indent_style = space
6 | indent_size = 2
7 | end_of_line = lf
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Video Background
2 |
3 | ## Install via NPM
4 |
5 | Available through npm as `vue-videobg`.
6 | ```
7 | npm install --save vue-videobg
8 | ```
9 |
10 | ## Usage
11 |
12 | ```js
13 | import VideoBg from 'vue-videobg'
14 |
15 | Vue.component('video-bg', VideoBg)
16 |
17 | // or
18 | new Vue({
19 | el: 'body',
20 | components: { VideoBg }
21 | })
22 | ```
23 |
24 | ```html
25 |
26 |
27 |
28 | ```
29 |
30 | ## License
31 | VideoBackground is released under the MIT License. See the bundled LICENSE file for details.
32 |
--------------------------------------------------------------------------------
/webpack.config.js:
--------------------------------------------------------------------------------
1 | var webpack = require('webpack')
2 |
3 | module.exports = {
4 | entry: './demo/main.js',
5 | output: {
6 | path: './demo/build',
7 | publicPath: '/demo/build/',
8 | filename: 'build.js'
9 | },
10 | module: {
11 | loaders: [
12 | {
13 | test: /\.vue$/,
14 | loader: 'vue'
15 | },
16 | {
17 | test: /\.js$/,
18 | loader: 'babel',
19 | exclude: /node_modules/
20 | }
21 | ]
22 | },
23 | devServer: {
24 | historyApiFallback: true,
25 | noInfo: true
26 | },
27 | devtool: '#eval-source-map'
28 | }
29 |
30 | if (process.env.NODE_ENV === 'production') {
31 | module.exports.devtool = '#source-map'
32 | module.exports.plugins = (module.exports.plugins || []).concat([
33 | new webpack.DefinePlugin({
34 | 'process.env': {
35 | NODE_ENV: '"production"'
36 | }
37 | }),
38 | new webpack.optimize.UglifyJsPlugin({
39 | compress: {
40 | warnings: false
41 | }
42 | }),
43 | new webpack.optimize.OccurenceOrderPlugin()
44 | ])
45 | }
46 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2016 Pantelis Peslis
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/demo/assets/style.css:
--------------------------------------------------------------------------------
1 | .VideoBg {
2 | min-height: 640px;
3 | }
4 |
5 | .VideoBg__content {
6 | text-align: center;
7 | background-color: rgba(52, 72, 92, 0.7);
8 | }
9 |
10 | * {
11 | margin: 0;
12 | }
13 |
14 | img {
15 | width: 200px;
16 | margin-top: 120px;
17 | }
18 |
19 | h1, h4 {
20 | cursor: default;
21 | }
22 |
23 | a {
24 | text-decoration: none
25 | }
26 |
27 | h1 {
28 | margin: 40px 0;
29 | font-family: 'Dosis', 'Source Sans Pro', 'Helvetica Neue', sans-serif;
30 | font-weight: 300;
31 | font-size: 4em;
32 | color: #ebebeb;
33 | }
34 |
35 | h4, a {
36 | font-family: 'Source Sans Pro', 'Helvetica Neue', sans-serif;
37 | font-weight: 400;
38 | font-size: 15px;
39 | color: #7f8c8d;
40 | }
41 |
42 | .button {
43 | display: inline-block;
44 | width: 180px;
45 | margin: 0.5em;
46 | padding: 12px 14px;
47 | background-color: #4fc08d;
48 | font-weight: 700;
49 | color: #fff;
50 | border-bottom: 2px solid #3aa373;
51 | border-radius: 4px;
52 | -webkit-transition: all 0.15s ease;
53 | transition: all 0.15s ease;
54 | }
55 |
56 | .button:hover {
57 | background-color: #5dc596;
58 | -webkit-transform: translate(0, -2px);
59 | -ms-transform: translate(0, -2px);
60 | transform: translate(0, -2px);
61 | }
62 |
63 | #social {
64 | margin-top: 20px;
65 | }
66 |
67 | #social iframe {
68 | margin: 0 4px;
69 | }
70 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-videobg",
3 | "version": "2.0.0",
4 | "author": "Pantelis Peslis ",
5 | "license": "MIT",
6 | "description": "Video Background component for Vue.js",
7 | "keywords": [
8 | "vue",
9 | "video",
10 | "background"
11 | ],
12 | "main": "src/VideoBackground.vue",
13 | "repository": {
14 | "type": "git",
15 | "url": "https://github.com/pespantelis/vue-videobg.git"
16 | },
17 | "bugs": "https://github.com/pespantelis/vue-videobg/issues",
18 | "homepage": "http://pespantelis.github.io/vue-videobg/",
19 | "scripts": {
20 | "dev": "webpack-dev-server --inline --hot",
21 | "build": "cross-env NODE_ENV=production webpack --progress --hide-modules"
22 | },
23 | "dependencies": {
24 | "vue": "^2.3.2",
25 | "babel-runtime": "^5.8.0"
26 | },
27 | "devDependencies": {
28 | "babel-core": "^6.0.0",
29 | "babel-loader": "^6.0.0",
30 | "babel-plugin-transform-runtime": "^6.0.0",
31 | "babel-preset-es2015": "^6.0.0",
32 | "babel-preset-stage-2": "^6.0.0",
33 | "cross-env": "^1.0.6",
34 | "css-loader": "^0.23.0",
35 | "vue-hot-reload-api": "^1.2.0",
36 | "vue-html-loader": "^1.0.0",
37 | "vue-loader": "^11.3.4",
38 | "vue-style-loader": "^1.0.0",
39 | "vue-template-compiler": "^2.3.2",
40 | "webpack": "^1.12.2",
41 | "webpack-dev-server": "^1.12.0"
42 | },
43 | "browserify": {
44 | "transform": [
45 | "vueify"
46 | ]
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Video Background | Vue.js
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | Video Background
14 | Vue.js component
15 | Source on GitHub
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/src/VideoBackground.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
98 |
99 |
100 |
124 |
--------------------------------------------------------------------------------
/demo/build/build.js:
--------------------------------------------------------------------------------
1 | !function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="/demo/build/",t(0)}([function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var i=n(10),o=r(i),a=n(4),s=r(a);new o.default({el:"#demo",components:{VideoBg:s.default}})},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:{sources:{type:Array,required:!0},img:{type:String}},data:function(){return{videoRatio:null}},mounted:function(){var e=this;this.setImageUrl(),this.setContainerHeight(),this.videoCanPlay()&&(this.$refs.video.oncanplay=function(){e.$refs.video&&(e.videoRatio=e.$refs.video.videoWidth/e.$refs.video.videoHeight,e.setVideoSize(),e.$refs.video.style.visibility="visible")}),window.addEventListener("resize",this.resize)},beforeDestroy:function(){window.removeEventListener("resize",this.resize)},methods:{resize:function(){this.setContainerHeight(),this.videoCanPlay()&&this.setVideoSize()},videoCanPlay:function(){return!!this.$refs.video.canPlayType},setImageUrl:function(){this.img&&(this.$el.style.backgroundImage="url("+this.img+")")},setContainerHeight:function(){this.$el.style.height=window.innerHeight+"px"},setVideoSize:function(){var e,t,n=this.$el.offsetWidth/this.$el.offsetHeight;n>this.videoRatio?e=this.$el.offsetWidth:t=this.$el.offsetHeight,this.$refs.video.style.width=e?e+"px":"auto",this.$refs.video.style.height=t?t+"px":"auto"},getMediaType:function(e){return"video/"+e.split(".").pop()}}}},function(e,t,n){t=e.exports=n(3)(),t.push([e.id,".VideoBg{position:relative;background-size:cover;background-position:50%;overflow:hidden}.VideoBg video{position:absolute;top:50%;left:50%;visibility:hidden;transform:translate(-50%,-50%)}.VideoBg__content{position:absolute;top:0;left:0;width:100%;height:100%}",""])},function(e,t){e.exports=function(){var e=[];return e.toString=function(){for(var e=[],t=0;tn.parts.length&&(r.parts.length=n.parts.length)}else{for(var a=[],i=0;i=0&&Math.floor(t)===t&&isFinite(e)}function f(e){return null==e?"":"object"==typeof e?JSON.stringify(e,null,2):String(e)}function d(e){var t=parseFloat(e);return isNaN(t)?e:t}function p(e,t){for(var n=Object.create(null),r=e.split(","),i=0;i-1)return e.splice(n,1)}}function h(e,t){return Yi.call(e,t)}function m(e){var t=Object.create(null);return function(n){var r=t[n];return r||(t[n]=e(n))}}function g(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 y(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function _(e,t){for(var n in t)e[n]=t[n];return e}function b(e){for(var t={},n=0;n1?y(n):n;for(var r=y(arguments,1),i=0,o=n.length;iQo&&qo[n].id>e.id;)n--;qo.splice(n+1,0,e)}else qo.push(e);Zo||(Zo=!0,Eo(Ne))}}function De(e){ta.clear(),Re(e,ta)}function Re(e,t){var n,r,i=Array.isArray(e);if((i||s(e))&&Object.isExtensible(e)){if(e.__ob__){var o=e.__ob__.dep.id;if(t.has(o))return;t.add(o)}if(i)for(n=e.length;n--;)Re(e[n],t);else for(r=Object.keys(e),n=r.length;n--;)Re(e[r[n]],t)}}function Fe(e,t,n){na.get=function(){return this[t][n]},na.set=function(e){this[t][n]=e},Object.defineProperty(e,n,na)}function Be(e){e._watchers=[];var t=e.$options;t.props&&He(e,t.props),t.methods&&qe(e,t.methods),t.data?Ue(e):I(e._data={},!0),t.computed&&ze(e,t.computed),t.watch&&t.watch!==Co&&We(e,t.watch)}function He(e,t){var n=e.$options.propsData||{},r=e._props={},i=e.$options._propKeys=[],o=!e.$parent;Do.shouldConvert=o;var a=function(o){i.push(o);var a=G(o,t,n,e);P(r,o,a),o in e||Fe(e,"_props",o)};for(var s in t)a(s);Do.shouldConvert=!0}function Ue(e){var t=e.$options.data;t=e._data="function"==typeof t?Ve(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&&h(r,o)||k(o)||Fe(e,"_data",o)}I(t,!0)}function Ve(e,t){try{return e.call(t)}catch(e){return T(e,t,"data()"),{}}}function ze(e,t){var n=e._computedWatchers=Object.create(null);for(var r in t){var i=t[r],o="function"==typeof i?i:i.get;n[r]=new ea(e,o,$,ra),r in e||Ke(e,r,i)}}function Ke(e,t,n){"function"==typeof n?(na.get=Je(t),na.set=$):(na.get=n.get?n.cache!==!1?Je(t):n.get:$,na.set=n.set?n.set:$),Object.defineProperty(e,t,na)}function Je(e){return function(){var t=this._computedWatchers&&this._computedWatchers[e];if(t)return t.dirty&&t.evaluate(),No.target&&t.depend(),t.value}}function qe(e,t){e.$options.props;for(var n in t)e[n]=null==t[n]?$:g(t[n],e)}function We(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 Ot(e){this._init(e)}function St(e){e.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(t.indexOf(e)>-1)return this;var n=y(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 Tt(e){e.mixin=function(e){return this.options=q(this.options,e),this}}function Et(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=q(n.options,e),a.super=n,a.options.props&&jt(a),a.options.computed&&Nt(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,ao.forEach(function(e){a[e]=n[e]}),o&&(a.options.components[o]=a),a.superOptions=n.options,a.extendOptions=e,a.sealedOptions=_({},a.options),i[r]=a,a}}function jt(e){var t=e.options.props;for(var n in t)Fe(e.prototype,"_props",n)}function Nt(e){var t=e.options.computed;for(var n in t)Ke(e.prototype,n,t[n])}function Lt(e){ao.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 Mt(e){return e&&(e.Ctor.options.name||e.tag)}function It(e,t){return Array.isArray(e)?e.indexOf(t)>-1:"string"==typeof e?e.split(",").indexOf(t)>-1:!!u(e)&&e.test(t)}function Pt(e,t,n){for(var r in e){var i=e[r];if(i){var o=Mt(i.componentOptions);o&&!n(o)&&(i!==t&&Dt(i),e[r]=null)}}}function Dt(e){e&&e.componentInstance.$destroy()}function Rt(e){var t={};t.get=function(){return co},Object.defineProperty(e,"config",t),e.util={warn:fo,extend:_,mergeOptions:q,defineReactive:P},e.set=D,e.delete=R,e.nextTick=Eo,e.options=Object.create(null),ao.forEach(function(t){e.options[t+"s"]=Object.create(null)}),e.options._base=e,_(e.options.components,fa),St(e),Tt(e),Et(e),Lt(e)}function Ft(e){for(var t=e.data,n=e,i=e;r(i.componentInstance);)i=i.componentInstance._vnode,i.data&&(t=Bt(i.data,t));for(;r(n=n.parent);)n.data&&(t=Bt(t,n.data));return Ht(t.staticClass,t.class)}function Bt(e,t){return{staticClass:Ut(e.staticClass,t.staticClass),class:r(e.class)?[e.class,t.class]:t.class}}function Ht(e,t){return r(e)||r(t)?Ut(e,Vt(t)):""}function Ut(e,t){return e?t?e+" "+t:e:t||""}function Vt(e){return Array.isArray(e)?zt(e):s(e)?Kt(e):"string"==typeof e?e:""}function zt(e){for(var t,n="",i=0,o=e.length;i-1?Ia[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:Ia[e]=/HTMLUnknownElement/.test(t.toString())}function Wt(e){if("string"==typeof e){var t=document.querySelector(e);return t?t:document.createElement("div")}return e}function Gt(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 Zt(e,t){return document.createElementNS(Ea[e],t)}function Yt(e){return document.createTextNode(e)}function Qt(e){return document.createComment(e)}function Xt(e,t,n){e.insertBefore(t,n)}function en(e,t){e.removeChild(t)}function tn(e,t){e.appendChild(t)}function nn(e){return e.parentNode}function rn(e){return e.nextSibling}function on(e){return e.tagName}function an(e,t){e.textContent=t}function sn(e,t,n){e.setAttribute(t,n)}function cn(e,t){var n=e.data.ref;if(n){var r=e.context,i=e.componentInstance||e.elm,o=r.$refs;t?Array.isArray(o[n])?v(o[n],i):o[n]===i&&(o[n]=void 0):e.data.refInFor?Array.isArray(o[n])?o[n].indexOf(i)<0&&o[n].push(i):o[n]=[i]:o[n]=i}}function un(e,t){return e.key===t.key&&(e.tag===t.tag&&e.isComment===t.isComment&&r(e.data)===r(t.data)&&ln(e,t)||i(e.isAsyncPlaceholder)&&e.asyncFactory===t.asyncFactory&&n(t.asyncFactory.error))}function ln(e,t){if("input"!==e.tag)return!0;var n,i=r(n=e.data)&&r(n=n.attrs)&&n.type,o=r(n=t.data)&&r(n=n.attrs)&&n.type;return i===o}function fn(e,t,n){var i,o,a={};for(i=t;i<=n;++i)o=e[i].key,r(o)&&(a[o]=i);return a}function dn(e){function t(e){return new Ho(E.tagName(e).toLowerCase(),{},[],void 0,e)}function o(e,t){function n(){0===--n.listeners&&s(e)}return n.listeners=t,n}function s(e){var t=E.parentNode(e);r(t)&&E.removeChild(t,e)}function c(e,t,n,o,a){if(e.isRootInsert=!a,!u(e,t,n,o)){var s=e.data,c=e.children,l=e.tag;r(l)?(e.elm=e.ns?E.createElementNS(e.ns,l):E.createElement(l,e),g(e),v(e,c,t),r(s)&&m(e,t),d(n,e.elm,o)):i(e.isComment)?(e.elm=E.createComment(e.text),d(n,e.elm,o)):(e.elm=E.createTextNode(e.text),d(n,e.elm,o))}}function u(e,t,n,o){var a=e.data;if(r(a)){var s=r(e.componentInstance)&&a.keepAlive;if(r(a=a.hook)&&r(a=a.init)&&a(e,!1,n,o),r(e.componentInstance))return l(e,t),i(s)&&f(e,t,n,o),!0}}function l(e,t){r(e.data.pendingInsert)&&(t.push.apply(t,e.data.pendingInsert),e.data.pendingInsert=null),e.elm=e.componentInstance.$el,h(e)?(m(e,t),g(e)):(cn(e),t.push(e))}function f(e,t,n,i){for(var o,a=e;a.componentInstance;)if(a=a.componentInstance._vnode,r(o=a.data)&&r(o=o.transition)){for(o=0;ov?(f=n(i[g+1])?null:i[g+1].elm,y(e,f,i,p,g,o)):p>g&&b(e,t,d,v)}function w(e,t,o,a){if(e!==t){var s=t.elm=e.elm;if(i(e.isAsyncPlaceholder))return void(r(t.asyncFactory.resolved)?A(e.elm,t,o):t.isAsyncPlaceholder=!0);if(i(t.isStatic)&&i(e.isStatic)&&t.key===e.key&&(i(t.isCloned)||i(t.isOnce)))return void(t.componentInstance=e.componentInstance);var c,u=t.data;r(u)&&r(c=u.hook)&&r(c=c.prepatch)&&c(e,t);var l=e.children,f=t.children;if(r(u)&&h(t)){for(c=0;c=0&&(m=e.charAt(h)," "===m);h--);m&&Ka.test(m)||(l=!0)}}else void 0===o?(v=i+1,o=e.slice(0,i).trim()):t();if(void 0===o?o=e.slice(0,i).trim():0!==v&&t(),a)for(i=0;i=da}function Pn(e){return 34===e||39===e}function Dn(e){var t=1;for(ma=ha;!In();)if(e=Mn(),Pn(e))Rn(e);else if(91===e&&t++,93===e&&t--,0===t){ga=ha;break}}function Rn(e){for(var t=e;!In()&&(e=Mn(),e!==t););}function Fn(e,t,n){ya=n;var r=t.value,i=t.modifiers,o=e.tag,a=e.attrsMap.type;if(e.component)return jn(e,r,i),!1;if("select"===o)Un(e,r,i);else if("input"===o&&"checkbox"===a)Bn(e,r,i);else if("input"===o&&"radio"===a)Hn(e,r,i);else if("input"===o||"textarea"===o)Vn(e,r,i);else if(!co.isReservedTag(o))return jn(e,r,i),!1;return!0}function Bn(e,t,n){var r=n&&n.number,i=Tn(e,"value")||"null",o=Tn(e,"true-value")||"true",a=Tn(e,"false-value")||"false";An(e,"checked","Array.isArray("+t+")?_i("+t+","+i+")>-1"+("true"===o?":("+t+")":":_q("+t+","+o+")")),Sn(e,qa,"var $$a="+t+",$$el=$event.target,$$c=$$el.checked?("+o+"):("+a+");if(Array.isArray($$a)){var $$v="+(r?"_n("+i+")":i)+",$$i=_i($$a,$$v);if($$c){$$i<0&&("+t+"=$$a.concat($$v))}else{$$i>-1&&("+t+"=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{"+Nn(t,"$$c")+"}",null,!0)}function Hn(e,t,n){var r=n&&n.number,i=Tn(e,"value")||"null";i=r?"_n("+i+")":i,An(e,"checked","_q("+t+","+i+")"),Sn(e,qa,Nn(t,i),null,!0)}function Un(e,t,n){var r=n&&n.number,i='Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return '+(r?"_n(val)":"val")+"})",o="$event.target.multiple ? $$selectedVal : $$selectedVal[0]",a="var $$selectedVal = "+i+";";a=a+" "+Nn(t,o),Sn(e,"change",a,null,!0)}function Vn(e,t,n){var r=e.attrsMap.type,i=n||{},o=i.lazy,a=i.number,s=i.trim,c=!o&&"range"!==r,u=o?"change":"range"===r?Ja:"input",l="$event.target.value";s&&(l="$event.target.value.trim()"),a&&(l="_n("+l+")");var f=Nn(t,l);c&&(f="if($event.target.composing)return;"+f),An(e,"value","("+t+")"),Sn(e,u,f,null,!0),(s||a)&&Sn(e,"blur","$forceUpdate()")}function zn(e){var t;r(e[Ja])&&(t=mo?"change":"input",e[t]=[].concat(e[Ja],e[t]||[]),delete e[Ja]),r(e[qa])&&(t=$o?"click":"change",e[t]=[].concat(e[qa],e[t]||[]),delete e[qa])}function Kn(e,t,n,r,i){if(n){var o=t,a=_a;t=function(n){var i=1===arguments.length?o(n):o.apply(null,arguments);null!==i&&Jn(e,t,r,a)}}_a.addEventListener(e,t,wo?{capture:r,passive:i}:r)}function Jn(e,t,n,r){(r||_a).removeEventListener(e,t,n)}function qn(e,t){var i=r(t.componentOptions),o=i?e.data.nativeOn:e.data.on,a=i?t.data.nativeOn:t.data.on;n(o)&&n(a)||(a=a||{},o=o||{},_a=t.elm,zn(a),re(a,o,Kn,Jn,t.context))}function Wn(e,t){if(!n(e.data.domProps)||!n(t.data.domProps)){var i,o,a=t.elm,s=e.data.domProps||{},c=t.data.domProps||{};r(c.__ob__)&&(c=t.data.domProps=_({},c));for(i in s)n(c[i])&&(a[i]="");for(i in c)if(o=c[i],"textContent"!==i&&"innerHTML"!==i||(t.children&&(t.children.length=0),o!==s[i]))if("value"===i){a._value=o;var u=n(o)?"":String(o);Gn(a,t,u)&&(a.value=u)}else a[i]=o}}function Gn(e,t,n){return!e.composing&&("option"===t.tag||Zn(e,n)||Yn(e,n))}function Zn(e,t){return document.activeElement!==e&&e.value!==t}function Yn(e,t){var n=e.value,i=e._vModifiers;return r(i)&&i.number?d(n)!==d(t):r(i)&&i.trim?n.trim()!==t.trim():n!==t}function Qn(e){var t=Xn(e.style);return e.staticStyle?_(e.staticStyle,t):t}function Xn(e){return Array.isArray(e)?b(e):"string"==typeof e?Za(e):e}function er(e,t){var n,r={};if(t)for(var i=e;i.componentInstance;)i=i.componentInstance._vnode,i.data&&(n=Qn(i.data))&&_(r,n);(n=Qn(e.data))&&_(r,n);for(var o=e;o=o.parent;)o.data&&(n=Qn(o.data))&&_(r,n);return r}function tr(e,t){var i=t.data,o=e.data;if(!(n(i.staticStyle)&&n(i.style)&&n(o.staticStyle)&&n(o.style))){var a,s,c=t.elm,u=o.staticStyle,l=o.normalizedStyle||o.style||{},f=u||l,d=Xn(t.data.style)||{};t.data.normalizedStyle=r(d.__ob__)?_({},d):d;var p=er(t,!0);for(s in f)n(p[s])&&Xa(c,s,"");for(s in p)a=p[s],a!==f[s]&&Xa(c,s,null==a?"":a)}}function nr(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 rr(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 ir(e){if(e){if("object"==typeof e){var t={};return e.css!==!1&&_(t,rs(e.name||"v")),_(t,e),t}return"string"==typeof e?rs(e):void 0}}function or(e){fs(function(){fs(e)})}function ar(e,t){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(t)<0&&(n.push(t),nr(e,t))}function sr(e,t){e._transitionClasses&&v(e._transitionClasses,t),rr(e,t)}function cr(e,t,n){var r=ur(e,t),i=r.type,o=r.timeout,a=r.propCount;if(!i)return n();var s=i===os?cs:ls,c=0,u=function(){e.removeEventListener(s,l),n()},l=function(t){t.target===e&&++c>=a&&u()};setTimeout(function(){c0&&(n=os,l=a,f=o.length):t===as?u>0&&(n=as,l=u,f=c.length):(l=Math.max(a,u),n=l>0?a>u?os:as:null,f=n?n===os?o.length:c.length:0);var d=n===os&&ds.test(r[ss+"Property"]);return{type:n,timeout:l,propCount:f,hasTransform:d}}function lr(e,t){for(;e.length1}function mr(e,t){t.data.show!==!0&&dr(t)}function gr(e,t,n){var r=t.value,i=e.multiple;if(!i||Array.isArray(r)){for(var o,a,s=0,c=e.options.length;s-1,a.selected!==o&&(a.selected=o);else if(w(_r(a),r))return void(e.selectedIndex!==s&&(e.selectedIndex=s));i||(e.selectedIndex=-1)}}function yr(e,t){for(var n=0,r=t.length;n',n.innerHTML.indexOf(t)>0}function Mr(e,t){var n=t?Es(t):Ss;if(n.test(e)){for(var r,i,o=[],a=n.lastIndex=0;r=n.exec(e);){i=r.index,i>a&&o.push(JSON.stringify(e.slice(a,i)));var s=$n(r[1].trim());o.push("_s("+s+")"),a=i+r[0].length}return a=0&&c[i].lowerCasedTag!==o;i--);else i=0;if(i>=0){for(var a=c.length-1;a>=i;a--)t.end&&t.end(c[a].tag,n,r);c.length=i,s=i&&c[i-1].tag}else"br"===o?t.start&&t.start(e,[],!0,n,r):"p"===o&&(t.start&&t.start(e,[],!1,n,r),t.end&&t.end(e,n,r))}for(var a,s,c=[],u=t.expectHTML,l=t.isUnaryTag||ro,f=t.canBeLeftOpenTag||ro,d=0;e;){if(a=e,s&&uc(s)){var p=0,v=s.toLowerCase(),h=lc[v]||(lc[v]=new RegExp("([\\s\\S]*?)("+v+"[^>]*>)","i")),m=e.replace(h,function(e,n,r){return p=r.length,uc(v)||"noscript"===v||(n=n.replace(//g,"$1").replace(//g,"$1")),hc(v,n)&&(n=n.slice(1)),t.chars&&t.chars(n),""});d+=e.length-m.length,e=m,o(v,d-p,d)}else{hc(s,e)&&n(1);var g=e.indexOf("<");if(0===g){if(Zs.test(e)){var y=e.indexOf("-->");if(y>=0){t.shouldKeepComment&&t.comment(e.substring(4,y)),n(y+3);continue}}if(Ys.test(e)){var _=e.indexOf("]>");if(_>=0){n(_+2);continue}}var b=e.match(Gs);if(b){n(b[0].length);continue}var $=e.match(Ws);if($){var C=d;n($[0].length),o($[1],C,d);continue}var w=r();if(w){i(w);continue}}var x=void 0,A=void 0,k=void 0;if(g>=0){for(A=e.slice(g);!(Ws.test(A)||Js.test(A)||Zs.test(A)||Ys.test(A)||(k=A.indexOf("<",1),k<0));)g+=k,A=e.slice(g);x=e.substring(0,g),n(g)}g<0&&(x=e,e=""),t.chars&&x&&t.chars(x)}if(e===a){t.chars&&t.chars(e);break}}o()}function Vr(e,t){function n(e){e.pre&&(s=!1),ic(e.tag)&&(c=!1)}Xs=t.warn||wn,ic=t.isPreTag||ro,oc=t.mustUseProp||ro,ac=t.getTagNamespace||ro,tc=xn(t.modules,"transformNode"),nc=xn(t.modules,"preTransformNode"),rc=xn(t.modules,"postTransformNode"),ec=t.delimiters;var r,i,o=[],a=t.preserveWhitespace!==!1,s=!1,c=!1;return Ur(e,{warn:Xs,expectHTML:t.expectHTML,isUnaryTag:t.isUnaryTag,canBeLeftOpenTag:t.canBeLeftOpenTag,shouldDecodeNewlines:t.shouldDecodeNewlines,shouldKeepComment:t.comments,start:function(e,a,u){function l(e){}var f=i&&i.ns||ac(e);mo&&"svg"===f&&(a=ci(a));var d={type:1,tag:e,attrsList:a,attrsMap:oi(a),parent:i,children:[]};f&&(d.ns=f),si(d)&&!Oo()&&(d.forbidden=!0);for(var p=0;p0,yo=ho&&ho.indexOf("edge/")>0,_o=ho&&ho.indexOf("android")>0,bo=ho&&/iphone|ipad|ipod|ios/.test(ho),$o=ho&&/chrome\/\d+/.test(ho)&&!yo,Co={}.watch,wo=!1;if(vo)try{var xo={};Object.defineProperty(xo,"passive",{get:function(){wo=!0}}),window.addEventListener("test-passive",null,xo)}catch(e){}var Ao,ko,Oo=function(){return void 0===Ao&&(Ao=!vo&&"undefined"!=typeof t&&"server"===t.process.env.VUE_ENV),Ao},So=vo&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__,To="undefined"!=typeof Symbol&&E(Symbol)&&"undefined"!=typeof Reflect&&E(Reflect.ownKeys),Eo=function(){function e(){r=!1;var e=n.slice(0);n.length=0;for(var t=0;t1&&(t[n[0].trim()]=n[1].trim())}}),t}),Ya=/^--/,Qa=/\s*!important$/,Xa=function(e,t,n){if(Ya.test(t))e.style.setProperty(t,n);else if(Qa.test(n))e.style.setProperty(t,n.replace(Qa,""),"important");else{var r=ts(t);if(Array.isArray(n))for(var i=0,o=n.length;i\/=]+)/,Hs=/(?:=)/,Us=[/"([^"]*)"+/.source,/'([^']*)'+/.source,/([^\s"'=<>`]+)/.source],Vs=new RegExp("^\\s*"+Bs.source+"(?:\\s*("+Hs.source+")\\s*(?:"+Us.join("|")+"))?"),zs="[a-zA-Z_][\\w\\-\\.]*",Ks="((?:"+zs+"\\:)?"+zs+")",Js=new RegExp("^<"+Ks),qs=/^\s*(\/?)>/,Ws=new RegExp("^<\\/"+Ks+"[^>]*>"),Gs=/^]+>/i,Zs=/^