UNPKG

@iomariani/vue-player

Version:
1,720 lines (1,448 loc) 87.3 kB
/******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = "5a74"); /******/ }) /************************************************************************/ /******/ ({ /***/ "06cf": /***/ (function(module, exports, __webpack_require__) { var DESCRIPTORS = __webpack_require__("83ab"); var propertyIsEnumerableModule = __webpack_require__("d1e7"); var createPropertyDescriptor = __webpack_require__("5c6c"); var toIndexedObject = __webpack_require__("fc6a"); var toPrimitive = __webpack_require__("c04e"); var has = __webpack_require__("5135"); var IE8_DOM_DEFINE = __webpack_require__("0cfb"); var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; // `Object.getOwnPropertyDescriptor` method // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { O = toIndexedObject(O); P = toPrimitive(P, true); if (IE8_DOM_DEFINE) try { return nativeGetOwnPropertyDescriptor(O, P); } catch (error) { /* empty */ } if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]); }; /***/ }), /***/ "07a2": /***/ (function(module, exports, __webpack_require__) { // style-loader: Adds some css to the DOM by adding a <style> tag // load the styles var content = __webpack_require__("a107"); if(typeof content === 'string') content = [[module.i, content, '']]; if(content.locals) module.exports = content.locals; // add CSS to Shadow Root var add = __webpack_require__("35d6").default module.exports.__inject__ = function (shadowRoot) { add("56e3827e", content, shadowRoot) }; /***/ }), /***/ "0cfb": /***/ (function(module, exports, __webpack_require__) { var DESCRIPTORS = __webpack_require__("83ab"); var fails = __webpack_require__("d039"); var createElement = __webpack_require__("cc12"); // Thank's IE8 for his funny defineProperty module.exports = !DESCRIPTORS && !fails(function () { return Object.defineProperty(createElement('div'), 'a', { get: function () { return 7; } }).a != 7; }); /***/ }), /***/ "1d80": /***/ (function(module, exports) { // `RequireObjectCoercible` abstract operation // https://tc39.github.io/ecma262/#sec-requireobjectcoercible module.exports = function (it) { if (it == undefined) throw TypeError("Can't call method on " + it); return it; }; /***/ }), /***/ "23cb": /***/ (function(module, exports, __webpack_require__) { var toInteger = __webpack_require__("a691"); var max = Math.max; var min = Math.min; // Helper for a popular repeating case of the spec: // Let integer be ? ToInteger(index). // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). module.exports = function (index, length) { var integer = toInteger(index); return integer < 0 ? max(integer + length, 0) : min(integer, length); }; /***/ }), /***/ "23e7": /***/ (function(module, exports, __webpack_require__) { var global = __webpack_require__("da84"); var getOwnPropertyDescriptor = __webpack_require__("06cf").f; var createNonEnumerableProperty = __webpack_require__("9112"); var redefine = __webpack_require__("6eeb"); var setGlobal = __webpack_require__("ce4e"); var copyConstructorProperties = __webpack_require__("e893"); var isForced = __webpack_require__("94ca"); /* options.target - name of the target object options.global - target is the global object options.stat - export as static methods of target options.proto - export as prototype methods of target options.real - real prototype method for the `pure` version options.forced - export even if the native feature is available options.bind - bind methods to the target, required for the `pure` version options.wrap - wrap constructors to preventing global pollution, required for the `pure` version options.unsafe - use the simple assignment of property instead of delete + defineProperty options.sham - add a flag to not completely full polyfills options.enumerable - export as enumerable property options.noTargetGet - prevent calling a getter on target */ module.exports = function (options, source) { var TARGET = options.target; var GLOBAL = options.global; var STATIC = options.stat; var FORCED, target, key, targetProperty, sourceProperty, descriptor; if (GLOBAL) { target = global; } else if (STATIC) { target = global[TARGET] || setGlobal(TARGET, {}); } else { target = (global[TARGET] || {}).prototype; } if (target) for (key in source) { sourceProperty = source[key]; if (options.noTargetGet) { descriptor = getOwnPropertyDescriptor(target, key); targetProperty = descriptor && descriptor.value; } else targetProperty = target[key]; FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); // contained in target if (!FORCED && targetProperty !== undefined) { if (typeof sourceProperty === typeof targetProperty) continue; copyConstructorProperties(sourceProperty, targetProperty); } // add a flag to not completely full polyfills if (options.sham || (targetProperty && targetProperty.sham)) { createNonEnumerableProperty(sourceProperty, 'sham', true); } // extend global redefine(target, key, sourceProperty, options); } }; /***/ }), /***/ "241c": /***/ (function(module, exports, __webpack_require__) { var internalObjectKeys = __webpack_require__("ca84"); var enumBugKeys = __webpack_require__("7839"); var hiddenKeys = enumBugKeys.concat('length', 'prototype'); // `Object.getOwnPropertyNames` method // https://tc39.github.io/ecma262/#sec-object.getownpropertynames exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { return internalObjectKeys(O, hiddenKeys); }; /***/ }), /***/ "24fb": /***/ (function(module, exports, __webpack_require__) { "use strict"; /* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ // css base code, injected by the css-loader // eslint-disable-next-line func-names module.exports = function (useSourceMap) { var list = []; // return the list of modules as css string list.toString = function toString() { return this.map(function (item) { var content = cssWithMappingToString(item, useSourceMap); if (item[2]) { return "@media ".concat(item[2], " {").concat(content, "}"); } return content; }).join(''); }; // import a list of modules into the list // eslint-disable-next-line func-names list.i = function (modules, mediaQuery, dedupe) { if (typeof modules === 'string') { // eslint-disable-next-line no-param-reassign modules = [[null, modules, '']]; } var alreadyImportedModules = {}; if (dedupe) { for (var i = 0; i < this.length; i++) { // eslint-disable-next-line prefer-destructuring var id = this[i][0]; if (id != null) { alreadyImportedModules[id] = true; } } } for (var _i = 0; _i < modules.length; _i++) { var item = [].concat(modules[_i]); if (dedupe && alreadyImportedModules[item[0]]) { // eslint-disable-next-line no-continue continue; } if (mediaQuery) { if (!item[2]) { item[2] = mediaQuery; } else { item[2] = "".concat(mediaQuery, " and ").concat(item[2]); } } list.push(item); } }; return list; }; function cssWithMappingToString(item, useSourceMap) { var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring var cssMapping = item[3]; if (!cssMapping) { return content; } if (useSourceMap && typeof btoa === 'function') { var sourceMapping = toComment(cssMapping); var sourceURLs = cssMapping.sources.map(function (source) { return "/*# sourceURL=".concat(cssMapping.sourceRoot || '').concat(source, " */"); }); return [content].concat(sourceURLs).concat([sourceMapping]).join('\n'); } return [content].join('\n'); } // Adapted from convert-source-map (MIT) function toComment(sourceMap) { // eslint-disable-next-line no-undef var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))); var data = "sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(base64); return "/*# ".concat(data, " */"); } /***/ }), /***/ "35d6": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // EXPORTS __webpack_require__.d(__webpack_exports__, "default", function() { return /* binding */ addStylesToShadowDOM; }); // CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/listToStyles.js /** * Translates the list format produced by css-loader into something * easier to manipulate. */ function listToStyles (parentId, list) { var styles = [] var newStyles = {} for (var i = 0; i < list.length; i++) { var item = list[i] var id = item[0] var css = item[1] var media = item[2] var sourceMap = item[3] var part = { id: parentId + ':' + i, css: css, media: media, sourceMap: sourceMap } if (!newStyles[id]) { styles.push(newStyles[id] = { id: id, parts: [part] }) } else { newStyles[id].parts.push(part) } } return styles } // CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/addStylesShadow.js function addStylesToShadowDOM (parentId, list, shadowRoot) { var styles = listToStyles(parentId, list) addStyles(styles, shadowRoot) } /* type StyleObject = { id: number; parts: Array<StyleObjectPart> } type StyleObjectPart = { css: string; media: string; sourceMap: ?string } */ function addStyles (styles /* Array<StyleObject> */, shadowRoot) { const injectedStyles = shadowRoot._injectedStyles || (shadowRoot._injectedStyles = {}) for (var i = 0; i < styles.length; i++) { var item = styles[i] var style = injectedStyles[item.id] if (!style) { for (var j = 0; j < item.parts.length; j++) { addStyle(item.parts[j], shadowRoot) } injectedStyles[item.id] = true } } } function createStyleElement (shadowRoot) { var styleElement = document.createElement('style') styleElement.type = 'text/css' shadowRoot.appendChild(styleElement) return styleElement } function addStyle (obj /* StyleObjectPart */, shadowRoot) { var styleElement = createStyleElement(shadowRoot) var css = obj.css var media = obj.media var sourceMap = obj.sourceMap if (media) { styleElement.setAttribute('media', media) } if (sourceMap) { // https://developer.chrome.com/devtools/docs/javascript-debugging // this makes source maps inside style tags work properly in Chrome css += '\n/*# sourceURL=' + sourceMap.sources[0] + ' */' // http://stackoverflow.com/a/26603875 css += '\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + ' */' } if (styleElement.styleSheet) { styleElement.styleSheet.cssText = css } else { while (styleElement.firstChild) { styleElement.removeChild(styleElement.firstChild) } styleElement.appendChild(document.createTextNode(css)) } } /***/ }), /***/ "3a0a": /***/ (function(module, exports, __webpack_require__) { __webpack_require__("cca6"); var _objectSpread = __webpack_require__("ded3"); var _objectWithoutProperties = __webpack_require__("4082"); module.exports = { functional: true, render(_h, _vm) { const { _c, _v, data, children = [] } = _vm; const { class: classNames, staticClass, style, staticStyle, attrs = {} } = data, rest = _objectWithoutProperties(data, ["class", "staticClass", "style", "staticStyle", "attrs"]); return _c('svg', _objectSpread({ class: [classNames, staticClass], style: [style, staticStyle], attrs: Object.assign({ "xmlns": "http://www.w3.org/2000/svg", "viewBox": "0 0 24 24", "fill": "none", "stroke": "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, attrs) }, rest), children.concat([_c('path', { attrs: { "stroke-width": "1", "stroke-miterlimit": "10", "d": "M5.91 8.61v5.19" } }), _c('rect', { attrs: { "x": "8.56", "y": "8.61", "width": "2.6", "height": "5.19", "rx": "1.3", "stroke-width": "1" } }), _c('path', { attrs: { "stroke-width": "1.8", "d": "M9.1 6.58l4.36-1.32L12.13.9" } }), _c('path', { attrs: { "d": "M12.99 5.17a7.08 7.08 0 00-4.87-1.93 7.16 7.16 0 00-7 8.4" } }), _c('path', { attrs: { "d": "M2.33 14.59a7.11 7.11 0 003.32 2.54", "stroke-width": "1.8" } }), _c('path', { attrs: { "d": "M8.16 17.5a5.15 5.15 0 002.55-.48", "stroke-width": "1.6" } }), _c('path', { attrs: { "d": "M12.74 15.8a6.93 6.93 0 001.43-1.71", "stroke-width": "1.3" } }), _c('path', { attrs: { "d": "M14.99 11.91a6.55 6.55 0 00.14-1.41", "stroke-width": "1" } })])); } }; /***/ }), /***/ "4082": /***/ (function(module, exports, __webpack_require__) { var objectWithoutPropertiesLoose = __webpack_require__("f0e4"); function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } module.exports = _objectWithoutProperties; /***/ }), /***/ "428f": /***/ (function(module, exports, __webpack_require__) { var global = __webpack_require__("da84"); module.exports = global; /***/ }), /***/ "44ad": /***/ (function(module, exports, __webpack_require__) { var fails = __webpack_require__("d039"); var classof = __webpack_require__("c6b6"); var split = ''.split; // fallback for non-array-like ES3 and non-enumerable old V8 strings module.exports = fails(function () { // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 // eslint-disable-next-line no-prototype-builtins return !Object('z').propertyIsEnumerable(0); }) ? function (it) { return classof(it) == 'String' ? split.call(it, '') : Object(it); } : Object; /***/ }), /***/ "4d64": /***/ (function(module, exports, __webpack_require__) { var toIndexedObject = __webpack_require__("fc6a"); var toLength = __webpack_require__("50c4"); var toAbsoluteIndex = __webpack_require__("23cb"); // `Array.prototype.{ indexOf, includes }` methods implementation var createMethod = function (IS_INCLUDES) { return function ($this, el, fromIndex) { var O = toIndexedObject($this); var length = toLength(O.length); var index = toAbsoluteIndex(fromIndex, length); var value; // Array#includes uses SameValueZero equality algorithm // eslint-disable-next-line no-self-compare if (IS_INCLUDES && el != el) while (length > index) { value = O[index++]; // eslint-disable-next-line no-self-compare if (value != value) return true; // Array#indexOf ignores holes, Array#includes - not } else for (;length > index; index++) { if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; } return !IS_INCLUDES && -1; }; }; module.exports = { // `Array.prototype.includes` method // https://tc39.github.io/ecma262/#sec-array.prototype.includes includes: createMethod(true), // `Array.prototype.indexOf` method // https://tc39.github.io/ecma262/#sec-array.prototype.indexof indexOf: createMethod(false) }; /***/ }), /***/ "50c4": /***/ (function(module, exports, __webpack_require__) { var toInteger = __webpack_require__("a691"); var min = Math.min; // `ToLength` abstract operation // https://tc39.github.io/ecma262/#sec-tolength module.exports = function (argument) { return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 }; /***/ }), /***/ "5135": /***/ (function(module, exports) { var hasOwnProperty = {}.hasOwnProperty; module.exports = function (it, key) { return hasOwnProperty.call(it, key); }; /***/ }), /***/ "5692": /***/ (function(module, exports, __webpack_require__) { var IS_PURE = __webpack_require__("c430"); var store = __webpack_require__("c6cd"); (module.exports = function (key, value) { return store[key] || (store[key] = value !== undefined ? value : {}); })('versions', []).push({ version: '3.6.5', mode: IS_PURE ? 'pure' : 'global', copyright: '© 2020 Denis Pushkarev (zloirock.ru)' }); /***/ }), /***/ "56ef": /***/ (function(module, exports, __webpack_require__) { var getBuiltIn = __webpack_require__("d066"); var getOwnPropertyNamesModule = __webpack_require__("241c"); var getOwnPropertySymbolsModule = __webpack_require__("7418"); var anObject = __webpack_require__("825a"); // all object keys, includes non-enumerable and symbols module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { var keys = getOwnPropertyNamesModule.f(anObject(it)); var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys; }; /***/ }), /***/ "5a74": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js // This file is imported into lib/wc client bundles. if (typeof window !== 'undefined') { var currentScript = window.document.currentScript if (Object({"NODE_ENV":"production","BASE_URL":"/"}).NEED_CURRENTSCRIPT_POLYFILL) { var getCurrentScript = __webpack_require__("8875") currentScript = getCurrentScript() // for backward compatibility, because previously we directly included the polyfill if (!('currentScript' in document)) { Object.defineProperty(document, 'currentScript', { get: getCurrentScript }) } } var src = currentScript && currentScript.src.match(/(.+\/)[^/]+\.js(\?.*)?$/) if (src) { __webpack_require__.p = src[1] // eslint-disable-line } } // Indicate to webpack that this file can be concatenated /* harmony default export */ var setPublicPath = (null); // EXTERNAL MODULE: external "Vue" var external_Vue_ = __webpack_require__("8bbf"); var external_Vue_default = /*#__PURE__*/__webpack_require__.n(external_Vue_); // CONCATENATED MODULE: ./node_modules/@vue/web-component-wrapper/dist/vue-wc-wrapper.js const camelizeRE = /-(\w)/g; const camelize = str => { return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : '') }; const hyphenateRE = /\B([A-Z])/g; const hyphenate = str => { return str.replace(hyphenateRE, '-$1').toLowerCase() }; function getInitialProps (propsList) { const res = {}; propsList.forEach(key => { res[key] = undefined; }); return res } function injectHook (options, key, hook) { options[key] = [].concat(options[key] || []); options[key].unshift(hook); } function callHooks (vm, hook) { if (vm) { const hooks = vm.$options[hook] || []; hooks.forEach(hook => { hook.call(vm); }); } } function createCustomEvent (name, args) { return new CustomEvent(name, { bubbles: false, cancelable: false, detail: args }) } const isBoolean = val => /function Boolean/.test(String(val)); const isNumber = val => /function Number/.test(String(val)); function convertAttributeValue (value, name, { type } = {}) { if (isBoolean(type)) { if (value === 'true' || value === 'false') { return value === 'true' } if (value === '' || value === name) { return true } return value != null } else if (isNumber(type)) { const parsed = parseFloat(value, 10); return isNaN(parsed) ? value : parsed } else { return value } } function toVNodes (h, children) { const res = []; for (let i = 0, l = children.length; i < l; i++) { res.push(toVNode(h, children[i])); } return res } function toVNode (h, node) { if (node.nodeType === 3) { return node.data.trim() ? node.data : null } else if (node.nodeType === 1) { const data = { attrs: getAttributes(node), domProps: { innerHTML: node.innerHTML } }; if (data.attrs.slot) { data.slot = data.attrs.slot; delete data.attrs.slot; } return h(node.tagName, data) } else { return null } } function getAttributes (node) { const res = {}; for (let i = 0, l = node.attributes.length; i < l; i++) { const attr = node.attributes[i]; res[attr.nodeName] = attr.nodeValue; } return res } function wrap (Vue, Component) { const isAsync = typeof Component === 'function' && !Component.cid; let isInitialized = false; let hyphenatedPropsList; let camelizedPropsList; let camelizedPropsMap; function initialize (Component) { if (isInitialized) return const options = typeof Component === 'function' ? Component.options : Component; // extract props info const propsList = Array.isArray(options.props) ? options.props : Object.keys(options.props || {}); hyphenatedPropsList = propsList.map(hyphenate); camelizedPropsList = propsList.map(camelize); const originalPropsAsObject = Array.isArray(options.props) ? {} : options.props || {}; camelizedPropsMap = camelizedPropsList.reduce((map, key, i) => { map[key] = originalPropsAsObject[propsList[i]]; return map }, {}); // proxy $emit to native DOM events injectHook(options, 'beforeCreate', function () { const emit = this.$emit; this.$emit = (name, ...args) => { this.$root.$options.customElement.dispatchEvent(createCustomEvent(name, args)); return emit.call(this, name, ...args) }; }); injectHook(options, 'created', function () { // sync default props values to wrapper on created camelizedPropsList.forEach(key => { this.$root.props[key] = this[key]; }); }); // proxy props as Element properties camelizedPropsList.forEach(key => { Object.defineProperty(CustomElement.prototype, key, { get () { return this._wrapper.props[key] }, set (newVal) { this._wrapper.props[key] = newVal; }, enumerable: false, configurable: true }); }); isInitialized = true; } function syncAttribute (el, key) { const camelized = camelize(key); const value = el.hasAttribute(key) ? el.getAttribute(key) : undefined; el._wrapper.props[camelized] = convertAttributeValue( value, key, camelizedPropsMap[camelized] ); } class CustomElement extends HTMLElement { constructor () { super(); this.attachShadow({ mode: 'open' }); const wrapper = this._wrapper = new Vue({ name: 'shadow-root', customElement: this, shadowRoot: this.shadowRoot, data () { return { props: {}, slotChildren: [] } }, render (h) { return h(Component, { ref: 'inner', props: this.props }, this.slotChildren) } }); // Use MutationObserver to react to future attribute & slot content change const observer = new MutationObserver(mutations => { let hasChildrenChange = false; for (let i = 0; i < mutations.length; i++) { const m = mutations[i]; if (isInitialized && m.type === 'attributes' && m.target === this) { syncAttribute(this, m.attributeName); } else { hasChildrenChange = true; } } if (hasChildrenChange) { wrapper.slotChildren = Object.freeze(toVNodes( wrapper.$createElement, this.childNodes )); } }); observer.observe(this, { childList: true, subtree: true, characterData: true, attributes: true }); } get vueComponent () { return this._wrapper.$refs.inner } connectedCallback () { const wrapper = this._wrapper; if (!wrapper._isMounted) { // initialize attributes const syncInitialAttributes = () => { wrapper.props = getInitialProps(camelizedPropsList); hyphenatedPropsList.forEach(key => { syncAttribute(this, key); }); }; if (isInitialized) { syncInitialAttributes(); } else { // async & unresolved Component().then(resolved => { if (resolved.__esModule || resolved[Symbol.toStringTag] === 'Module') { resolved = resolved.default; } initialize(resolved); syncInitialAttributes(); }); } // initialize children wrapper.slotChildren = Object.freeze(toVNodes( wrapper.$createElement, this.childNodes )); wrapper.$mount(); this.shadowRoot.appendChild(wrapper.$el); } else { callHooks(this.vueComponent, 'activated'); } } disconnectedCallback () { callHooks(this.vueComponent, 'deactivated'); } } if (!isAsync) { initialize(Component); } return CustomElement } /* harmony default export */ var vue_wc_wrapper = (wrap); // EXTERNAL MODULE: ./node_modules/css-loader/dist/runtime/api.js var api = __webpack_require__("24fb"); // EXTERNAL MODULE: ./node_modules/vue-style-loader/lib/addStylesShadow.js + 1 modules var addStylesShadow = __webpack_require__("35d6"); // CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js /* globals __VUE_SSR_CONTEXT__ */ // IMPORTANT: Do NOT use ES2015 features in this file (except for modules). // This module is a runtime utility for cleaner component module output and will // be included in the final webpack user bundle. function normalizeComponent ( scriptExports, render, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier, /* server only */ shadowMode /* vue-cli only */ ) { // Vue.extend constructor export interop var options = typeof scriptExports === 'function' ? scriptExports.options : scriptExports // render functions if (render) { options.render = render options.staticRenderFns = staticRenderFns options._compiled = true } // functional template if (functionalTemplate) { options.functional = true } // scopedId if (scopeId) { options._scopeId = 'data-v-' + scopeId } var hook if (moduleIdentifier) { // server build hook = function (context) { // 2.3 injection context = context || // cached call (this.$vnode && this.$vnode.ssrContext) || // stateful (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional // 2.2 with runInNewContext: true if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { context = __VUE_SSR_CONTEXT__ } // inject component styles if (injectStyles) { injectStyles.call(this, context) } // register component module identifier for async chunk inferrence if (context && context._registeredComponents) { context._registeredComponents.add(moduleIdentifier) } } // used by ssr in case component is cached and beforeCreate // never gets called options._ssrRegister = hook } else if (injectStyles) { hook = shadowMode ? function () { injectStyles.call( this, (options.functional ? this.parent : this).$root.$options.shadowRoot ) } : injectStyles } if (hook) { if (options.functional) { // for template-only hot-reload because in that case the render fn doesn't // go through the normalizer options._injectStyles = hook // register for functional component in vue file var originalRender = options.render options.render = function renderWithStyleInjection (h, context) { hook.call(context) return originalRender(h, context) } } else { // inject component registration as beforeCreate hook var existing = options.beforeCreate options.beforeCreate = existing ? [].concat(existing, hook) : [hook] } } return { exports: scriptExports, options: options } } // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"552e30e0-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/VuePlayer.vue?vue&type=template&id=396aaff9&shadow var render = function () { var _obj; var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"player",class:( _obj = { 'audio-player': _vm.audio, 'video-player': _vm.video }, _obj[("status-" + _vm.status)] = true, _obj['fullscreen-active'] = _vm.fullscreenActive, _obj.theater = _vm.theater, _obj )},[_c('transition',{attrs:{"name":"fade"}},[(_vm.overlayVisible)?_c('div',{staticClass:"player-overlay",class:{ blurred: _vm.overlayBlur },style:(("background-color: " + _vm.overlayColor))}):_vm._e()]),_c('div',{ref:"wrapper",staticClass:"player-wrapper"},[(_vm.audio)?_c('audio',{ref:"player",staticClass:"media",attrs:{"preload":"auto","autoplay":_vm.autoplay,"loop":_vm.loop},on:{"progress":_vm.progressListener,"loadeddata":_vm.loaded,"timeupdate":_vm.timeUpdate,"play":_vm.playPause,"pause":_vm.playPause,"error":_vm.error}},[_vm._l((_vm.sources),function(src,type){return _c('source',{key:type,attrs:{"src":src,"type":type}})}),_vm._v(" Your browser does not support HTML5 audio. ")],2):_vm._e(),(_vm.video)?_c('video',{ref:"player",staticClass:"media",attrs:{"width":_vm.videoWidth,"height":_vm.videoHeight,"preload":"auto","autoplay":_vm.autoplay,"loop":_vm.loop,"poster":_vm.poster},on:{"progress":_vm.progressListener,"loadeddata":_vm.loaded,"timeupdate":_vm.timeUpdate,"play":_vm.playPause,"pause":_vm.playPause,"error":_vm.error}},[_vm._l((_vm.sources),function(src,type){return _c('source',{key:type,attrs:{"src":src,"type":type}})}),_vm._v(" Your browser does not support HTML5 video. ")],2):_vm._e(),_c('div',{staticClass:"player-controls"},[(_vm.currentTime == _vm.duration && _vm.duration > 0)?_c('replay-icon',{staticClass:"action action-replay",attrs:{"aria-label":"replay"},on:{"click":_vm.replay}}):(_vm.status === 'playing')?_c('pause-icon',{staticClass:"action action-pause",attrs:{"aria-label":"pause","viewBox":"2 0 20 25"},on:{"click":_vm.pause}}):_c('play-icon',{staticClass:"action action-play",attrs:{"aria-label":"play","viewBox":"0 0 20 25"},on:{"click":_vm.play}}),(_vm.video)?[(_vm.status === 'playing')?_c('backwards-icon',{staticClass:"action action-backwards",attrs:{"aria-label":"back ten seconds","viewBox":"0 0 20 25"},on:{"click":_vm.backwards}}):_vm._e(),(_vm.status === 'playing')?_c('forwards-icon',{staticClass:"action action-forwards",attrs:{"aria-label":"forward ten seconds","viewBox":"0 0 20 25"},on:{"click":_vm.forwards}}):_vm._e()]:_vm._e(),_c('div',{staticClass:"player-tracker"},[_c('span',{staticClass:"player-time-current",attrs:{"aria-label":"current time"}},[_vm._v(_vm._s(_vm._f("time")(_vm.currentTime)))]),_c('div',{staticClass:"player-progress",on:{"click":_vm.seek}},[_c('div',{staticClass:"player-progress-wrapper"},[_c('div',{staticClass:"player-buffer",style:(("width: " + _vm.buffered + "%"))}),_c('div',{staticClass:"player-seeker",style:(("background-color: " + _vm.color + "; width: " + _vm.progress + "%"))})]),_c('div',{staticClass:"player-seeker-thumb",style:(("background-color: " + _vm.color + "; left: " + _vm.progress + "%"))})]),_c('span',{staticClass:"player-time-total",attrs:{"aria-label":"duration"}},[_vm._v(_vm._s(_vm._f("time")(_vm.duration)))]),(_vm.video)?[(!_vm.fullscreenActive && !_vm.autoFullscreen && _vm.fullscreenOption !== 'native')?_c('maximize-icon',{staticClass:"action action-fullscreen",attrs:{"aria-label":"toggle fullscreen","viewBox":"0 0 20 25"},on:{"click":_vm.toggleFullscreen}}):(_vm.fullscreenActive && !_vm.autoFullscreen && _vm.fullscreenOption !== 'native')?_c('minimize-icon',{staticClass:"action action-fullscreen",attrs:{"aria-label":"toggle fullscreen","viewBox":"0 0 20 25"},on:{"click":_vm.toggleFullscreen}}):_vm._e(),(!_vm.autoFullscreen && _vm.fullscreenOption !== 'scale')?_c('fullscreen-icon',{staticClass:"action action-fullscreen",attrs:{"aria-label":"toggle fullscreen","viewBox":"0 0 20 25"},on:{"click":_vm.requestFullscreen}}):_vm._e()]:_vm._e()],2)],2)])],1)} var staticRenderFns = [] // CONCATENATED MODULE: ./src/components/VuePlayer.vue?vue&type=template&id=396aaff9&shadow // EXTERNAL MODULE: ./src/icons/play.svg var play = __webpack_require__("a9c4"); var play_default = /*#__PURE__*/__webpack_require__.n(play); // EXTERNAL MODULE: ./src/icons/pause.svg var pause = __webpack_require__("e702"); var pause_default = /*#__PURE__*/__webpack_require__.n(pause); // EXTERNAL MODULE: ./src/icons/replay.svg var replay = __webpack_require__("e39a"); var replay_default = /*#__PURE__*/__webpack_require__.n(replay); // EXTERNAL MODULE: ./src/icons/fullscreen.svg var fullscreen = __webpack_require__("c1e3"); var fullscreen_default = /*#__PURE__*/__webpack_require__.n(fullscreen); // EXTERNAL MODULE: ./src/icons/maximize.svg var maximize = __webpack_require__("db39"); var maximize_default = /*#__PURE__*/__webpack_require__.n(maximize); // EXTERNAL MODULE: ./src/icons/minimize.svg var minimize = __webpack_require__("ce32"); var minimize_default = /*#__PURE__*/__webpack_require__.n(minimize); // EXTERNAL MODULE: ./src/icons/backwards.svg var backwards = __webpack_require__("9a65"); var backwards_default = /*#__PURE__*/__webpack_require__.n(backwards); // EXTERNAL MODULE: ./src/icons/forwards.svg var forwards = __webpack_require__("3a0a"); var forwards_default = /*#__PURE__*/__webpack_require__.n(forwards); // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/VuePlayer.vue?vue&type=script&lang=js&shadow // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /* harmony default export */ var VuePlayervue_type_script_lang_js_shadow = ({ name: 'vue-player', components: { PlayIcon: play_default.a, PauseIcon: pause_default.a, ReplayIcon: replay_default.a, FullscreenIcon: fullscreen_default.a, MaximizeIcon: maximize_default.a, MinimizeIcon: minimize_default.a, BackwardsIcon: backwards_default.a, ForwardsIcon: forwards_default.a }, props: { audio: { type: Boolean, default: false }, video: { type: Boolean, default: false }, sources: { type: Object }, videoWidth: { type: String, default: '100%' }, videoHeight: { type: String, default: 'auto' }, autoplay: { type: Boolean, default: false }, loop: { type: Boolean, default: false }, poster: { type: String }, color: { type: String, default: '#2f96fd' }, exclusive: { type: Boolean, default: true }, theater: { type: [Boolean, String], default: false }, overlayBlur: { type: Boolean, default: false }, overlayColor: { type: String, default: '#000000e6' }, fullscreen: { type: String, default: 'both' }, autoFullscreen: { type: Boolean, default: false }, viewport: { type: Function, default: () => window } }, data() { return { status: 'loading', currentTime: 0, duration: 0, buffered: 0, progress: 0, fullscreenActive: false }; }, computed: { fullscreenOption() { const ua = navigator.userAgent; const isMobile = /Android|webOS|iPhone|iPad|iPod/i.test(ua); if (isMobile) return 'native';else return this.fullscreen; }, overlayVisible() { if (this.theater === 'fullscreen' && this.fullscreenActive) { return true; } else if (this.theater === true && (status === 'playing' || this.fullscreenActive)) { return true; } else { return false; } } }, methods: { progressListener(e) { const player = e.target; const duration = player.duration; if (duration > 0) { for (let i = 0; i < player.buffered.length; i++) { if (player.buffered.start(player.buffered.length - 1 - i) < player.currentTime) { this.buffered = player.buffered.end(player.buffered.length - 1 - i) / duration * 100; break; } } } }, loaded(e) { const target = e.target; if (target.readyState >= 2) { this.status = 'loaded'; this.duration = parseInt(target.duration); if (this.autoplay) this.play(); return this.autoplay; } else { this.error(e); } }, error(e) { switch (e.target.error.code) { case e.target.error.MEDIA_ERR_ABORTED: throw new Error('You aborted the video playback.'); case e.target.error.MEDIA_ERR_NETWORK: throw new Error('A network error caused the audio download to fail.'); case e.target.error.MEDIA_ERR_DECODE: throw new Error('The audio playback was aborted due to a corruption problem or because the video used features your browser did not support.'); case e.target.error.MEDIA_ERR_SRC_NOT_SUPPORTED: throw new Error('The video audio not be loaded, either because the server or network failed or because the format is not supported.'); default: throw new Error('An unknown error occurred.'); } }, timeUpdate(e) { const target = e.target; this.currentTime = parseInt(target.currentTime); this.progress = this.currentTime / this.duration * 100; if (target.playing) this.status = 'playing'; }, play() { this.$refs.player.play(); }, pause() { this.$refs.player.pause(); }, playPause(e) { if (e.type === 'pause') { this.status = 'paused'; } else if (e.type === 'play') { if (this.exclusive) { const players = document.getElementsByClassName('player status-playing'); players.forEach(player => player.getElementsByClassName('media')[0].pause()); } this.status = 'playing'; } if (this.autoFullscreen) { if (this.fullscreenOption === 'native') this.requestFullscreen();else this.toggleFullscreen(); } }, replay() { this.$refs.player.pause(); this.$refs.player.currentTime = 0; this.$refs.player.play(); }, seek(e) { const el = e.target.classList.contains('player-progress') ? e.target : e.target.parentNode; const rect = el.getBoundingClientRect(); const seekPos = (e.clientX - rect.left) / rect.width; this.$refs.player.currentTime = parseInt(this.duration * seekPos); }, requestFullscreen() { const player = this.$refs.player; if (player.requestFullscreen) { player.requestFullscreen(); } else if (player.mozRequestFullScreen) { player.mozRequestFullScreen(); } else if (player.webkitRequestFullScreen) { player.webkitRequestFullScreen(); } }, toggleFullscreen() { const wrapper = this.$refs.wrapper; const player = this.$refs.player; if (this.fullscreenActive) { wrapper.style.transform = ''; } else { const $viewport = this.viewport.call(); let viewport; if ($viewport instanceof Window) { viewport = { width: window.innerWidth, height: window.innerHeight }; } else { viewport = $viewport.getBoundingClientRect(); } const playerRect = player.getBoundingClientRect(); const scale = Math.min(viewport.width / player.offsetWidth, viewport.height / player.offsetHeight) * 0.85; let centerX = viewport.width / 2 - playerRect.width * scale / 2 - playerRect.left; let centerY = viewport.height / 2 - playerRect.height * scale / 2 - playerRect.top; if ($viewport instanceof HTMLElement) { centerX += viewport.left; centerY += viewport.top; } wrapper.style.transform = `translate(${centerX}px, ${centerY}px) scale(${scale})`; } this.fullscreenActive = !this.fullscreenActive; }, backwards($event, seconds = 10) { this.$refs.player.currentTime -= seconds; }, forwards($event, seconds = 10) { this.$refs.player.currentTime += seconds; } }, filters: { time: function (seconds) { if (!seconds) return '0:00'; const dt = new Date(seconds * 1000); let time = dt.toISOString().substring(11, 19); if (dt.getUTCHours() == 0) { time = time.slice(3); if (dt.getUTCMinutes() < 10) time = time.slice(1); } return time; } } }); // CONCATENATED MODULE: ./src/components/VuePlayer.vue?vue&type=script&lang=js&shadow /* harmony default export */ var components_VuePlayervue_type_script_lang_js_shadow = (VuePlayervue_type_script_lang_js_shadow); // CONCATENATED MODULE: ./src/components/VuePlayer.vue?shadow function injectStyles (context) { var style0 = __webpack_require__("6a25") if (style0.__inject__) style0.__inject__(context) } /* normalize component */ var component = normalizeComponent( components_VuePlayervue_type_script_lang_js_shadow, render, staticRenderFns, false, injectStyles, null, null ,true ) /* harmony default export */ var VuePlayershadow = (component.exports); // CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-wc.js // runtime shared by every component chunk window.customElements.define('vue-player', vue_wc_wrapper(external_Vue_default.a, VuePlayershadow)) /***/ }), /***/ "5c6c": /***/ (function(module, exports) { module.exports = function (bitmap, value) { return { enumerable: !(bitmap & 1), configurable: !(bitmap & 2), writable: !(bitmap & 4), value: value }; }; /***/ }), /***/ "60da": /***/ (function(module, exports, __webpack_require__) { "use strict"; var DESCRIPTORS = __webpack_require__("83ab"); var fails = __webpack_require__("d039"); var objectKeys = __webpack_require__("df75"); var getOwnPropertySymbolsModule = __webpack_require__("7418"); var propertyIsEnumerableModule = __webpack_require__("d1e7"); var toObject = __webpack_require__("7b0b"); var IndexedObject = __webpack_require__("44ad"); var nativeAssign = Object.assign; var defineProperty = Object.defineProperty; // `Object.assign` method // https://tc39.github.io/ecma262/#sec-object.assign module.exports = !nativeAssign || fails(function () { // should have correct order of operations (Edge bug) if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', { enumerable: true, get: function () { defineProperty(this, 'b', { value: 3, enumerable: false }); } }), { b: 2 })).b !== 1) return true; // should work with symbols and should have deterministic property order (V8 bug) var A = {}; var B = {}; // eslint-disable-next-line no-undef var symbol = Symbol(); var alphabet = 'abcdefghijklmnopqrst'; A[symbol] = 7; alphabet.split('').forEach(function (chr) { B[chr] = chr; }); return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet; }) ? function assign(target, source) { // eslint-disable-line no-unused-vars var T = toObject(target); var argumentsLength = arguments.length; var index = 1; var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; var propertyIsEnumerable = propertyIsEnumerableModule.f; while (argumentsLength > index) { var S = IndexedObject(arguments[index++]); var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S); var length = keys.length; var j = 0; var key; while (length > j) { key = keys[j++]; if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key]; } } return T; } : nativeAssign; /***/ }), /***/ "69f3": /***/ (function(module, exports, __webpack_require__) { var NATIVE_WEAK_MAP = __webpack_require__("7f9a"); var global = __webpack_require__("da84"); var isObject = __webpack_require__("861d"); var createNonEnumerableProperty = __webpack_require__("9112"); var objectHas = __webpack_require__("5135"); var sharedKey = __webpack_require__("f772"); var hiddenKeys = __webpack_require__("d012"); var WeakMap = global.WeakMap; var set, get, has; var enforce = function (it) { return has(it) ? get(it) : set(it, {}); }; var getterFor = function (TYPE) { return function (it) { var state; if (!isObject(it) || (state = get(it)).type !== TYPE) { throw TypeError('Incompatible receiver, ' + TYPE + ' required'); } return state; }; }; if