From 217e83eac578d8e4b80226f6af2cf993ebadcc6a Mon Sep 17 00:00:00 2001
From: Harvey Zack ${(0,o.escape)(e)} ${(0,o.escape)(e)}s){const e=t.startsWith("portrait")?"landscape":"portrait";await screen.orientation.lock(e),(0,a.addClass)(r,"art-auto-orientation-fullscreen")}}else(0,a.hasClass)(r,"art-auto-orientation-fullscreen")&&(await screen.orientation.lock(t),(0,a.removeClass)(r,"art-auto-orientation-fullscreen"))})),{name:"autoOrientation",get state(){return(0,a.hasClass)(r,"art-auto-orientation")}}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],cVO99:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var a=e("../utils");r.default=function(e){const{i18n:t,icons:r,storage:o,constructor:n,proxy:i,template:{$poster:s}}=e,l=e.layers.add({name:"auto-playback",html:''}),c=(0,a.query)(".art-auto-playback-last",l),p=(0,a.query)(".art-auto-playback-jump",l),u=(0,a.query)(".art-auto-playback-close",l);return e.on("video:timeupdate",(()=>{if(e.playing){const t=o.get("times")||{},r=Object.keys(t);r.length>n.AUTO_PLAYBACK_MAX&&delete t[r[0]],t[e.option.id||e.option.url]=e.currentTime,o.set("times",t)}})),e.on("ready",(()=>{const d=(o.get("times")||{})[e.option.id||e.option.url];d&&d>=n.AUTO_PLAYBACK_MIN&&((0,a.append)(u,r.close),(0,a.setStyle)(l,"display","flex"),c.innerText=`${t.get("Last Seen")} ${(0,a.secondToTime)(d)}`,p.innerText=t.get("Jump Play"),i(u,"click",(()=>{(0,a.setStyle)(l,"display","none")})),i(p,"click",(()=>{e.seek=d,e.play(),(0,a.setStyle)(s,"display","none"),(0,a.setStyle)(l,"display","none")})),e.once("video:timeupdate",(()=>{setTimeout((()=>{(0,a.setStyle)(l,"display","none")}),n.AUTO_PLAYBACK_TIMEOUT)})))})),{name:"auto-playback",get times(){return o.get("times")||{}},clear:()=>o.del("times"),delete(e){const t=o.get("times")||{};return delete t[e],o.set("times",t),t}}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],hFDwt:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var a=e("../utils");r.default=function(e){const{constructor:t,proxy:r,template:{$player:o,$video:n}}=e;let i=null,s=!1,l=1;const c=()=>{clearTimeout(i),s&&(s=!1,e.playbackRate=l,(0,a.removeClass)(o,"art-fast-forward"))};return r(n,"touchstart",(r=>{1===r.touches.length&&e.playing&&!e.isLock&&(i=setTimeout((()=>{s=!0,l=e.playbackRate,e.playbackRate=t.FAST_FORWARD_VALUE,(0,a.addClass)(o,"art-fast-forward")}),t.FAST_FORWARD_TIME))})),r(document,"touchmove",c),r(document,"touchend",c),{name:"fastForward",get state(){return(0,a.hasClass)(o,"art-fast-forward")}}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"1hsTH":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var a=e("../utils");r.default=function(e){const{layers:t,icons:r,template:{$player:o}}=e;return t.add({name:"lock",mounted(t){const o=(0,a.append)(t,r.lock),n=(0,a.append)(t,r.unlock);(0,a.setStyle)(o,"display","none"),e.on("lock",(e=>{e?((0,a.setStyle)(o,"display","inline-flex"),(0,a.setStyle)(n,"display","none")):((0,a.setStyle)(o,"display","none"),(0,a.setStyle)(n,"display","inline-flex"))}))},click(){(0,a.hasClass)(o,"art-lock")?((0,a.removeClass)(o,"art-lock"),this.isLock=!1,e.emit("lock",!1)):((0,a.addClass)(o,"art-lock"),this.isLock=!0,e.emit("lock",!0))}}),{name:"lock",get state(){return(0,a.hasClass)(o,"art-lock")}}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"7mil2":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r);var o=e("./config"),n=a.interopDefault(o),i=e("./utils");r.default=class{constructor(e){const{option:t,proxy:r,template:{$video:a}}=e;for(let t=0;ts){const e=t.startsWith("portrait")?"landscape":"portrait";await screen.orientation.lock(e),(0,a.addClass)(r,"art-auto-orientation-fullscreen")}}else(0,a.hasClass)(r,"art-auto-orientation-fullscreen")&&(await screen.orientation.lock(t),(0,a.removeClass)(r,"art-auto-orientation-fullscreen"))})),{name:"autoOrientation",get state(){return(0,a.hasClass)(r,"art-auto-orientation")}}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],cVO99:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var a=e("../utils");r.default=function(e){const{i18n:t,icons:r,storage:o,constructor:n,proxy:i,template:{$poster:s}}=e,l=e.layers.add({name:"auto-playback",html:''}),c=(0,a.query)(".art-auto-playback-last",l),p=(0,a.query)(".art-auto-playback-jump",l),u=(0,a.query)(".art-auto-playback-close",l);return e.on("video:timeupdate",(()=>{if(e.playing){const t=o.get("times")||{},r=Object.keys(t);r.length>n.AUTO_PLAYBACK_MAX&&delete t[r[0]],t[e.option.id||e.option.url]=e.currentTime,o.set("times",t)}})),e.on("ready",(()=>{const d=(o.get("times")||{})[e.option.id||e.option.url];d&&d>=n.AUTO_PLAYBACK_MIN&&((0,a.append)(u,r.close),(0,a.setStyle)(l,"display","flex"),c.innerText=`${t.get("Last Seen")} ${(0,a.secondToTime)(d)}`,p.innerText=t.get("Jump Play"),i(u,"click",(()=>{(0,a.setStyle)(l,"display","none")})),i(p,"click",(()=>{e.seek=d,e.play(),(0,a.setStyle)(s,"display","none"),(0,a.setStyle)(l,"display","none")})),e.once("video:timeupdate",(()=>{setTimeout((()=>{(0,a.setStyle)(l,"display","none")}),n.AUTO_PLAYBACK_TIMEOUT)})))})),{name:"auto-playback",get times(){return o.get("times")||{}},clear:()=>o.del("times"),delete(e){const t=o.get("times")||{};return delete t[e],o.set("times",t),t}}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],hFDwt:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var a=e("../utils");r.default=function(e){const{constructor:t,proxy:r,template:{$player:o,$video:n}}=e;let i=null,s=!1,l=1;const c=()=>{clearTimeout(i),s&&(s=!1,e.playbackRate=l,(0,a.removeClass)(o,"art-fast-forward"))};return r(n,"touchstart",(r=>{1===r.touches.length&&e.playing&&!e.isLock&&(i=setTimeout((()=>{s=!0,l=e.playbackRate,e.playbackRate=t.FAST_FORWARD_VALUE,(0,a.addClass)(o,"art-fast-forward")}),t.FAST_FORWARD_TIME))})),r(document,"touchmove",c),r(document,"touchend",c),{name:"fastForward",get state(){return(0,a.hasClass)(o,"art-fast-forward")}}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"1hsTH":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var a=e("../utils");r.default=function(e){const{layers:t,icons:r,template:{$player:o}}=e;return t.add({name:"lock",mounted(t){const o=(0,a.append)(t,r.lock),n=(0,a.append)(t,r.unlock);(0,a.setStyle)(o,"display","none"),e.on("lock",(e=>{e?((0,a.setStyle)(o,"display","inline-flex"),(0,a.setStyle)(n,"display","none")):((0,a.setStyle)(o,"display","none"),(0,a.setStyle)(n,"display","inline-flex"))}))},click(){(0,a.hasClass)(o,"art-lock")?((0,a.removeClass)(o,"art-lock"),this.isLock=!1,e.emit("lock",!1)):((0,a.addClass)(o,"art-lock"),this.isLock=!0,e.emit("lock",!0))}}),{name:"lock",get state(){return(0,a.hasClass)(o,"art-lock")}}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"7mil2":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r);var o=e("./config"),n=a.interopDefault(o),i=e("./utils");r.default=class{constructor(e){const{option:t,proxy:r,template:{$video:a}}=e;for(let t=0;t
${escape(item)}
`)\n .join('');\n } else {\n $subtitle.innerHTML = this.activeCue.text;\n }\n this.art.emit('subtitleUpdate', this.activeCue.text);\n }\n }\n\n async switch(url, newOption = {}) {\n const { i18n, notice, option } = this.art;\n const subtitleOption = { ...option.subtitle, ...newOption, url };\n const subUrl = await this.init(subtitleOption);\n if (newOption.name) {\n notice.show = `${i18n.get('Switch Subtitle')}: ${newOption.name}`;\n }\n return subUrl;\n }\n\n createTrack(kind, url) {\n const { template, proxy } = this.art;\n const { $video, $track } = template;\n\n const $newTrack = createElement('track');\n $newTrack.default = true;\n $newTrack.kind = kind;\n $newTrack.src = url;\n $newTrack.track.mode = 'hidden';\n\n this.eventDestroy();\n remove($track);\n\n append($video, $newTrack);\n template.$track = $newTrack;\n this.eventDestroy = proxy(this.textTrack, 'cuechange', () => this.update());\n }\n\n async init(subtitleOption) {\n const {\n notice,\n template: { $subtitle },\n } = this.art;\n\n validator(subtitleOption, scheme.subtitle);\n if (!subtitleOption.url) return;\n this.style(subtitleOption.style);\n\n return fetch(subtitleOption.url)\n .then((response) => response.arrayBuffer())\n .then((buffer) => {\n const decoder = new TextDecoder(subtitleOption.encoding);\n const text = decoder.decode(buffer);\n this.art.emit('subtitleLoad', subtitleOption.url);\n switch (subtitleOption.type || getExt(subtitleOption.url)) {\n case 'srt': {\n const vtt = srtToVtt(text);\n const vttNew = subtitleOption.onVttLoad(vtt);\n return vttToBlob(vttNew);\n }\n case 'ass': {\n const vtt = assToVtt(text);\n const vttNew = subtitleOption.onVttLoad(vtt);\n return vttToBlob(vttNew);\n }\n case 'vtt': {\n const vttNew = subtitleOption.onVttLoad(text);\n return vttToBlob(vttNew);\n }\n default:\n return subtitleOption.url;\n }\n })\n .then((subUrl) => {\n $subtitle.innerHTML = '';\n if (this.url === subUrl) return subUrl;\n URL.revokeObjectURL(this.url);\n this.createTrack('metadata', subUrl);\n this.art.emit('subtitleSwitch', subUrl);\n return subUrl;\n })\n .catch((err) => {\n notice.show = err;\n throw err;\n });\n }\n}\n","import { ArtPlayerError } from '../utils/error';\nimport clickInit from './clickInit';\nimport hoverInit from './hoverInit';\nimport moveInit from './moveInit';\nimport resizeInit from './resizeInit';\nimport gestureInit from './gestureInit';\nimport viewInit from './viewInit';\nimport documentInit from './documentInit';\n\nexport default class Events {\n constructor(art) {\n this.destroyEvents = [];\n this.proxy = this.proxy.bind(this);\n this.hover = this.hover.bind(this);\n this.loadImg = this.loadImg.bind(this);\n\n if (art.whitelist.state) {\n clickInit(art, this);\n hoverInit(art, this);\n moveInit(art, this);\n resizeInit(art, this);\n gestureInit(art, this);\n viewInit(art, this);\n documentInit(art, this);\n }\n }\n\n proxy(target, name, callback, option = {}) {\n if (Array.isArray(name)) {\n return name.map((item) => this.proxy(target, item, callback, option));\n }\n\n target.addEventListener(name, callback, option);\n const destroy = () => target.removeEventListener(name, callback, option);\n this.destroyEvents.push(destroy);\n return destroy;\n }\n\n hover(target, mouseenter, mouseleave) {\n if (mouseenter) {\n this.proxy(target, 'mouseenter', mouseenter);\n }\n if (mouseleave) {\n this.proxy(target, 'mouseleave', mouseleave);\n }\n }\n\n loadImg(img) {\n return new Promise((resolve, reject) => {\n let image;\n\n if (img instanceof HTMLImageElement) {\n image = img;\n } else if (typeof img === 'string') {\n image = new Image();\n image.src = img;\n } else {\n return reject(new ArtPlayerError('Unable to get Image'));\n }\n\n if (image.complete) {\n return resolve(image);\n }\n\n this.proxy(image, 'load', () => resolve(image));\n this.proxy(image, 'error', () => reject(new ArtPlayerError(`Failed to load Image: ${image.src}`)));\n });\n }\n\n remove(destroyEvent) {\n const index = this.destroyEvents.indexOf(destroyEvent);\n if (index > -1) {\n destroyEvent();\n this.destroyEvents.splice(index, 1);\n }\n }\n\n destroy() {\n for (let index = 0; index < this.destroyEvents.length; index++) {\n this.destroyEvents[index]();\n }\n }\n}\n","import { includeFromEvent, isMobile } from '../utils';\n\nexport default function clickInit(art, events) {\n const {\n constructor,\n template: { $player, $video },\n } = art;\n\n events.proxy(document, ['click', 'contextmenu'], (event) => {\n if (includeFromEvent(event, $player)) {\n art.isInput = event.target.tagName === 'INPUT';\n art.isFocus = true;\n art.emit('focus', event);\n } else {\n art.isInput = false;\n art.isFocus = false;\n art.emit('blur', event);\n }\n });\n\n let clickTime = 0;\n events.proxy($video, 'click', (event) => {\n const now = Date.now();\n const { MOBILE_CLICK_PLAY, DBCLICK_TIME, MOBILE_DBCLICK_PLAY, DBCLICK_FULLSCREEN } = constructor;\n\n if (now - clickTime <= DBCLICK_TIME) {\n art.emit('dblclick', event);\n\n if (isMobile) {\n if (!art.isLock && MOBILE_DBCLICK_PLAY) {\n art.toggle();\n }\n } else {\n if (DBCLICK_FULLSCREEN) {\n art.fullscreen = !art.fullscreen;\n }\n }\n } else {\n art.emit('click', event);\n\n if (isMobile) {\n if (!art.isLock && MOBILE_CLICK_PLAY) {\n art.toggle();\n }\n } else {\n art.toggle();\n }\n }\n\n clickTime = now;\n });\n}\n","import { addClass, removeClass } from '../utils';\n\nexport default function hoverInit(art, events) {\n const { $player } = art.template;\n\n events.hover(\n $player,\n (event) => {\n addClass($player, 'art-hover');\n art.emit('hover', true, event);\n },\n (event) => {\n removeClass($player, 'art-hover');\n art.emit('hover', false, event);\n },\n );\n}\n","export default function moveInit(art, events) {\n const { $player } = art.template;\n\n events.proxy($player, 'mousemove', (event) => {\n art.emit('mousemove', event);\n });\n}\n","import { throttle } from '../utils';\n\nexport default function resizeInit(art, events) {\n const { option } = art;\n\n const resizeFn = throttle(() => {\n if (art.state === 'standard') {\n art.autoSize = option.autoSize;\n }\n art.aspectRatioReset();\n art.notice.show = '';\n art.emit('resize');\n }, art.constructor.RESIZE_TIME);\n\n events.proxy(window, ['orientationchange', 'resize'], () => resizeFn());\n if (screen && screen.orientation && screen.orientation.onchange) {\n events.proxy(screen.orientation, 'change', () => resizeFn());\n }\n}\n","import { clamp, secondToTime, isMobile } from '../utils';\nimport { setCurrentTime } from '../control/progress';\n\nfunction GetSlideAngle(dx, dy) {\n return (Math.atan2(dy, dx) * 180) / Math.PI;\n}\n\nfunction GetSlideDirection(startX, startY, endX, endY) {\n var dy = startY - endY;\n var dx = endX - startX;\n var result = 0;\n\n if (Math.abs(dx) < 2 && Math.abs(dy) < 2) {\n return result;\n }\n\n var angle = GetSlideAngle(dx, dy);\n if (angle >= -45 && angle < 45) {\n result = 4;\n } else if (angle >= 45 && angle < 135) {\n result = 1;\n } else if (angle >= -135 && angle < -45) {\n result = 2;\n } else if ((angle >= 135 && angle <= 180) || (angle >= -180 && angle < -135)) {\n result = 3;\n }\n\n return result;\n}\n\nexport default function gestureInit(art, events) {\n if (isMobile && !art.option.isLive) {\n const { $video, $progress } = art.template;\n\n let touchTarget = null;\n let isDroging = false;\n let startX = 0;\n let startY = 0;\n let startTime = 0;\n\n const onTouchStart = (event) => {\n if (event.touches.length === 1 && !art.isLock) {\n if (touchTarget === $progress) {\n setCurrentTime(art, event);\n }\n\n isDroging = true;\n const { pageX, pageY } = event.touches[0];\n startX = pageX;\n startY = pageY;\n startTime = art.currentTime;\n }\n };\n\n const onTouchMove = (event) => {\n if (event.touches.length === 1 && isDroging && art.duration) {\n const { pageX, pageY } = event.touches[0];\n const direction = GetSlideDirection(startX, startY, pageX, pageY);\n const isHorizontal = [3, 4].includes(direction);\n const isVertical = [1, 2].includes(direction);\n const isLegal = (isHorizontal && !art.isRotate) || (isVertical && art.isRotate);\n if (isLegal) {\n const ratioX = clamp((pageX - startX) / art.width, -1, 1);\n const ratioY = clamp((pageY - startY) / art.height, -1, 1);\n const ratio = art.isRotate ? ratioY : ratioX;\n const TOUCH_MOVE_RATIO = touchTarget === $video ? art.constructor.TOUCH_MOVE_RATIO : 1;\n const currentTime = clamp(startTime + art.duration * ratio * TOUCH_MOVE_RATIO, 0, art.duration);\n art.seek = currentTime;\n art.emit('setBar', 'played', clamp(currentTime / art.duration, 0, 1));\n art.notice.show = `${secondToTime(currentTime)} / ${secondToTime(art.duration)}`;\n }\n }\n };\n\n const onTouchEnd = () => {\n if (isDroging) {\n startX = 0;\n startY = 0;\n startTime = 0;\n isDroging = false;\n touchTarget = null;\n }\n };\n\n events.proxy($progress, 'touchstart', (event) => {\n touchTarget = $progress;\n onTouchStart(event);\n });\n\n events.proxy($video, 'touchstart', (event) => {\n touchTarget = $video;\n onTouchStart(event);\n });\n\n events.proxy($video, 'touchmove', onTouchMove);\n events.proxy($progress, 'touchmove', onTouchMove);\n events.proxy(document, 'touchend', onTouchEnd);\n }\n}\n","import { throttle, isInViewport } from '../utils';\n\nexport default function viewInit(art, events) {\n const {\n option,\n constructor,\n template: { $container },\n } = art;\n\n const scrollFn = throttle(() => {\n art.emit('view', isInViewport($container, constructor.SCROLL_GAP));\n }, constructor.SCROLL_TIME);\n\n events.proxy(window, 'scroll', () => scrollFn());\n\n art.on('view', (state) => {\n if (option.autoMini) {\n art.mini = !state;\n }\n });\n}\n","export default function documentInit(art, events) {\n events.proxy(document, 'mousemove', (event) => {\n art.emit('document:mousemove', event);\n });\n\n events.proxy(document, 'mouseup', (event) => {\n art.emit('document:mouseup', event);\n });\n}\n","import { isMobile } from './utils';\n\nexport default class Hotkey {\n constructor(art) {\n this.art = art;\n this.keys = {};\n\n if (art.option.hotkey && !isMobile) {\n this.init();\n }\n }\n\n init() {\n const { proxy, constructor } = this.art;\n\n this.add(27, () => {\n if (this.art.fullscreenWeb) {\n this.art.fullscreenWeb = false;\n }\n });\n\n this.add(32, () => {\n this.art.toggle();\n });\n\n this.add(37, () => {\n this.art.backward = constructor.SEEK_STEP;\n });\n\n this.add(38, () => {\n this.art.volume += constructor.VOLUME_STEP;\n });\n\n this.add(39, () => {\n this.art.forward = constructor.SEEK_STEP;\n });\n\n this.add(40, () => {\n this.art.volume -= constructor.VOLUME_STEP;\n });\n\n proxy(window, 'keydown', (event) => {\n if (this.art.isFocus) {\n const tag = document.activeElement.tagName.toUpperCase();\n const editable = document.activeElement.getAttribute('contenteditable');\n if (tag !== 'INPUT' && tag !== 'TEXTAREA' && editable !== '' && editable !== 'true') {\n const events = this.keys[event.keyCode];\n if (events) {\n event.preventDefault();\n for (let index = 0; index < events.length; index++) {\n events[index].call(this.art, event);\n }\n this.art.emit('hotkey', event);\n }\n }\n }\n });\n }\n\n add(key, event) {\n if (this.keys[key]) {\n this.keys[key].push(event);\n } else {\n this.keys[key] = [event];\n }\n return this;\n }\n\n remove(key, event) {\n if (this.keys[key]) {\n const index = this.keys[key].indexOf(event);\n if (index !== -1) {\n this.keys[key].splice(index, 1);\n }\n }\n return this;\n }\n}\n","import Component from './utils/component';\n\nexport default class Layer extends Component {\n constructor(art) {\n super(art);\n\n const {\n option,\n template: { $layer },\n } = art;\n\n this.name = 'layer';\n this.$parent = $layer;\n\n for (let index = 0; index < option.layers.length; index++) {\n this.add(option.layers[index]);\n }\n }\n}\n","import { append } from './utils';\nimport Component from './utils/component';\n\nexport default class Loading extends Component {\n constructor(art) {\n super(art);\n this.name = 'loading';\n append(art.template.$loading, art.icons.loading);\n }\n}\n","import { addClass, removeClass } from './utils';\n\nexport default class Notice {\n constructor(art) {\n this.art = art;\n this.timer = null;\n }\n\n set show(msg) {\n const {\n constructor,\n template: { $player, $noticeInner },\n } = this.art;\n\n if (msg) {\n $noticeInner.innerText = msg instanceof Error ? msg.message.trim() : msg;\n addClass($player, 'art-notice-show');\n clearTimeout(this.timer);\n this.timer = setTimeout(() => {\n $noticeInner.innerText = '';\n removeClass($player, 'art-notice-show');\n }, constructor.NOTICE_TIME);\n } else {\n removeClass($player, 'art-notice-show');\n }\n }\n}\n","import { append, setStyle } from './utils';\nimport Component from './utils/component';\n\nexport default class Mask extends Component {\n constructor(art) {\n super(art);\n\n this.name = 'mask';\n const { template, icons, events } = art;\n\n const $state = append(template.$state, icons.state);\n const $error = append(template.$state, icons.error);\n\n setStyle($error, 'display', 'none');\n\n art.on('destroy', () => {\n setStyle($state, 'display', 'none');\n setStyle($error, 'display', null);\n });\n\n events.proxy(template.$state, 'click', () => art.play());\n }\n}\n","import { def, getIcon } from '../utils';\nimport loading from 'bundle-text:./loading.svg';\nimport state from 'bundle-text:./state.svg';\nimport check from 'bundle-text:./check.svg';\nimport play from 'bundle-text:./play.svg';\nimport pause from 'bundle-text:./pause.svg';\nimport volume from 'bundle-text:./volume.svg';\nimport volumeClose from 'bundle-text:./volume-close.svg';\nimport screenshot from 'bundle-text:./screenshot.svg';\nimport setting from 'bundle-text:./setting.svg';\nimport arrowLeft from 'bundle-text:./arrow-left.svg';\nimport arrowRight from 'bundle-text:./arrow-right.svg';\nimport playbackRate from 'bundle-text:./playback-rate.svg';\nimport aspectRatio from 'bundle-text:./aspect-ratio.svg';\nimport config from 'bundle-text:./config.svg';\nimport pip from 'bundle-text:./pip.svg';\nimport lock from 'bundle-text:./lock.svg';\nimport unlock from 'bundle-text:./unlock.svg';\nimport fullscreenOff from 'bundle-text:./fullscreen-off.svg';\nimport fullscreenOn from 'bundle-text:./fullscreen-on.svg';\nimport fullscreenWebOff from 'bundle-text:./fullscreen-web-off.svg';\nimport fullscreenWebOn from 'bundle-text:./fullscreen-web-on.svg';\nimport switchOn from 'bundle-text:./switch-on.svg';\nimport switchOff from 'bundle-text:./switch-off.svg';\nimport flip from 'bundle-text:./flip.svg';\nimport error from 'bundle-text:./error.svg';\nimport close from 'bundle-text:./close.svg';\nimport airplay from 'bundle-text:./airplay.svg';\n\nexport default class Icons {\n constructor(art) {\n const icons = {\n loading,\n state,\n play,\n pause,\n check,\n volume,\n volumeClose,\n screenshot,\n setting,\n pip,\n arrowLeft,\n arrowRight,\n playbackRate,\n aspectRatio,\n config,\n lock,\n flip,\n unlock,\n fullscreenOff,\n fullscreenOn,\n fullscreenWebOff,\n fullscreenWebOn,\n switchOn,\n switchOff,\n error,\n close,\n airplay,\n ...art.option.icons,\n };\n\n for (const key in icons) {\n def(this, key, {\n get: () => getIcon(key, icons[key]),\n });\n }\n }\n}\n","module.exports = \"48351807f9d17b85\";","module.exports = \"b521bd87173f07f8\";","module.exports = \"7d4d567c33bb525d\";","module.exports = \"d9cf5218ba4119f7\";","module.exports = \"1b6f706023152499\";","module.exports = \"ccea5e85f0721ac8\";","module.exports = \"7b07ee0d42ef7999\";","module.exports = \"d10cbdd15b9c3ccc\";","module.exports = \"ce7e5747dbeebf9c\";","module.exports = \"31d0f450fd3142ae\";","module.exports = \"607a9d3122cadc95\";","module.exports = \"3f2a5aef9e446414\";","module.exports = \"a3c2d6619a4bebaf\";","module.exports = \"5daee943371cdae2\";","module.exports = \"e49c27bbc31901ab\";","module.exports = \"0fd94c9b6ccce96e\";","module.exports = \"721f903406a7a9bd\";","module.exports = \"133f4e7286a8c946\";","module.exports = \"3ad4b0d674115f9f\";","module.exports = \"66f3df095ff2cfc9\";","module.exports = \"6a9b55926d7ffbd8\";","module.exports = \"ed05d01f0639f8dd\";","module.exports = \"42b075eebf138ccb\";","module.exports = \"c9dbc85ae2682806\";","module.exports = \"4e1fab3a25abda1e\";","module.exports = \"ef31f094274e03ea\";","module.exports = \"6f41eca9c8b9cda2\";","import flip from './flip';\nimport aspectRatio from './aspectRatio';\nimport playbackRate from './playbackRate';\nimport subtitleOffset from './subtitleOffset';\nimport Component from '../utils/component';\nimport { errorHandle } from '../utils/error';\nimport {\n def,\n has,\n append,\n addClass,\n setStyle,\n isMobile,\n inverseClass,\n createElement,\n includeFromEvent,\n isStringOrNumber,\n} from '../utils';\n\nexport default class Setting extends Component {\n constructor(art) {\n super(art);\n\n const {\n option,\n controls,\n template: { $setting },\n } = art;\n\n this.name = 'setting';\n this.$parent = $setting;\n\n this.option = [];\n this.events = [];\n this.cache = new Map();\n\n if (option.setting) {\n this.init();\n\n art.on('blur', () => {\n if (this.show) {\n this.show = false;\n this.render(this.option);\n }\n });\n\n art.on('focus', (event) => {\n const isSetting = includeFromEvent(event, controls.setting);\n const isParent = includeFromEvent(event, this.$parent);\n if (this.show && !isSetting && !isParent) {\n this.show = false;\n this.render(this.option);\n }\n });\n }\n }\n\n static makeRecursion(option, parentItem, parentList) {\n for (let index = 0; index < option.length; index++) {\n const item = option[index];\n item.$parentItem = parentItem;\n item.$parentList = parentList;\n Setting.makeRecursion(item.selector || [], item, option);\n }\n return option;\n }\n\n get defaultSettings() {\n const result = [];\n const { option } = this.art;\n\n if (option.playbackRate) {\n result.push(playbackRate(this.art));\n }\n\n if (option.aspectRatio) {\n result.push(aspectRatio(this.art));\n }\n\n if (option.flip) {\n result.push(flip(this.art));\n }\n\n if (option.subtitleOffset) {\n result.push(subtitleOffset(this.art));\n }\n\n return result;\n }\n\n init() {\n const { option } = this.art;\n const mergeSettings = [...this.defaultSettings, ...option.settings];\n this.option = Setting.makeRecursion(mergeSettings);\n this.destroy();\n this.render(this.option);\n }\n\n destroy() {\n for (let index = 0; index < this.events.length; index++) {\n this.art.events.remove(this.events[index]);\n }\n this.$parent.innerHTML = '';\n this.events = [];\n this.cache = new Map();\n }\n\n find(name = '', option = this.option) {\n for (let index = 0; index < option.length; index++) {\n const item = option[index];\n if (item.name === name) {\n return item;\n } else {\n const result = this.find(name, item.selector || []);\n if (result) return result;\n }\n }\n }\n\n remove(name) {\n const item = this.find(name);\n errorHandle(item, `Can't find [${name}] from the [setting]`);\n const parent = item.$parentItem?.selector || this.option;\n parent.splice(parent.indexOf(item), 1);\n this.option = Setting.makeRecursion(this.option);\n this.destroy();\n this.render(this.option);\n return this.option;\n }\n\n update(setting) {\n const item = this.find(setting.name);\n if (item) {\n Object.assign(item, setting);\n this.option = Setting.makeRecursion(this.option);\n this.destroy();\n this.render(this.option);\n } else {\n this.add(setting);\n }\n return this.option;\n }\n\n add(setting) {\n this.option.push(setting);\n this.option = Setting.makeRecursion(this.option);\n this.destroy();\n this.render(this.option);\n return this.option;\n }\n\n creatHeader(item) {\n const { icons, proxy } = this.art;\n const $item = createElement('div');\n addClass($item, 'art-setting-item');\n addClass($item, 'art-setting-item-back');\n const $left = append($item, '');\n const $icon = createElement('div');\n addClass($icon, 'art-setting-item-left-icon');\n append($icon, icons.arrowLeft);\n append($left, $icon);\n append($left, item.$parentItem.html);\n const event = proxy($item, 'click', () => this.render(item.$parentList));\n this.events.push(event);\n return $item;\n }\n\n creatItem(type, item) {\n const { icons, proxy } = this.art;\n\n const $item = createElement('div');\n addClass($item, 'art-setting-item');\n\n if (isStringOrNumber(item.name)) {\n $item.dataset.name = item.name;\n }\n\n if (isStringOrNumber(item.value)) {\n $item.dataset.value = item.value;\n }\n\n const $left = append($item, '');\n const $right = append($item, '');\n\n const $icon = createElement('div');\n addClass($icon, 'art-setting-item-left-icon');\n\n switch (type) {\n case 'switch':\n case 'range':\n append($icon, isStringOrNumber(item.icon) || item.icon instanceof Element ? item.icon : icons.config);\n break;\n case 'selector':\n if (item.selector && item.selector.length) {\n append(\n $icon,\n isStringOrNumber(item.icon) || item.icon instanceof Element ? item.icon : icons.config,\n );\n } else {\n append($icon, icons.check);\n }\n break;\n default:\n break;\n }\n\n append($left, $icon);\n item.$icon = $icon;\n\n def(item, 'icon', {\n configurable: true,\n get() {\n return $icon.innerHTML;\n },\n set(value) {\n if (isStringOrNumber(value)) {\n $icon.innerHTML = value;\n }\n },\n });\n\n const $html = createElement('div');\n addClass($html, 'art-setting-item-left-text');\n append($html, item.html || '');\n append($left, $html);\n item.$html = $html;\n\n def(item, 'html', {\n configurable: true,\n get() {\n return $html.innerHTML;\n },\n set(value) {\n if (isStringOrNumber(value)) {\n $html.innerHTML = value;\n }\n },\n });\n\n const $tooltip = createElement('div');\n addClass($tooltip, 'art-setting-item-right-tooltip');\n append($tooltip, item.tooltip || '');\n append($right, $tooltip);\n item.$tooltip = $tooltip;\n\n def(item, 'tooltip', {\n configurable: true,\n get() {\n return $tooltip.innerHTML;\n },\n set(value) {\n if (isStringOrNumber(value)) {\n $tooltip.innerHTML = value;\n }\n },\n });\n\n switch (type) {\n case 'switch': {\n const $state = createElement('div');\n addClass($state, 'art-setting-item-right-icon');\n const $switchOn = append($state, icons.switchOn);\n const $switchOff = append($state, icons.switchOff);\n setStyle(item.switch ? $switchOff : $switchOn, 'display', 'none');\n append($right, $state);\n item.$switch = item.switch;\n\n def(item, 'switch', {\n configurable: true,\n get() {\n return item.$switch;\n },\n set(value) {\n item.$switch = value;\n if (value) {\n setStyle($switchOff, 'display', 'none');\n setStyle($switchOn, 'display', null);\n } else {\n setStyle($switchOff, 'display', null);\n setStyle($switchOn, 'display', 'none');\n }\n },\n });\n break;\n }\n case 'range':\n {\n const $state = createElement('div');\n addClass($state, 'art-setting-item-right-icon');\n const $range = append($state, '');\n $range.value = item.range[0] || 0;\n $range.min = item.range[1] || 0;\n $range.max = item.range[2] || 10;\n $range.step = item.range[3] || 1;\n addClass($range, 'art-setting-range');\n append($right, $state);\n item.$range = $range;\n\n def(item, 'range', {\n configurable: true,\n get() {\n return $range.valueAsNumber;\n },\n set(value) {\n $range.value = Number(value);\n },\n });\n }\n break;\n case 'selector':\n if (item.selector && item.selector.length) {\n const $state = createElement('div');\n addClass($state, 'art-setting-item-right-icon');\n append($state, icons.arrowRight);\n append($right, $state);\n }\n break;\n default:\n break;\n }\n\n switch (type) {\n case 'switch': {\n if (item.onSwitch) {\n const event = proxy($item, 'click', async (event) => {\n item.switch = await item.onSwitch.call(this.art, item, $item, event);\n });\n\n this.events.push(event);\n }\n break;\n }\n case 'range': {\n if (item.$range) {\n if (item.onRange) {\n const event = proxy(item.$range, 'change', async (event) => {\n item.tooltip = await item.onRange.call(this.art, item, $item, event);\n });\n this.events.push(event);\n }\n\n if (item.onChange) {\n const event = proxy(item.$range, 'input', async (event) => {\n item.tooltip = await item.onChange.call(this.art, item, $item, event);\n });\n this.events.push(event);\n }\n }\n break;\n }\n case 'selector':\n {\n const event = proxy($item, 'click', async (event) => {\n if (item.selector && item.selector.length) {\n this.render(item.selector, item.width);\n } else {\n inverseClass($item, 'art-current');\n\n for (let index = 0; index < item.$parentItem.selector.length; index++) {\n const element = item.$parentItem.selector[index];\n element.default = element === item;\n }\n\n if (item.$parentList) {\n this.render(item.$parentList);\n }\n\n if (item.$parentItem && item.$parentItem.onSelect) {\n const result = await item.$parentItem.onSelect.call(this.art, item, $item, event);\n if (item.$parentItem.$tooltip && isStringOrNumber(result)) {\n item.$parentItem.$tooltip.innerHTML = result;\n }\n }\n }\n });\n\n this.events.push(event);\n\n if (item.default) {\n addClass($item, 'art-current');\n }\n }\n break;\n default:\n break;\n }\n\n return $item;\n }\n\n updateStyle(width) {\n const {\n controls,\n constructor,\n template: { $player, $setting },\n } = this.art;\n\n if (controls.setting && !isMobile) {\n const settingWidth = width || constructor.SETTING_WIDTH;\n const { left: controlLeft, width: controlWidth } = controls.setting.getBoundingClientRect();\n const { left: playerLeft, width: playerWidth } = $player.getBoundingClientRect();\n const settingLeft = controlLeft - playerLeft + controlWidth / 2 - settingWidth / 2;\n if (settingLeft + settingWidth > playerWidth) {\n setStyle($setting, 'left', null);\n setStyle($setting, 'right', null);\n } else {\n setStyle($setting, 'left', `${settingLeft}px`);\n setStyle($setting, 'right', 'auto');\n }\n }\n }\n\n render(option, width) {\n const { constructor } = this.art;\n\n if (this.cache.has(option)) {\n const $panel = this.cache.get(option);\n inverseClass($panel, 'art-current');\n setStyle(this.$parent, 'width', `${$panel.dataset.width}px`);\n setStyle(this.$parent, 'height', `${$panel.dataset.height}px`);\n this.updateStyle(Number($panel.dataset.width));\n } else {\n const $panel = createElement('div');\n addClass($panel, 'art-setting-panel');\n $panel.dataset.width = width || constructor.SETTING_WIDTH;\n $panel.dataset.height = option.length * constructor.SETTING_ITEM_HEIGHT;\n\n if (option[0] && option[0].$parentItem) {\n append($panel, this.creatHeader(option[0]));\n $panel.dataset.height = Number($panel.dataset.height) + constructor.SETTING_ITEM_HEIGHT;\n }\n\n for (let index = 0; index < option.length; index++) {\n const item = option[index];\n if (has(item, 'switch')) {\n append($panel, this.creatItem('switch', item));\n } else if (has(item, 'range')) {\n append($panel, this.creatItem('range', item));\n } else {\n append($panel, this.creatItem('selector', item));\n }\n }\n\n append(this.$parent, $panel);\n this.cache.set(option, $panel);\n inverseClass($panel, 'art-current');\n setStyle(this.$parent, 'width', `${$panel.dataset.width}px`);\n setStyle(this.$parent, 'height', `${$panel.dataset.height}px`);\n this.updateStyle(Number($panel.dataset.width));\n\n if (option[0] && option[0].$parentItem && option[0].$parentItem.mounted) {\n option[0].$parentItem.mounted.call(this.art, $panel, option[0].$parentItem);\n }\n }\n }\n}\n","import { inverseClass, queryAll, capitalize } from '../utils';\n\nexport default function flip(art) {\n const {\n i18n,\n icons,\n constructor: { SETTING_ITEM_WIDTH, FLIP },\n } = art;\n\n function update($panel, $tooltip, value) {\n if ($tooltip) $tooltip.innerText = i18n.get(capitalize(value));\n const $current = queryAll('.art-setting-item', $panel).find((item) => item.dataset.value === value);\n if ($current) inverseClass($current, 'art-current');\n }\n\n return {\n width: SETTING_ITEM_WIDTH,\n name: 'flip',\n html: i18n.get('Video Flip'),\n tooltip: i18n.get(capitalize(art.flip)),\n icon: icons.flip,\n selector: FLIP.map((item) => {\n return {\n value: item,\n name: `aspect-ratio-${item}`,\n default: item === art.flip,\n html: i18n.get(capitalize(item)),\n };\n }),\n onSelect(item) {\n art.flip = item.value;\n return item.html;\n },\n mounted: ($panel, item) => {\n update($panel, item.$tooltip, art.flip);\n art.on('flip', () => {\n update($panel, item.$tooltip, art.flip);\n });\n },\n };\n}\n","import { inverseClass, queryAll } from '../utils';\n\nexport default function aspectRatio(art) {\n const {\n i18n,\n icons,\n constructor: { SETTING_ITEM_WIDTH, ASPECT_RATIO },\n } = art;\n\n function getI18n(value) {\n return value === 'default' ? i18n.get('Default') : value;\n }\n\n function update($panel, $tooltip, value) {\n if ($tooltip) $tooltip.innerText = getI18n(value);\n const $current = queryAll('.art-setting-item', $panel).find((item) => item.dataset.value === value);\n if ($current) inverseClass($current, 'art-current');\n }\n\n return {\n width: SETTING_ITEM_WIDTH,\n name: 'aspect-ratio',\n html: i18n.get('Aspect Ratio'),\n icon: icons.aspectRatio,\n tooltip: getI18n(art.aspectRatio),\n selector: ASPECT_RATIO.map((item) => {\n return {\n value: item,\n name: `aspect-ratio-${item}`,\n default: item === art.aspectRatio,\n html: getI18n(item),\n };\n }),\n onSelect(item) {\n art.aspectRatio = item.value;\n return item.html;\n },\n mounted: ($panel, item) => {\n update($panel, item.$tooltip, art.aspectRatio);\n art.on('aspectRatio', () => {\n update($panel, item.$tooltip, art.aspectRatio);\n });\n },\n };\n}\n","import { inverseClass, queryAll } from '../utils';\n\nexport default function playbackRate(art) {\n const {\n i18n,\n icons,\n constructor: { SETTING_ITEM_WIDTH, PLAYBACK_RATE },\n } = art;\n\n function getI18n(value) {\n return value === 1.0 ? i18n.get('Normal') : value.toFixed(1);\n }\n\n function update($panel, $tooltip, value) {\n if ($tooltip) $tooltip.innerText = getI18n(value);\n const $current = queryAll('.art-setting-item', $panel).find((item) => Number(item.dataset.value) === value);\n if ($current) inverseClass($current, 'art-current');\n }\n\n return {\n width: SETTING_ITEM_WIDTH,\n name: 'playback-rate',\n html: i18n.get('Play Speed'),\n tooltip: getI18n(art.playbackRate),\n icon: icons.playbackRate,\n selector: PLAYBACK_RATE.map((item) => {\n return {\n value: item,\n name: `aspect-ratio-${item}`,\n default: item === art.playbackRate,\n html: getI18n(item),\n };\n }),\n onSelect(item) {\n art.playbackRate = item.value;\n return item.html;\n },\n mounted: ($panel, item) => {\n update($panel, item.$tooltip, art.playbackRate);\n art.on('video:ratechange', () => {\n update($panel, item.$tooltip, art.playbackRate);\n });\n },\n };\n}\n","export default function subtitleOffset(art) {\n const { i18n, icons, constructor } = art;\n\n return {\n width: constructor.SETTING_ITEM_WIDTH,\n name: 'subtitle-offset',\n html: i18n.get('Subtitle Offset'),\n icon: icons.subtitle,\n tooltip: '0s',\n range: [0, -5, 5, 0.1],\n onChange(item) {\n art.subtitleOffset = item.range;\n return item.range + 's';\n },\n };\n}\n","export default class Storage {\n constructor() {\n this.name = 'artplayer_settings';\n this.settings = {};\n }\n\n get(key) {\n try {\n const storage = JSON.parse(window.localStorage.getItem(this.name)) || {};\n return key ? storage[key] : storage;\n } catch (error) {\n return key ? this.settings[key] : this.settings;\n }\n }\n\n set(key, value) {\n try {\n const storage = Object.assign({}, this.get(), {\n [key]: value,\n });\n window.localStorage.setItem(this.name, JSON.stringify(storage));\n } catch (error) {\n this.settings[key] = value;\n }\n }\n\n del(key) {\n try {\n const storage = this.get();\n delete storage[key];\n window.localStorage.setItem(this.name, JSON.stringify(storage));\n } catch (error) {\n delete this.settings[key];\n }\n }\n\n clear() {\n try {\n window.localStorage.removeItem(this.name);\n } catch (error) {\n this.settings = {};\n }\n }\n}\n","import { errorHandle, isMobile, has, def } from '../utils';\nimport miniProgressBar from './miniProgressBar';\nimport autoOrientation from './autoOrientation';\nimport autoPlayback from './autoPlayback';\nimport fastForward from './fastForward';\nimport lock from './lock';\n\nexport default class Plugins {\n constructor(art) {\n this.art = art;\n this.id = 0;\n\n const { option } = art;\n\n if (option.miniProgressBar && !option.isLive) {\n this.add(miniProgressBar);\n }\n\n if (option.lock && isMobile) {\n this.add(lock);\n }\n\n if (option.autoPlayback && !option.isLive) {\n this.add(autoPlayback);\n }\n\n if (option.autoOrientation && isMobile) {\n this.add(autoOrientation);\n }\n\n if (option.fastForward && isMobile && !option.isLive) {\n this.add(fastForward);\n }\n\n for (let index = 0; index < option.plugins.length; index++) {\n this.add(option.plugins[index]);\n }\n }\n\n add(plugin) {\n this.id += 1;\n const result = plugin.call(this.art, this.art);\n const pluginName = (result && result.name) || plugin.name || `plugin${this.id}`;\n errorHandle(!has(this, pluginName), `Cannot add a plugin that already has the same name: ${pluginName}`);\n def(this, pluginName, {\n value: result,\n });\n return this;\n }\n}\n","export default function miniProgressBar(art) {\n art.on('ready', () => {\n art.layers.add({\n name: 'mini-progress-bar',\n mounted($progressBar) {\n art.on('destroy', () => {\n $progressBar.style.display = 'none';\n });\n\n art.on('video:timeupdate', () => {\n $progressBar.style.width = `${art.played * 100}%`;\n });\n\n art.on('setBar', (type, percentage) => {\n if (type === 'played') {\n $progressBar.style.width = `${percentage * 100}%`;\n }\n });\n },\n });\n });\n\n return {\n name: 'mini-progress-bar',\n };\n}\n","import { setStyle, addClass, removeClass, hasClass } from '../utils';\n\nexport default function autoOrientation(art) {\n const {\n constructor,\n template: { $player, $video },\n } = art;\n\n art.on('fullscreenWeb', (state) => {\n if (state) {\n const { videoWidth, videoHeight } = $video;\n const { clientWidth: viewWidth, clientHeight: viewHeight } = document.documentElement;\n if (\n (videoWidth > videoHeight && viewWidth < viewHeight) ||\n (videoWidth < videoHeight && viewWidth > viewHeight)\n ) {\n // There is a conflict with the fullscreen event, and it is changed to asynchronous execution\n setTimeout(() => {\n setStyle($player, 'width', `${viewHeight}px`);\n setStyle($player, 'height', `${viewWidth}px`);\n setStyle($player, 'transform-origin', '0 0');\n setStyle($player, 'transform', `rotate(90deg) translate(0, -${viewWidth}px)`);\n addClass($player, 'art-auto-orientation');\n art.isRotate = true;\n art.emit('resize');\n }, constructor.MOBILE_AUTO_ORIENTATION_TIME);\n }\n } else {\n if (hasClass($player, 'art-auto-orientation')) {\n removeClass($player, 'art-auto-orientation');\n art.isRotate = false;\n art.notice.show = '';\n art.emit('resize');\n }\n }\n });\n\n art.on('fullscreen', async (state) => {\n const lastOrientation = screen.orientation.type;\n if (state) {\n const { videoWidth, videoHeight } = $video;\n const { clientWidth: viewWidth, clientHeight: viewHeight } = document.documentElement;\n if (\n (videoWidth > videoHeight && viewWidth < viewHeight) ||\n (videoWidth < videoHeight && viewWidth > viewHeight)\n ) {\n const oppositeOrientation = lastOrientation.startsWith('portrait') ? 'landscape' : 'portrait';\n await screen.orientation.lock(oppositeOrientation);\n addClass($player, 'art-auto-orientation-fullscreen');\n }\n } else {\n if (hasClass($player, 'art-auto-orientation-fullscreen')) {\n await screen.orientation.lock(lastOrientation);\n removeClass($player, 'art-auto-orientation-fullscreen');\n }\n }\n });\n\n return {\n name: 'autoOrientation',\n get state() {\n return hasClass($player, 'art-auto-orientation');\n },\n };\n}\n","import { secondToTime, setStyle, query, append } from '../utils';\n\nexport default function autoPlayback(art) {\n const {\n i18n,\n icons,\n storage,\n constructor,\n proxy,\n template: { $poster },\n } = art;\n\n const $autoPlayback = art.layers.add({\n name: 'auto-playback',\n html: `\n \n \n \n `,\n });\n\n const $last = query('.art-auto-playback-last', $autoPlayback);\n const $jump = query('.art-auto-playback-jump', $autoPlayback);\n const $close = query('.art-auto-playback-close', $autoPlayback);\n\n art.on('video:timeupdate', () => {\n if (art.playing) {\n const times = storage.get('times') || {};\n const keys = Object.keys(times);\n if (keys.length > constructor.AUTO_PLAYBACK_MAX) {\n delete times[keys[0]];\n }\n times[art.option.id || art.option.url] = art.currentTime;\n storage.set('times', times);\n }\n });\n\n art.on('ready', () => {\n const times = storage.get('times') || {};\n const currentTime = times[art.option.id || art.option.url];\n if (currentTime && currentTime >= constructor.AUTO_PLAYBACK_MIN) {\n append($close, icons.close);\n setStyle($autoPlayback, 'display', 'flex');\n\n $last.innerText = `${i18n.get('Last Seen')} ${secondToTime(currentTime)}`;\n $jump.innerText = i18n.get('Jump Play');\n\n proxy($close, 'click', () => {\n setStyle($autoPlayback, 'display', 'none');\n });\n\n proxy($jump, 'click', () => {\n art.seek = currentTime;\n art.play();\n setStyle($poster, 'display', 'none');\n setStyle($autoPlayback, 'display', 'none');\n });\n\n art.once('video:timeupdate', () => {\n setTimeout(() => {\n setStyle($autoPlayback, 'display', 'none');\n }, constructor.AUTO_PLAYBACK_TIMEOUT);\n });\n }\n });\n\n return {\n name: 'auto-playback',\n get times() {\n return storage.get('times') || {};\n },\n clear() {\n return storage.del('times');\n },\n delete(id) {\n const times = storage.get('times') || {};\n delete times[id];\n storage.set('times', times);\n return times;\n },\n };\n}\n","import { hasClass, addClass, removeClass } from '../utils';\n\nexport default function fastForward(art) {\n const {\n constructor,\n proxy,\n template: { $player, $video },\n } = art;\n\n let timer = null;\n let isPress = false;\n let lastPlaybackRate = 1;\n\n const onStart = (event) => {\n if (event.touches.length === 1 && art.playing && !art.isLock) {\n timer = setTimeout(() => {\n isPress = true;\n lastPlaybackRate = art.playbackRate;\n art.playbackRate = constructor.FAST_FORWARD_VALUE;\n addClass($player, 'art-fast-forward');\n }, constructor.FAST_FORWARD_TIME);\n }\n };\n\n const onStop = () => {\n clearTimeout(timer);\n if (isPress) {\n isPress = false;\n art.playbackRate = lastPlaybackRate;\n removeClass($player, 'art-fast-forward');\n }\n };\n\n proxy($video, 'touchstart', onStart);\n proxy(document, 'touchmove', onStop);\n proxy(document, 'touchend', onStop);\n\n return {\n name: 'fastForward',\n get state() {\n return hasClass($player, 'art-fast-forward');\n },\n };\n}\n","import { append, setStyle, hasClass, addClass, removeClass } from '../utils';\n\nexport default function lock(art) {\n const {\n layers,\n icons,\n template: { $player },\n } = art;\n\n layers.add({\n name: 'lock',\n mounted($el) {\n const $lock = append($el, icons.lock);\n const $unlock = append($el, icons.unlock);\n setStyle($lock, 'display', 'none');\n\n art.on('lock', (state) => {\n if (state) {\n setStyle($lock, 'display', 'inline-flex');\n setStyle($unlock, 'display', 'none');\n } else {\n setStyle($lock, 'display', 'none');\n setStyle($unlock, 'display', 'inline-flex');\n }\n });\n },\n click() {\n if (hasClass($player, 'art-lock')) {\n removeClass($player, 'art-lock');\n this.isLock = false;\n art.emit('lock', false);\n } else {\n addClass($player, 'art-lock');\n this.isLock = true;\n art.emit('lock', true);\n }\n },\n });\n\n return {\n name: 'lock',\n get state() {\n return hasClass($player, 'art-lock');\n },\n };\n}\n","import config from './config';\nimport { clamp, getExt } from './utils';\n\nexport default class Mobile {\n constructor(art) {\n const {\n option,\n proxy,\n template: { $video },\n } = art;\n\n for (let index = 0; index < config.events.length; index++) {\n proxy($video, config.events[index], (event) => {\n art.emit(`video:${event.type}`, event);\n });\n }\n\n for (const key in option.moreVideoAttr) {\n $video[key] = option.moreVideoAttr[key];\n }\n\n $video.controls = true;\n\n if (option.muted) {\n $video.muted = option.muted;\n }\n\n if (option.volume) {\n $video.volume = clamp(option.volume, 0, 1);\n }\n\n if (option.poster) {\n $video.poster = option.poster;\n }\n\n if (option.autoplay) {\n $video.autoplay = option.autoplay;\n }\n\n if (option.playsInline) {\n $video.playsInline = true;\n $video['webkit-playsinline'] = true;\n }\n\n const typeName = option.type || getExt(option.url);\n const typeCallback = option.customType[typeName];\n if (typeName && typeCallback) {\n typeCallback($video, option.url, art);\n } else {\n $video.src = option.url;\n }\n }\n}\n"],"names":[],"version":3,"file":"index.js.map","sourceRoot":"../../../"} \ No newline at end of file +{"mappings":"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","sources":["packages/artplayer/src/index.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-36399c71fd65785e.js","node_modules/option-validator/dist/option-validator.js","packages/artplayer/src/utils/emitter.js","node_modules/@parcel/transformer-js/src/esmodule-helpers.js","packages/artplayer/src/utils/index.js","packages/artplayer/src/utils/dom.js","packages/artplayer/src/utils/compatibility.js","packages/artplayer/src/utils/error.js","packages/artplayer/src/utils/subtitle.js","packages/artplayer/src/utils/file.js","packages/artplayer/src/utils/property.js","packages/artplayer/src/utils/time.js","packages/artplayer/src/utils/format.js","packages/artplayer/src/scheme/index.js","packages/artplayer/src/config/index.js","packages/artplayer/src/whitelist.js","packages/artplayer/src/template.js","packages/artplayer/src/i18n/index.js","packages/artplayer/src/i18n/zh-cn.json","packages/artplayer/src/i18n/zh-tw.json","packages/artplayer/src/i18n/pl.json","packages/artplayer/src/i18n/cs.json","packages/artplayer/src/i18n/es.json","packages/artplayer/src/i18n/fa.json","packages/artplayer/src/i18n/fr.json","packages/artplayer/src/i18n/id.json","packages/artplayer/src/i18n/ru.json","packages/artplayer/src/player/index.js","packages/artplayer/src/player/urlMix.js","packages/artplayer/src/player/attrMix.js","packages/artplayer/src/player/playMix.js","packages/artplayer/src/player/pauseMix.js","packages/artplayer/src/player/toggleMix.js","packages/artplayer/src/player/seekMix.js","packages/artplayer/src/player/volumeMix.js","packages/artplayer/src/player/currentTimeMix.js","packages/artplayer/src/player/durationMix.js","packages/artplayer/src/player/switchMix.js","packages/artplayer/src/player/playbackRateMix.js","packages/artplayer/src/player/aspectRatioMix.js","packages/artplayer/src/player/screenshotMix.js","packages/artplayer/src/player/fullscreenMix.js","packages/artplayer/src/libs/screenfull.js","packages/artplayer/src/player/fullscreenWebMix.js","packages/artplayer/src/player/pipMix.js","packages/artplayer/src/player/loadedMix.js","packages/artplayer/src/player/playedMix.js","packages/artplayer/src/player/playingMix.js","packages/artplayer/src/player/autoSizeMix.js","packages/artplayer/src/player/rectMix.js","packages/artplayer/src/player/flipMix.js","packages/artplayer/src/player/miniMix.js","packages/artplayer/src/player/loopMix.js","packages/artplayer/src/player/posterMix.js","packages/artplayer/src/player/autoHeightMix.js","packages/artplayer/src/player/cssVarMix.js","packages/artplayer/src/player/themeMix.js","packages/artplayer/src/player/titleMix.js","packages/artplayer/src/player/typeMix.js","packages/artplayer/src/player/stateMix.js","packages/artplayer/src/player/subtitleOffsetMix.js","packages/artplayer/src/player/airplayMix.js","packages/artplayer/src/player/optionInit.js","packages/artplayer/src/player/eventInit.js","packages/artplayer/src/control/index.js","packages/artplayer/src/utils/component.js","packages/artplayer/src/control/fullscreen.js","packages/artplayer/src/control/fullscreenWeb.js","packages/artplayer/src/control/pip.js","packages/artplayer/src/control/playAndPause.js","packages/artplayer/src/control/progress.js","packages/artplayer/src/control/time.js","packages/artplayer/src/control/volume.js","packages/artplayer/src/control/setting.js","packages/artplayer/src/control/thumbnails.js","packages/artplayer/src/control/screenshot.js","packages/artplayer/src/control/quality.js","packages/artplayer/src/control/loop.js","packages/artplayer/src/control/airplay.js","packages/artplayer/src/contextmenu/index.js","packages/artplayer/src/contextmenu/playbackRate.js","packages/artplayer/src/contextmenu/aspectRatio.js","packages/artplayer/src/contextmenu/flip.js","packages/artplayer/src/contextmenu/info.js","packages/artplayer/src/contextmenu/version.js","packages/artplayer/src/contextmenu/close.js","packages/artplayer/src/info.js","packages/artplayer/src/subtitle.js","packages/artplayer/src/events/index.js","packages/artplayer/src/events/clickInit.js","packages/artplayer/src/events/hoverInit.js","packages/artplayer/src/events/moveInit.js","packages/artplayer/src/events/resizeInit.js","packages/artplayer/src/events/gestureInit.js","packages/artplayer/src/events/viewInit.js","packages/artplayer/src/events/documentInit.js","packages/artplayer/src/hotkey.js","packages/artplayer/src/layer.js","packages/artplayer/src/loading.js","packages/artplayer/src/notice.js","packages/artplayer/src/mask.js","packages/artplayer/src/icons/index.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-cc1465de590716c3.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-7354687a49315faa.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-16dba6b497e57200.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-f488ca9613523a89.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-944df7462f092344.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-905e2a3a5bf8821e.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-7ca6634310de48a5.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-ead51c22e001d3e4.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-5f406cb67e8ce068.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-4c8d4bdd32e5eb21.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-4e595cc5186a564d.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-c0889fbdfa73dc08.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-48946af7015cb1ff.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-424af5bfda438aed.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-7214ee73e4711a3f.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-d30b61330c0a5e8f.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-aea71df79a337dd1.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-446c9535ee37c4cf.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-3e81c0d117284ebb.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-6be8b022bb1f1d0e.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-5ac93b92a83bb1c2.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-bcccb383a7b6e33b.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-472cc0769143224b.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-714e675b41750899.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-bfedbb03557d8834.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-900fbd1165be66ff.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-925c7dcd24de3b97.js","packages/artplayer/src/setting/index.js","packages/artplayer/src/setting/flip.js","packages/artplayer/src/setting/aspectRatio.js","packages/artplayer/src/setting/playbackRate.js","packages/artplayer/src/setting/subtitleOffset.js","packages/artplayer/src/storage.js","packages/artplayer/src/plugins/index.js","packages/artplayer/src/plugins/miniProgressBar.js","packages/artplayer/src/plugins/autoOrientation.js","packages/artplayer/src/plugins/autoPlayback.js","packages/artplayer/src/plugins/fastForward.js","packages/artplayer/src/plugins/lock.js","packages/artplayer/src/mobile.js"],"sourcesContent":["import style from 'bundle-text:./style/index.less';\nimport validator from 'option-validator';\nimport Emitter from './utils/emitter';\nimport * as utils from './utils';\nimport scheme from './scheme';\nimport config from './config';\nimport Whitelist from './whitelist';\nimport Template from './template';\nimport I18n from './i18n';\nimport Player from './player';\nimport Control from './control';\nimport Contextmenu from './contextmenu';\nimport Info from './info';\nimport Subtitle from './subtitle';\nimport Events from './events';\nimport Hotkey from './hotkey';\nimport Layer from './layer';\nimport Loading from './loading';\nimport Notice from './notice';\nimport Mask from './mask';\nimport Icons from './icons';\nimport Setting from './setting';\nimport Storage from './storage';\nimport Plugins from './plugins';\nimport Mobile from './mobile';\n\nlet id = 0;\nconst instances = [];\nexport default class Artplayer extends Emitter {\n constructor(option, readyCallback) {\n super();\n\n this.id = ++id;\n\n const mergeOption = utils.mergeDeep(Artplayer.option, option);\n mergeOption.container = option.container;\n\n this.option = validator(mergeOption, scheme);\n\n this.isLock = false;\n this.isReady = false;\n this.isFocus = false;\n this.isInput = false;\n this.isRotate = false;\n this.isDestroy = false;\n\n this.whitelist = new Whitelist(this);\n this.template = new Template(this);\n this.events = new Events(this);\n\n if (this.whitelist.state) {\n this.storage = new Storage(this);\n this.icons = new Icons(this);\n this.i18n = new I18n(this);\n this.notice = new Notice(this);\n this.player = new Player(this);\n this.layers = new Layer(this);\n this.controls = new Control(this);\n this.contextmenu = new Contextmenu(this);\n this.subtitle = new Subtitle(this);\n this.info = new Info(this);\n this.loading = new Loading(this);\n this.hotkey = new Hotkey(this);\n this.mask = new Mask(this);\n this.setting = new Setting(this);\n this.plugins = new Plugins(this);\n } else {\n this.mobile = new Mobile(this);\n }\n\n if (typeof readyCallback === 'function') {\n this.on('ready', () => readyCallback.call(this, this));\n }\n\n if (Artplayer.DEBUG) {\n const log = (msg) => console.log(`[ART.${this.id}] -> ${msg}`);\n log('Version@' + Artplayer.version);\n log('Env@' + Artplayer.env);\n log('Build@' + Artplayer.build);\n for (let index = 0; index < config.events.length; index++) {\n this.on('video:' + config.events[index], (event) => log('Event@' + event.type));\n }\n }\n\n instances.push(this);\n }\n\n static get instances() {\n return instances;\n }\n\n static get version() {\n return process.env.APP_VER;\n }\n\n static get env() {\n return process.env.NODE_ENV;\n }\n\n static get build() {\n return process.env.BUILD_DATE;\n }\n\n static get config() {\n return config;\n }\n\n static get utils() {\n return utils;\n }\n\n static get scheme() {\n return scheme;\n }\n\n static get Emitter() {\n return Emitter;\n }\n\n static get validator() {\n return validator;\n }\n\n static get kindOf() {\n return validator.kindOf;\n }\n\n static get html() {\n return Template.html;\n }\n\n static get option() {\n return {\n id: '',\n container: '#artplayer',\n url: '',\n poster: '',\n title: '',\n type: '',\n theme: '#f00',\n volume: 0.7,\n isLive: false,\n muted: false,\n autoplay: false,\n autoSize: false,\n autoMini: false,\n loop: false,\n flip: false,\n playbackRate: false,\n aspectRatio: false,\n screenshot: false,\n setting: false,\n hotkey: true,\n pip: false,\n mutex: true,\n backdrop: true,\n fullscreen: false,\n fullscreenWeb: false,\n subtitleOffset: false,\n miniProgressBar: false,\n useSSR: false,\n playsInline: true,\n lock: false,\n fastForward: false,\n autoPlayback: false,\n autoOrientation: false,\n airplay: false,\n layers: [],\n contextmenu: [],\n controls: [],\n settings: [],\n quality: [],\n highlight: [],\n plugins: [],\n whitelist: [],\n thumbnails: {\n url: '',\n number: 60,\n column: 10,\n width: 0,\n height: 0,\n },\n subtitle: {\n url: '',\n type: '',\n style: {},\n escape: true,\n encoding: 'utf-8',\n onVttLoad: (vtt) => vtt,\n },\n moreVideoAttr: {\n controls: false,\n preload: utils.isSafari ? 'auto' : 'metadata',\n },\n i18n: {},\n icons: {},\n cssVar: {},\n customType: {},\n lang: navigator.language.toLowerCase(),\n };\n }\n\n get proxy() {\n return this.events.proxy;\n }\n\n get query() {\n return this.template.query;\n }\n\n get video() {\n return this.template.$video;\n }\n\n destroy(removeHtml = true) {\n this.events.destroy();\n this.template.destroy(removeHtml);\n instances.splice(instances.indexOf(this), 1);\n this.isDestroy = true;\n this.emit('destroy');\n }\n}\n\nArtplayer.DEBUG = false;\nArtplayer.CONTEXTMENU = true;\nArtplayer.NOTICE_TIME = 2000;\nArtplayer.SETTING_WIDTH = 250;\nArtplayer.SETTING_ITEM_WIDTH = 200;\nArtplayer.SETTING_ITEM_HEIGHT = 35;\nArtplayer.RESIZE_TIME = 500;\nArtplayer.SCROLL_TIME = 200;\nArtplayer.SCROLL_GAP = 50;\nArtplayer.AUTO_PLAYBACK_MAX = 10;\nArtplayer.AUTO_PLAYBACK_MIN = 5;\nArtplayer.AUTO_PLAYBACK_TIMEOUT = 3000;\nArtplayer.RECONNECT_TIME_MAX = 5;\nArtplayer.RECONNECT_SLEEP_TIME = 1000;\nArtplayer.CONTROL_HIDE_TIME = 3000;\nArtplayer.DBCLICK_TIME = 300;\nArtplayer.DBCLICK_FULLSCREEN = true;\nArtplayer.MOBILE_DBCLICK_PLAY = true;\nArtplayer.MOBILE_CLICK_PLAY = false;\nArtplayer.MOBILE_AUTO_PLAYBACKRATE = 3;\nArtplayer.MOBILE_AUTO_PLAYBACKRATE_TIME = 1000;\nArtplayer.MOBILE_AUTO_ORIENTATION_TIME = 200;\nArtplayer.INFO_LOOP_TIME = 1000;\nArtplayer.FAST_FORWARD_VALUE = 3;\nArtplayer.FAST_FORWARD_TIME = 1000;\nArtplayer.TOUCH_MOVE_RATIO = 0.5;\nArtplayer.VOLUME_STEP = 0.1;\nArtplayer.SEEK_STEP = 5;\nArtplayer.PLAYBACK_RATE = [0.5, 0.75, 1, 1.25, 1.5, 2];\nArtplayer.ASPECT_RATIO = ['default', '4:3', '16:9'];\nArtplayer.FLIP = ['normal', 'horizontal', 'vertical'];\nArtplayer.FULLSCREEN_WEB_IN_BODY = false;\n\nif (typeof document !== 'undefined') {\n if (!document.getElementById('artplayer-style')) {\n const $style = utils.createElement('style');\n $style.id = 'artplayer-style';\n $style.textContent = style;\n document.head.appendChild($style);\n }\n}\n\nif (typeof window !== 'undefined') {\n window['Artplayer'] = Artplayer;\n}\n\nconsole.log(\n `%c ArtPlayer %c ${Artplayer.version} %c https://artplayer.org`,\n 'color: #fff; background: #5f5f5f',\n 'color: #fff; background: #4bc729',\n '',\n);\n","module.exports = \"028e47e77afa80d5\";","!function(r,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):r.optionValidator=t()}(this,function(){\"use strict\";function e(r){return(e=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&\"function\"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?\"symbol\":typeof r})(r)}var n=Object.prototype.toString,c=function(r){if(void 0===r)return\"undefined\";if(null===r)return\"null\";var t=e(r);if(\"boolean\"===t)return\"boolean\";if(\"string\"===t)return\"string\";if(\"number\"===t)return\"number\";if(\"symbol\"===t)return\"symbol\";if(\"function\"===t)return function(r){return\"GeneratorFunction\"===o(r)}(r)?\"generatorfunction\":\"function\";if(function(r){return Array.isArray?Array.isArray(r):r instanceof Array}(r))return\"array\";if(function(r){if(r.constructor&&\"function\"==typeof r.constructor.isBuffer)return r.constructor.isBuffer(r);return!1}(r))return\"buffer\";if(function(r){try{if(\"number\"==typeof r.length&&\"function\"==typeof r.callee)return!0}catch(r){if(-1!==r.message.indexOf(\"callee\"))return!0}return!1}(r))return\"arguments\";if(function(r){return r instanceof Date||\"function\"==typeof r.toDateString&&\"function\"==typeof r.getDate&&\"function\"==typeof r.setDate}(r))return\"date\";if(function(r){return r instanceof Error||\"string\"==typeof r.message&&r.constructor&&\"number\"==typeof r.constructor.stackTraceLimit}(r))return\"error\";if(function(r){return r instanceof RegExp||\"string\"==typeof r.flags&&\"boolean\"==typeof r.ignoreCase&&\"boolean\"==typeof r.multiline&&\"boolean\"==typeof r.global}(r))return\"regexp\";switch(o(r)){case\"Symbol\":return\"symbol\";case\"Promise\":return\"promise\";case\"WeakMap\":return\"weakmap\";case\"WeakSet\":return\"weakset\";case\"Map\":return\"map\";case\"Set\":return\"set\";case\"Int8Array\":return\"int8array\";case\"Uint8Array\":return\"uint8array\";case\"Uint8ClampedArray\":return\"uint8clampedarray\";case\"Int16Array\":return\"int16array\";case\"Uint16Array\":return\"uint16array\";case\"Int32Array\":return\"int32array\";case\"Uint32Array\":return\"uint32array\";case\"Float32Array\":return\"float32array\";case\"Float64Array\":return\"float64array\"}if(function(r){return\"function\"==typeof r.throw&&\"function\"==typeof r.return&&\"function\"==typeof r.next}(r))return\"generator\";switch(t=n.call(r)){case\"[object Object]\":return\"object\";case\"[object Map Iterator]\":return\"mapiterator\";case\"[object Set Iterator]\":return\"setiterator\";case\"[object String Iterator]\":return\"stringiterator\";case\"[object Array Iterator]\":return\"arrayiterator\"}return t.slice(8,-1).toLowerCase().replace(/\\s/g,\"\")};function o(r){return r.constructor?r.constructor.name:null}function f(r,t){var e=2${escape(item)}
`)\n .join('');\n } else {\n $subtitle.innerHTML = this.activeCue.text;\n }\n this.art.emit('subtitleUpdate', this.activeCue.text);\n }\n }\n\n async switch(url, newOption = {}) {\n const { i18n, notice, option } = this.art;\n const subtitleOption = { ...option.subtitle, ...newOption, url };\n const subUrl = await this.init(subtitleOption);\n if (newOption.name) {\n notice.show = `${i18n.get('Switch Subtitle')}: ${newOption.name}`;\n }\n return subUrl;\n }\n\n createTrack(kind, url) {\n const { template, proxy } = this.art;\n const { $video, $track } = template;\n\n const $newTrack = createElement('track');\n $newTrack.default = true;\n $newTrack.kind = kind;\n $newTrack.src = url;\n $newTrack.track.mode = 'hidden';\n\n this.eventDestroy();\n remove($track);\n\n append($video, $newTrack);\n template.$track = $newTrack;\n this.eventDestroy = proxy(this.textTrack, 'cuechange', () => this.update());\n }\n\n async init(subtitleOption) {\n const {\n notice,\n template: { $subtitle },\n } = this.art;\n\n validator(subtitleOption, scheme.subtitle);\n if (!subtitleOption.url) return;\n this.style(subtitleOption.style);\n\n return fetch(subtitleOption.url)\n .then((response) => response.arrayBuffer())\n .then((buffer) => {\n const decoder = new TextDecoder(subtitleOption.encoding);\n const text = decoder.decode(buffer);\n this.art.emit('subtitleLoad', subtitleOption.url);\n switch (subtitleOption.type || getExt(subtitleOption.url)) {\n case 'srt': {\n const vtt = srtToVtt(text);\n const vttNew = subtitleOption.onVttLoad(vtt);\n return vttToBlob(vttNew);\n }\n case 'ass': {\n const vtt = assToVtt(text);\n const vttNew = subtitleOption.onVttLoad(vtt);\n return vttToBlob(vttNew);\n }\n case 'vtt': {\n const vttNew = subtitleOption.onVttLoad(text);\n return vttToBlob(vttNew);\n }\n default:\n return subtitleOption.url;\n }\n })\n .then((subUrl) => {\n $subtitle.innerHTML = '';\n if (this.url === subUrl) return subUrl;\n URL.revokeObjectURL(this.url);\n this.createTrack('metadata', subUrl);\n this.art.emit('subtitleSwitch', subUrl);\n return subUrl;\n })\n .catch((err) => {\n notice.show = err;\n throw err;\n });\n }\n}\n","import { ArtPlayerError } from '../utils/error';\nimport clickInit from './clickInit';\nimport hoverInit from './hoverInit';\nimport moveInit from './moveInit';\nimport resizeInit from './resizeInit';\nimport gestureInit from './gestureInit';\nimport viewInit from './viewInit';\nimport documentInit from './documentInit';\n\nexport default class Events {\n constructor(art) {\n this.destroyEvents = [];\n this.proxy = this.proxy.bind(this);\n this.hover = this.hover.bind(this);\n this.loadImg = this.loadImg.bind(this);\n\n if (art.whitelist.state) {\n clickInit(art, this);\n hoverInit(art, this);\n moveInit(art, this);\n resizeInit(art, this);\n gestureInit(art, this);\n viewInit(art, this);\n documentInit(art, this);\n }\n }\n\n proxy(target, name, callback, option = {}) {\n if (Array.isArray(name)) {\n return name.map((item) => this.proxy(target, item, callback, option));\n }\n\n target.addEventListener(name, callback, option);\n const destroy = () => target.removeEventListener(name, callback, option);\n this.destroyEvents.push(destroy);\n return destroy;\n }\n\n hover(target, mouseenter, mouseleave) {\n if (mouseenter) {\n this.proxy(target, 'mouseenter', mouseenter);\n }\n if (mouseleave) {\n this.proxy(target, 'mouseleave', mouseleave);\n }\n }\n\n loadImg(img) {\n return new Promise((resolve, reject) => {\n let image;\n\n if (img instanceof HTMLImageElement) {\n image = img;\n } else if (typeof img === 'string') {\n image = new Image();\n image.src = img;\n } else {\n return reject(new ArtPlayerError('Unable to get Image'));\n }\n\n if (image.complete) {\n return resolve(image);\n }\n\n this.proxy(image, 'load', () => resolve(image));\n this.proxy(image, 'error', () => reject(new ArtPlayerError(`Failed to load Image: ${image.src}`)));\n });\n }\n\n remove(destroyEvent) {\n const index = this.destroyEvents.indexOf(destroyEvent);\n if (index > -1) {\n destroyEvent();\n this.destroyEvents.splice(index, 1);\n }\n }\n\n destroy() {\n for (let index = 0; index < this.destroyEvents.length; index++) {\n this.destroyEvents[index]();\n }\n }\n}\n","import { includeFromEvent, isMobile } from '../utils';\n\nexport default function clickInit(art, events) {\n const {\n constructor,\n template: { $player, $video },\n } = art;\n\n events.proxy(document, ['click', 'contextmenu'], (event) => {\n if (includeFromEvent(event, $player)) {\n art.isInput = event.target.tagName === 'INPUT';\n art.isFocus = true;\n art.emit('focus', event);\n } else {\n art.isInput = false;\n art.isFocus = false;\n art.emit('blur', event);\n }\n });\n\n let clickTime = 0;\n events.proxy($video, 'click', (event) => {\n const now = Date.now();\n const { MOBILE_CLICK_PLAY, DBCLICK_TIME, MOBILE_DBCLICK_PLAY, DBCLICK_FULLSCREEN } = constructor;\n\n if (now - clickTime <= DBCLICK_TIME) {\n art.emit('dblclick', event);\n\n if (isMobile) {\n if (!art.isLock && MOBILE_DBCLICK_PLAY) {\n art.toggle();\n }\n } else {\n if (DBCLICK_FULLSCREEN) {\n art.fullscreen = !art.fullscreen;\n }\n }\n } else {\n art.emit('click', event);\n\n if (isMobile) {\n if (!art.isLock && MOBILE_CLICK_PLAY) {\n art.toggle();\n }\n } else {\n art.toggle();\n }\n }\n\n clickTime = now;\n });\n}\n","import { addClass, removeClass } from '../utils';\n\nexport default function hoverInit(art, events) {\n const { $player } = art.template;\n\n events.hover(\n $player,\n (event) => {\n addClass($player, 'art-hover');\n art.emit('hover', true, event);\n },\n (event) => {\n removeClass($player, 'art-hover');\n art.emit('hover', false, event);\n },\n );\n}\n","export default function moveInit(art, events) {\n const { $player } = art.template;\n\n events.proxy($player, 'mousemove', (event) => {\n art.emit('mousemove', event);\n });\n}\n","import { throttle } from '../utils';\n\nexport default function resizeInit(art, events) {\n const { option } = art;\n\n const resizeFn = throttle(() => {\n if (art.state === 'standard') {\n art.autoSize = option.autoSize;\n }\n art.aspectRatioReset();\n art.notice.show = '';\n art.emit('resize');\n }, art.constructor.RESIZE_TIME);\n\n events.proxy(window, ['orientationchange', 'resize'], () => resizeFn());\n if (screen && screen.orientation && screen.orientation.onchange) {\n events.proxy(screen.orientation, 'change', () => resizeFn());\n }\n}\n","import { clamp, secondToTime, isMobile } from '../utils';\nimport { setCurrentTime } from '../control/progress';\n\nfunction GetSlideAngle(dx, dy) {\n return (Math.atan2(dy, dx) * 180) / Math.PI;\n}\n\nfunction GetSlideDirection(startX, startY, endX, endY) {\n var dy = startY - endY;\n var dx = endX - startX;\n var result = 0;\n\n if (Math.abs(dx) < 2 && Math.abs(dy) < 2) {\n return result;\n }\n\n var angle = GetSlideAngle(dx, dy);\n if (angle >= -45 && angle < 45) {\n result = 4;\n } else if (angle >= 45 && angle < 135) {\n result = 1;\n } else if (angle >= -135 && angle < -45) {\n result = 2;\n } else if ((angle >= 135 && angle <= 180) || (angle >= -180 && angle < -135)) {\n result = 3;\n }\n\n return result;\n}\n\nexport default function gestureInit(art, events) {\n if (isMobile && !art.option.isLive) {\n const { $video, $progress } = art.template;\n\n let touchTarget = null;\n let isDroging = false;\n let startX = 0;\n let startY = 0;\n let startTime = 0;\n\n const onTouchStart = (event) => {\n if (event.touches.length === 1 && !art.isLock) {\n if (touchTarget === $progress) {\n setCurrentTime(art, event);\n }\n\n isDroging = true;\n const { pageX, pageY } = event.touches[0];\n startX = pageX;\n startY = pageY;\n startTime = art.currentTime;\n }\n };\n\n const onTouchMove = (event) => {\n if (event.touches.length === 1 && isDroging && art.duration) {\n const { pageX, pageY } = event.touches[0];\n const direction = GetSlideDirection(startX, startY, pageX, pageY);\n const isHorizontal = [3, 4].includes(direction);\n const isVertical = [1, 2].includes(direction);\n const isLegal = (isHorizontal && !art.isRotate) || (isVertical && art.isRotate);\n if (isLegal) {\n const ratioX = clamp((pageX - startX) / art.width, -1, 1);\n const ratioY = clamp((pageY - startY) / art.height, -1, 1);\n const ratio = art.isRotate ? ratioY : ratioX;\n const TOUCH_MOVE_RATIO = touchTarget === $video ? art.constructor.TOUCH_MOVE_RATIO : 1;\n const currentTime = clamp(startTime + art.duration * ratio * TOUCH_MOVE_RATIO, 0, art.duration);\n art.seek = currentTime;\n art.emit('setBar', 'played', clamp(currentTime / art.duration, 0, 1));\n art.notice.show = `${secondToTime(currentTime)} / ${secondToTime(art.duration)}`;\n }\n }\n };\n\n const onTouchEnd = () => {\n if (isDroging) {\n startX = 0;\n startY = 0;\n startTime = 0;\n isDroging = false;\n touchTarget = null;\n }\n };\n\n events.proxy($progress, 'touchstart', (event) => {\n touchTarget = $progress;\n onTouchStart(event);\n });\n\n events.proxy($video, 'touchstart', (event) => {\n touchTarget = $video;\n onTouchStart(event);\n });\n\n events.proxy($video, 'touchmove', onTouchMove);\n events.proxy($progress, 'touchmove', onTouchMove);\n events.proxy(document, 'touchend', onTouchEnd);\n }\n}\n","import { throttle, isInViewport } from '../utils';\n\nexport default function viewInit(art, events) {\n const {\n option,\n constructor,\n template: { $container },\n } = art;\n\n const scrollFn = throttle(() => {\n art.emit('view', isInViewport($container, constructor.SCROLL_GAP));\n }, constructor.SCROLL_TIME);\n\n events.proxy(window, 'scroll', () => scrollFn());\n\n art.on('view', (state) => {\n if (option.autoMini) {\n art.mini = !state;\n }\n });\n}\n","export default function documentInit(art, events) {\n events.proxy(document, 'mousemove', (event) => {\n art.emit('document:mousemove', event);\n });\n\n events.proxy(document, 'mouseup', (event) => {\n art.emit('document:mouseup', event);\n });\n}\n","import { isMobile } from './utils';\n\nexport default class Hotkey {\n constructor(art) {\n this.art = art;\n this.keys = {};\n\n if (art.option.hotkey && !isMobile) {\n this.init();\n }\n }\n\n init() {\n const { proxy, constructor } = this.art;\n\n this.add(27, () => {\n if (this.art.fullscreenWeb) {\n this.art.fullscreenWeb = false;\n }\n });\n\n this.add(32, () => {\n this.art.toggle();\n });\n\n this.add(37, () => {\n this.art.backward = constructor.SEEK_STEP;\n });\n\n this.add(38, () => {\n this.art.volume += constructor.VOLUME_STEP;\n });\n\n this.add(39, () => {\n this.art.forward = constructor.SEEK_STEP;\n });\n\n this.add(40, () => {\n this.art.volume -= constructor.VOLUME_STEP;\n });\n\n proxy(window, 'keydown', (event) => {\n if (this.art.isFocus) {\n const tag = document.activeElement.tagName.toUpperCase();\n const editable = document.activeElement.getAttribute('contenteditable');\n if (tag !== 'INPUT' && tag !== 'TEXTAREA' && editable !== '' && editable !== 'true') {\n const events = this.keys[event.keyCode];\n if (events) {\n event.preventDefault();\n for (let index = 0; index < events.length; index++) {\n events[index].call(this.art, event);\n }\n this.art.emit('hotkey', event);\n }\n }\n }\n });\n }\n\n add(key, event) {\n if (this.keys[key]) {\n this.keys[key].push(event);\n } else {\n this.keys[key] = [event];\n }\n return this;\n }\n\n remove(key, event) {\n if (this.keys[key]) {\n const index = this.keys[key].indexOf(event);\n if (index !== -1) {\n this.keys[key].splice(index, 1);\n }\n }\n return this;\n }\n}\n","import Component from './utils/component';\n\nexport default class Layer extends Component {\n constructor(art) {\n super(art);\n\n const {\n option,\n template: { $layer },\n } = art;\n\n this.name = 'layer';\n this.$parent = $layer;\n\n for (let index = 0; index < option.layers.length; index++) {\n this.add(option.layers[index]);\n }\n }\n}\n","import { append } from './utils';\nimport Component from './utils/component';\n\nexport default class Loading extends Component {\n constructor(art) {\n super(art);\n this.name = 'loading';\n append(art.template.$loading, art.icons.loading);\n }\n}\n","import { addClass, removeClass } from './utils';\n\nexport default class Notice {\n constructor(art) {\n this.art = art;\n this.timer = null;\n }\n\n set show(msg) {\n const {\n constructor,\n template: { $player, $noticeInner },\n } = this.art;\n\n if (msg) {\n $noticeInner.innerText = msg instanceof Error ? msg.message.trim() : msg;\n addClass($player, 'art-notice-show');\n clearTimeout(this.timer);\n this.timer = setTimeout(() => {\n $noticeInner.innerText = '';\n removeClass($player, 'art-notice-show');\n }, constructor.NOTICE_TIME);\n } else {\n removeClass($player, 'art-notice-show');\n }\n }\n}\n","import { append, setStyle } from './utils';\nimport Component from './utils/component';\n\nexport default class Mask extends Component {\n constructor(art) {\n super(art);\n\n this.name = 'mask';\n const { template, icons, events } = art;\n\n const $state = append(template.$state, icons.state);\n const $error = append(template.$state, icons.error);\n\n setStyle($error, 'display', 'none');\n\n art.on('destroy', () => {\n setStyle($state, 'display', 'none');\n setStyle($error, 'display', null);\n });\n\n events.proxy(template.$state, 'click', () => art.play());\n }\n}\n","import { def, getIcon } from '../utils';\nimport loading from 'bundle-text:./loading.svg';\nimport state from 'bundle-text:./state.svg';\nimport check from 'bundle-text:./check.svg';\nimport play from 'bundle-text:./play.svg';\nimport pause from 'bundle-text:./pause.svg';\nimport volume from 'bundle-text:./volume.svg';\nimport volumeClose from 'bundle-text:./volume-close.svg';\nimport screenshot from 'bundle-text:./screenshot.svg';\nimport setting from 'bundle-text:./setting.svg';\nimport arrowLeft from 'bundle-text:./arrow-left.svg';\nimport arrowRight from 'bundle-text:./arrow-right.svg';\nimport playbackRate from 'bundle-text:./playback-rate.svg';\nimport aspectRatio from 'bundle-text:./aspect-ratio.svg';\nimport config from 'bundle-text:./config.svg';\nimport pip from 'bundle-text:./pip.svg';\nimport lock from 'bundle-text:./lock.svg';\nimport unlock from 'bundle-text:./unlock.svg';\nimport fullscreenOff from 'bundle-text:./fullscreen-off.svg';\nimport fullscreenOn from 'bundle-text:./fullscreen-on.svg';\nimport fullscreenWebOff from 'bundle-text:./fullscreen-web-off.svg';\nimport fullscreenWebOn from 'bundle-text:./fullscreen-web-on.svg';\nimport switchOn from 'bundle-text:./switch-on.svg';\nimport switchOff from 'bundle-text:./switch-off.svg';\nimport flip from 'bundle-text:./flip.svg';\nimport error from 'bundle-text:./error.svg';\nimport close from 'bundle-text:./close.svg';\nimport airplay from 'bundle-text:./airplay.svg';\n\nexport default class Icons {\n constructor(art) {\n const icons = {\n loading,\n state,\n play,\n pause,\n check,\n volume,\n volumeClose,\n screenshot,\n setting,\n pip,\n arrowLeft,\n arrowRight,\n playbackRate,\n aspectRatio,\n config,\n lock,\n flip,\n unlock,\n fullscreenOff,\n fullscreenOn,\n fullscreenWebOff,\n fullscreenWebOn,\n switchOn,\n switchOff,\n error,\n close,\n airplay,\n ...art.option.icons,\n };\n\n for (const key in icons) {\n def(this, key, {\n get: () => getIcon(key, icons[key]),\n });\n }\n }\n}\n","module.exports = \"48351807f9d17b85\";","module.exports = \"b521bd87173f07f8\";","module.exports = \"7d4d567c33bb525d\";","module.exports = \"d9cf5218ba4119f7\";","module.exports = \"1b6f706023152499\";","module.exports = \"ccea5e85f0721ac8\";","module.exports = \"7b07ee0d42ef7999\";","module.exports = \"d10cbdd15b9c3ccc\";","module.exports = \"ce7e5747dbeebf9c\";","module.exports = \"31d0f450fd3142ae\";","module.exports = \"607a9d3122cadc95\";","module.exports = \"3f2a5aef9e446414\";","module.exports = \"a3c2d6619a4bebaf\";","module.exports = \"5daee943371cdae2\";","module.exports = \"e49c27bbc31901ab\";","module.exports = \"0fd94c9b6ccce96e\";","module.exports = \"721f903406a7a9bd\";","module.exports = \"133f4e7286a8c946\";","module.exports = \"3ad4b0d674115f9f\";","module.exports = \"66f3df095ff2cfc9\";","module.exports = \"6a9b55926d7ffbd8\";","module.exports = \"ed05d01f0639f8dd\";","module.exports = \"42b075eebf138ccb\";","module.exports = \"c9dbc85ae2682806\";","module.exports = \"4e1fab3a25abda1e\";","module.exports = \"ef31f094274e03ea\";","module.exports = \"6f41eca9c8b9cda2\";","import flip from './flip';\nimport aspectRatio from './aspectRatio';\nimport playbackRate from './playbackRate';\nimport subtitleOffset from './subtitleOffset';\nimport Component from '../utils/component';\nimport { errorHandle } from '../utils/error';\nimport {\n def,\n has,\n append,\n addClass,\n setStyle,\n isMobile,\n inverseClass,\n createElement,\n includeFromEvent,\n isStringOrNumber,\n} from '../utils';\n\nexport default class Setting extends Component {\n constructor(art) {\n super(art);\n\n const {\n option,\n controls,\n template: { $setting },\n } = art;\n\n this.name = 'setting';\n this.$parent = $setting;\n\n this.option = [];\n this.events = [];\n this.cache = new Map();\n\n if (option.setting) {\n this.init();\n\n art.on('blur', () => {\n if (this.show) {\n this.show = false;\n this.render(this.option);\n }\n });\n\n art.on('focus', (event) => {\n const isSetting = includeFromEvent(event, controls.setting);\n const isParent = includeFromEvent(event, this.$parent);\n if (this.show && !isSetting && !isParent) {\n this.show = false;\n this.render(this.option);\n }\n });\n }\n }\n\n static makeRecursion(option, parentItem, parentList) {\n for (let index = 0; index < option.length; index++) {\n const item = option[index];\n item.$parentItem = parentItem;\n item.$parentList = parentList;\n Setting.makeRecursion(item.selector || [], item, option);\n }\n return option;\n }\n\n get defaultSettings() {\n const result = [];\n const { option } = this.art;\n\n if (option.playbackRate) {\n result.push(playbackRate(this.art));\n }\n\n if (option.aspectRatio) {\n result.push(aspectRatio(this.art));\n }\n\n if (option.flip) {\n result.push(flip(this.art));\n }\n\n if (option.subtitleOffset) {\n result.push(subtitleOffset(this.art));\n }\n\n return result;\n }\n\n init() {\n const { option } = this.art;\n const mergeSettings = [...this.defaultSettings, ...option.settings];\n this.option = Setting.makeRecursion(mergeSettings);\n this.destroy();\n this.render(this.option);\n }\n\n destroy() {\n for (let index = 0; index < this.events.length; index++) {\n this.art.events.remove(this.events[index]);\n }\n this.$parent.innerHTML = '';\n this.events = [];\n this.cache = new Map();\n }\n\n find(name = '', option = this.option) {\n for (let index = 0; index < option.length; index++) {\n const item = option[index];\n if (item.name === name) {\n return item;\n } else {\n const result = this.find(name, item.selector || []);\n if (result) return result;\n }\n }\n }\n\n remove(name) {\n const item = this.find(name);\n errorHandle(item, `Can't find [${name}] from the [setting]`);\n const parent = item.$parentItem?.selector || this.option;\n parent.splice(parent.indexOf(item), 1);\n this.option = Setting.makeRecursion(this.option);\n this.destroy();\n this.render(this.option);\n return this.option;\n }\n\n update(setting) {\n const item = this.find(setting.name);\n if (item) {\n Object.assign(item, setting);\n this.option = Setting.makeRecursion(this.option);\n this.destroy();\n this.render(this.option);\n } else {\n this.add(setting);\n }\n return this.option;\n }\n\n add(setting) {\n this.option.push(setting);\n this.option = Setting.makeRecursion(this.option);\n this.destroy();\n this.render(this.option);\n return this.option;\n }\n\n creatHeader(item) {\n const { icons, proxy } = this.art;\n const $item = createElement('div');\n addClass($item, 'art-setting-item');\n addClass($item, 'art-setting-item-back');\n const $left = append($item, '');\n const $icon = createElement('div');\n addClass($icon, 'art-setting-item-left-icon');\n append($icon, icons.arrowLeft);\n append($left, $icon);\n append($left, item.$parentItem.html);\n const event = proxy($item, 'click', () => this.render(item.$parentList));\n this.events.push(event);\n return $item;\n }\n\n creatItem(type, item) {\n const { icons, proxy } = this.art;\n\n const $item = createElement('div');\n addClass($item, 'art-setting-item');\n\n if (isStringOrNumber(item.name)) {\n $item.dataset.name = item.name;\n }\n\n if (isStringOrNumber(item.value)) {\n $item.dataset.value = item.value;\n }\n\n const $left = append($item, '');\n const $right = append($item, '');\n\n const $icon = createElement('div');\n addClass($icon, 'art-setting-item-left-icon');\n\n switch (type) {\n case 'switch':\n case 'range':\n append($icon, isStringOrNumber(item.icon) || item.icon instanceof Element ? item.icon : icons.config);\n break;\n case 'selector':\n if (item.selector && item.selector.length) {\n append(\n $icon,\n isStringOrNumber(item.icon) || item.icon instanceof Element ? item.icon : icons.config,\n );\n } else {\n append($icon, icons.check);\n }\n break;\n default:\n break;\n }\n\n append($left, $icon);\n item.$icon = $icon;\n\n def(item, 'icon', {\n configurable: true,\n get() {\n return $icon.innerHTML;\n },\n set(value) {\n if (isStringOrNumber(value)) {\n $icon.innerHTML = value;\n }\n },\n });\n\n const $html = createElement('div');\n addClass($html, 'art-setting-item-left-text');\n append($html, item.html || '');\n append($left, $html);\n item.$html = $html;\n\n def(item, 'html', {\n configurable: true,\n get() {\n return $html.innerHTML;\n },\n set(value) {\n if (isStringOrNumber(value)) {\n $html.innerHTML = value;\n }\n },\n });\n\n const $tooltip = createElement('div');\n addClass($tooltip, 'art-setting-item-right-tooltip');\n append($tooltip, item.tooltip || '');\n append($right, $tooltip);\n item.$tooltip = $tooltip;\n\n def(item, 'tooltip', {\n configurable: true,\n get() {\n return $tooltip.innerHTML;\n },\n set(value) {\n if (isStringOrNumber(value)) {\n $tooltip.innerHTML = value;\n }\n },\n });\n\n switch (type) {\n case 'switch': {\n const $state = createElement('div');\n addClass($state, 'art-setting-item-right-icon');\n const $switchOn = append($state, icons.switchOn);\n const $switchOff = append($state, icons.switchOff);\n setStyle(item.switch ? $switchOff : $switchOn, 'display', 'none');\n append($right, $state);\n item.$switch = item.switch;\n\n def(item, 'switch', {\n configurable: true,\n get() {\n return item.$switch;\n },\n set(value) {\n item.$switch = value;\n if (value) {\n setStyle($switchOff, 'display', 'none');\n setStyle($switchOn, 'display', null);\n } else {\n setStyle($switchOff, 'display', null);\n setStyle($switchOn, 'display', 'none');\n }\n },\n });\n break;\n }\n case 'range':\n {\n const $state = createElement('div');\n addClass($state, 'art-setting-item-right-icon');\n const $range = append($state, '');\n $range.value = item.range[0] || 0;\n $range.min = item.range[1] || 0;\n $range.max = item.range[2] || 10;\n $range.step = item.range[3] || 1;\n addClass($range, 'art-setting-range');\n append($right, $state);\n item.$range = $range;\n\n def(item, 'range', {\n configurable: true,\n get() {\n return $range.valueAsNumber;\n },\n set(value) {\n $range.value = Number(value);\n },\n });\n }\n break;\n case 'selector':\n if (item.selector && item.selector.length) {\n const $state = createElement('div');\n addClass($state, 'art-setting-item-right-icon');\n append($state, icons.arrowRight);\n append($right, $state);\n }\n break;\n default:\n break;\n }\n\n switch (type) {\n case 'switch': {\n if (item.onSwitch) {\n const event = proxy($item, 'click', async (event) => {\n item.switch = await item.onSwitch.call(this.art, item, $item, event);\n });\n\n this.events.push(event);\n }\n break;\n }\n case 'range': {\n if (item.$range) {\n if (item.onRange) {\n const event = proxy(item.$range, 'change', async (event) => {\n item.tooltip = await item.onRange.call(this.art, item, $item, event);\n });\n this.events.push(event);\n }\n\n if (item.onChange) {\n const event = proxy(item.$range, 'input', async (event) => {\n item.tooltip = await item.onChange.call(this.art, item, $item, event);\n });\n this.events.push(event);\n }\n }\n break;\n }\n case 'selector':\n {\n const event = proxy($item, 'click', async (event) => {\n if (item.selector && item.selector.length) {\n this.render(item.selector, item.width);\n } else {\n inverseClass($item, 'art-current');\n\n for (let index = 0; index < item.$parentItem.selector.length; index++) {\n const element = item.$parentItem.selector[index];\n element.default = element === item;\n }\n\n if (item.$parentList) {\n this.render(item.$parentList);\n }\n\n if (item.$parentItem && item.$parentItem.onSelect) {\n const result = await item.$parentItem.onSelect.call(this.art, item, $item, event);\n if (item.$parentItem.$tooltip && isStringOrNumber(result)) {\n item.$parentItem.$tooltip.innerHTML = result;\n }\n }\n }\n });\n\n this.events.push(event);\n\n if (item.default) {\n addClass($item, 'art-current');\n }\n }\n break;\n default:\n break;\n }\n\n return $item;\n }\n\n updateStyle(width) {\n const {\n controls,\n constructor,\n template: { $player, $setting },\n } = this.art;\n\n if (controls.setting && !isMobile) {\n const settingWidth = width || constructor.SETTING_WIDTH;\n const { left: controlLeft, width: controlWidth } = controls.setting.getBoundingClientRect();\n const { left: playerLeft, width: playerWidth } = $player.getBoundingClientRect();\n const settingLeft = controlLeft - playerLeft + controlWidth / 2 - settingWidth / 2;\n if (settingLeft + settingWidth > playerWidth) {\n setStyle($setting, 'left', null);\n setStyle($setting, 'right', null);\n } else {\n setStyle($setting, 'left', `${settingLeft}px`);\n setStyle($setting, 'right', 'auto');\n }\n }\n }\n\n render(option, width) {\n const { constructor } = this.art;\n\n if (this.cache.has(option)) {\n const $panel = this.cache.get(option);\n inverseClass($panel, 'art-current');\n setStyle(this.$parent, 'width', `${$panel.dataset.width}px`);\n setStyle(this.$parent, 'height', `${$panel.dataset.height}px`);\n this.updateStyle(Number($panel.dataset.width));\n } else {\n const $panel = createElement('div');\n addClass($panel, 'art-setting-panel');\n $panel.dataset.width = width || constructor.SETTING_WIDTH;\n $panel.dataset.height = option.length * constructor.SETTING_ITEM_HEIGHT;\n\n if (option[0] && option[0].$parentItem) {\n append($panel, this.creatHeader(option[0]));\n $panel.dataset.height = Number($panel.dataset.height) + constructor.SETTING_ITEM_HEIGHT;\n }\n\n for (let index = 0; index < option.length; index++) {\n const item = option[index];\n if (has(item, 'switch')) {\n append($panel, this.creatItem('switch', item));\n } else if (has(item, 'range')) {\n append($panel, this.creatItem('range', item));\n } else {\n append($panel, this.creatItem('selector', item));\n }\n }\n\n append(this.$parent, $panel);\n this.cache.set(option, $panel);\n inverseClass($panel, 'art-current');\n setStyle(this.$parent, 'width', `${$panel.dataset.width}px`);\n setStyle(this.$parent, 'height', `${$panel.dataset.height}px`);\n this.updateStyle(Number($panel.dataset.width));\n\n if (option[0] && option[0].$parentItem && option[0].$parentItem.mounted) {\n option[0].$parentItem.mounted.call(this.art, $panel, option[0].$parentItem);\n }\n }\n }\n}\n","import { inverseClass, queryAll, capitalize } from '../utils';\n\nexport default function flip(art) {\n const {\n i18n,\n icons,\n constructor: { SETTING_ITEM_WIDTH, FLIP },\n } = art;\n\n function update($panel, $tooltip, value) {\n if ($tooltip) $tooltip.innerText = i18n.get(capitalize(value));\n const $current = queryAll('.art-setting-item', $panel).find((item) => item.dataset.value === value);\n if ($current) inverseClass($current, 'art-current');\n }\n\n return {\n width: SETTING_ITEM_WIDTH,\n name: 'flip',\n html: i18n.get('Video Flip'),\n tooltip: i18n.get(capitalize(art.flip)),\n icon: icons.flip,\n selector: FLIP.map((item) => {\n return {\n value: item,\n name: `aspect-ratio-${item}`,\n default: item === art.flip,\n html: i18n.get(capitalize(item)),\n };\n }),\n onSelect(item) {\n art.flip = item.value;\n return item.html;\n },\n mounted: ($panel, item) => {\n update($panel, item.$tooltip, art.flip);\n art.on('flip', () => {\n update($panel, item.$tooltip, art.flip);\n });\n },\n };\n}\n","import { inverseClass, queryAll } from '../utils';\n\nexport default function aspectRatio(art) {\n const {\n i18n,\n icons,\n constructor: { SETTING_ITEM_WIDTH, ASPECT_RATIO },\n } = art;\n\n function getI18n(value) {\n return value === 'default' ? i18n.get('Default') : value;\n }\n\n function update($panel, $tooltip, value) {\n if ($tooltip) $tooltip.innerText = getI18n(value);\n const $current = queryAll('.art-setting-item', $panel).find((item) => item.dataset.value === value);\n if ($current) inverseClass($current, 'art-current');\n }\n\n return {\n width: SETTING_ITEM_WIDTH,\n name: 'aspect-ratio',\n html: i18n.get('Aspect Ratio'),\n icon: icons.aspectRatio,\n tooltip: getI18n(art.aspectRatio),\n selector: ASPECT_RATIO.map((item) => {\n return {\n value: item,\n name: `aspect-ratio-${item}`,\n default: item === art.aspectRatio,\n html: getI18n(item),\n };\n }),\n onSelect(item) {\n art.aspectRatio = item.value;\n return item.html;\n },\n mounted: ($panel, item) => {\n update($panel, item.$tooltip, art.aspectRatio);\n art.on('aspectRatio', () => {\n update($panel, item.$tooltip, art.aspectRatio);\n });\n },\n };\n}\n","import { inverseClass, queryAll } from '../utils';\n\nexport default function playbackRate(art) {\n const {\n i18n,\n icons,\n constructor: { SETTING_ITEM_WIDTH, PLAYBACK_RATE },\n } = art;\n\n function getI18n(value) {\n return value === 1.0 ? i18n.get('Normal') : value.toFixed(1);\n }\n\n function update($panel, $tooltip, value) {\n if ($tooltip) $tooltip.innerText = getI18n(value);\n const $current = queryAll('.art-setting-item', $panel).find((item) => Number(item.dataset.value) === value);\n if ($current) inverseClass($current, 'art-current');\n }\n\n return {\n width: SETTING_ITEM_WIDTH,\n name: 'playback-rate',\n html: i18n.get('Play Speed'),\n tooltip: getI18n(art.playbackRate),\n icon: icons.playbackRate,\n selector: PLAYBACK_RATE.map((item) => {\n return {\n value: item,\n name: `aspect-ratio-${item}`,\n default: item === art.playbackRate,\n html: getI18n(item),\n };\n }),\n onSelect(item) {\n art.playbackRate = item.value;\n return item.html;\n },\n mounted: ($panel, item) => {\n update($panel, item.$tooltip, art.playbackRate);\n art.on('video:ratechange', () => {\n update($panel, item.$tooltip, art.playbackRate);\n });\n },\n };\n}\n","export default function subtitleOffset(art) {\n const { i18n, icons, constructor } = art;\n\n return {\n width: constructor.SETTING_ITEM_WIDTH,\n name: 'subtitle-offset',\n html: i18n.get('Subtitle Offset'),\n icon: icons.subtitle,\n tooltip: '0s',\n range: [0, -5, 5, 0.1],\n onChange(item) {\n art.subtitleOffset = item.range;\n return item.range + 's';\n },\n };\n}\n","export default class Storage {\n constructor() {\n this.name = 'artplayer_settings';\n this.settings = {};\n }\n\n get(key) {\n try {\n const storage = JSON.parse(window.localStorage.getItem(this.name)) || {};\n return key ? storage[key] : storage;\n } catch (error) {\n return key ? this.settings[key] : this.settings;\n }\n }\n\n set(key, value) {\n try {\n const storage = Object.assign({}, this.get(), {\n [key]: value,\n });\n window.localStorage.setItem(this.name, JSON.stringify(storage));\n } catch (error) {\n this.settings[key] = value;\n }\n }\n\n del(key) {\n try {\n const storage = this.get();\n delete storage[key];\n window.localStorage.setItem(this.name, JSON.stringify(storage));\n } catch (error) {\n delete this.settings[key];\n }\n }\n\n clear() {\n try {\n window.localStorage.removeItem(this.name);\n } catch (error) {\n this.settings = {};\n }\n }\n}\n","import { errorHandle, isMobile, has, def } from '../utils';\nimport miniProgressBar from './miniProgressBar';\nimport autoOrientation from './autoOrientation';\nimport autoPlayback from './autoPlayback';\nimport fastForward from './fastForward';\nimport lock from './lock';\n\nexport default class Plugins {\n constructor(art) {\n this.art = art;\n this.id = 0;\n\n const { option } = art;\n\n if (option.miniProgressBar && !option.isLive) {\n this.add(miniProgressBar);\n }\n\n if (option.lock && isMobile) {\n this.add(lock);\n }\n\n if (option.autoPlayback && !option.isLive) {\n this.add(autoPlayback);\n }\n\n if (option.autoOrientation && isMobile) {\n this.add(autoOrientation);\n }\n\n if (option.fastForward && isMobile && !option.isLive) {\n this.add(fastForward);\n }\n\n for (let index = 0; index < option.plugins.length; index++) {\n this.add(option.plugins[index]);\n }\n }\n\n add(plugin) {\n this.id += 1;\n const result = plugin.call(this.art, this.art);\n const pluginName = (result && result.name) || plugin.name || `plugin${this.id}`;\n errorHandle(!has(this, pluginName), `Cannot add a plugin that already has the same name: ${pluginName}`);\n def(this, pluginName, {\n value: result,\n });\n return this;\n }\n}\n","export default function miniProgressBar(art) {\n art.on('ready', () => {\n art.layers.add({\n name: 'mini-progress-bar',\n mounted($progressBar) {\n art.on('destroy', () => {\n $progressBar.style.display = 'none';\n });\n\n art.on('video:timeupdate', () => {\n $progressBar.style.width = `${art.played * 100}%`;\n });\n\n art.on('setBar', (type, percentage) => {\n if (type === 'played') {\n $progressBar.style.width = `${percentage * 100}%`;\n }\n });\n },\n });\n });\n\n return {\n name: 'mini-progress-bar',\n };\n}\n","import { setStyle, addClass, removeClass, hasClass } from '../utils';\n\nexport default function autoOrientation(art) {\n const {\n constructor,\n template: { $player, $video },\n } = art;\n\n art.on('fullscreenWeb', (state) => {\n if (state) {\n const { videoWidth, videoHeight } = $video;\n const { clientWidth: viewWidth, clientHeight: viewHeight } = document.documentElement;\n if (\n (videoWidth > videoHeight && viewWidth < viewHeight) ||\n (videoWidth < videoHeight && viewWidth > viewHeight)\n ) {\n // There is a conflict with the fullscreen event, and it is changed to asynchronous execution\n setTimeout(() => {\n setStyle($player, 'width', `${viewHeight}px`);\n setStyle($player, 'height', `${viewWidth}px`);\n setStyle($player, 'transform-origin', '0 0');\n setStyle($player, 'transform', `rotate(90deg) translate(0, -${viewWidth}px)`);\n addClass($player, 'art-auto-orientation');\n art.isRotate = true;\n art.emit('resize');\n }, constructor.MOBILE_AUTO_ORIENTATION_TIME);\n }\n } else {\n if (hasClass($player, 'art-auto-orientation')) {\n removeClass($player, 'art-auto-orientation');\n art.isRotate = false;\n art.notice.show = '';\n art.emit('resize');\n }\n }\n });\n\n art.on('fullscreen', async (state) => {\n const lastOrientation = screen.orientation.type;\n if (state) {\n const { videoWidth, videoHeight } = $video;\n const { clientWidth: viewWidth, clientHeight: viewHeight } = document.documentElement;\n if (\n (videoWidth > videoHeight && viewWidth < viewHeight) ||\n (videoWidth < videoHeight && viewWidth > viewHeight)\n ) {\n const oppositeOrientation = lastOrientation.startsWith('portrait') ? 'landscape' : 'portrait';\n await screen.orientation.lock(oppositeOrientation);\n addClass($player, 'art-auto-orientation-fullscreen');\n }\n } else {\n if (hasClass($player, 'art-auto-orientation-fullscreen')) {\n await screen.orientation.lock(lastOrientation);\n removeClass($player, 'art-auto-orientation-fullscreen');\n }\n }\n });\n\n return {\n name: 'autoOrientation',\n get state() {\n return hasClass($player, 'art-auto-orientation');\n },\n };\n}\n","import { secondToTime, setStyle, query, append } from '../utils';\n\nexport default function autoPlayback(art) {\n const {\n i18n,\n icons,\n storage,\n constructor,\n proxy,\n template: { $poster },\n } = art;\n\n const $autoPlayback = art.layers.add({\n name: 'auto-playback',\n html: `\n \n \n \n `,\n });\n\n const $last = query('.art-auto-playback-last', $autoPlayback);\n const $jump = query('.art-auto-playback-jump', $autoPlayback);\n const $close = query('.art-auto-playback-close', $autoPlayback);\n\n art.on('video:timeupdate', () => {\n if (art.playing) {\n const times = storage.get('times') || {};\n const keys = Object.keys(times);\n if (keys.length > constructor.AUTO_PLAYBACK_MAX) {\n delete times[keys[0]];\n }\n times[art.option.id || art.option.url] = art.currentTime;\n storage.set('times', times);\n }\n });\n\n art.on('ready', () => {\n const times = storage.get('times') || {};\n const currentTime = times[art.option.id || art.option.url];\n if (currentTime && currentTime >= constructor.AUTO_PLAYBACK_MIN) {\n append($close, icons.close);\n setStyle($autoPlayback, 'display', 'flex');\n\n $last.innerText = `${i18n.get('Last Seen')} ${secondToTime(currentTime)}`;\n $jump.innerText = i18n.get('Jump Play');\n\n proxy($close, 'click', () => {\n setStyle($autoPlayback, 'display', 'none');\n });\n\n proxy($jump, 'click', () => {\n art.seek = currentTime;\n art.play();\n setStyle($poster, 'display', 'none');\n setStyle($autoPlayback, 'display', 'none');\n });\n\n art.once('video:timeupdate', () => {\n setTimeout(() => {\n setStyle($autoPlayback, 'display', 'none');\n }, constructor.AUTO_PLAYBACK_TIMEOUT);\n });\n }\n });\n\n return {\n name: 'auto-playback',\n get times() {\n return storage.get('times') || {};\n },\n clear() {\n return storage.del('times');\n },\n delete(id) {\n const times = storage.get('times') || {};\n delete times[id];\n storage.set('times', times);\n return times;\n },\n };\n}\n","import { hasClass, addClass, removeClass } from '../utils';\n\nexport default function fastForward(art) {\n const {\n constructor,\n proxy,\n template: { $player, $video },\n } = art;\n\n let timer = null;\n let isPress = false;\n let lastPlaybackRate = 1;\n\n const onStart = (event) => {\n if (event.touches.length === 1 && art.playing && !art.isLock) {\n timer = setTimeout(() => {\n isPress = true;\n lastPlaybackRate = art.playbackRate;\n art.playbackRate = constructor.FAST_FORWARD_VALUE;\n addClass($player, 'art-fast-forward');\n }, constructor.FAST_FORWARD_TIME);\n }\n };\n\n const onStop = () => {\n clearTimeout(timer);\n if (isPress) {\n isPress = false;\n art.playbackRate = lastPlaybackRate;\n removeClass($player, 'art-fast-forward');\n }\n };\n\n proxy($video, 'touchstart', onStart);\n proxy(document, 'touchmove', onStop);\n proxy(document, 'touchend', onStop);\n\n return {\n name: 'fastForward',\n get state() {\n return hasClass($player, 'art-fast-forward');\n },\n };\n}\n","import { append, setStyle, hasClass, addClass, removeClass } from '../utils';\n\nexport default function lock(art) {\n const {\n layers,\n icons,\n template: { $player },\n } = art;\n\n layers.add({\n name: 'lock',\n mounted($el) {\n const $lock = append($el, icons.lock);\n const $unlock = append($el, icons.unlock);\n setStyle($lock, 'display', 'none');\n\n art.on('lock', (state) => {\n if (state) {\n setStyle($lock, 'display', 'inline-flex');\n setStyle($unlock, 'display', 'none');\n } else {\n setStyle($lock, 'display', 'none');\n setStyle($unlock, 'display', 'inline-flex');\n }\n });\n },\n click() {\n if (hasClass($player, 'art-lock')) {\n removeClass($player, 'art-lock');\n this.isLock = false;\n art.emit('lock', false);\n } else {\n addClass($player, 'art-lock');\n this.isLock = true;\n art.emit('lock', true);\n }\n },\n });\n\n return {\n name: 'lock',\n get state() {\n return hasClass($player, 'art-lock');\n },\n };\n}\n","import config from './config';\nimport { clamp, getExt } from './utils';\n\nexport default class Mobile {\n constructor(art) {\n const {\n option,\n proxy,\n template: { $video },\n } = art;\n\n for (let index = 0; index < config.events.length; index++) {\n proxy($video, config.events[index], (event) => {\n art.emit(`video:${event.type}`, event);\n });\n }\n\n for (const key in option.moreVideoAttr) {\n $video[key] = option.moreVideoAttr[key];\n }\n\n $video.controls = true;\n\n if (option.muted) {\n $video.muted = option.muted;\n }\n\n if (option.volume) {\n $video.volume = clamp(option.volume, 0, 1);\n }\n\n if (option.poster) {\n $video.poster = option.poster;\n }\n\n if (option.autoplay) {\n $video.autoplay = option.autoplay;\n }\n\n if (option.playsInline) {\n $video.playsInline = true;\n $video['webkit-playsinline'] = true;\n }\n\n const typeName = option.type || getExt(option.url);\n const typeCallback = option.customType[typeName];\n if (typeName && typeCallback) {\n typeCallback($video, option.url, art);\n } else {\n $video.src = option.url;\n }\n }\n}\n"],"names":[],"version":3,"file":"index.js.map","sourceRoot":"../../../"} \ No newline at end of file diff --git a/packages/artplayer/dist/artplayer.js b/packages/artplayer/dist/artplayer.js index 28b25ec8d..ed72de052 100644 --- a/packages/artplayer/dist/artplayer.js +++ b/packages/artplayer/dist/artplayer.js @@ -4,4 +4,4 @@ * (c) 2017-2023 Harvey Zack * Released under the MIT License. */ -!function(e,t,r,a,o){var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},i="function"==typeof n[a]&&n[a],s=i.cache||{},l="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function c(t,r){if(!s[t]){if(!e[t]){var o="function"==typeof n[a]&&n[a];if(!r&&o)return o(t,!0);if(i)return i(t,!0);if(l&&"string"==typeof t)return l(t);var p=new Error("Cannot find module '"+t+"'");throw p.code="MODULE_NOT_FOUND",p}d.resolve=function(r){var a=e[t][1][r];return null!=a?a:r},d.cache={};var u=s[t]=new c.Module(t);e[t][0].call(u.exports,d,u,u.exports,this)}return s[t].exports;function d(e){var t=d.resolve(e);return!1===t?{}:c(t)}}c.isParcelRequire=!0,c.Module=function(e){this.id=e,this.bundle=c,this.exports={}},c.modules=e,c.cache=s,c.parent=i,c.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(c,"root",{get:function(){return n[a]}}),n[a]=c;for(var p=0;p${(0,o.escape)(e)}
`)).join(""):e.innerHTML=this.activeCue.text,this.art.emit("subtitleUpdate",this.activeCue.text))}async switch(e,t={}){const{i18n:r,notice:a,option:o}=this.art,n={...o.subtitle,...t,url:e},i=await this.init(n);return t.name&&(a.show=`${r.get("Switch Subtitle")}: ${t.name}`),i}createTrack(e,t){const{template:r,proxy:a}=this.art,{$video:n,$track:i}=r,s=(0,o.createElement)("track");s.default=!0,s.kind=e,s.src=t,s.track.mode="hidden",this.eventDestroy(),(0,o.remove)(i),(0,o.append)(n,s),r.$track=s,this.eventDestroy=a(this.textTrack,"cuechange",(()=>this.update()))}async init(e){const{notice:t,template:{$subtitle:r}}=this.art;if((0,l.default)(e,p.default.subtitle),e.url)return this.style(e.style),fetch(e.url).then((e=>e.arrayBuffer())).then((t=>{const r=new TextDecoder(e.encoding).decode(t);switch(this.art.emit("subtitleLoad",e.url),e.type||(0,o.getExt)(e.url)){case"srt":{const t=(0,o.srtToVtt)(r),a=e.onVttLoad(t);return(0,o.vttToBlob)(a)}case"ass":{const t=(0,o.assToVtt)(r),a=e.onVttLoad(t);return(0,o.vttToBlob)(a)}case"vtt":{const t=e.onVttLoad(r);return(0,o.vttToBlob)(t)}default:return e.url}})).then((e=>(r.innerHTML="",this.url===e||(URL.revokeObjectURL(this.url),this.createTrack("metadata",e),this.art.emit("subtitleSwitch",e)),e))).catch((e=>{throw t.show=e,e}))}}r.default=u},{"./utils":"71aH7","./utils/component":"18nVI","option-validator":"bAWi2","./scheme":"AKEiO","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],jo4S1:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r);var o=e("../utils/error"),n=e("./clickInit"),i=a.interopDefault(n),s=e("./hoverInit"),l=a.interopDefault(s),c=e("./moveInit"),p=a.interopDefault(c),u=e("./resizeInit"),d=a.interopDefault(u),f=e("./gestureInit"),h=a.interopDefault(f),m=e("./viewInit"),g=a.interopDefault(m),v=e("./documentInit"),y=a.interopDefault(v);r.default=class{constructor(e){this.destroyEvents=[],this.proxy=this.proxy.bind(this),this.hover=this.hover.bind(this),this.loadImg=this.loadImg.bind(this),e.whitelist.state&&((0,i.default)(e,this),(0,l.default)(e,this),(0,p.default)(e,this),(0,d.default)(e,this),(0,h.default)(e,this),(0,g.default)(e,this),(0,y.default)(e,this))}proxy(e,t,r,a={}){if(Array.isArray(t))return t.map((t=>this.proxy(e,t,r,a)));e.addEventListener(t,r,a);const o=()=>e.removeEventListener(t,r,a);return this.destroyEvents.push(o),o}hover(e,t,r){t&&this.proxy(e,"mouseenter",t),r&&this.proxy(e,"mouseleave",r)}loadImg(e){return new Promise(((t,r)=>{let a;if(e instanceof HTMLImageElement)a=e;else{if("string"!=typeof e)return r(new(0,o.ArtPlayerError)("Unable to get Image"));a=new Image,a.src=e}if(a.complete)return t(a);this.proxy(a,"load",(()=>t(a))),this.proxy(a,"error",(()=>r(new(0,o.ArtPlayerError)(`Failed to load Image: ${a.src}`))))}))}remove(e){const t=this.destroyEvents.indexOf(e);t>-1&&(e(),this.destroyEvents.splice(t,1))}destroy(){for(let e=0;e${(0,o.escape)(e)}
`)).join(""):e.innerHTML=this.activeCue.text,this.art.emit("subtitleUpdate",this.activeCue.text))}async switch(e,t={}){const{i18n:r,notice:a,option:o}=this.art,n={...o.subtitle,...t,url:e},i=await this.init(n);return t.name&&(a.show=`${r.get("Switch Subtitle")}: ${t.name}`),i}createTrack(e,t){const{template:r,proxy:a}=this.art,{$video:n,$track:i}=r,s=(0,o.createElement)("track");s.default=!0,s.kind=e,s.src=t,s.track.mode="hidden",this.eventDestroy(),(0,o.remove)(i),(0,o.append)(n,s),r.$track=s,this.eventDestroy=a(this.textTrack,"cuechange",(()=>this.update()))}async init(e){const{notice:t,template:{$subtitle:r}}=this.art;if((0,l.default)(e,p.default.subtitle),e.url)return this.style(e.style),fetch(e.url).then((e=>e.arrayBuffer())).then((t=>{const r=new TextDecoder(e.encoding).decode(t);switch(this.art.emit("subtitleLoad",e.url),e.type||(0,o.getExt)(e.url)){case"srt":{const t=(0,o.srtToVtt)(r),a=e.onVttLoad(t);return(0,o.vttToBlob)(a)}case"ass":{const t=(0,o.assToVtt)(r),a=e.onVttLoad(t);return(0,o.vttToBlob)(a)}case"vtt":{const t=e.onVttLoad(r);return(0,o.vttToBlob)(t)}default:return e.url}})).then((e=>(r.innerHTML="",this.url===e||(URL.revokeObjectURL(this.url),this.createTrack("metadata",e),this.art.emit("subtitleSwitch",e)),e))).catch((e=>{throw t.show=e,e}))}}r.default=u},{"./utils":"71aH7","./utils/component":"18nVI","option-validator":"bAWi2","./scheme":"AKEiO","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],jo4S1:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r);var o=e("../utils/error"),n=e("./clickInit"),i=a.interopDefault(n),s=e("./hoverInit"),l=a.interopDefault(s),c=e("./moveInit"),p=a.interopDefault(c),u=e("./resizeInit"),d=a.interopDefault(u),f=e("./gestureInit"),h=a.interopDefault(f),m=e("./viewInit"),g=a.interopDefault(m),v=e("./documentInit"),y=a.interopDefault(v);r.default=class{constructor(e){this.destroyEvents=[],this.proxy=this.proxy.bind(this),this.hover=this.hover.bind(this),this.loadImg=this.loadImg.bind(this),e.whitelist.state&&((0,i.default)(e,this),(0,l.default)(e,this),(0,p.default)(e,this),(0,d.default)(e,this),(0,h.default)(e,this),(0,g.default)(e,this),(0,y.default)(e,this))}proxy(e,t,r,a={}){if(Array.isArray(t))return t.map((t=>this.proxy(e,t,r,a)));e.addEventListener(t,r,a);const o=()=>e.removeEventListener(t,r,a);return this.destroyEvents.push(o),o}hover(e,t,r){t&&this.proxy(e,"mouseenter",t),r&&this.proxy(e,"mouseleave",r)}loadImg(e){return new Promise(((t,r)=>{let a;if(e instanceof HTMLImageElement)a=e;else{if("string"!=typeof e)return r(new(0,o.ArtPlayerError)("Unable to get Image"));a=new Image,a.src=e}if(a.complete)return t(a);this.proxy(a,"load",(()=>t(a))),this.proxy(a,"error",(()=>r(new(0,o.ArtPlayerError)(`Failed to load Image: ${a.src}`))))}))}remove(e){const t=this.destroyEvents.indexOf(e);t>-1&&(e(),this.destroyEvents.splice(t,1))}destroy(){for(let e=0;e