├── webpack.config.js ├── .babelrc ├── .gitignore ├── www ├── app.js ├── index.html ├── app.vue └── layout.css ├── src ├── index.js └── embed.vue ├── webpack.production.js ├── LICENSE ├── dist ├── www │ ├── css │ │ ├── app.css │ │ └── app.css.map │ ├── index.html │ └── js │ │ ├── app.js.map │ │ └── app.js ├── video-embed.min.js ├── www.min.js ├── video-embed.js.map └── video-embed.js ├── package.json ├── README.md └── webpack.development.js /webpack.config.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./webpack.' + process.env.NODE_ENV + '.js')(); -------------------------------------------------------------------------------- /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "@babel/preset-env" 5 | ] 6 | ] 7 | 8 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules/ 3 | 4 | build 5 | .vscode 6 | *.log 7 | *.rar 8 | *.zip 9 | .svn/* 10 | obj/* 11 | *.bak 12 | config.js 13 | **/env/prod.js 14 | note.txt 15 | -------------------------------------------------------------------------------- /www/app.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | import './layout.css'; 4 | 5 | 6 | import Vue from 'vue'; 7 | import App from './app.vue'; 8 | import Embed from '../dist/video-embed'; 9 | 10 | Vue.use(Embed); 11 | 12 | new Vue({ 13 | el: '#app', 14 | 15 | render: h => h(App) 16 | }) 17 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | 2 | import Embed from './embed.vue'; 3 | 4 | var VideoEmbed = { 5 | install: function (Vue) { 6 | if (Vue.__embed_installed) { 7 | return; 8 | } 9 | 10 | Vue.__embed_installed = true; 11 | 12 | Vue.component('video-embed', Embed); 13 | } 14 | }; 15 | 16 | if (typeof window !== 'undefined' && window.Vue) { 17 | Vue.use(VideoEmbed); 18 | } 19 | 20 | export default VideoEmbed; -------------------------------------------------------------------------------- /webpack.production.js: -------------------------------------------------------------------------------- 1 | 2 | var { CleanWebpackPlugin } = require('clean-webpack-plugin'); 3 | 4 | 5 | module.exports = function () { 6 | 7 | var configs = require('./webpack.development.js')(); 8 | 9 | configs.forEach(function (config) { 10 | config.devtool = false; 11 | config.output.filename = '[name].min.js' 12 | 13 | // config.plugins.push(new CleanWebpackPlugin({ cleanOnceBeforeBuildPatterns: ['dist/*'] })); 14 | 15 | }); 16 | 17 | return configs; 18 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Nasa8x 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 | -------------------------------------------------------------------------------- /www/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Vue Video Embed component for Vue.js 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Loading...
29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /dist/www/css/app.css: -------------------------------------------------------------------------------- 1 | html,body{background-color:#fefefe;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;height:100%;margin:0}header{margin-top:65px;text-align:center;padding:6px}header h1{text-align:center;margin:0 0 5px 0;font-weight:900;font-size:4rem;color:#34495e;font-family:'Hammersmith One', sans-serif}header h4{color:#9E9E9E;text-align:center;margin:0 0 35px 0;font-weight:400;font-size:24px;font-family:'Athiti', sans-serif}main{max-width:525px;width:100%;padding-top:34px;margin:auto;height:410px;font-size:1rem;padding-bottom:79px}a{text-decoration:none;color:#34495e}p{word-spacing:0.05em}footer{padding:30px 0;color:#fff;text-align:center;font-weight:300;font-family:'Roboto', sans-serif;background:#34495e;font-size:0.9rem;width:100%;bottom:0;left:0}footer .social-icon{margin:0 7px}footer .social-icon svg{width:30px;height:30px}a:hover,footer .social-icon svg:hover{opacity:0.6}footer a{font-weight:400;color:#fff}footer img{height:50px;margin-right:8px}code[data-lang],pre[data-lang],pre[data-lang] code{text-shadow:0 1px rgba(255,255,255,0.3);direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:3;-o-tab-size:3;tab-size:3;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none;border:none}pre[data-lang]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[data-lang],pre[data-lang]{background:#eee}:not(pre)>code[data-lang]{padding:.1em;border-radius:.3em;white-space:normal} 2 | 3 | -------------------------------------------------------------------------------- /dist/www/index.html: -------------------------------------------------------------------------------- 1 | Vue Video Embed component for Vue.js
Loading...
-------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "v-video-embed", 3 | "description": "This is a component for Vue.js to utilize YouTube, Vimeo, DailyMotion, Coub iframe embed API easily.", 4 | "version": "1.0.8", 5 | "author": "Nasa8x", 6 | "main": "./dist/video-embed.min.js", 7 | "scripts": { 8 | "dev": "cross-env NODE_ENV=development webpack --progress --watch --colors", 9 | "prod": "cross-env NODE_ENV=production webpack -p --watch --progress --colors", 10 | "start": "node ./dist/app.js" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "git+https://github.com/nasa8x/v-video-embed.git" 15 | }, 16 | "license": "MIT", 17 | "bugs": { 18 | "url": "https://github.com/nasa8x/v-video-embed/issues" 19 | }, 20 | "homepage": "https://morioh.com/p/487a79571ccb", 21 | "keywords": [ 22 | "vue video embed", 23 | "vue youtube embed", 24 | "vue vimeo embed", 25 | "vue embed", 26 | "vue dailymotion embed", 27 | "vue coub embed", 28 | "vue youku embed" 29 | ], 30 | "dependencies": { 31 | "vue": "^2.6.10" 32 | }, 33 | "devDependencies": { 34 | "@babel/core": "^7.6.4", 35 | "@babel/plugin-transform-modules-commonjs": "^7.6.0", 36 | "@babel/preset-env": "^7.6.3", 37 | "autoprefixer": "^9.7.0", 38 | "babel-loader": "^8.0.6", 39 | "clean-webpack-plugin": "^3.0.0", 40 | "copy-webpack-plugin": "^5.0.4", 41 | "cross-env": "^6.0.3", 42 | "css-loader": "^3.2.0", 43 | "file-loader": "^4.2.0", 44 | "friendly-errors-webpack-plugin": "^1.6.1", 45 | "html-loader": "^0.5.5", 46 | "html-webpack-externals-plugin": "^3.8.0", 47 | "html-webpack-plugin": "^3.0.6", 48 | "less": "^3.10.3", 49 | "less-loader": "^5.0.0", 50 | "mini-css-extract-plugin": "^0.8.0", 51 | "node-sass": "^4.13.0", 52 | "postcss-loader": "^3.0.0", 53 | "sass-loader": "^8.0.0", 54 | "style-loader": "^1.0.0", 55 | "stylus": "^0.54.7", 56 | "stylus-loader": "^3.0.1", 57 | "uglifyjs-webpack-plugin": "^2.2.0", 58 | "url-loader": "^2.2.0", 59 | "vue-loader": "^15.7.1", 60 | "vue-ssr-webpack-plugin": "^3.0.0", 61 | "vue-style-loader": "^4.1.2", 62 | "vue-template-compiler": "^2.6.10", 63 | "webpack": "^4.41.2", 64 | "webpack-cli": "^3.3.9", 65 | "webpack-node-externals": "^1.7.2" 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /www/app.vue: -------------------------------------------------------------------------------- 1 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /dist/www/css/app.css.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack:///./www/layout.css"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,iBAAiB;;AAEjB;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;;AAEV;AACA,gBAAgB;;AAEhB;AACA;AACA,eAAe;;AAEf;AACA,eAAe;;AAEf;AACA;AACA,cAAc;;AAEd;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,sBAAsB","file":"www/css/app.css","sourcesContent":["html, body {\n background-color: #fefefe;\n display: -webkit-box;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n flex-direction: column;\n height: 100%;\n margin: 0; }\n\nheader {\n margin-top: 65px;\n text-align: center;\n padding: 6px; }\n\nheader h1 {\n text-align: center;\n margin: 0 0 5px 0;\n font-weight: 900;\n font-size: 4rem;\n color: #34495e;\n font-family: 'Hammersmith One', sans-serif; }\n\nheader h4 {\n color: #9E9E9E;\n text-align: center;\n margin: 0 0 35px 0;\n font-weight: 400;\n font-size: 24px;\n font-family: 'Athiti', sans-serif; }\n\nmain {\n max-width: 525px;\n width: 100%;\n padding-top: 34px;\n margin: auto;\n height: 410px;\n font-size: 1rem;\n padding-bottom: 79px; }\n\na {\n text-decoration: none;\n color: #34495e; }\n\np {\n word-spacing: 0.05em; }\n\nfooter {\n padding: 30px 0;\n color: #fff;\n text-align: center;\n font-weight: 300;\n font-family: 'Roboto', sans-serif;\n background: #34495e;\n font-size: 0.9rem;\n width: 100%;\n bottom: 0;\n left: 0; }\n\nfooter .social-icon {\n margin: 0 7px; }\n\nfooter .social-icon svg {\n width: 30px;\n height: 30px; }\n\na:hover, footer .social-icon svg:hover {\n opacity: 0.6; }\n\nfooter a {\n font-weight: 400;\n color: #fff; }\n\nfooter img {\n height: 50px;\n margin-right: 8px; }\n\ncode[data-lang], pre[data-lang], pre[data-lang] code {\n text-shadow: 0 1px rgba(255, 255, 255, 0.3);\n direction: ltr;\n text-align: left;\n white-space: pre;\n word-spacing: normal;\n word-break: normal;\n word-wrap: normal;\n line-height: 1.5;\n -moz-tab-size: 3;\n -o-tab-size: 3;\n tab-size: 3;\n -webkit-hyphens: none;\n -ms-hyphens: none;\n hyphens: none;\n border: none; }\n\npre[data-lang] {\n padding: 1em;\n margin: .5em 0;\n overflow: auto;\n border-radius: .3em; }\n\n:not(pre) > code[data-lang], pre[data-lang] {\n background: #eee; }\n\n:not(pre) > code[data-lang] {\n padding: .1em;\n border-radius: .3em;\n white-space: normal; }\n"],"sourceRoot":""} -------------------------------------------------------------------------------- /www/layout.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | html, body { 5 | background-color: #fefefe; 6 | display: flex; 7 | flex-direction: column; 8 | height: 100%; 9 | margin: 0; 10 | } 11 | 12 | header { 13 | margin-top: 65px; 14 | text-align: center; 15 | padding: 6px; 16 | } 17 | 18 | header h1 { 19 | text-align: center; 20 | margin: 0 0 5px 0; 21 | font-weight: 900; 22 | font-size: 4rem; 23 | color: #34495e; 24 | font-family: 'Hammersmith One', sans-serif; 25 | } 26 | 27 | header h4 { 28 | color: #9E9E9E; 29 | text-align: center; 30 | margin: 0 0 35px 0; 31 | font-weight: 400; 32 | font-size: 24px; 33 | font-family: 'Athiti', sans-serif; 34 | } 35 | 36 | main { 37 | max-width: 525px; 38 | width: 100%; 39 | padding-top: 34px; 40 | margin: auto; 41 | height: 410px; 42 | font-size: 1rem; 43 | padding-bottom: 79px; 44 | } 45 | 46 | a { 47 | text-decoration: none; 48 | color: #34495e; 49 | } 50 | 51 | p { 52 | word-spacing: 0.05em; 53 | } 54 | 55 | footer { 56 | padding: 30px 0; 57 | color: #fff; 58 | text-align: center; 59 | font-weight: 300; 60 | font-family: 'Roboto', sans-serif; 61 | background: #34495e; 62 | font-size: 0.9rem; 63 | width: 100%; 64 | bottom: 0; 65 | left: 0; 66 | } 67 | 68 | footer .social-icon { 69 | margin: 0 7px; 70 | } 71 | 72 | footer .social-icon svg { 73 | width: 30px; 74 | height: 30px; 75 | } 76 | 77 | a:hover, footer .social-icon svg:hover { 78 | opacity: 0.6; 79 | } 80 | 81 | footer a { 82 | font-weight: 400; 83 | color: #fff; 84 | } 85 | footer img{ 86 | height: 50px; 87 | margin-right: 8px; 88 | } 89 | 90 | 91 | 92 | code[data-lang], pre[data-lang], pre[data-lang] code { 93 | text-shadow: 0 1px rgba(255, 255, 255, 0.3); 94 | direction: ltr; 95 | text-align: left; 96 | white-space: pre; 97 | word-spacing: normal; 98 | word-break: normal; 99 | word-wrap: normal; 100 | line-height: 1.5; 101 | -moz-tab-size: 3; 102 | -o-tab-size: 3; 103 | tab-size: 3; 104 | -webkit-hyphens: none; 105 | -moz-hyphens: none; 106 | -ms-hyphens: none; 107 | hyphens: none; 108 | border: none; 109 | } 110 | 111 | pre[data-lang] { 112 | padding: 1em; 113 | margin: .5em 0; 114 | overflow: auto; 115 | border-radius: .3em 116 | } 117 | 118 | :not(pre)>code[data-lang], pre[data-lang] { 119 | background: #eee 120 | } 121 | 122 | :not(pre)>code[data-lang] { 123 | padding: .1em; 124 | border-radius: .3em; 125 | white-space: normal 126 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Vue Video Embed component for Vue.js 2 | 3 | This is a component for Vue.js to utilize YouTube, Vimeo, DailyMotion, Coub iframe embed API easily. 4 | 5 | ☞ [Vue JS - The Complete Guide (incl. Vue Router & Vuex)](http://on.codequs.com/e23cdae55c) 6 | 7 | ☞ [How to Create a Chrome Extension with Vue.js](https://morioh.com/p/0169fb660bae) 8 | 9 | ☞ [How To Build a Blog with Nest.js, MongoDB, and Vue.js](https://morioh.com/p/74ffc8a798bb) 10 | 11 | 12 | 13 | ### Demo 14 | 15 | [Vue Video Embed](https://nasa8x.github.io/v-video-embed/dist/www) 16 | 17 | ### Install 18 | 19 | ```js 20 | npm install v-video-embed 21 | ``` 22 | 23 | ```js 24 | yarn install v-video-embed 25 | ``` 26 | 27 | ### Use CDN 28 | 29 | ``` 30 | 31 | 32 | ``` 33 | 34 | ```js 35 | import Vue from 'vue' 36 | import Embed from 'v-video-embed' 37 | 38 | // global register 39 | Vue.use(Embed); 40 | 41 | ``` 42 | 43 | 44 | ### Youtube 45 | 46 | ```js 47 | 48 | 49 | # custom params 50 | 51 | 52 | ``` 53 | 54 | 55 | ```js 56 | 57 | # vimeo 58 | 59 | 60 | 61 | # dailymotion 62 | 63 | 64 | # coub 65 | 66 | 67 | ``` 68 | 69 | ```html 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | ``` 83 | 84 | ```html 85 | 86 | 87 | 88 | 89 | 90 | 91 | 107 | 108 | ``` -------------------------------------------------------------------------------- /dist/video-embed.min.js: -------------------------------------------------------------------------------- 1 | !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var r=t();for(var o in r)("object"==typeof exports?exports:e)[o]=r[o]}}(window,(function(){return function(e){var t={};function r(o){if(t[o])return t[o].exports;var n=t[o]={i:o,l:!1,exports:{}};return e[o].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=e,r.c=t,r.d=function(e,t,o){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(r.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(o,n,function(t){return e[t]}.bind(null,n));return o},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t,r){"use strict";r.r(t);var o=function(e,t,r,o,n,i,s,a){var l,u="function"==typeof e?e.options:e;if(t&&(u.render=t,u.staticRenderFns=r,u._compiled=!0),o&&(u.functional=!0),i&&(u._scopeId="data-v-"+i),s?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),n&&n.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},u._ssrRegister=l):n&&(l=a?function(){n.call(this,this.$root.$options.shadowRoot)}:n),l)if(u.functional){u._injectStyles=l;var c=u.render;u.render=function(e,t){return l.call(t),c(e,t)}}else{var d=u.beforeCreate;u.beforeCreate=d?[].concat(d,l):[l]}return{exports:e,options:u}}({props:{css:{type:String,default:"embed-responsive-16by9"},src:{type:String},params:{type:Object}},data:function(){return{valid:!1,url:"",videos:[{reg:/^((?:https?:)?\/\/)?((?:www|m)\.)?((?:youtube\.com|youtu.be))(\/(?:[\w\-]+\?v=|embed\/|v\/)?)([\w\-]+)(\S+)?$/i,url:"https://www.youtube.com/embed/$5",params:{"picture-in-picture":1,accelerometer:1,gyroscope:1}},{reg:/^.*vimeo.com\/(\d+)($|\/|\b)/i,url:"https://player.vimeo.com/video/$1",params:{title:0,byline:0,portrait:0}},{reg:/^.*(?:\/video|dai.ly)\/([A-Za-z0-9]+)([^#\&\?]*).*/i,url:"https://www.dailymotion.com/embed/video/$1",params:{autoplay:0}},{reg:/^.*coub.com\/(?:embed|view)\/([A-Za-z0-9]+)([^#\&\?]*).*/i,url:"https://coub.com/embed/$1",params:{autoplay:0}}]}},watch:{src:function(e){this.parse()}},methods:{parse:function(){if(this.src)for(var e=0;e=0?"&":"?";return this.url=this.src.replace(t.reg,t.url)+n+o,void(this.valid=!0)}}this.valid=!1}},mounted:function(){this.parse()}},(function(){var e=this.$createElement,t=this._self._c||e;return this.valid?t("div",{staticClass:"embed-responsive",class:[this.css]},[t("iframe",{staticClass:"embed-responsive-item",attrs:{sandbox:"allow-forms allow-scripts allow-pointer-lock allow-same-origin allow-top-navigation allow-presentation",allowfullscreen:"",src:this.url}})]):this._e()}),[],!1,null,null,null).exports,n={install:function(e){e.__embed_installed||(e.__embed_installed=!0,e.component("video-embed",o))}};"undefined"!=typeof window&&window.Vue&&Vue.use(n);t.default=n}])})); -------------------------------------------------------------------------------- /src/embed.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /dist/www.min.js: -------------------------------------------------------------------------------- 1 | !function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="../",r(r.s=4)}([function(e,t){e.exports=Vue},function(e,t,r){(function(e){var r,n,o,i;function s(e){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}window,i=function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"===s(e)&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s="./src/index.js")}({"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/embed.vue?vue&type=script&lang=js&": 2 | /*!**********************************************************************************************************************************!*\ 3 | !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/embed.vue?vue&type=script&lang=js& ***! 4 | \**********************************************************************************************************************************/ 5 | /*! exports provided: default */ 6 | function(e,t,r){"use strict";r.r(t),t.default={props:{css:{type:String,default:"embed-responsive-16by9"},src:{type:String},params:{type:Object}},data:function(){return{valid:!1,url:"",videos:[{reg:/^((?:https?:)?\/\/)?((?:www|m)\.)?((?:youtube\.com|youtu.be))(\/(?:[\w\-]+\?v=|embed\/|v\/)?)([\w\-]+)(\S+)?$/i,url:"https://www.youtube.com/embed/$5",params:{"picture-in-picture":1,accelerometer:1,gyroscope:1}},{reg:/^.*vimeo.com\/(\d+)($|\/|\b)/i,url:"https://player.vimeo.com/video/$1",params:{title:0,byline:0,portrait:0}},{reg:/^.*(?:\/video|dai.ly)\/([A-Za-z0-9]+)([^#\&\?]*).*/i,url:"https://www.dailymotion.com/embed/video/$1",params:{autoplay:0}},{reg:/^.*coub.com\/(?:embed|view)\/([A-Za-z0-9]+)([^#\&\?]*).*/i,url:"https://coub.com/embed/$1",params:{autoplay:0}}]}},watch:{src:function(e){this.parse()}},methods:{parse:function(){if(this.src)for(var e=0;e=0?"&":"?";return this.url=this.src.replace(t.reg,t.url)+o+n,void(this.valid=!0)}}this.valid=!1}},mounted:function(){this.parse()}}},"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/embed.vue?vue&type=template&id=058b7650&": 7 | /*!************************************************************************************************************************************************************************************!*\ 8 | !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/embed.vue?vue&type=template&id=058b7650& ***! 9 | \************************************************************************************************************************************************************************************/ 10 | /*! exports provided: render, staticRenderFns */ 11 | function(e,t,r){"use strict";r.r(t),r.d(t,"render",(function(){return n})),r.d(t,"staticRenderFns",(function(){return o}));var n=function(){var e=this.$createElement,t=this._self._c||e;return this.valid?t("div",{staticClass:"embed-responsive",class:[this.css]},[t("iframe",{staticClass:"embed-responsive-item",attrs:{sandbox:"allow-forms allow-scripts allow-pointer-lock allow-same-origin allow-top-navigation",allowfullscreen:"",src:this.url}})]):this._e()},o=[];n._withStripped=!0},"./node_modules/vue-loader/lib/runtime/componentNormalizer.js": 12 | /*!********************************************************************!*\ 13 | !*** ./node_modules/vue-loader/lib/runtime/componentNormalizer.js ***! 14 | \********************************************************************/ 15 | /*! exports provided: default */ 16 | function(e,t,r){"use strict";function n(e,t,r,n,o,i,s,a){var u,c="function"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=r,c._compiled=!0),n&&(c.functional=!0),i&&(c._scopeId="data-v-"+i),s?(u=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},c._ssrRegister=u):o&&(u=a?function(){o.call(this,this.$root.$options.shadowRoot)}:o),u)if(c.functional){c._injectStyles=u;var l=c.render;c.render=function(e,t){return u.call(t),l(e,t)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,u):[u]}return{exports:e,options:c}}r.r(t),r.d(t,"default",(function(){return n}))},"./src/embed.vue": 17 | /*!***********************!*\ 18 | !*** ./src/embed.vue ***! 19 | \***********************/ 20 | /*! exports provided: default */ 21 | function(e,t,r){"use strict";r.r(t);var n=r( 22 | /*! ./embed.vue?vue&type=template&id=058b7650& */ 23 | "./src/embed.vue?vue&type=template&id=058b7650&"),o=r( 24 | /*! ./embed.vue?vue&type=script&lang=js& */ 25 | "./src/embed.vue?vue&type=script&lang=js&"),i=r( 26 | /*! ../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ 27 | "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),s=Object(i.default)(o.default,n.render,n.staticRenderFns,!1,null,null,null);s.options.__file="src/embed.vue",t.default=s.exports},"./src/embed.vue?vue&type=script&lang=js&": 28 | /*!************************************************!*\ 29 | !*** ./src/embed.vue?vue&type=script&lang=js& ***! 30 | \************************************************/ 31 | /*! exports provided: default */ 32 | function(e,t,r){"use strict";r.r(t);var n=r( 33 | /*! -!../node_modules/babel-loader/lib!../node_modules/vue-loader/lib??vue-loader-options!./embed.vue?vue&type=script&lang=js& */ 34 | "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/embed.vue?vue&type=script&lang=js&");t.default=n.default},"./src/embed.vue?vue&type=template&id=058b7650&": 35 | /*!******************************************************!*\ 36 | !*** ./src/embed.vue?vue&type=template&id=058b7650& ***! 37 | \******************************************************/ 38 | /*! exports provided: render, staticRenderFns */ 39 | function(e,t,r){"use strict";r.r(t);var n=r( 40 | /*! -!../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../node_modules/vue-loader/lib??vue-loader-options!./embed.vue?vue&type=template&id=058b7650& */ 41 | "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/embed.vue?vue&type=template&id=058b7650&");r.d(t,"render",(function(){return n.render})),r.d(t,"staticRenderFns",(function(){return n.staticRenderFns}))},"./src/index.js": 42 | /*!**********************!*\ 43 | !*** ./src/index.js ***! 44 | \**********************/ 45 | /*! exports provided: default */ 46 | function(e,t,r){"use strict";r.r(t);var n=r( 47 | /*! ./embed.vue */ 48 | "./src/embed.vue"),o={install:function(e){e.__embed_installed||(e.__embed_installed=!0,e.component("video-embed",n.default))}};"undefined"!=typeof window&&window.Vue&&Vue.use(o),t.default=o}})},"object"===s(t)&&"object"===s(e)?e.exports=i():(n=[],void 0===(o="function"==typeof(r=i)?r.apply(t,n):r)||(e.exports=o))}).call(this,r(3)(e))},function(e,t,r){},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,r){"use strict";r.r(t);r(2);var n=r(0),o=r.n(n);var i=function(e,t,r,n,o,i,s,a){var u,c="function"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=r,c._compiled=!0),n&&(c.functional=!0),i&&(c._scopeId="data-v-"+i),s?(u=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},c._ssrRegister=u):o&&(u=a?function(){o.call(this,this.$root.$options.shadowRoot)}:o),u)if(c.functional){c._injectStyles=u;var l=c.render;c.render=function(e,t){return u.call(t),l(e,t)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,u):[u]}return{exports:e,options:c}}({methods:{change:function(){this.$refs.youtube.src="https://www.youtube.com/watch?v=nqwQpXoSN7Q"}}},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("div",{staticClass:"container"},[e._m(0),e._v(" "),e._m(1),e._v(" "),r("div",{staticClass:"form-group"},[r("video-embed",{ref:"youtube",attrs:{params:{autoplay:1},src:"https://www.youtube.com/watch?v=s4ObxcdXoFE&list=PLOtXQ1m0FkHBRg_6v8lJfX9AKKamgYrjC"}})],1),e._v(" "),r("div",{staticClass:"form-group"},[r("button",{staticClass:"btn btn-primary",on:{click:e.change}},[e._v("Change Url")])]),e._v(" "),r("div",{staticClass:"form-group"},[r("video-embed",{attrs:{src:"https://vimeo.com/370293725"}})],1),e._v(" "),r("div",{staticClass:"form-group"},[r("video-embed",{attrs:{src:"https://dai.ly/x7n7y06"}})],1),e._v(" "),r("div",{staticClass:"form-group"},[r("video-embed",{attrs:{src:"https://coub.com/embed/22eztb"}})],1)]),e._v(" "),e._m(2)])}),[function(){var e=this.$createElement,t=this._self._c||e;return t("header",[t("h1",[this._v("Vue Video Embed")]),this._v(" "),t("h4",[this._v("This is a component for Vue.js to utilize YouTube, Vimeo, DailyMotion, Coub iframe embed API easily.\n ")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"form-group"},[t("h2",{staticClass:"text-center"},[t("a",{attrs:{href:"https://morioh.com",title:"\bSocial Network for Developers"}},[this._v("\bSocial\n Network for Developers")])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("footer",[t("p",[t("a",{staticClass:"social-icon",attrs:{href:"https://github.com/nasa8x/v-video-embed",target:"_blank"}},[t("i",{staticClass:"fa-3x fab fa-github-square"})])]),this._v(" "),t("p",[this._v("Developed under the "),t("a",{attrs:{href:"https://opensource.org/licenses/MIT",target:"_blank"}},[this._v("MIT License")]),t("br"),this._v("\n Made Love by Nasa8x"),t("br"),this._v(" "),t("strong",[this._v("Donate")]),t("br"),this._v(" "),t("a",{attrs:{href:"http://vrl.to/ec5cfbae",target:"_blank"}},[t("img",{attrs:{src:"https://i.imgur.com/z0p6RvA.png"}})]),t("a",{attrs:{href:"http://vrl.to/ec5cfbae",target:"_blank"}},[t("img",{attrs:{src:"https://i.imgur.com/bEUNBGz.png"}})])])])}],!1,null,null,null).exports,s=r(1),a=r.n(s);o.a.use(a.a),new o.a({el:"#app",render:function(e){return e(i)}})}]); -------------------------------------------------------------------------------- /webpack.development.js: -------------------------------------------------------------------------------- 1 | var path = require('path'); 2 | var webpack = require('webpack'); 3 | 4 | var HtmlWebpackPlugin = require('html-webpack-plugin'); 5 | var HtmlWebpackExternalsPlugin = require('html-webpack-externals-plugin'); 6 | 7 | var { VueLoaderPlugin } = require('vue-loader') 8 | var nodeExternals = require('webpack-node-externals'); 9 | var MiniCssExtractPlugin = require("mini-css-extract-plugin"); 10 | var CopyWebpackPlugin = require('copy-webpack-plugin'); 11 | 12 | module.exports = function (env) { 13 | return [ 14 | 15 | 16 | { 17 | 18 | mode: 'development', 19 | target: 'web', 20 | devtool: '#source-map', 21 | entry: { 22 | 'video-embed': './src/index.js', 23 | 24 | }, 25 | output: { 26 | // libraryTarget: 'commonjs2', 27 | // libraryTarget: 'commonjs', 28 | libraryTarget: 'umd', 29 | path: path.join(__dirname, './dist'), 30 | filename: '[name].js', 31 | 32 | }, 33 | module: { 34 | rules: [ 35 | 36 | 37 | { 38 | test: /\.vue$/, 39 | loader: 'vue-loader', 40 | options: { 41 | loaders: { 42 | //presets: ['es2015', "stage-2"], 43 | // Since sass-loader (weirdly) has SCSS as its default parse mode, we map 44 | // the "scss" and "sass" values for the lang attribute to the right configs here. 45 | // other preprocessors should work out of the box, no loader config like this nessessary. 46 | 'scss': 'vue-style-loader!css-loader!sass-loader', 47 | 'sass': 'vue-style-loader!css-loader!sass-loader?indentedSyntax' 48 | }, 49 | // other vue-loader options go here 50 | } 51 | }, 52 | 53 | 54 | { 55 | test: /\.js$/, 56 | loader: 'babel-loader', 57 | //exclude: /node_modules/ 58 | }, 59 | { 60 | test: /\.s?[ac]ss$/, 61 | use: [ 62 | MiniCssExtractPlugin.loader, 63 | 'css-loader', 64 | 65 | 'sass-loader', 66 | { 67 | loader: 'postcss-loader', 68 | options: { 69 | plugins: () => [require('autoprefixer')], 70 | } 71 | } 72 | ], 73 | }, 74 | 75 | { 76 | test: /\.less$/, 77 | use: [ 78 | 'vue-style-loader', 79 | 'css-loader', 80 | 'less-loader' 81 | ] 82 | }, 83 | 84 | 85 | ] 86 | }, 87 | //externals: [/^(?!\.|\/).+/i,], 88 | // externals: [nodeExternals()], 89 | plugins: [ 90 | 91 | new webpack.DefinePlugin({ 92 | 'process.env': { NODE_ENV: JSON.stringify(process.env.NODE_ENV || "development") } 93 | }), 94 | new MiniCssExtractPlugin({ 95 | filename: '[name].css', 96 | allChunks: true 97 | }), 98 | new VueLoaderPlugin(), 99 | ] 100 | }, 101 | 102 | { 103 | mode: 'development', 104 | target: 'web', 105 | entry: { 106 | 'www': './www/app.js', 107 | // 'www/a': './src/adv/app.js', 108 | // 'www/c': './src/cpanel/app.js', 109 | //'admin': './src/admin/app.js', 110 | 111 | }, 112 | output: { 113 | path: path.join(__dirname, './dist'), 114 | //filename: '[name].[hash:8].js', 115 | filename: '[name]/js/app.js', 116 | publicPath: '../', 117 | //chunkFilename: '[name]-chunk.js', 118 | //sourceMapFilename: '[name].map' 119 | }, 120 | module: { 121 | rules: [ 122 | { 123 | test: /\.vue$/, 124 | loader: 'vue-loader', 125 | options: { 126 | loaders: { 127 | //presets: ['es2015', "stage-2"], 128 | // Since sass-loader (weirdly) has SCSS as its default parse mode, we map 129 | // the "scss" and "sass" values for the lang attribute to the right configs here. 130 | // other preprocessors should work out of the box, no loader config like this nessessary. 131 | 'scss': 'vue-style-loader!css-loader!sass-loader', 132 | 'sass': 'vue-style-loader!css-loader!sass-loader?indentedSyntax' 133 | }, 134 | // other vue-loader options go here 135 | } 136 | }, 137 | 138 | { 139 | test: /\.js$/, 140 | loader: 'babel-loader', 141 | exclude: file => ( 142 | /node_modules/.test(file) && 143 | !/\.vue\.js/.test(file) 144 | ) 145 | }, 146 | 147 | { 148 | test: /\.s?[ac]ss$/, 149 | use: [ 150 | MiniCssExtractPlugin.loader, 151 | 'css-loader', 152 | 153 | 'sass-loader', 154 | { 155 | loader: 'postcss-loader', 156 | options: { 157 | plugins: () => [require('autoprefixer')], 158 | 159 | 160 | 161 | } 162 | } 163 | ], 164 | }, 165 | 166 | { 167 | test: /\.less$/, 168 | use: [ 169 | 'vue-style-loader', 170 | 'css-loader', 171 | 'less-loader' 172 | ] 173 | }, 174 | 175 | { 176 | test: /\.(png|jpg|gif|svg|eot|ttf|woff|woff2)$/, 177 | loader: 'url-loader', 178 | options: { 179 | limit: 10000, 180 | name: '[name].[ext]?[hash]' 181 | } 182 | } 183 | ] 184 | }, 185 | 186 | 187 | 188 | devtool: '#source-map', 189 | // optimization:{ 190 | // splitChunks:{chunks: "all"} 191 | // }, 192 | 193 | plugins: [ 194 | new webpack.DefinePlugin({ 195 | "process.env.NODE_ENV": JSON.stringify( 196 | process.env.NODE_ENV || "development" 197 | ), 198 | "process.env.VUE_ENV": '"client"' 199 | }), 200 | 201 | 202 | 203 | new HtmlWebpackPlugin({ 204 | filename: 'www/index.html', 205 | template: 'www/index.html', 206 | hash: true, 207 | chunks: ['www'], 208 | minify: { 209 | collapseWhitespace: true, 210 | //preserveLineBreaks: true, 211 | //removeComments: true, 212 | collapseBooleanAttributes: true, 213 | removeEmptyAttributes: true 214 | } 215 | 216 | }), 217 | 218 | 219 | 220 | new HtmlWebpackExternalsPlugin({ 221 | // hash: true, 222 | externals: [ 223 | { 224 | module: 'jquery', 225 | entry: 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js', 226 | global: 'jQuery' 227 | }, 228 | { 229 | module: 'Popper', 230 | entry: 'https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.1/umd/popper.min.js' 231 | }, 232 | { 233 | module: 'boostrap', 234 | entry: 'https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/js/bootstrap.min.js' 235 | }, 236 | { 237 | module: 'vue', 238 | global: 'Vue', 239 | entry: 'https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.min.js' 240 | }, 241 | // { 242 | // module: 'vue-router', 243 | // global: 'VueRouter', 244 | // entry: 'https://cdnjs.cloudflare.com/ajax/libs/vue-router/3.0.1/vue-router.min.js' 245 | // }, 246 | 247 | // { 248 | // module: 'vuex', 249 | // global: 'Vuex', 250 | // entry: 'https://cdnjs.cloudflare.com/ajax/libs/vuex/3.0.1/vuex.min.js' 251 | // }, 252 | // { 253 | // module: 'axios', 254 | // global: 'axios', 255 | // entry: 'https://cdnjs.cloudflare.com/ajax/libs/axios/0.18.0/axios.min.js' 256 | // }, 257 | // { 258 | // module: 'lodash', 259 | // global: '_', 260 | // entry: 'https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.10/lodash.min.js' 261 | // }, 262 | 263 | // { 264 | // module: 'moment', 265 | // global: 'moment', 266 | // entry: 'https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js' 267 | // }, 268 | 269 | // { 270 | // module: 'v-markdown-editor', 271 | 272 | // entry: 'http://127.0.0.1:5500/dist/v-markdown-editor.min.js' 273 | // }, 274 | 275 | 276 | 277 | // { 278 | 279 | // module: 'remark', 280 | // entry: [ 281 | // '//l.allcdn.org/remark/v4.1/bootstrap.min.css', 282 | // '//l.allcdn.org/remark/v4.1/bootstrap-extend.min.css', 283 | // '//l.allcdn.org/remark/v4.1/iconbar/site.min.css', 284 | // // '//l.allcdn.org/remark/v4.1/skins/green.min.css' 285 | // ], 286 | 287 | // }, 288 | 289 | { 290 | 291 | module: 'bootstrap', 292 | entry: [ 293 | 'https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/css/bootstrap.min.css', 294 | // '//l.allcdn.org/remark/v4.1/skins/green.min.css' 295 | ], 296 | 297 | }, 298 | 299 | 300 | { 301 | module: 'fonts', 302 | entry: [ 303 | '//l.allcdn.org/fa/v5.12.2/css/all.min.css' 304 | ], 305 | }, 306 | 307 | 308 | 309 | ] 310 | }), 311 | 312 | new MiniCssExtractPlugin({ 313 | filename: '[name]/css/app.css', 314 | allChunks: true 315 | }), 316 | 317 | 318 | new VueLoaderPlugin(), 319 | 320 | new webpack.optimize.LimitChunkCountPlugin({ 321 | maxChunks: 1, 322 | }), 323 | 324 | ], 325 | 326 | 327 | }, 328 | ///---------------------------- 329 | 330 | 331 | 332 | ] 333 | } 334 | -------------------------------------------------------------------------------- /dist/video-embed.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///src/embed.vue","webpack:///./src/embed.vue?602f","webpack:///./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///./src/embed.vue","webpack:///./src/embed.vue?ed84","webpack:///./src/embed.vue?4445","webpack:///./src/index.js"],"names":["VideoEmbed","install","Vue","__embed_installed","component","Embed","window","use"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;QCVA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;;;;;;;;;;;;;;ACpEA;AACA;AAEA;AACA,kBADA;AAEA;AAFA,KAFA;AAOA;AAAA;AAAA,KAPA;AASA;AACA;AADA;AATA,GADA;AAeA,MAfA,kBAeA;AACA;AAEA,kBAFA;AAGA,aAHA;AAKA,eACA;AACA;AACA;AACA,6HAHA;AAIA,+CAJA;AAKA;AACA,iCADA;AAEA,0BAFA;AAGA;AAHA;AALA,OADA,EAeA;AACA,4CADA;AAEA,gDAFA;AAGA;AACA,kBADA;AAEA,mBAFA;AAGA;AAHA;AAHA,OAfA,EA2BA;AACA,kEADA;AAEA,yDAFA;AAGA;AACA;AADA;AAHA,OA3BA,EAmCA;AACA,wEADA;AAEA,wCAFA;AAGA;AACA;AADA;AAHA,OAnCA,CA6CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAvDA;AALA;AAgEA,GAhFA;AAmFA;AACA,OADA,eACA,GADA,EACA;AAEA;AACA;AAJA,GAnFA;AA0FA;AAEA,SAFA,mBAEA;AAEA;AAEA;AACA;AACA;;AAEA;AAEA;AACA;AAAA;AAAA;AACA;AACA;AACA,8BANA,CAQA;;AAEA;AACA;AAEA;AAEA;;AAEA;AACA;AA5BA,GA1FA;AA0HA,SA1HA,qBA0HA;AAEA;AAEA;AA9HA,G;;;;;;;;;;;;ACdA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA,iBAAiB,oDAAoD;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACnBA;AAAA;AAAA;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC5FA;AAAA;AAAA;AAAA;AAAoF;AAC3B;AACL;;;AAGpD;AACuF;AACvF,gBAAgB,2GAAU;AAC1B,EAAE,2EAAM;AACR,EAAE,gFAAM;AACR,EAAE,yFAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEA;AACA,IAAI,KAAU,EAAE,YAiBf;AACD;AACe,gF;;;;;;;;;;;;ACtCf;AAAA;AAAA,wCAA+J,CAAgB,yOAAG,EAAC,C;;;;;;;;;;;;ACAnL;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACCA;AAAA;AAAA;AAEA,IAAIA,UAAU,GAAG;AACbC,SAAO,EAAE,iBAAUC,GAAV,EAAe;AACpB,QAAIA,GAAG,CAACC,iBAAR,EAA2B;AACvB;AACH;;AAEDD,OAAG,CAACC,iBAAJ,GAAwB,IAAxB;AAEAD,OAAG,CAACE,SAAJ,CAAc,aAAd,EAA6BC,kDAA7B;AACH;AATY,CAAjB;;AAYA,IAAI,OAAOC,MAAP,KAAkB,WAAlB,IAAiCA,MAAM,CAACJ,GAA5C,EAAiD;AAC7CA,KAAG,CAACK,GAAJ,CAAQP,UAAR;AACH;;AAEcA,yEAAf,E","file":"video-embed.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/index.js\");\n","\n\n\n\n","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm.valid\n ? _c(\"div\", { staticClass: \"embed-responsive\", class: [_vm.css] }, [\n _c(\"iframe\", {\n staticClass: \"embed-responsive-item\",\n attrs: {\n sandbox:\n \"allow-forms allow-scripts allow-pointer-lock allow-same-origin allow-top-navigation\",\n allowfullscreen: \"\",\n src: _vm.url\n }\n })\n ])\n : _vm._e()\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./embed.vue?vue&type=template&id=058b7650&\"\nimport script from \"./embed.vue?vue&type=script&lang=js&\"\nexport * from \"./embed.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/nasa8x/nasa/projects/nodejs/v-video-embed/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('058b7650')) {\n api.createRecord('058b7650', component.options)\n } else {\n api.reload('058b7650', component.options)\n }\n module.hot.accept(\"./embed.vue?vue&type=template&id=058b7650&\", function () {\n api.rerender('058b7650', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/embed.vue\"\nexport default component.exports","import mod from \"-!../node_modules/babel-loader/lib/index.js!../node_modules/vue-loader/lib/index.js??vue-loader-options!./embed.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/babel-loader/lib/index.js!../node_modules/vue-loader/lib/index.js??vue-loader-options!./embed.vue?vue&type=script&lang=js&\"","export * from \"-!../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../node_modules/vue-loader/lib/index.js??vue-loader-options!./embed.vue?vue&type=template&id=058b7650&\"","\nimport Embed from './embed.vue';\n\nvar VideoEmbed = {\n install: function (Vue) {\n if (Vue.__embed_installed) {\n return;\n }\n\n Vue.__embed_installed = true;\n\n Vue.component('video-embed', Embed);\n }\n};\n\nif (typeof window !== 'undefined' && window.Vue) {\n Vue.use(VideoEmbed);\n}\n\nexport default VideoEmbed;"],"sourceRoot":""} -------------------------------------------------------------------------------- /dist/video-embed.js: -------------------------------------------------------------------------------- 1 | (function webpackUniversalModuleDefinition(root, factory) { 2 | if(typeof exports === 'object' && typeof module === 'object') 3 | module.exports = factory(); 4 | else if(typeof define === 'function' && define.amd) 5 | define([], factory); 6 | else { 7 | var a = factory(); 8 | for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i]; 9 | } 10 | })(window, function() { 11 | return /******/ (function(modules) { // webpackBootstrap 12 | /******/ // The module cache 13 | /******/ var installedModules = {}; 14 | /******/ 15 | /******/ // The require function 16 | /******/ function __webpack_require__(moduleId) { 17 | /******/ 18 | /******/ // Check if module is in cache 19 | /******/ if(installedModules[moduleId]) { 20 | /******/ return installedModules[moduleId].exports; 21 | /******/ } 22 | /******/ // Create a new module (and put it into the cache) 23 | /******/ var module = installedModules[moduleId] = { 24 | /******/ i: moduleId, 25 | /******/ l: false, 26 | /******/ exports: {} 27 | /******/ }; 28 | /******/ 29 | /******/ // Execute the module function 30 | /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); 31 | /******/ 32 | /******/ // Flag the module as loaded 33 | /******/ module.l = true; 34 | /******/ 35 | /******/ // Return the exports of the module 36 | /******/ return module.exports; 37 | /******/ } 38 | /******/ 39 | /******/ 40 | /******/ // expose the modules object (__webpack_modules__) 41 | /******/ __webpack_require__.m = modules; 42 | /******/ 43 | /******/ // expose the module cache 44 | /******/ __webpack_require__.c = installedModules; 45 | /******/ 46 | /******/ // define getter function for harmony exports 47 | /******/ __webpack_require__.d = function(exports, name, getter) { 48 | /******/ if(!__webpack_require__.o(exports, name)) { 49 | /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); 50 | /******/ } 51 | /******/ }; 52 | /******/ 53 | /******/ // define __esModule on exports 54 | /******/ __webpack_require__.r = function(exports) { 55 | /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { 56 | /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); 57 | /******/ } 58 | /******/ Object.defineProperty(exports, '__esModule', { value: true }); 59 | /******/ }; 60 | /******/ 61 | /******/ // create a fake namespace object 62 | /******/ // mode & 1: value is a module id, require it 63 | /******/ // mode & 2: merge all properties of value into the ns 64 | /******/ // mode & 4: return value when already ns object 65 | /******/ // mode & 8|1: behave like require 66 | /******/ __webpack_require__.t = function(value, mode) { 67 | /******/ if(mode & 1) value = __webpack_require__(value); 68 | /******/ if(mode & 8) return value; 69 | /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; 70 | /******/ var ns = Object.create(null); 71 | /******/ __webpack_require__.r(ns); 72 | /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); 73 | /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); 74 | /******/ return ns; 75 | /******/ }; 76 | /******/ 77 | /******/ // getDefaultExport function for compatibility with non-harmony modules 78 | /******/ __webpack_require__.n = function(module) { 79 | /******/ var getter = module && module.__esModule ? 80 | /******/ function getDefault() { return module['default']; } : 81 | /******/ function getModuleExports() { return module; }; 82 | /******/ __webpack_require__.d(getter, 'a', getter); 83 | /******/ return getter; 84 | /******/ }; 85 | /******/ 86 | /******/ // Object.prototype.hasOwnProperty.call 87 | /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; 88 | /******/ 89 | /******/ // __webpack_public_path__ 90 | /******/ __webpack_require__.p = ""; 91 | /******/ 92 | /******/ 93 | /******/ // Load entry module and return exports 94 | /******/ return __webpack_require__(__webpack_require__.s = "./src/index.js"); 95 | /******/ }) 96 | /************************************************************************/ 97 | /******/ ({ 98 | 99 | /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/embed.vue?vue&type=script&lang=js&": 100 | /*!**********************************************************************************************************************************!*\ 101 | !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/embed.vue?vue&type=script&lang=js& ***! 102 | \**********************************************************************************************************************************/ 103 | /*! exports provided: default */ 104 | /***/ (function(module, __webpack_exports__, __webpack_require__) { 105 | 106 | "use strict"; 107 | __webpack_require__.r(__webpack_exports__); 108 | // 109 | // 110 | // 111 | // 112 | // 113 | // 114 | // 115 | // 116 | // 117 | // 118 | // 119 | /* harmony default export */ __webpack_exports__["default"] = ({ 120 | props: { 121 | css: { 122 | type: String, 123 | "default": 'embed-responsive-16by9' 124 | }, 125 | src: { 126 | type: String 127 | }, 128 | params: { 129 | type: Object 130 | } 131 | }, 132 | data: function data() { 133 | return { 134 | valid: false, 135 | url: '', 136 | videos: [{ 137 | //reg: /^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=|\?v=)([^#\&\?]*).*/i, 138 | //reg: /^.*(?:(?:v|vi|be|videos|embed)\/(?!videoseries)|(?:v|ci)=)([\w-]{11})/i, 139 | reg: /^((?:https?:)?\/\/)?((?:www|m)\.)?((?:youtube\.com|youtu.be))(\/(?:[\w\-]+\?v=|embed\/|v\/)?)([\w\-]+)(\S+)?$/i, 140 | url: 'https://www.youtube.com/embed/$5', 141 | params: { 142 | 'picture-in-picture': 1, 143 | accelerometer: 1, 144 | gyroscope: 1 145 | } 146 | }, { 147 | reg: /^.*vimeo.com\/(\d+)($|\/|\b)/i, 148 | url: 'https://player.vimeo.com/video/$1', 149 | params: { 150 | title: 0, 151 | byline: 0, 152 | portrait: 0 153 | } 154 | }, { 155 | reg: /^.*(?:\/video|dai.ly)\/([A-Za-z0-9]+)([^#\&\?]*).*/i, 156 | url: 'https://www.dailymotion.com/embed/video/$1', 157 | params: { 158 | autoplay: 0 159 | } 160 | }, { 161 | reg: /^.*coub.com\/(?:embed|view)\/([A-Za-z0-9]+)([^#\&\?]*).*/i, 162 | url: 'https://coub.com/embed/$1', 163 | params: { 164 | autoplay: 0 165 | } 166 | } // { 167 | // reg: /^.*twitch.tv\/videos\/(\d+)($|\/|\b)/i, 168 | // url: 'https://player.twitch.tv/?autoplay=false&video=v$1', 169 | // params: { 170 | // autoplay: false 171 | // }, 172 | // callback: function () { 173 | // return 'https://player.twitch.tv/?video=v$1'; 174 | // } 175 | // } 176 | ] 177 | }; 178 | }, 179 | watch: { 180 | src: function src(val) { 181 | this.parse(); 182 | } 183 | }, 184 | methods: { 185 | parse: function parse() { 186 | if (this.src) { 187 | for (var i = 0; i < this.videos.length; i++) { 188 | var v = this.videos[i]; 189 | var m = v.reg.exec(this.src); 190 | 191 | if (m) { 192 | var params = Object.assign({}, v.params, this.params); 193 | var query = Object.keys(params).map(function (key) { 194 | return key + '=' + params[key]; 195 | }).join('&'); 196 | var and = v.url.indexOf('?') >= 0 ? '&' : '?'; 197 | this.url = this.src.replace(v.reg, v.url) + and + query; 198 | this.valid = true; // console.log(this.url); 199 | 200 | return; 201 | } 202 | } 203 | } 204 | 205 | this.valid = false; 206 | } 207 | }, 208 | mounted: function mounted() { 209 | this.parse(); 210 | } 211 | }); 212 | 213 | /***/ }), 214 | 215 | /***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/embed.vue?vue&type=template&id=058b7650&": 216 | /*!************************************************************************************************************************************************************************************!*\ 217 | !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/embed.vue?vue&type=template&id=058b7650& ***! 218 | \************************************************************************************************************************************************************************************/ 219 | /*! exports provided: render, staticRenderFns */ 220 | /***/ (function(module, __webpack_exports__, __webpack_require__) { 221 | 222 | "use strict"; 223 | __webpack_require__.r(__webpack_exports__); 224 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); 225 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); 226 | var render = function() { 227 | var _vm = this 228 | var _h = _vm.$createElement 229 | var _c = _vm._self._c || _h 230 | return _vm.valid 231 | ? _c("div", { staticClass: "embed-responsive", class: [_vm.css] }, [ 232 | _c("iframe", { 233 | staticClass: "embed-responsive-item", 234 | attrs: { 235 | sandbox: 236 | "allow-forms allow-scripts allow-pointer-lock allow-same-origin allow-top-navigation", 237 | allowfullscreen: "", 238 | src: _vm.url 239 | } 240 | }) 241 | ]) 242 | : _vm._e() 243 | } 244 | var staticRenderFns = [] 245 | render._withStripped = true 246 | 247 | 248 | 249 | /***/ }), 250 | 251 | /***/ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js": 252 | /*!********************************************************************!*\ 253 | !*** ./node_modules/vue-loader/lib/runtime/componentNormalizer.js ***! 254 | \********************************************************************/ 255 | /*! exports provided: default */ 256 | /***/ (function(module, __webpack_exports__, __webpack_require__) { 257 | 258 | "use strict"; 259 | __webpack_require__.r(__webpack_exports__); 260 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return normalizeComponent; }); 261 | /* globals __VUE_SSR_CONTEXT__ */ 262 | 263 | // IMPORTANT: Do NOT use ES2015 features in this file (except for modules). 264 | // This module is a runtime utility for cleaner component module output and will 265 | // be included in the final webpack user bundle. 266 | 267 | function normalizeComponent ( 268 | scriptExports, 269 | render, 270 | staticRenderFns, 271 | functionalTemplate, 272 | injectStyles, 273 | scopeId, 274 | moduleIdentifier, /* server only */ 275 | shadowMode /* vue-cli only */ 276 | ) { 277 | // Vue.extend constructor export interop 278 | var options = typeof scriptExports === 'function' 279 | ? scriptExports.options 280 | : scriptExports 281 | 282 | // render functions 283 | if (render) { 284 | options.render = render 285 | options.staticRenderFns = staticRenderFns 286 | options._compiled = true 287 | } 288 | 289 | // functional template 290 | if (functionalTemplate) { 291 | options.functional = true 292 | } 293 | 294 | // scopedId 295 | if (scopeId) { 296 | options._scopeId = 'data-v-' + scopeId 297 | } 298 | 299 | var hook 300 | if (moduleIdentifier) { // server build 301 | hook = function (context) { 302 | // 2.3 injection 303 | context = 304 | context || // cached call 305 | (this.$vnode && this.$vnode.ssrContext) || // stateful 306 | (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional 307 | // 2.2 with runInNewContext: true 308 | if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { 309 | context = __VUE_SSR_CONTEXT__ 310 | } 311 | // inject component styles 312 | if (injectStyles) { 313 | injectStyles.call(this, context) 314 | } 315 | // register component module identifier for async chunk inferrence 316 | if (context && context._registeredComponents) { 317 | context._registeredComponents.add(moduleIdentifier) 318 | } 319 | } 320 | // used by ssr in case component is cached and beforeCreate 321 | // never gets called 322 | options._ssrRegister = hook 323 | } else if (injectStyles) { 324 | hook = shadowMode 325 | ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } 326 | : injectStyles 327 | } 328 | 329 | if (hook) { 330 | if (options.functional) { 331 | // for template-only hot-reload because in that case the render fn doesn't 332 | // go through the normalizer 333 | options._injectStyles = hook 334 | // register for functioal component in vue file 335 | var originalRender = options.render 336 | options.render = function renderWithStyleInjection (h, context) { 337 | hook.call(context) 338 | return originalRender(h, context) 339 | } 340 | } else { 341 | // inject component registration as beforeCreate hook 342 | var existing = options.beforeCreate 343 | options.beforeCreate = existing 344 | ? [].concat(existing, hook) 345 | : [hook] 346 | } 347 | } 348 | 349 | return { 350 | exports: scriptExports, 351 | options: options 352 | } 353 | } 354 | 355 | 356 | /***/ }), 357 | 358 | /***/ "./src/embed.vue": 359 | /*!***********************!*\ 360 | !*** ./src/embed.vue ***! 361 | \***********************/ 362 | /*! exports provided: default */ 363 | /***/ (function(module, __webpack_exports__, __webpack_require__) { 364 | 365 | "use strict"; 366 | __webpack_require__.r(__webpack_exports__); 367 | /* harmony import */ var _embed_vue_vue_type_template_id_058b7650___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./embed.vue?vue&type=template&id=058b7650& */ "./src/embed.vue?vue&type=template&id=058b7650&"); 368 | /* harmony import */ var _embed_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./embed.vue?vue&type=script&lang=js& */ "./src/embed.vue?vue&type=script&lang=js&"); 369 | /* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 370 | 371 | 372 | 373 | 374 | 375 | /* normalize component */ 376 | 377 | var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])( 378 | _embed_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 379 | _embed_vue_vue_type_template_id_058b7650___WEBPACK_IMPORTED_MODULE_0__["render"], 380 | _embed_vue_vue_type_template_id_058b7650___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"], 381 | false, 382 | null, 383 | null, 384 | null 385 | 386 | ) 387 | 388 | /* hot reload */ 389 | if (false) { var api; } 390 | component.options.__file = "src/embed.vue" 391 | /* harmony default export */ __webpack_exports__["default"] = (component.exports); 392 | 393 | /***/ }), 394 | 395 | /***/ "./src/embed.vue?vue&type=script&lang=js&": 396 | /*!************************************************!*\ 397 | !*** ./src/embed.vue?vue&type=script&lang=js& ***! 398 | \************************************************/ 399 | /*! exports provided: default */ 400 | /***/ (function(module, __webpack_exports__, __webpack_require__) { 401 | 402 | "use strict"; 403 | __webpack_require__.r(__webpack_exports__); 404 | /* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_embed_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../node_modules/babel-loader/lib!../node_modules/vue-loader/lib??vue-loader-options!./embed.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/embed.vue?vue&type=script&lang=js&"); 405 | /* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_embed_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 406 | 407 | /***/ }), 408 | 409 | /***/ "./src/embed.vue?vue&type=template&id=058b7650&": 410 | /*!******************************************************!*\ 411 | !*** ./src/embed.vue?vue&type=template&id=058b7650& ***! 412 | \******************************************************/ 413 | /*! exports provided: render, staticRenderFns */ 414 | /***/ (function(module, __webpack_exports__, __webpack_require__) { 415 | 416 | "use strict"; 417 | __webpack_require__.r(__webpack_exports__); 418 | /* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_embed_vue_vue_type_template_id_058b7650___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../node_modules/vue-loader/lib??vue-loader-options!./embed.vue?vue&type=template&id=058b7650& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/embed.vue?vue&type=template&id=058b7650&"); 419 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_embed_vue_vue_type_template_id_058b7650___WEBPACK_IMPORTED_MODULE_0__["render"]; }); 420 | 421 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_embed_vue_vue_type_template_id_058b7650___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); 422 | 423 | 424 | 425 | /***/ }), 426 | 427 | /***/ "./src/index.js": 428 | /*!**********************!*\ 429 | !*** ./src/index.js ***! 430 | \**********************/ 431 | /*! exports provided: default */ 432 | /***/ (function(module, __webpack_exports__, __webpack_require__) { 433 | 434 | "use strict"; 435 | __webpack_require__.r(__webpack_exports__); 436 | /* harmony import */ var _embed_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./embed.vue */ "./src/embed.vue"); 437 | 438 | var VideoEmbed = { 439 | install: function install(Vue) { 440 | if (Vue.__embed_installed) { 441 | return; 442 | } 443 | 444 | Vue.__embed_installed = true; 445 | Vue.component('video-embed', _embed_vue__WEBPACK_IMPORTED_MODULE_0__["default"]); 446 | } 447 | }; 448 | 449 | if (typeof window !== 'undefined' && window.Vue) { 450 | Vue.use(VideoEmbed); 451 | } 452 | 453 | /* harmony default export */ __webpack_exports__["default"] = (VideoEmbed); 454 | 455 | /***/ }) 456 | 457 | /******/ }); 458 | }); 459 | //# sourceMappingURL=video-embed.js.map -------------------------------------------------------------------------------- /dist/www/js/app.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./dist/video-embed.js","webpack:///www/app.vue","webpack:///./www/app.vue?212e","webpack:///./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///(webpack)/buildin/module.js","webpack:///./www/app.js","webpack:///./www/app.vue","webpack:///./www/app.vue?ad30","webpack:///./www/app.vue?38fb","webpack:///./www/layout.css","webpack:///external \"Vue\""],"names":["webpackUniversalModuleDefinition","root","factory","exports","module","define","window","modules","installedModules","__webpack_require__","moduleId","i","l","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","getDefault","getModuleExports","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","props","css","type","String","src","params","data","valid","url","videos","reg","accelerometer","gyroscope","title","byline","portrait","autoplay","watch","val","parse","methods","length","v","exec","assign","query","keys","map","join","and","indexOf","replace","mounted","render","staticRenderFns","_vm","_h","$createElement","_c","_self","staticClass","attrs","sandbox","allowfullscreen","_e","_withStripped","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","options","_compiled","functional","_scopeId","hook","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","renderWithStyleInjection","h","existing","beforeCreate","concat","_embed_vue_vue_type_template_id_058b7650___WEBPACK_IMPORTED_MODULE_0__","_embed_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__","component","__file","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_embed_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_embed_vue_vue_type_template_id_058b7650___WEBPACK_IMPORTED_MODULE_0__","_embed_vue__WEBPACK_IMPORTED_MODULE_0__","VideoEmbed","install","Vue","__embed_installed","use","Embed","el","App"],"mappings":"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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,sBAAsB,4BAA4B;AAClD,gBAAgB,6BAA6B;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,oBAAoB,4CAA4C;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS,mDAAmD,EAAE;AACzE,sBAAsB,SAAS,yCAAyC,EAAE;AAC1E;AACA;AACA;AACA,WAAW,SAAS,mDAAmD,EAAE;AACzE,sBAAsB,SAAS,yCAAyC,EAAE;AAC1E;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACnJA;AAAA;AAAA;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC5FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;;;;;;ACnBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAEAE,0CAAG,CAACE,GAAJ,CAAQC,wDAAR;AAEA,IAAIH,0CAAJ,CAAQ;AACNI,IAAE,EAAE,MADE;AAGNzD,QAAM,EAAE,gBAAAuC,CAAC;AAAA,WAAIA,CAAC,CAACmB,gDAAD,CAAL;AAAA;AAHH,CAAR,E;;;;;;;;;;;;ACXA;AAAA;AAAA;AAAA;AAAkF;AAC3B;AACL;;;AAGlD;AACuF;AACvF,gBAAgB,2GAAU;AAC1B,EAAE,yEAAM;AACR,EAAE,8EAAM;AACR,EAAE,uFAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEA;AACA,IAAI,KAAU,EAAE,YAiBf;AACD;AACe,gF;;;;;;;;;;;;ACtCf;AAAA;AAAA,wCAA6J,CAAgB,uOAAG,EAAC,C;;;;;;;;;;;;ACAjL;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,qB","file":"www/js/app.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"../\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./www/app.js\");\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(window, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"./src/index.js\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/embed.vue?vue&type=script&lang=js&\":\n/*!**********************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/embed.vue?vue&type=script&lang=js& ***!\n \\**********************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n css: {\n type: String,\n \"default\": 'embed-responsive-16by9'\n },\n src: {\n type: String\n },\n params: {\n type: Object\n }\n },\n data: function data() {\n return {\n valid: false,\n url: '',\n videos: [{\n //reg: /^.*(youtu.be\\/|v\\/|u\\/\\w\\/|embed\\/|watch\\?v=|\\&v=|\\?v=)([^#\\&\\?]*).*/i,\n //reg: /^.*(?:(?:v|vi|be|videos|embed)\\/(?!videoseries)|(?:v|ci)=)([\\w-]{11})/i,\n reg: /^((?:https?:)?\\/\\/)?((?:www|m)\\.)?((?:youtube\\.com|youtu.be))(\\/(?:[\\w\\-]+\\?v=|embed\\/|v\\/)?)([\\w\\-]+)(\\S+)?$/i,\n url: 'https://www.youtube.com/embed/$5',\n params: {\n 'picture-in-picture': 1,\n accelerometer: 1,\n gyroscope: 1\n }\n }, {\n reg: /^.*vimeo.com\\/(\\d+)($|\\/|\\b)/i,\n url: 'https://player.vimeo.com/video/$1',\n params: {\n title: 0,\n byline: 0,\n portrait: 0\n }\n }, {\n reg: /^.*(?:\\/video|dai.ly)\\/([A-Za-z0-9]+)([^#\\&\\?]*).*/i,\n url: 'https://www.dailymotion.com/embed/video/$1',\n params: {\n autoplay: 0\n }\n }, {\n reg: /^.*coub.com\\/(?:embed|view)\\/([A-Za-z0-9]+)([^#\\&\\?]*).*/i,\n url: 'https://coub.com/embed/$1',\n params: {\n autoplay: 0\n }\n } // {\n // reg: /^.*twitch.tv\\/videos\\/(\\d+)($|\\/|\\b)/i,\n // url: 'https://player.twitch.tv/?autoplay=false&video=v$1',\n // params: {\n // autoplay: false\n // },\n // callback: function () {\n // return 'https://player.twitch.tv/?video=v$1';\n // }\n // }\n ]\n };\n },\n watch: {\n src: function src(val) {\n this.parse();\n }\n },\n methods: {\n parse: function parse() {\n if (this.src) {\n for (var i = 0; i < this.videos.length; i++) {\n var v = this.videos[i];\n var m = v.reg.exec(this.src);\n\n if (m) {\n var params = Object.assign({}, v.params, this.params);\n var query = Object.keys(params).map(function (key) {\n return key + '=' + params[key];\n }).join('&');\n var and = v.url.indexOf('?') >= 0 ? '&' : '?';\n this.url = this.src.replace(v.reg, v.url) + and + query;\n this.valid = true; // console.log(this.url);\n\n return;\n }\n }\n }\n\n this.valid = false;\n }\n },\n mounted: function mounted() {\n this.parse();\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/embed.vue?vue&type=template&id=058b7650&\":\n/*!************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/embed.vue?vue&type=template&id=058b7650& ***!\n \\************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm.valid\n ? _c(\"div\", { staticClass: \"embed-responsive\", class: [_vm.css] }, [\n _c(\"iframe\", {\n staticClass: \"embed-responsive-item\",\n attrs: {\n sandbox:\n \"allow-forms allow-scripts allow-pointer-lock allow-same-origin allow-top-navigation\",\n allowfullscreen: \"\",\n src: _vm.url\n }\n })\n ])\n : _vm._e()\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\":\n/*!********************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/runtime/componentNormalizer.js ***!\n \\********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return normalizeComponent; });\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ \"./src/embed.vue\":\n/*!***********************!*\\\n !*** ./src/embed.vue ***!\n \\***********************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _embed_vue_vue_type_template_id_058b7650___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./embed.vue?vue&type=template&id=058b7650& */ \"./src/embed.vue?vue&type=template&id=058b7650&\");\n/* harmony import */ var _embed_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./embed.vue?vue&type=script&lang=js& */ \"./src/embed.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _embed_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _embed_vue_vue_type_template_id_058b7650___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _embed_vue_vue_type_template_id_058b7650___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/embed.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/embed.vue?vue&type=script&lang=js&\":\n/*!************************************************!*\\\n !*** ./src/embed.vue?vue&type=script&lang=js& ***!\n \\************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_embed_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../node_modules/babel-loader/lib!../node_modules/vue-loader/lib??vue-loader-options!./embed.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/embed.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_embed_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/embed.vue?vue&type=template&id=058b7650&\":\n/*!******************************************************!*\\\n !*** ./src/embed.vue?vue&type=template&id=058b7650& ***!\n \\******************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_embed_vue_vue_type_template_id_058b7650___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../node_modules/vue-loader/lib??vue-loader-options!./embed.vue?vue&type=template&id=058b7650& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/embed.vue?vue&type=template&id=058b7650&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_embed_vue_vue_type_template_id_058b7650___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_embed_vue_vue_type_template_id_058b7650___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/index.js\":\n/*!**********************!*\\\n !*** ./src/index.js ***!\n \\**********************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _embed_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./embed.vue */ \"./src/embed.vue\");\n\nvar VideoEmbed = {\n install: function install(Vue) {\n if (Vue.__embed_installed) {\n return;\n }\n\n Vue.__embed_installed = true;\n Vue.component('video-embed', _embed_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n }\n};\n\nif (typeof window !== 'undefined' && window.Vue) {\n Vue.use(VideoEmbed);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (VideoEmbed);\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=video-embed.js.map","\n\n\n","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", [\n _c(\"div\", { staticClass: \"container\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _vm._m(1),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"form-group\" },\n [\n _c(\"video-embed\", {\n ref: \"youtube\",\n attrs: {\n params: { autoplay: 1 },\n src:\n \"https://www.youtube.com/watch?v=s4ObxcdXoFE&list=PLOtXQ1m0FkHBRg_6v8lJfX9AKKamgYrjC\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\n \"button\",\n { staticClass: \"btn btn-primary\", on: { click: _vm.change } },\n [_vm._v(\"Change Url\")]\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"form-group\" },\n [_c(\"video-embed\", { attrs: { src: \"https://vimeo.com/370293725\" } })],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"form-group\" },\n [_c(\"video-embed\", { attrs: { src: \"https://dai.ly/x7n7y06\" } })],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"form-group\" },\n [\n _c(\"video-embed\", { attrs: { src: \"https://coub.com/embed/22eztb\" } })\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _vm._m(2)\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"header\", [\n _c(\"h1\", [_vm._v(\"Vue Video Embed\")]),\n _vm._v(\" \"),\n _c(\"h4\", [\n _vm._v(\n \"This is a component for Vue.js to utilize YouTube, Vimeo, DailyMotion, Coub iframe embed API easily.\\n \"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"h2\", { staticClass: \"text-center\" }, [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://morioh.com\",\n title: \"\\bSocial Network for Developers\"\n }\n },\n [_vm._v(\"\\bSocial\\n Network for Developers\")]\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"footer\", [\n _c(\"p\", [\n _c(\n \"a\",\n {\n staticClass: \"social-icon\",\n attrs: {\n href: \"https://github.com/nasa8x/v-video-embed\",\n target: \"_blank\"\n }\n },\n [_c(\"i\", { staticClass: \"fa-3x fab fa-github-square\" })]\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"Developed under the \"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://opensource.org/licenses/MIT\",\n target: \"_blank\"\n }\n },\n [_vm._v(\"MIT License\")]\n ),\n _c(\"br\"),\n _vm._v(\"\\n Made Love by Nasa8x\"),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"strong\", [_vm._v(\"Donate\")]),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\n \"a\",\n { attrs: { href: \"http://vrl.to/ec5cfbae\", target: \"_blank\" } },\n [_c(\"img\", { attrs: { src: \"https://i.imgur.com/z0p6RvA.png\" } })]\n ),\n _c(\n \"a\",\n { attrs: { href: \"http://vrl.to/ec5cfbae\", target: \"_blank\" } },\n [_c(\"img\", { attrs: { src: \"https://i.imgur.com/bEUNBGz.png\" } })]\n )\n ])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","\n\nimport './layout.css';\n\n\nimport Vue from 'vue';\nimport App from './app.vue';\nimport Embed from '../dist/video-embed';\n\nVue.use(Embed);\n\nnew Vue({\n el: '#app', \n \n render: h => h(App)\n})\n","import { render, staticRenderFns } from \"./app.vue?vue&type=template&id=0d4f360b&\"\nimport script from \"./app.vue?vue&type=script&lang=js&\"\nexport * from \"./app.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Users/nasa8x/nasa/projects/nodejs/v-video-embed/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('0d4f360b')) {\n api.createRecord('0d4f360b', component.options)\n } else {\n api.reload('0d4f360b', component.options)\n }\n module.hot.accept(\"./app.vue?vue&type=template&id=0d4f360b&\", function () {\n api.rerender('0d4f360b', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"www/app.vue\"\nexport default component.exports","import mod from \"-!../node_modules/babel-loader/lib/index.js!../node_modules/vue-loader/lib/index.js??vue-loader-options!./app.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/babel-loader/lib/index.js!../node_modules/vue-loader/lib/index.js??vue-loader-options!./app.vue?vue&type=script&lang=js&\"","export * from \"-!../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../node_modules/vue-loader/lib/index.js??vue-loader-options!./app.vue?vue&type=template&id=0d4f360b&\"","// extracted by mini-css-extract-plugin","module.exports = Vue;"],"sourceRoot":""} -------------------------------------------------------------------------------- /dist/www/js/app.js: -------------------------------------------------------------------------------- 1 | /******/ (function(modules) { // webpackBootstrap 2 | /******/ // The module cache 3 | /******/ var installedModules = {}; 4 | /******/ 5 | /******/ // The require function 6 | /******/ function __webpack_require__(moduleId) { 7 | /******/ 8 | /******/ // Check if module is in cache 9 | /******/ if(installedModules[moduleId]) { 10 | /******/ return installedModules[moduleId].exports; 11 | /******/ } 12 | /******/ // Create a new module (and put it into the cache) 13 | /******/ var module = installedModules[moduleId] = { 14 | /******/ i: moduleId, 15 | /******/ l: false, 16 | /******/ exports: {} 17 | /******/ }; 18 | /******/ 19 | /******/ // Execute the module function 20 | /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); 21 | /******/ 22 | /******/ // Flag the module as loaded 23 | /******/ module.l = true; 24 | /******/ 25 | /******/ // Return the exports of the module 26 | /******/ return module.exports; 27 | /******/ } 28 | /******/ 29 | /******/ 30 | /******/ // expose the modules object (__webpack_modules__) 31 | /******/ __webpack_require__.m = modules; 32 | /******/ 33 | /******/ // expose the module cache 34 | /******/ __webpack_require__.c = installedModules; 35 | /******/ 36 | /******/ // define getter function for harmony exports 37 | /******/ __webpack_require__.d = function(exports, name, getter) { 38 | /******/ if(!__webpack_require__.o(exports, name)) { 39 | /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); 40 | /******/ } 41 | /******/ }; 42 | /******/ 43 | /******/ // define __esModule on exports 44 | /******/ __webpack_require__.r = function(exports) { 45 | /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { 46 | /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); 47 | /******/ } 48 | /******/ Object.defineProperty(exports, '__esModule', { value: true }); 49 | /******/ }; 50 | /******/ 51 | /******/ // create a fake namespace object 52 | /******/ // mode & 1: value is a module id, require it 53 | /******/ // mode & 2: merge all properties of value into the ns 54 | /******/ // mode & 4: return value when already ns object 55 | /******/ // mode & 8|1: behave like require 56 | /******/ __webpack_require__.t = function(value, mode) { 57 | /******/ if(mode & 1) value = __webpack_require__(value); 58 | /******/ if(mode & 8) return value; 59 | /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; 60 | /******/ var ns = Object.create(null); 61 | /******/ __webpack_require__.r(ns); 62 | /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); 63 | /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); 64 | /******/ return ns; 65 | /******/ }; 66 | /******/ 67 | /******/ // getDefaultExport function for compatibility with non-harmony modules 68 | /******/ __webpack_require__.n = function(module) { 69 | /******/ var getter = module && module.__esModule ? 70 | /******/ function getDefault() { return module['default']; } : 71 | /******/ function getModuleExports() { return module; }; 72 | /******/ __webpack_require__.d(getter, 'a', getter); 73 | /******/ return getter; 74 | /******/ }; 75 | /******/ 76 | /******/ // Object.prototype.hasOwnProperty.call 77 | /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; 78 | /******/ 79 | /******/ // __webpack_public_path__ 80 | /******/ __webpack_require__.p = "../"; 81 | /******/ 82 | /******/ 83 | /******/ // Load entry module and return exports 84 | /******/ return __webpack_require__(__webpack_require__.s = "./www/app.js"); 85 | /******/ }) 86 | /************************************************************************/ 87 | /******/ ({ 88 | 89 | /***/ "./dist/video-embed.js": 90 | /*!*****************************!*\ 91 | !*** ./dist/video-embed.js ***! 92 | \*****************************/ 93 | /*! no static exports found */ 94 | /***/ (function(module, exports, __webpack_require__) { 95 | 96 | /* WEBPACK VAR INJECTION */(function(module) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } 97 | 98 | (function webpackUniversalModuleDefinition(root, factory) { 99 | if (( false ? undefined : _typeof(exports)) === 'object' && ( false ? undefined : _typeof(module)) === 'object') module.exports = factory();else if (true) !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), 100 | __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? 101 | (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), 102 | __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));else { var i, a; } 103 | })(window, function () { 104 | return ( 105 | /******/ 106 | function (modules) { 107 | // webpackBootstrap 108 | 109 | /******/ 110 | // The module cache 111 | 112 | /******/ 113 | var installedModules = {}; 114 | /******/ 115 | 116 | /******/ 117 | // The require function 118 | 119 | /******/ 120 | 121 | function __webpack_require__(moduleId) { 122 | /******/ 123 | 124 | /******/ 125 | // Check if module is in cache 126 | 127 | /******/ 128 | if (installedModules[moduleId]) { 129 | /******/ 130 | return installedModules[moduleId].exports; 131 | /******/ 132 | } 133 | /******/ 134 | // Create a new module (and put it into the cache) 135 | 136 | /******/ 137 | 138 | 139 | var module = installedModules[moduleId] = { 140 | /******/ 141 | i: moduleId, 142 | 143 | /******/ 144 | l: false, 145 | 146 | /******/ 147 | exports: {} 148 | /******/ 149 | 150 | }; 151 | /******/ 152 | 153 | /******/ 154 | // Execute the module function 155 | 156 | /******/ 157 | 158 | modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); 159 | /******/ 160 | 161 | /******/ 162 | // Flag the module as loaded 163 | 164 | /******/ 165 | 166 | module.l = true; 167 | /******/ 168 | 169 | /******/ 170 | // Return the exports of the module 171 | 172 | /******/ 173 | 174 | return module.exports; 175 | /******/ 176 | } 177 | /******/ 178 | 179 | /******/ 180 | 181 | /******/ 182 | // expose the modules object (__webpack_modules__) 183 | 184 | /******/ 185 | 186 | 187 | __webpack_require__.m = modules; 188 | /******/ 189 | 190 | /******/ 191 | // expose the module cache 192 | 193 | /******/ 194 | 195 | __webpack_require__.c = installedModules; 196 | /******/ 197 | 198 | /******/ 199 | // define getter function for harmony exports 200 | 201 | /******/ 202 | 203 | __webpack_require__.d = function (exports, name, getter) { 204 | /******/ 205 | if (!__webpack_require__.o(exports, name)) { 206 | /******/ 207 | Object.defineProperty(exports, name, { 208 | enumerable: true, 209 | get: getter 210 | }); 211 | /******/ 212 | } 213 | /******/ 214 | 215 | }; 216 | /******/ 217 | 218 | /******/ 219 | // define __esModule on exports 220 | 221 | /******/ 222 | 223 | 224 | __webpack_require__.r = function (exports) { 225 | /******/ 226 | if (typeof Symbol !== 'undefined' && Symbol.toStringTag) { 227 | /******/ 228 | Object.defineProperty(exports, Symbol.toStringTag, { 229 | value: 'Module' 230 | }); 231 | /******/ 232 | } 233 | /******/ 234 | 235 | 236 | Object.defineProperty(exports, '__esModule', { 237 | value: true 238 | }); 239 | /******/ 240 | }; 241 | /******/ 242 | 243 | /******/ 244 | // create a fake namespace object 245 | 246 | /******/ 247 | // mode & 1: value is a module id, require it 248 | 249 | /******/ 250 | // mode & 2: merge all properties of value into the ns 251 | 252 | /******/ 253 | // mode & 4: return value when already ns object 254 | 255 | /******/ 256 | // mode & 8|1: behave like require 257 | 258 | /******/ 259 | 260 | 261 | __webpack_require__.t = function (value, mode) { 262 | /******/ 263 | if (mode & 1) value = __webpack_require__(value); 264 | /******/ 265 | 266 | if (mode & 8) return value; 267 | /******/ 268 | 269 | if (mode & 4 && _typeof(value) === 'object' && value && value.__esModule) return value; 270 | /******/ 271 | 272 | var ns = Object.create(null); 273 | /******/ 274 | 275 | __webpack_require__.r(ns); 276 | /******/ 277 | 278 | 279 | Object.defineProperty(ns, 'default', { 280 | enumerable: true, 281 | value: value 282 | }); 283 | /******/ 284 | 285 | if (mode & 2 && typeof value != 'string') for (var key in value) { 286 | __webpack_require__.d(ns, key, function (key) { 287 | return value[key]; 288 | }.bind(null, key)); 289 | } 290 | /******/ 291 | 292 | return ns; 293 | /******/ 294 | }; 295 | /******/ 296 | 297 | /******/ 298 | // getDefaultExport function for compatibility with non-harmony modules 299 | 300 | /******/ 301 | 302 | 303 | __webpack_require__.n = function (module) { 304 | /******/ 305 | var getter = module && module.__esModule ? 306 | /******/ 307 | function getDefault() { 308 | return module['default']; 309 | } : 310 | /******/ 311 | function getModuleExports() { 312 | return module; 313 | }; 314 | /******/ 315 | 316 | __webpack_require__.d(getter, 'a', getter); 317 | /******/ 318 | 319 | 320 | return getter; 321 | /******/ 322 | }; 323 | /******/ 324 | 325 | /******/ 326 | // Object.prototype.hasOwnProperty.call 327 | 328 | /******/ 329 | 330 | 331 | __webpack_require__.o = function (object, property) { 332 | return Object.prototype.hasOwnProperty.call(object, property); 333 | }; 334 | /******/ 335 | 336 | /******/ 337 | // __webpack_public_path__ 338 | 339 | /******/ 340 | 341 | 342 | __webpack_require__.p = ""; 343 | /******/ 344 | 345 | /******/ 346 | 347 | /******/ 348 | // Load entry module and return exports 349 | 350 | /******/ 351 | 352 | return __webpack_require__(__webpack_require__.s = "./src/index.js"); 353 | /******/ 354 | }( 355 | /************************************************************************/ 356 | 357 | /******/ 358 | { 359 | /***/ 360 | "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/embed.vue?vue&type=script&lang=js&": 361 | /*!**********************************************************************************************************************************!*\ 362 | !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/embed.vue?vue&type=script&lang=js& ***! 363 | \**********************************************************************************************************************************/ 364 | 365 | /*! exports provided: default */ 366 | 367 | /***/ 368 | function node_modulesBabelLoaderLibIndexJsNode_modulesVueLoaderLibIndexJsSrcEmbedVueVueTypeScriptLangJs(module, __webpack_exports__, __webpack_require__) { 369 | "use strict"; 370 | 371 | __webpack_require__.r(__webpack_exports__); // 372 | // 373 | // 374 | // 375 | // 376 | // 377 | // 378 | // 379 | // 380 | // 381 | // 382 | 383 | /* harmony default export */ 384 | 385 | 386 | __webpack_exports__["default"] = { 387 | props: { 388 | css: { 389 | type: String, 390 | "default": 'embed-responsive-16by9' 391 | }, 392 | src: { 393 | type: String 394 | }, 395 | params: { 396 | type: Object 397 | } 398 | }, 399 | data: function data() { 400 | return { 401 | valid: false, 402 | url: '', 403 | videos: [{ 404 | //reg: /^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=|\?v=)([^#\&\?]*).*/i, 405 | //reg: /^.*(?:(?:v|vi|be|videos|embed)\/(?!videoseries)|(?:v|ci)=)([\w-]{11})/i, 406 | reg: /^((?:https?:)?\/\/)?((?:www|m)\.)?((?:youtube\.com|youtu.be))(\/(?:[\w\-]+\?v=|embed\/|v\/)?)([\w\-]+)(\S+)?$/i, 407 | url: 'https://www.youtube.com/embed/$5', 408 | params: { 409 | 'picture-in-picture': 1, 410 | accelerometer: 1, 411 | gyroscope: 1 412 | } 413 | }, { 414 | reg: /^.*vimeo.com\/(\d+)($|\/|\b)/i, 415 | url: 'https://player.vimeo.com/video/$1', 416 | params: { 417 | title: 0, 418 | byline: 0, 419 | portrait: 0 420 | } 421 | }, { 422 | reg: /^.*(?:\/video|dai.ly)\/([A-Za-z0-9]+)([^#\&\?]*).*/i, 423 | url: 'https://www.dailymotion.com/embed/video/$1', 424 | params: { 425 | autoplay: 0 426 | } 427 | }, { 428 | reg: /^.*coub.com\/(?:embed|view)\/([A-Za-z0-9]+)([^#\&\?]*).*/i, 429 | url: 'https://coub.com/embed/$1', 430 | params: { 431 | autoplay: 0 432 | } 433 | } // { 434 | // reg: /^.*twitch.tv\/videos\/(\d+)($|\/|\b)/i, 435 | // url: 'https://player.twitch.tv/?autoplay=false&video=v$1', 436 | // params: { 437 | // autoplay: false 438 | // }, 439 | // callback: function () { 440 | // return 'https://player.twitch.tv/?video=v$1'; 441 | // } 442 | // } 443 | ] 444 | }; 445 | }, 446 | watch: { 447 | src: function src(val) { 448 | this.parse(); 449 | } 450 | }, 451 | methods: { 452 | parse: function parse() { 453 | if (this.src) { 454 | for (var i = 0; i < this.videos.length; i++) { 455 | var v = this.videos[i]; 456 | var m = v.reg.exec(this.src); 457 | 458 | if (m) { 459 | var params = Object.assign({}, v.params, this.params); 460 | var query = Object.keys(params).map(function (key) { 461 | return key + '=' + params[key]; 462 | }).join('&'); 463 | var and = v.url.indexOf('?') >= 0 ? '&' : '?'; 464 | this.url = this.src.replace(v.reg, v.url) + and + query; 465 | this.valid = true; // console.log(this.url); 466 | 467 | return; 468 | } 469 | } 470 | } 471 | 472 | this.valid = false; 473 | } 474 | }, 475 | mounted: function mounted() { 476 | this.parse(); 477 | } 478 | }; 479 | /***/ 480 | }, 481 | 482 | /***/ 483 | "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/embed.vue?vue&type=template&id=058b7650&": 484 | /*!************************************************************************************************************************************************************************************!*\ 485 | !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/embed.vue?vue&type=template&id=058b7650& ***! 486 | \************************************************************************************************************************************************************************************/ 487 | 488 | /*! exports provided: render, staticRenderFns */ 489 | 490 | /***/ 491 | function node_modulesVueLoaderLibLoadersTemplateLoaderJsNode_modulesVueLoaderLibIndexJsSrcEmbedVueVueTypeTemplateId058b7650(module, __webpack_exports__, __webpack_require__) { 492 | "use strict"; 493 | 494 | __webpack_require__.r(__webpack_exports__); 495 | /* harmony export (binding) */ 496 | 497 | 498 | __webpack_require__.d(__webpack_exports__, "render", function () { 499 | return render; 500 | }); 501 | /* harmony export (binding) */ 502 | 503 | 504 | __webpack_require__.d(__webpack_exports__, "staticRenderFns", function () { 505 | return staticRenderFns; 506 | }); 507 | 508 | var render = function render() { 509 | var _vm = this; 510 | 511 | var _h = _vm.$createElement; 512 | 513 | var _c = _vm._self._c || _h; 514 | 515 | return _vm.valid ? _c("div", { 516 | staticClass: "embed-responsive", 517 | "class": [_vm.css] 518 | }, [_c("iframe", { 519 | staticClass: "embed-responsive-item", 520 | attrs: { 521 | sandbox: "allow-forms allow-scripts allow-pointer-lock allow-same-origin allow-top-navigation", 522 | allowfullscreen: "", 523 | src: _vm.url 524 | } 525 | })]) : _vm._e(); 526 | }; 527 | 528 | var staticRenderFns = []; 529 | render._withStripped = true; 530 | /***/ 531 | }, 532 | 533 | /***/ 534 | "./node_modules/vue-loader/lib/runtime/componentNormalizer.js": 535 | /*!********************************************************************!*\ 536 | !*** ./node_modules/vue-loader/lib/runtime/componentNormalizer.js ***! 537 | \********************************************************************/ 538 | 539 | /*! exports provided: default */ 540 | 541 | /***/ 542 | function node_modulesVueLoaderLibRuntimeComponentNormalizerJs(module, __webpack_exports__, __webpack_require__) { 543 | "use strict"; 544 | 545 | __webpack_require__.r(__webpack_exports__); 546 | /* harmony export (binding) */ 547 | 548 | 549 | __webpack_require__.d(__webpack_exports__, "default", function () { 550 | return normalizeComponent; 551 | }); 552 | /* globals __VUE_SSR_CONTEXT__ */ 553 | // IMPORTANT: Do NOT use ES2015 features in this file (except for modules). 554 | // This module is a runtime utility for cleaner component module output and will 555 | // be included in the final webpack user bundle. 556 | 557 | 558 | function normalizeComponent(scriptExports, render, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier, 559 | /* server only */ 560 | shadowMode 561 | /* vue-cli only */ 562 | ) { 563 | // Vue.extend constructor export interop 564 | var options = typeof scriptExports === 'function' ? scriptExports.options : scriptExports; // render functions 565 | 566 | if (render) { 567 | options.render = render; 568 | options.staticRenderFns = staticRenderFns; 569 | options._compiled = true; 570 | } // functional template 571 | 572 | 573 | if (functionalTemplate) { 574 | options.functional = true; 575 | } // scopedId 576 | 577 | 578 | if (scopeId) { 579 | options._scopeId = 'data-v-' + scopeId; 580 | } 581 | 582 | var hook; 583 | 584 | if (moduleIdentifier) { 585 | // server build 586 | hook = function hook(context) { 587 | // 2.3 injection 588 | context = context || // cached call 589 | this.$vnode && this.$vnode.ssrContext || // stateful 590 | this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional 591 | // 2.2 with runInNewContext: true 592 | 593 | if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { 594 | context = __VUE_SSR_CONTEXT__; 595 | } // inject component styles 596 | 597 | 598 | if (injectStyles) { 599 | injectStyles.call(this, context); 600 | } // register component module identifier for async chunk inferrence 601 | 602 | 603 | if (context && context._registeredComponents) { 604 | context._registeredComponents.add(moduleIdentifier); 605 | } 606 | }; // used by ssr in case component is cached and beforeCreate 607 | // never gets called 608 | 609 | 610 | options._ssrRegister = hook; 611 | } else if (injectStyles) { 612 | hook = shadowMode ? function () { 613 | injectStyles.call(this, this.$root.$options.shadowRoot); 614 | } : injectStyles; 615 | } 616 | 617 | if (hook) { 618 | if (options.functional) { 619 | // for template-only hot-reload because in that case the render fn doesn't 620 | // go through the normalizer 621 | options._injectStyles = hook; // register for functioal component in vue file 622 | 623 | var originalRender = options.render; 624 | 625 | options.render = function renderWithStyleInjection(h, context) { 626 | hook.call(context); 627 | return originalRender(h, context); 628 | }; 629 | } else { 630 | // inject component registration as beforeCreate hook 631 | var existing = options.beforeCreate; 632 | options.beforeCreate = existing ? [].concat(existing, hook) : [hook]; 633 | } 634 | } 635 | 636 | return { 637 | exports: scriptExports, 638 | options: options 639 | }; 640 | } 641 | /***/ 642 | 643 | }, 644 | 645 | /***/ 646 | "./src/embed.vue": 647 | /*!***********************!*\ 648 | !*** ./src/embed.vue ***! 649 | \***********************/ 650 | 651 | /*! exports provided: default */ 652 | 653 | /***/ 654 | function srcEmbedVue(module, __webpack_exports__, __webpack_require__) { 655 | "use strict"; 656 | 657 | __webpack_require__.r(__webpack_exports__); 658 | /* harmony import */ 659 | 660 | 661 | var _embed_vue_vue_type_template_id_058b7650___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 662 | /*! ./embed.vue?vue&type=template&id=058b7650& */ 663 | "./src/embed.vue?vue&type=template&id=058b7650&"); 664 | /* harmony import */ 665 | 666 | 667 | var _embed_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 668 | /*! ./embed.vue?vue&type=script&lang=js& */ 669 | "./src/embed.vue?vue&type=script&lang=js&"); 670 | /* empty/unused harmony star reexport */ 671 | 672 | /* harmony import */ 673 | 674 | 675 | var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 676 | /*! ../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ 677 | "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 678 | /* normalize component */ 679 | 680 | 681 | var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_embed_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], _embed_vue_vue_type_template_id_058b7650___WEBPACK_IMPORTED_MODULE_0__["render"], _embed_vue_vue_type_template_id_058b7650___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"], false, null, null, null); 682 | /* hot reload */ 683 | 684 | if (false) { var api; } 685 | 686 | component.options.__file = "src/embed.vue"; 687 | /* harmony default export */ 688 | 689 | __webpack_exports__["default"] = component.exports; 690 | /***/ 691 | }, 692 | 693 | /***/ 694 | "./src/embed.vue?vue&type=script&lang=js&": 695 | /*!************************************************!*\ 696 | !*** ./src/embed.vue?vue&type=script&lang=js& ***! 697 | \************************************************/ 698 | 699 | /*! exports provided: default */ 700 | 701 | /***/ 702 | function srcEmbedVueVueTypeScriptLangJs(module, __webpack_exports__, __webpack_require__) { 703 | "use strict"; 704 | 705 | __webpack_require__.r(__webpack_exports__); 706 | /* harmony import */ 707 | 708 | 709 | var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_embed_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 710 | /*! -!../node_modules/babel-loader/lib!../node_modules/vue-loader/lib??vue-loader-options!./embed.vue?vue&type=script&lang=js& */ 711 | "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/embed.vue?vue&type=script&lang=js&"); 712 | /* empty/unused harmony star reexport */ 713 | 714 | /* harmony default export */ 715 | 716 | 717 | __webpack_exports__["default"] = _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_embed_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]; 718 | /***/ 719 | }, 720 | 721 | /***/ 722 | "./src/embed.vue?vue&type=template&id=058b7650&": 723 | /*!******************************************************!*\ 724 | !*** ./src/embed.vue?vue&type=template&id=058b7650& ***! 725 | \******************************************************/ 726 | 727 | /*! exports provided: render, staticRenderFns */ 728 | 729 | /***/ 730 | function srcEmbedVueVueTypeTemplateId058b7650(module, __webpack_exports__, __webpack_require__) { 731 | "use strict"; 732 | 733 | __webpack_require__.r(__webpack_exports__); 734 | /* harmony import */ 735 | 736 | 737 | var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_embed_vue_vue_type_template_id_058b7650___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 738 | /*! -!../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../node_modules/vue-loader/lib??vue-loader-options!./embed.vue?vue&type=template&id=058b7650& */ 739 | "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/embed.vue?vue&type=template&id=058b7650&"); 740 | /* harmony reexport (safe) */ 741 | 742 | 743 | __webpack_require__.d(__webpack_exports__, "render", function () { 744 | return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_embed_vue_vue_type_template_id_058b7650___WEBPACK_IMPORTED_MODULE_0__["render"]; 745 | }); 746 | /* harmony reexport (safe) */ 747 | 748 | 749 | __webpack_require__.d(__webpack_exports__, "staticRenderFns", function () { 750 | return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_embed_vue_vue_type_template_id_058b7650___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; 751 | }); 752 | /***/ 753 | 754 | }, 755 | 756 | /***/ 757 | "./src/index.js": 758 | /*!**********************!*\ 759 | !*** ./src/index.js ***! 760 | \**********************/ 761 | 762 | /*! exports provided: default */ 763 | 764 | /***/ 765 | function srcIndexJs(module, __webpack_exports__, __webpack_require__) { 766 | "use strict"; 767 | 768 | __webpack_require__.r(__webpack_exports__); 769 | /* harmony import */ 770 | 771 | 772 | var _embed_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 773 | /*! ./embed.vue */ 774 | "./src/embed.vue"); 775 | 776 | var VideoEmbed = { 777 | install: function install(Vue) { 778 | if (Vue.__embed_installed) { 779 | return; 780 | } 781 | 782 | Vue.__embed_installed = true; 783 | Vue.component('video-embed', _embed_vue__WEBPACK_IMPORTED_MODULE_0__["default"]); 784 | } 785 | }; 786 | 787 | if (typeof window !== 'undefined' && window.Vue) { 788 | Vue.use(VideoEmbed); 789 | } 790 | /* harmony default export */ 791 | 792 | 793 | __webpack_exports__["default"] = VideoEmbed; 794 | /***/ 795 | } 796 | /******/ 797 | 798 | }) 799 | ); 800 | }); 801 | /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../node_modules/webpack/buildin/module.js */ "./node_modules/webpack/buildin/module.js")(module))) 802 | 803 | /***/ }), 804 | 805 | /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./www/app.vue?vue&type=script&lang=js&": 806 | /*!********************************************************************************************************************************!*\ 807 | !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./www/app.vue?vue&type=script&lang=js& ***! 808 | \********************************************************************************************************************************/ 809 | /*! exports provided: default */ 810 | /***/ (function(module, __webpack_exports__, __webpack_require__) { 811 | 812 | "use strict"; 813 | __webpack_require__.r(__webpack_exports__); 814 | // 815 | // 816 | // 817 | // 818 | // 819 | // 820 | // 821 | // 822 | // 823 | // 824 | // 825 | // 826 | // 827 | // 828 | // 829 | // 830 | // 831 | // 832 | // 833 | // 834 | // 835 | // 836 | // 837 | // 838 | // 839 | // 840 | // 841 | // 842 | // 843 | // 844 | // 845 | // 846 | // 847 | // 848 | // 849 | // 850 | // 851 | // 852 | // 853 | // 854 | // 855 | // 856 | // 857 | // 858 | // 859 | // 860 | // 861 | // 862 | // 863 | // 864 | // 865 | // 866 | // 867 | // 868 | // 869 | // 870 | // 871 | // 872 | // 873 | // 874 | // 875 | // 876 | // 877 | // 878 | // 879 | // 880 | // 881 | // 882 | // 883 | // 884 | /* harmony default export */ __webpack_exports__["default"] = ({ 885 | methods: { 886 | change: function change() { 887 | this.$refs.youtube.src = "https://www.youtube.com/watch?v=nqwQpXoSN7Q"; 888 | } 889 | } 890 | }); 891 | 892 | /***/ }), 893 | 894 | /***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./www/app.vue?vue&type=template&id=0d4f360b&": 895 | /*!**********************************************************************************************************************************************************************************!*\ 896 | !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./www/app.vue?vue&type=template&id=0d4f360b& ***! 897 | \**********************************************************************************************************************************************************************************/ 898 | /*! exports provided: render, staticRenderFns */ 899 | /***/ (function(module, __webpack_exports__, __webpack_require__) { 900 | 901 | "use strict"; 902 | __webpack_require__.r(__webpack_exports__); 903 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); 904 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); 905 | var render = function() { 906 | var _vm = this 907 | var _h = _vm.$createElement 908 | var _c = _vm._self._c || _h 909 | return _c("div", [ 910 | _c("div", { staticClass: "container" }, [ 911 | _vm._m(0), 912 | _vm._v(" "), 913 | _vm._m(1), 914 | _vm._v(" "), 915 | _c( 916 | "div", 917 | { staticClass: "form-group" }, 918 | [ 919 | _c("video-embed", { 920 | ref: "youtube", 921 | attrs: { 922 | params: { autoplay: 1 }, 923 | src: 924 | "https://www.youtube.com/watch?v=s4ObxcdXoFE&list=PLOtXQ1m0FkHBRg_6v8lJfX9AKKamgYrjC" 925 | } 926 | }) 927 | ], 928 | 1 929 | ), 930 | _vm._v(" "), 931 | _c("div", { staticClass: "form-group" }, [ 932 | _c( 933 | "button", 934 | { staticClass: "btn btn-primary", on: { click: _vm.change } }, 935 | [_vm._v("Change Url")] 936 | ) 937 | ]), 938 | _vm._v(" "), 939 | _c( 940 | "div", 941 | { staticClass: "form-group" }, 942 | [_c("video-embed", { attrs: { src: "https://vimeo.com/370293725" } })], 943 | 1 944 | ), 945 | _vm._v(" "), 946 | _c( 947 | "div", 948 | { staticClass: "form-group" }, 949 | [_c("video-embed", { attrs: { src: "https://dai.ly/x7n7y06" } })], 950 | 1 951 | ), 952 | _vm._v(" "), 953 | _c( 954 | "div", 955 | { staticClass: "form-group" }, 956 | [ 957 | _c("video-embed", { attrs: { src: "https://coub.com/embed/22eztb" } }) 958 | ], 959 | 1 960 | ) 961 | ]), 962 | _vm._v(" "), 963 | _vm._m(2) 964 | ]) 965 | } 966 | var staticRenderFns = [ 967 | function() { 968 | var _vm = this 969 | var _h = _vm.$createElement 970 | var _c = _vm._self._c || _h 971 | return _c("header", [ 972 | _c("h1", [_vm._v("Vue Video Embed")]), 973 | _vm._v(" "), 974 | _c("h4", [ 975 | _vm._v( 976 | "This is a component for Vue.js to utilize YouTube, Vimeo, DailyMotion, Coub iframe embed API easily.\n " 977 | ) 978 | ]) 979 | ]) 980 | }, 981 | function() { 982 | var _vm = this 983 | var _h = _vm.$createElement 984 | var _c = _vm._self._c || _h 985 | return _c("div", { staticClass: "form-group" }, [ 986 | _c("h2", { staticClass: "text-center" }, [ 987 | _c( 988 | "a", 989 | { 990 | attrs: { 991 | href: "https://morioh.com", 992 | title: "\bSocial Network for Developers" 993 | } 994 | }, 995 | [_vm._v("\bSocial\n Network for Developers")] 996 | ) 997 | ]) 998 | ]) 999 | }, 1000 | function() { 1001 | var _vm = this 1002 | var _h = _vm.$createElement 1003 | var _c = _vm._self._c || _h 1004 | return _c("footer", [ 1005 | _c("p", [ 1006 | _c( 1007 | "a", 1008 | { 1009 | staticClass: "social-icon", 1010 | attrs: { 1011 | href: "https://github.com/nasa8x/v-video-embed", 1012 | target: "_blank" 1013 | } 1014 | }, 1015 | [_c("i", { staticClass: "fa-3x fab fa-github-square" })] 1016 | ) 1017 | ]), 1018 | _vm._v(" "), 1019 | _c("p", [ 1020 | _vm._v("Developed under the "), 1021 | _c( 1022 | "a", 1023 | { 1024 | attrs: { 1025 | href: "https://opensource.org/licenses/MIT", 1026 | target: "_blank" 1027 | } 1028 | }, 1029 | [_vm._v("MIT License")] 1030 | ), 1031 | _c("br"), 1032 | _vm._v("\n Made Love by Nasa8x"), 1033 | _c("br"), 1034 | _vm._v(" "), 1035 | _c("strong", [_vm._v("Donate")]), 1036 | _c("br"), 1037 | _vm._v(" "), 1038 | _c( 1039 | "a", 1040 | { attrs: { href: "http://vrl.to/ec5cfbae", target: "_blank" } }, 1041 | [_c("img", { attrs: { src: "https://i.imgur.com/z0p6RvA.png" } })] 1042 | ), 1043 | _c( 1044 | "a", 1045 | { attrs: { href: "http://vrl.to/ec5cfbae", target: "_blank" } }, 1046 | [_c("img", { attrs: { src: "https://i.imgur.com/bEUNBGz.png" } })] 1047 | ) 1048 | ]) 1049 | ]) 1050 | } 1051 | ] 1052 | render._withStripped = true 1053 | 1054 | 1055 | 1056 | /***/ }), 1057 | 1058 | /***/ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js": 1059 | /*!********************************************************************!*\ 1060 | !*** ./node_modules/vue-loader/lib/runtime/componentNormalizer.js ***! 1061 | \********************************************************************/ 1062 | /*! exports provided: default */ 1063 | /***/ (function(module, __webpack_exports__, __webpack_require__) { 1064 | 1065 | "use strict"; 1066 | __webpack_require__.r(__webpack_exports__); 1067 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return normalizeComponent; }); 1068 | /* globals __VUE_SSR_CONTEXT__ */ 1069 | 1070 | // IMPORTANT: Do NOT use ES2015 features in this file (except for modules). 1071 | // This module is a runtime utility for cleaner component module output and will 1072 | // be included in the final webpack user bundle. 1073 | 1074 | function normalizeComponent ( 1075 | scriptExports, 1076 | render, 1077 | staticRenderFns, 1078 | functionalTemplate, 1079 | injectStyles, 1080 | scopeId, 1081 | moduleIdentifier, /* server only */ 1082 | shadowMode /* vue-cli only */ 1083 | ) { 1084 | // Vue.extend constructor export interop 1085 | var options = typeof scriptExports === 'function' 1086 | ? scriptExports.options 1087 | : scriptExports 1088 | 1089 | // render functions 1090 | if (render) { 1091 | options.render = render 1092 | options.staticRenderFns = staticRenderFns 1093 | options._compiled = true 1094 | } 1095 | 1096 | // functional template 1097 | if (functionalTemplate) { 1098 | options.functional = true 1099 | } 1100 | 1101 | // scopedId 1102 | if (scopeId) { 1103 | options._scopeId = 'data-v-' + scopeId 1104 | } 1105 | 1106 | var hook 1107 | if (moduleIdentifier) { // server build 1108 | hook = function (context) { 1109 | // 2.3 injection 1110 | context = 1111 | context || // cached call 1112 | (this.$vnode && this.$vnode.ssrContext) || // stateful 1113 | (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional 1114 | // 2.2 with runInNewContext: true 1115 | if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { 1116 | context = __VUE_SSR_CONTEXT__ 1117 | } 1118 | // inject component styles 1119 | if (injectStyles) { 1120 | injectStyles.call(this, context) 1121 | } 1122 | // register component module identifier for async chunk inferrence 1123 | if (context && context._registeredComponents) { 1124 | context._registeredComponents.add(moduleIdentifier) 1125 | } 1126 | } 1127 | // used by ssr in case component is cached and beforeCreate 1128 | // never gets called 1129 | options._ssrRegister = hook 1130 | } else if (injectStyles) { 1131 | hook = shadowMode 1132 | ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } 1133 | : injectStyles 1134 | } 1135 | 1136 | if (hook) { 1137 | if (options.functional) { 1138 | // for template-only hot-reload because in that case the render fn doesn't 1139 | // go through the normalizer 1140 | options._injectStyles = hook 1141 | // register for functioal component in vue file 1142 | var originalRender = options.render 1143 | options.render = function renderWithStyleInjection (h, context) { 1144 | hook.call(context) 1145 | return originalRender(h, context) 1146 | } 1147 | } else { 1148 | // inject component registration as beforeCreate hook 1149 | var existing = options.beforeCreate 1150 | options.beforeCreate = existing 1151 | ? [].concat(existing, hook) 1152 | : [hook] 1153 | } 1154 | } 1155 | 1156 | return { 1157 | exports: scriptExports, 1158 | options: options 1159 | } 1160 | } 1161 | 1162 | 1163 | /***/ }), 1164 | 1165 | /***/ "./node_modules/webpack/buildin/module.js": 1166 | /*!***********************************!*\ 1167 | !*** (webpack)/buildin/module.js ***! 1168 | \***********************************/ 1169 | /*! no static exports found */ 1170 | /***/ (function(module, exports) { 1171 | 1172 | module.exports = function(module) { 1173 | if (!module.webpackPolyfill) { 1174 | module.deprecate = function() {}; 1175 | module.paths = []; 1176 | // module.parent = undefined by default 1177 | if (!module.children) module.children = []; 1178 | Object.defineProperty(module, "loaded", { 1179 | enumerable: true, 1180 | get: function() { 1181 | return module.l; 1182 | } 1183 | }); 1184 | Object.defineProperty(module, "id", { 1185 | enumerable: true, 1186 | get: function() { 1187 | return module.i; 1188 | } 1189 | }); 1190 | module.webpackPolyfill = 1; 1191 | } 1192 | return module; 1193 | }; 1194 | 1195 | 1196 | /***/ }), 1197 | 1198 | /***/ "./www/app.js": 1199 | /*!********************!*\ 1200 | !*** ./www/app.js ***! 1201 | \********************/ 1202 | /*! no exports provided */ 1203 | /***/ (function(module, __webpack_exports__, __webpack_require__) { 1204 | 1205 | "use strict"; 1206 | __webpack_require__.r(__webpack_exports__); 1207 | /* harmony import */ var _layout_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./layout.css */ "./www/layout.css"); 1208 | /* harmony import */ var _layout_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_layout_css__WEBPACK_IMPORTED_MODULE_0__); 1209 | /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue */ "vue"); 1210 | /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_1__); 1211 | /* harmony import */ var _app_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./app.vue */ "./www/app.vue"); 1212 | /* harmony import */ var _dist_video_embed__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../dist/video-embed */ "./dist/video-embed.js"); 1213 | /* harmony import */ var _dist_video_embed__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_dist_video_embed__WEBPACK_IMPORTED_MODULE_3__); 1214 | 1215 | 1216 | 1217 | 1218 | vue__WEBPACK_IMPORTED_MODULE_1___default.a.use(_dist_video_embed__WEBPACK_IMPORTED_MODULE_3___default.a); 1219 | new vue__WEBPACK_IMPORTED_MODULE_1___default.a({ 1220 | el: '#app', 1221 | render: function render(h) { 1222 | return h(_app_vue__WEBPACK_IMPORTED_MODULE_2__["default"]); 1223 | } 1224 | }); 1225 | 1226 | /***/ }), 1227 | 1228 | /***/ "./www/app.vue": 1229 | /*!*********************!*\ 1230 | !*** ./www/app.vue ***! 1231 | \*********************/ 1232 | /*! exports provided: default */ 1233 | /***/ (function(module, __webpack_exports__, __webpack_require__) { 1234 | 1235 | "use strict"; 1236 | __webpack_require__.r(__webpack_exports__); 1237 | /* harmony import */ var _app_vue_vue_type_template_id_0d4f360b___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./app.vue?vue&type=template&id=0d4f360b& */ "./www/app.vue?vue&type=template&id=0d4f360b&"); 1238 | /* harmony import */ var _app_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./app.vue?vue&type=script&lang=js& */ "./www/app.vue?vue&type=script&lang=js&"); 1239 | /* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 1240 | 1241 | 1242 | 1243 | 1244 | 1245 | /* normalize component */ 1246 | 1247 | var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])( 1248 | _app_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 1249 | _app_vue_vue_type_template_id_0d4f360b___WEBPACK_IMPORTED_MODULE_0__["render"], 1250 | _app_vue_vue_type_template_id_0d4f360b___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"], 1251 | false, 1252 | null, 1253 | null, 1254 | null 1255 | 1256 | ) 1257 | 1258 | /* hot reload */ 1259 | if (false) { var api; } 1260 | component.options.__file = "www/app.vue" 1261 | /* harmony default export */ __webpack_exports__["default"] = (component.exports); 1262 | 1263 | /***/ }), 1264 | 1265 | /***/ "./www/app.vue?vue&type=script&lang=js&": 1266 | /*!**********************************************!*\ 1267 | !*** ./www/app.vue?vue&type=script&lang=js& ***! 1268 | \**********************************************/ 1269 | /*! exports provided: default */ 1270 | /***/ (function(module, __webpack_exports__, __webpack_require__) { 1271 | 1272 | "use strict"; 1273 | __webpack_require__.r(__webpack_exports__); 1274 | /* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_app_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../node_modules/babel-loader/lib!../node_modules/vue-loader/lib??vue-loader-options!./app.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./www/app.vue?vue&type=script&lang=js&"); 1275 | /* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_app_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 1276 | 1277 | /***/ }), 1278 | 1279 | /***/ "./www/app.vue?vue&type=template&id=0d4f360b&": 1280 | /*!****************************************************!*\ 1281 | !*** ./www/app.vue?vue&type=template&id=0d4f360b& ***! 1282 | \****************************************************/ 1283 | /*! exports provided: render, staticRenderFns */ 1284 | /***/ (function(module, __webpack_exports__, __webpack_require__) { 1285 | 1286 | "use strict"; 1287 | __webpack_require__.r(__webpack_exports__); 1288 | /* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_app_vue_vue_type_template_id_0d4f360b___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../node_modules/vue-loader/lib??vue-loader-options!./app.vue?vue&type=template&id=0d4f360b& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./www/app.vue?vue&type=template&id=0d4f360b&"); 1289 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_app_vue_vue_type_template_id_0d4f360b___WEBPACK_IMPORTED_MODULE_0__["render"]; }); 1290 | 1291 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_app_vue_vue_type_template_id_0d4f360b___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); 1292 | 1293 | 1294 | 1295 | /***/ }), 1296 | 1297 | /***/ "./www/layout.css": 1298 | /*!************************!*\ 1299 | !*** ./www/layout.css ***! 1300 | \************************/ 1301 | /*! no static exports found */ 1302 | /***/ (function(module, exports, __webpack_require__) { 1303 | 1304 | // extracted by mini-css-extract-plugin 1305 | 1306 | /***/ }), 1307 | 1308 | /***/ "vue": 1309 | /*!**********************!*\ 1310 | !*** external "Vue" ***! 1311 | \**********************/ 1312 | /*! no static exports found */ 1313 | /***/ (function(module, exports) { 1314 | 1315 | module.exports = Vue; 1316 | 1317 | /***/ }) 1318 | 1319 | /******/ }); 1320 | //# sourceMappingURL=app.js.map --------------------------------------------------------------------------------