+
@@ -3175,20 +3211,20 @@ function progress(options) {
`,
mounted: ($control)=>{
let isDroging = false;
+ const $hover = (0, _utils.query)(".art-progress-hover", $control);
const $loaded = (0, _utils.query)(".art-progress-loaded", $control);
const $played = (0, _utils.query)(".art-progress-played", $control);
const $highlight = (0, _utils.query)(".art-progress-highlight", $control);
const $indicator = (0, _utils.query)(".art-progress-indicator", $control);
const $tip = (0, _utils.query)(".art-progress-tip", $control);
- const { PROGRESS_HEIGHT , INDICATOR_SIZE , INDICATOR_SIZE_ICON , INDICATOR_SIZE_MOBILE , INDICATOR_SIZE_MOBILE_ICON , } = art.constructor;
- (0, _utils.setStyle)($control, "height", `${PROGRESS_HEIGHT}px`);
- (0, _utils.setStyle)($played, "backgroundColor", "var(--theme)");
+ const { INDICATOR_SIZE , INDICATOR_SIZE_ICON , INDICATOR_SIZE_MOBILE , INDICATOR_SIZE_MOBILE_ICON } = art.constructor;
+ (0, _utils.setStyle)($played, "backgroundColor", "var(--art-theme)");
let indicatorSize = INDICATOR_SIZE;
if (icons.indicator) {
indicatorSize = INDICATOR_SIZE_ICON;
(0, _utils.append)($indicator, icons.indicator);
} else (0, _utils.setStyles)($indicator, {
- backgroundColor: "var(--theme)"
+ backgroundColor: "var(--art-theme)"
});
if (0, _utils.isMobile) {
indicatorSize = INDICATOR_SIZE_MOBILE;
@@ -3223,11 +3259,17 @@ function progress(options) {
(0, _utils.setStyle)($indicator, "left", `calc(${percentage * 100}% - ${indicatorSize / 2}px)`);
}
}
+ function setHover(event) {
+ const { width } = getPosFromEvent(art, event);
+ (0, _utils.setStyle)($hover, "width", `${width}px`);
+ (0, _utils.setStyle)($hover, "display", "flex");
+ }
art.on("video:loadedmetadata", ()=>{
for(let index = 0; index < option.highlight.length; index++){
const item = option.highlight[index];
const left = (0, _utils.clamp)(item.time, 0, art.duration) / art.duration * 100;
- (0, _utils.append)($highlight, `
`);
+ const html = `
`;
+ (0, _utils.append)($highlight, html);
}
});
setBar("loaded", art.loaded);
@@ -3248,12 +3290,14 @@ function progress(options) {
if (event.target !== $indicator) setCurrentTime(art, event);
});
proxy($control, "mousemove", (event)=>{
- (0, _utils.setStyle)($tip, "display", "block");
+ setHover(event);
+ (0, _utils.setStyle)($tip, "display", "flex");
if ((0, _utils.includeFromEvent)(event, $highlight)) showHighlight(event);
else showTime(event);
});
proxy($control, "mouseleave", ()=>{
(0, _utils.setStyle)($tip, "display", "none");
+ (0, _utils.setStyle)($hover, "display", "none");
});
proxy($control, "mousedown", ()=>{
isDroging = true;
@@ -3275,7 +3319,7 @@ function progress(options) {
}
exports.default = progress;
-},{"../utils":"euhMG","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"e6eX5":[function(require,module,exports) {
+},{"../utils":"jmgNb","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"hL9ry":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
var _utils = require("../utils");
@@ -3284,7 +3328,7 @@ function time(option) {
...option,
style: {
cursor: "auto",
- marginLeft: "10px"
+ margin: "0 10px"
},
mounted: ($control)=>{
function getTime() {
@@ -3303,7 +3347,7 @@ function time(option) {
}
exports.default = time;
-},{"../utils":"euhMG","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"ezhk3":[function(require,module,exports) {
+},{"../utils":"jmgNb","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"3G9Wa":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
var _utils = require("../utils");
@@ -3311,55 +3355,54 @@ function volume(option) {
return (art)=>({
...option,
mounted: ($control)=>{
- const { proxy , icons , i18n } = art;
- let isDroging = false;
- const panelWidth = art.constructor.VOLUME_PANEL_WIDTH;
- const handleWidth = art.constructor.VOLUME_HANDLE_WIDTH;
+ const { proxy , icons } = art;
const $volume = (0, _utils.append)($control, icons.volume);
- const $volumeClose = (0, _utils.append)($control, icons.volumeClose);
- const $volumePanel = (0, _utils.append)($control, '
');
- const $volumeHandle = (0, _utils.append)($volumePanel, '
');
- (0, _utils.tooltip)($volume, i18n.get("Mute"));
- (0, _utils.setStyle)($volumeClose, "display", "none");
- if (0, _utils.isMobile) (0, _utils.setStyle)($volumePanel, "display", "none");
- function volumeChangeFromEvent(event) {
- const { left: panelLeft } = $volumePanel.getBoundingClientRect();
- const percentage = (0, _utils.clamp)(event.pageX - panelLeft - handleWidth / 2, 0, panelWidth - handleWidth / 2) / (panelWidth - handleWidth);
- return percentage;
+ const $close = (0, _utils.append)($control, icons.volumeClose);
+ const $panel = (0, _utils.append)($control, '
');
+ const $inner = (0, _utils.append)($panel, '
');
+ const $value = (0, _utils.append)($inner, `
`);
+ const $slider = (0, _utils.append)($inner, `
`);
+ const $handle = (0, _utils.append)($slider, `
`);
+ const $loaded = (0, _utils.append)($handle, `
`);
+ const $indicator = (0, _utils.append)($slider, `
`);
+ if (0, _utils.isMobile) (0, _utils.setStyle)($panel, "display", "none");
+ function getVolumeFromEvent(event) {
+ const { top , height } = $slider.getBoundingClientRect();
+ return 1 - (event.pageY - top) / height;
}
- function setVolumeHandle(percentage = 0.7) {
- if (art.muted || percentage === 0) {
+ function update() {
+ if (art.muted || art.volume === 0) {
(0, _utils.setStyle)($volume, "display", "none");
- (0, _utils.setStyle)($volumeClose, "display", "flex");
- (0, _utils.setStyle)($volumeHandle, "left", "0");
+ (0, _utils.setStyle)($close, "display", "flex");
+ (0, _utils.setStyle)($indicator, "top", "100%");
+ (0, _utils.setStyle)($loaded, "top", "100%");
+ $value.innerText = 0;
} else {
- const width = (panelWidth - handleWidth) * percentage;
+ const percentage = art.volume * 100;
(0, _utils.setStyle)($volume, "display", "flex");
- (0, _utils.setStyle)($volumeClose, "display", "none");
- (0, _utils.setStyle)($volumeHandle, "left", `${width}px`);
+ (0, _utils.setStyle)($close, "display", "none");
+ (0, _utils.setStyle)($indicator, "top", `${100 - percentage}%`);
+ (0, _utils.setStyle)($loaded, "top", `${100 - percentage}%`);
+ $value.innerText = Math.floor(percentage);
}
}
- setVolumeHandle(art.volume);
- art.on("video:volumechange", ()=>{
- setVolumeHandle(art.volume);
- });
+ update();
+ art.on("video:volumechange", update);
proxy($volume, "click", ()=>{
art.muted = true;
});
- proxy($volumeClose, "click", ()=>{
+ proxy($close, "click", ()=>{
art.muted = false;
});
- proxy($volumePanel, "click", (event)=>{
- art.muted = false;
- art.volume = volumeChangeFromEvent(event);
- });
- proxy($volumeHandle, "mousedown", ()=>{
+ let isDroging = false;
+ proxy($slider, "mousedown", (event)=>{
isDroging = true;
+ art.volume = getVolumeFromEvent(event);
});
- proxy($control, "mousemove", (event)=>{
+ proxy(document, "mousemove", (event)=>{
if (isDroging) {
art.muted = false;
- art.volume = volumeChangeFromEvent(event);
+ art.volume = getVolumeFromEvent(event);
}
});
proxy(document, "mouseup", ()=>{
@@ -3370,7 +3413,7 @@ function volume(option) {
}
exports.default = volume;
-},{"../utils":"euhMG","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"3Vg4s":[function(require,module,exports) {
+},{"../utils":"jmgNb","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"jQ9Bw":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
var _utils = require("../utils");
@@ -3393,7 +3436,7 @@ function setting(option) {
}
exports.default = setting;
-},{"../utils":"euhMG","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"8AAYm":[function(require,module,exports) {
+},{"../utils":"jmgNb","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"8HBQN":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
var _utils = require("../utils");
@@ -3402,7 +3445,7 @@ function thumbnails(options) {
return (art)=>({
...options,
mounted: ($control)=>{
- const { option , template: { $progress , $video } , events: { proxy , loadImg } , } = art;
+ const { option , template: { $progress , $video } , events: { proxy , loadImg } } = art;
let image = null;
let loading = false;
let isLoad = false;
@@ -3431,7 +3474,7 @@ function thumbnails(options) {
isLoad = true;
}
if (isLoad) {
- (0, _utils.setStyle)($control, "display", "block");
+ (0, _utils.setStyle)($control, "display", "flex");
showThumbnails(event);
}
});
@@ -3446,7 +3489,7 @@ function thumbnails(options) {
}
exports.default = thumbnails;
-},{"../utils":"euhMG","./progress":"afGEi","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"lcqMk":[function(require,module,exports) {
+},{"../utils":"jmgNb","./progress":"aHyb0","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"aA6wc":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
var _utils = require("../utils");
@@ -3465,7 +3508,7 @@ function screenshot(option) {
}
exports.default = screenshot;
-},{"../utils":"euhMG","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"349DU":[function(require,module,exports) {
+},{"../utils":"jmgNb","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"5Zppa":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
function quality(option) {
@@ -3487,7 +3530,7 @@ function quality(option) {
}
exports.default = quality;
-},{"@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"8hCXR":[function(require,module,exports) {
+},{"@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"3bPO6":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
var _utils = require("../utils");
@@ -3499,7 +3542,7 @@ function loop(option) {
const $right = (0, _utils.append)($control, `
`);
art.on("loop", (value)=>{
if (value && value.length) {
- (0, _utils.setStyle)($control, "display", "block");
+ (0, _utils.setStyle)($control, "display", "flex");
(0, _utils.setStyle)($left, "left", `calc(${value[0] / art.duration * 100}% - ${$left.clientWidth}px)`);
(0, _utils.setStyle)($right, "left", `${value[1] / art.duration * 100}%`);
} else (0, _utils.setStyle)($control, "display", "none");
@@ -3509,7 +3552,7 @@ function loop(option) {
}
exports.default = loop;
-},{"../utils":"euhMG","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"4dMTc":[function(require,module,exports) {
+},{"../utils":"jmgNb","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"iKTFA":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
var _utils = require("../utils");
@@ -3526,7 +3569,7 @@ function pip(option) {
}
exports.default = pip;
-},{"../utils":"euhMG","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"iygWX":[function(require,module,exports) {
+},{"../utils":"jmgNb","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"5npaZ":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
var _utils = require("../utils");
@@ -3552,7 +3595,7 @@ class Contextmenu extends (0, _componentDefault.default) {
if (!(0, _utils.isMobile)) this.init();
}
init() {
- const { option , proxy , template: { $player , $contextmenu } , } = this.art;
+ const { option , proxy , template: { $player , $contextmenu } } = this.art;
if (option.playbackRate) this.add((0, _playbackRateDefault.default)({
name: "playbackRate",
index: 10
@@ -3605,18 +3648,17 @@ class Contextmenu extends (0, _componentDefault.default) {
}
exports.default = Contextmenu;
-},{"../utils":"euhMG","../utils/component":"1UWqI","./playbackRate":"aEEkc","./aspectRatio":"jQvOA","./flip":"gcvCz","./info":"2g4ET","./version":"6YbWR","./close":"kM2pD","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"aEEkc":[function(require,module,exports) {
+},{"../utils":"jmgNb","../utils/component":"bgug2","./playbackRate":"eoKzP","./aspectRatio":"7ejUt","./flip":"dAW0A","./info":"1jWhq","./version":"dapbx","./close":"9E5SI","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"eoKzP":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
var _utils = require("../utils");
function playbackRate(option) {
return (art)=>{
- const { i18n , constructor: { PLAYBACK_RATE } , } = art;
+ const { i18n , constructor: { PLAYBACK_RATE } } = art;
+ const html = PLAYBACK_RATE.map((item)=>`
${item === 1 ? i18n.get("Normal") : item.toFixed(1)}`).join("");
return {
...option,
- html: `${i18n.get("Play Speed")}:
- ${PLAYBACK_RATE.map((item)=>`
${item === 1 ? i18n.get("Normal") : item}`).join("")}
- `,
+ html: `${i18n.get("Play Speed")}: ${html}`,
click: (contextmenu, event)=>{
const { value } = event.target.dataset;
if (value) {
@@ -3637,18 +3679,17 @@ function playbackRate(option) {
}
exports.default = playbackRate;
-},{"../utils":"euhMG","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"jQvOA":[function(require,module,exports) {
+},{"../utils":"jmgNb","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"7ejUt":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
var _utils = require("../utils");
function aspectRatio(option) {
return (art)=>{
- const { i18n , constructor: { ASPECT_RATIO } , } = art;
+ const { i18n , constructor: { ASPECT_RATIO } } = art;
+ const html = ASPECT_RATIO.map((item)=>`
${item === "default" ? i18n.get("Default") : item}`).join("");
return {
...option,
- html: `${i18n.get("Aspect Ratio")}:
- ${ASPECT_RATIO.map((item)=>`
${item === "default" ? i18n.get("Default") : item}`).join("")}
- `,
+ html: `${i18n.get("Aspect Ratio")}: ${html}`,
click: (contextmenu, event)=>{
const { value } = event.target.dataset;
if (value) {
@@ -3669,18 +3710,17 @@ function aspectRatio(option) {
}
exports.default = aspectRatio;
-},{"../utils":"euhMG","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"gcvCz":[function(require,module,exports) {
+},{"../utils":"jmgNb","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"dAW0A":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
var _utils = require("../utils");
function flip(option) {
return (art)=>{
- const { i18n , constructor: { FLIP } , } = art;
+ const { i18n , constructor: { FLIP } } = art;
+ const html = FLIP.map((item)=>`
${i18n.get((0, _utils.capitalize)(item))}`).join("");
return {
...option,
- html: `${i18n.get("Video Flip")}:
- ${FLIP.map((item)=>`
${i18n.get((0, _utils.capitalize)(item))}`).join("")}
- `,
+ html: `${i18n.get("Video Flip")}: ${html}`,
click: (contextmenu, event)=>{
const { value } = event.target.dataset;
if (value) {
@@ -3701,7 +3741,7 @@ function flip(option) {
}
exports.default = flip;
-},{"../utils":"euhMG","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"2g4ET":[function(require,module,exports) {
+},{"../utils":"jmgNb","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"1jWhq":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
function info(option) {
@@ -3716,18 +3756,18 @@ function info(option) {
}
exports.default = info;
-},{"@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"6YbWR":[function(require,module,exports) {
+},{"@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"dapbx":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
function version(option) {
return {
...option,
- html: `
ArtPlayer ${"4.6.2"}`
+ html: `
ArtPlayer ${"5.0.0"}`
};
}
exports.default = version;
-},{"@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"kM2pD":[function(require,module,exports) {
+},{"@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"9E5SI":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
function close(option) {
@@ -3741,7 +3781,7 @@ function close(option) {
}
exports.default = close;
-},{"@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"6tuCt":[function(require,module,exports) {
+},{"@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"6vVKE":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
var _utils = require("./utils");
@@ -3754,7 +3794,7 @@ class Info extends (0, _componentDefault.default) {
if (!(0, _utils.isMobile)) this.init();
}
init() {
- const { proxy , constructor , template: { $infoPanel , $infoClose , $video } , } = this.art;
+ const { proxy , constructor , template: { $infoPanel , $infoClose , $video } } = this.art;
proxy($infoClose, "click", ()=>{
this.show = false;
});
@@ -3777,7 +3817,7 @@ class Info extends (0, _componentDefault.default) {
}
exports.default = Info;
-},{"./utils":"euhMG","./utils/component":"1UWqI","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"1kFyE":[function(require,module,exports) {
+},{"./utils":"jmgNb","./utils/component":"bgug2","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"4exyO":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
var _utils = require("./utils");
@@ -3856,7 +3896,7 @@ class Subtitle extends (0, _componentDefault.default) {
this.eventDestroy = proxy(this.textTrack, "cuechange", ()=>this.update());
}
async init(subtitleOption) {
- const { notice , template: { $subtitle } , } = this.art;
+ const { notice , template: { $subtitle } } = this.art;
(0, _optionValidatorDefault.default)(subtitleOption, (0, _schemeDefault.default).subtitle);
if (!subtitleOption.url) return;
this.style(subtitleOption.style);
@@ -3866,11 +3906,22 @@ class Subtitle extends (0, _componentDefault.default) {
this.art.emit("subtitleLoad", subtitleOption.url);
switch(subtitleOption.type || (0, _utils.getExt)(subtitleOption.url)){
case "srt":
- return (0, _utils.vttToBlob)((0, _utils.srtToVtt)(text));
+ {
+ const vtt = (0, _utils.srtToVtt)(text);
+ const vttNew = subtitleOption.onVttLoad(vtt);
+ return (0, _utils.vttToBlob)(vttNew);
+ }
case "ass":
- return (0, _utils.vttToBlob)((0, _utils.assToVtt)(text));
+ {
+ const vtt = (0, _utils.assToVtt)(text);
+ const vttNew = subtitleOption.onVttLoad(vtt);
+ return (0, _utils.vttToBlob)(vttNew);
+ }
case "vtt":
- return (0, _utils.vttToBlob)(text);
+ {
+ const vttNew = subtitleOption.onVttLoad(text);
+ return (0, _utils.vttToBlob)(vttNew);
+ }
default:
return subtitleOption.url;
}
@@ -3889,7 +3940,7 @@ class Subtitle extends (0, _componentDefault.default) {
}
exports.default = Subtitle;
-},{"./utils":"euhMG","./utils/component":"1UWqI","option-validator":"1vNkK","./scheme":"jVxq1","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"akAUN":[function(require,module,exports) {
+},{"./utils":"jmgNb","./utils/component":"bgug2","option-validator":"2tbdu","./scheme":"gL38d","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"dz5ul":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
var _error = require("../utils/error");
@@ -3950,12 +4001,12 @@ class Events {
}
exports.default = Events;
-},{"../utils/error":"kCmly","./clickInit":"4xN0W","./hoverInit":"bO8Cy","./mousemoveInit":"gouR1","./resizeInit":"1e06H","./gestureInit":"1Cim3","./viewInit":"xZUxN","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"4xN0W":[function(require,module,exports) {
+},{"../utils/error":"622b3","./clickInit":"3fsfH","./hoverInit":"jr1ic","./mousemoveInit":"bH4JU","./resizeInit":"2r19L","./gestureInit":"2IPOb","./viewInit":"fmrIX","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"3fsfH":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
var _utils = require("../utils");
function clickInit(art, events) {
- const { constructor , template: { $player , $video } , } = art;
+ const { constructor , template: { $player , $video } } = art;
events.proxy(document, [
"click",
"contextmenu"
@@ -3987,7 +4038,7 @@ function clickInit(art, events) {
}
exports.default = clickInit;
-},{"../utils":"euhMG","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"bO8Cy":[function(require,module,exports) {
+},{"../utils":"jmgNb","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"jr1ic":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
var _utils = require("../utils");
@@ -4003,7 +4054,7 @@ function hoverInit(art, events) {
}
exports.default = hoverInit;
-},{"../utils":"euhMG","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"gouR1":[function(require,module,exports) {
+},{"../utils":"jmgNb","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"bH4JU":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
function mousemoveInitInit(art, events) {
@@ -4014,7 +4065,7 @@ function mousemoveInitInit(art, events) {
}
exports.default = mousemoveInitInit;
-},{"@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"1e06H":[function(require,module,exports) {
+},{"@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"2r19L":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
var _utils = require("../utils");
@@ -4038,7 +4089,7 @@ function resizeInit(art, events) {
}
exports.default = resizeInit;
-},{"../utils":"euhMG","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"1Cim3":[function(require,module,exports) {
+},{"../utils":"jmgNb","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"2IPOb":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
var _utils = require("../utils");
@@ -4098,12 +4149,12 @@ function gestureInit(art, events) {
}
exports.default = gestureInit;
-},{"../utils":"euhMG","../control/progress":"afGEi","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"xZUxN":[function(require,module,exports) {
+},{"../utils":"jmgNb","../control/progress":"aHyb0","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"fmrIX":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
var _utils = require("../utils");
function viewInit(art, events) {
- const { option , constructor , template: { $container } , } = art;
+ const { option , constructor , template: { $container } } = art;
const scrollFn = (0, _utils.throttle)(()=>{
art.emit("view", (0, _utils.isInViewport)($container, constructor.SCROLL_GAP));
}, constructor.SCROLL_TIME);
@@ -4116,7 +4167,7 @@ function viewInit(art, events) {
}
exports.default = viewInit;
-},{"../utils":"euhMG","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"f1oWx":[function(require,module,exports) {
+},{"../utils":"jmgNb","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"1nFqF":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
var _utils = require("./utils");
@@ -4178,7 +4229,7 @@ class Hotkey {
}
exports.default = Hotkey;
-},{"./utils":"euhMG","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"bKuSu":[function(require,module,exports) {
+},{"./utils":"jmgNb","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"fvy8V":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
var _component = require("./utils/component");
@@ -4186,7 +4237,7 @@ var _componentDefault = parcelHelpers.interopDefault(_component);
class Layer extends (0, _componentDefault.default) {
constructor(art){
super(art);
- const { option , template: { $layer } , } = art;
+ const { option , template: { $layer } } = art;
this.name = "layer";
this.$parent = $layer;
for(let index = 0; index < option.layers.length; index++)this.add(option.layers[index]);
@@ -4194,7 +4245,7 @@ class Layer extends (0, _componentDefault.default) {
}
exports.default = Layer;
-},{"./utils/component":"1UWqI","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"4AfId":[function(require,module,exports) {
+},{"./utils/component":"bgug2","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"h8KPY":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
var _utils = require("./utils");
@@ -4209,7 +4260,7 @@ class Loading extends (0, _componentDefault.default) {
}
exports.default = Loading;
-},{"./utils":"euhMG","./utils/component":"1UWqI","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"aKncc":[function(require,module,exports) {
+},{"./utils":"jmgNb","./utils/component":"bgug2","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"cr1XY":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
var _utils = require("./utils");
@@ -4219,7 +4270,7 @@ class Notice {
this.timer = null;
}
set show(msg) {
- const { constructor , template: { $player , $noticeInner } , } = this.art;
+ const { constructor , template: { $player , $noticeInner } } = this.art;
if (msg) {
$noticeInner.innerText = msg instanceof Error ? msg.message.trim() : msg;
(0, _utils.addClass)($player, "art-notice-show");
@@ -4233,7 +4284,7 @@ class Notice {
}
exports.default = Notice;
-},{"./utils":"euhMG","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"1R5LH":[function(require,module,exports) {
+},{"./utils":"jmgNb","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"llnR4":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
var _utils = require("./utils");
@@ -4256,7 +4307,7 @@ class Mask extends (0, _componentDefault.default) {
}
exports.default = Mask;
-},{"./utils":"euhMG","./utils/component":"1UWqI","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"bPpva":[function(require,module,exports) {
+},{"./utils":"jmgNb","./utils/component":"bgug2","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"gP6M7":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
var _utils = require("../utils");
@@ -4348,101 +4399,95 @@ class Icons {
};
Object.keys(icons).forEach((key)=>{
(0, _utils.def)(this, key, {
- get: ()=>{
- const icon = (0, _utils.createElement)("i");
- (0, _utils.addClass)(icon, "art-icon");
- (0, _utils.addClass)(icon, `art-icon-${key}`);
- (0, _utils.append)(icon, icons[key]);
- return icon;
- }
+ get: ()=>(0, _utils.getIcon)(key, icons[key])
});
});
}
}
exports.default = Icons;
-},{"../utils":"euhMG","bundle-text:./loading.svg":"kSZpY","bundle-text:./state.svg":"l1cGI","bundle-text:./check.svg":"ihtKw","bundle-text:./play.svg":"aCrjI","bundle-text:./pause.svg":"djndS","bundle-text:./volume.svg":"3Mi6x","bundle-text:./volume-close.svg":"jxG45","bundle-text:./screenshot.svg":"eXfwA","bundle-text:./setting.svg":"kXSEM","bundle-text:./arrow-left.svg":"etyqn","bundle-text:./arrow-right.svg":"fU9m5","bundle-text:./playback-rate.svg":"wh93r","bundle-text:./aspect-ratio.svg":"2OSVS","bundle-text:./config.svg":"1WMKP","bundle-text:./pip.svg":"gGDL8","bundle-text:./lock.svg":"bDVqH","bundle-text:./unlock.svg":"b8r9U","bundle-text:./fullscreen-off.svg":"1F5ib","bundle-text:./fullscreen-on.svg":"6Nkxe","bundle-text:./fullscreen-web-off.svg":"akUW2","bundle-text:./fullscreen-web-on.svg":"5ohBx","bundle-text:./switch-on.svg":"2V2BU","bundle-text:./switch-off.svg":"cIVbn","bundle-text:./flip.svg":"eBNt7","bundle-text:./error.svg":"32zQ7","bundle-text:./close.svg":"9rzgA","bundle-text:./airplay.svg":"foceu","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"kSZpY":[function(require,module,exports) {
+},{"../utils":"jmgNb","bundle-text:./loading.svg":"kQAWs","bundle-text:./state.svg":"fv62Y","bundle-text:./check.svg":"hpwmG","bundle-text:./play.svg":"ez3XI","bundle-text:./pause.svg":"cXb2s","bundle-text:./volume.svg":"9ziFm","bundle-text:./volume-close.svg":"gHdy5","bundle-text:./screenshot.svg":"7uQ3x","bundle-text:./setting.svg":"23jGe","bundle-text:./arrow-left.svg":"2m0J3","bundle-text:./arrow-right.svg":"d9iPY","bundle-text:./playback-rate.svg":"iFVXO","bundle-text:./aspect-ratio.svg":"4qJAN","bundle-text:./config.svg":"6iK2N","bundle-text:./pip.svg":"f0XBL","bundle-text:./lock.svg":"kCaVg","bundle-text:./unlock.svg":"lWIPo","bundle-text:./fullscreen-off.svg":"a6qSz","bundle-text:./fullscreen-on.svg":"2cUeR","bundle-text:./fullscreen-web-off.svg":"9P4Tw","bundle-text:./fullscreen-web-on.svg":"lv7bb","bundle-text:./switch-on.svg":"iaKl1","bundle-text:./switch-off.svg":"47VYR","bundle-text:./flip.svg":"kQBsA","bundle-text:./error.svg":"gHC6Z","bundle-text:./close.svg":"dSIbz","bundle-text:./airplay.svg":"2G32R","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"kQAWs":[function(require,module,exports) {
module.exports = "
";
-},{}],"l1cGI":[function(require,module,exports) {
-module.exports = "
";
+},{}],"fv62Y":[function(require,module,exports) {
+module.exports = "
\n";
-},{}],"ihtKw":[function(require,module,exports) {
+},{}],"hpwmG":[function(require,module,exports) {
module.exports = "
";
-},{}],"aCrjI":[function(require,module,exports) {
+},{}],"ez3XI":[function(require,module,exports) {
module.exports = "
";
-},{}],"djndS":[function(require,module,exports) {
+},{}],"cXb2s":[function(require,module,exports) {
module.exports = "
";
-},{}],"3Mi6x":[function(require,module,exports) {
+},{}],"9ziFm":[function(require,module,exports) {
module.exports = "
";
-},{}],"jxG45":[function(require,module,exports) {
+},{}],"gHdy5":[function(require,module,exports) {
module.exports = "
";
-},{}],"eXfwA":[function(require,module,exports) {
+},{}],"7uQ3x":[function(require,module,exports) {
module.exports = "
\n";
-},{}],"kXSEM":[function(require,module,exports) {
+},{}],"23jGe":[function(require,module,exports) {
module.exports = "
";
-},{}],"etyqn":[function(require,module,exports) {
+},{}],"2m0J3":[function(require,module,exports) {
module.exports = "
";
-},{}],"fU9m5":[function(require,module,exports) {
+},{}],"d9iPY":[function(require,module,exports) {
module.exports = "
";
-},{}],"wh93r":[function(require,module,exports) {
+},{}],"iFVXO":[function(require,module,exports) {
module.exports = "
";
-},{}],"2OSVS":[function(require,module,exports) {
+},{}],"4qJAN":[function(require,module,exports) {
module.exports = "
";
-},{}],"1WMKP":[function(require,module,exports) {
+},{}],"6iK2N":[function(require,module,exports) {
module.exports = "
";
-},{}],"gGDL8":[function(require,module,exports) {
+},{}],"f0XBL":[function(require,module,exports) {
module.exports = "
";
-},{}],"bDVqH":[function(require,module,exports) {
+},{}],"kCaVg":[function(require,module,exports) {
module.exports = "\n\n
";
-},{}],"b8r9U":[function(require,module,exports) {
+},{}],"lWIPo":[function(require,module,exports) {
module.exports = "\n\n
";
-},{}],"1F5ib":[function(require,module,exports) {
+},{}],"a6qSz":[function(require,module,exports) {
module.exports = "\n\n
";
-},{}],"6Nkxe":[function(require,module,exports) {
+},{}],"2cUeR":[function(require,module,exports) {
module.exports = "\n\n
";
-},{}],"akUW2":[function(require,module,exports) {
+},{}],"9P4Tw":[function(require,module,exports) {
module.exports = "\n\n
";
-},{}],"5ohBx":[function(require,module,exports) {
+},{}],"lv7bb":[function(require,module,exports) {
module.exports = "\n\n
";
-},{}],"2V2BU":[function(require,module,exports) {
+},{}],"iaKl1":[function(require,module,exports) {
module.exports = "\n\n
";
-},{}],"cIVbn":[function(require,module,exports) {
+},{}],"47VYR":[function(require,module,exports) {
module.exports = "\n\n
";
-},{}],"eBNt7":[function(require,module,exports) {
+},{}],"kQBsA":[function(require,module,exports) {
module.exports = "\n\n
";
-},{}],"32zQ7":[function(require,module,exports) {
+},{}],"gHC6Z":[function(require,module,exports) {
module.exports = "\n\n
";
-},{}],"9rzgA":[function(require,module,exports) {
+},{}],"dSIbz":[function(require,module,exports) {
module.exports = "\n\n
";
-},{}],"foceu":[function(require,module,exports) {
+},{}],"2G32R":[function(require,module,exports) {
module.exports = "
";
-},{}],"i2oRN":[function(require,module,exports) {
+},{}],"e5Aaq":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
var _flip = require("./flip");
@@ -4459,7 +4504,7 @@ var _utils = require("../utils");
class Setting extends (0, _componentDefault.default) {
constructor(art){
super(art);
- const { option , proxy , template: { $setting , $player } , } = art;
+ const { option , proxy , template: { $setting , $player } } = art;
this.name = "setting";
this.$parent = $setting;
this.option = [];
@@ -4615,15 +4660,15 @@ class Setting extends (0, _componentDefault.default) {
}
case "range":
{
- const $state1 = (0, _utils.createElement)("div");
- (0, _utils.addClass)($state1, "art-setting-item-right-icon");
- const $range = (0, _utils.append)($state1, '
');
+ const $state = (0, _utils.createElement)("div");
+ (0, _utils.addClass)($state, "art-setting-item-right-icon");
+ const $range = (0, _utils.append)($state, '
');
$range.value = item.range[0] || 0;
$range.min = item.range[1] || 0;
$range.max = item.range[2] || 10;
$range.step = item.range[3] || 1;
(0, _utils.addClass)($range, "art-setting-range");
- (0, _utils.append)($right, $state1);
+ (0, _utils.append)($right, $state);
item.$range = $range;
(0, _utils.def)(item, "range", {
configurable: true,
@@ -4638,10 +4683,10 @@ class Setting extends (0, _componentDefault.default) {
break;
case "selector":
if (item.selector && item.selector.length) {
- const $state2 = (0, _utils.createElement)("div");
- (0, _utils.addClass)($state2, "art-setting-item-right-icon");
- (0, _utils.append)($state2, icons.arrowRight);
- (0, _utils.append)($right, $state2);
+ const $state = (0, _utils.createElement)("div");
+ (0, _utils.addClass)($state, "art-setting-item-right-icon");
+ (0, _utils.append)($state, icons.arrowRight);
+ (0, _utils.append)($right, $state);
}
break;
default:
@@ -4659,22 +4704,22 @@ class Setting extends (0, _componentDefault.default) {
case "range":
if (item.$range) {
if (item.onRange) {
- const event1 = proxy(item.$range, "change", async (event)=>{
+ const event = proxy(item.$range, "change", async (event)=>{
item.tooltip = await item.onRange.call(this.art, item, $item, event);
});
- this.events.push(event1);
+ this.events.push(event);
}
if (item.onChange) {
- const event2 = proxy(item.$range, "input", async (event)=>{
+ const event = proxy(item.$range, "input", async (event)=>{
item.tooltip = await item.onChange.call(this.art, item, $item, event);
});
- this.events.push(event2);
+ this.events.push(event);
}
}
break;
case "selector":
{
- const event3 = proxy($item, "click", async (event)=>{
+ const event = proxy($item, "click", async (event)=>{
if (item.selector && item.selector.length) this.init(item.selector, item.width);
else {
(0, _utils.inverseClass)($item, "art-current");
@@ -4689,7 +4734,7 @@ class Setting extends (0, _componentDefault.default) {
}
}
});
- this.events.push(event3);
+ this.events.push(event);
if (item.default) (0, _utils.addClass)($item, "art-current");
}
break;
@@ -4699,7 +4744,7 @@ class Setting extends (0, _componentDefault.default) {
return $item;
}
updateStyle(width) {
- const { controls , constructor , template: { $player , $setting } , } = this.art;
+ const { controls , constructor , template: { $player , $setting } } = this.art;
if (controls.setting) {
const settingWidth = width || constructor.SETTING_WIDTH;
const { left: controlLeft , width: controlWidth } = controls.setting.getBoundingClientRect();
@@ -4726,38 +4771,38 @@ class Setting extends (0, _componentDefault.default) {
(0, _utils.setStyle)(this.$parent, "height", `${$panel.dataset.height}px`);
this.updateStyle(Number($panel.dataset.width));
} else {
- const $panel1 = (0, _utils.createElement)("div");
- (0, _utils.addClass)($panel1, "art-setting-panel");
- $panel1.dataset.width = width || constructor.SETTING_WIDTH;
- $panel1.dataset.height = option.length * constructor.SETTING_ITEM_HEIGHT;
+ const $panel = (0, _utils.createElement)("div");
+ (0, _utils.addClass)($panel, "art-setting-panel");
+ $panel.dataset.width = width || constructor.SETTING_WIDTH;
+ $panel.dataset.height = option.length * constructor.SETTING_ITEM_HEIGHT;
if (option[0] && option[0].$parentItem) {
- (0, _utils.append)($panel1, this.creatHeader(option[0]));
- $panel1.dataset.height = Number($panel1.dataset.height) + constructor.SETTING_ITEM_HEIGHT;
+ (0, _utils.append)($panel, this.creatHeader(option[0]));
+ $panel.dataset.height = Number($panel.dataset.height) + constructor.SETTING_ITEM_HEIGHT;
}
for(let index = 0; index < option.length; index++){
const item = option[index];
- if ((0, _utils.has)(item, "switch")) (0, _utils.append)($panel1, this.creatItem("switch", item));
- else if ((0, _utils.has)(item, "range")) (0, _utils.append)($panel1, this.creatItem("range", item));
- else (0, _utils.append)($panel1, this.creatItem("selector", item));
+ if ((0, _utils.has)(item, "switch")) (0, _utils.append)($panel, this.creatItem("switch", item));
+ else if ((0, _utils.has)(item, "range")) (0, _utils.append)($panel, this.creatItem("range", item));
+ else (0, _utils.append)($panel, this.creatItem("selector", item));
}
- (0, _utils.append)(this.$parent, $panel1);
- this.cache.set(option, $panel1);
- (0, _utils.inverseClass)($panel1, "art-current");
- (0, _utils.setStyle)(this.$parent, "width", `${$panel1.dataset.width}px`);
- (0, _utils.setStyle)(this.$parent, "height", `${$panel1.dataset.height}px`);
- this.updateStyle(Number($panel1.dataset.width));
- if (option[0] && option[0].$parentItem && option[0].$parentItem.mounted) option[0].$parentItem.mounted.call(this.art, $panel1, option[0].$parentItem);
+ (0, _utils.append)(this.$parent, $panel);
+ this.cache.set(option, $panel);
+ (0, _utils.inverseClass)($panel, "art-current");
+ (0, _utils.setStyle)(this.$parent, "width", `${$panel.dataset.width}px`);
+ (0, _utils.setStyle)(this.$parent, "height", `${$panel.dataset.height}px`);
+ this.updateStyle(Number($panel.dataset.width));
+ if (option[0] && option[0].$parentItem && option[0].$parentItem.mounted) option[0].$parentItem.mounted.call(this.art, $panel, option[0].$parentItem);
}
}
}
exports.default = Setting;
-},{"./flip":"cyEw6","./aspectRatio":"l7RGi","./playbackRate":"l9tWN","./subtitleOffset":"lQoyH","../utils/component":"1UWqI","../utils":"euhMG","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"cyEw6":[function(require,module,exports) {
+},{"./flip":"7rVpZ","./aspectRatio":"9hfUt","./playbackRate":"8RIYy","./subtitleOffset":"aVPfi","../utils/component":"bgug2","../utils":"jmgNb","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"7rVpZ":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
var _utils = require("../utils");
function flip(art) {
- const { i18n , icons , constructor: { SETTING_ITEM_WIDTH , FLIP } , } = art;
+ const { i18n , icons , constructor: { SETTING_ITEM_WIDTH , FLIP } } = art;
function update($panel, $tooltip, value) {
if ($tooltip) $tooltip.innerText = i18n.get((0, _utils.capitalize)(value));
const $current = (0, _utils.queryAll)(".art-setting-item", $panel).find((item)=>item.dataset.value === value);
@@ -4789,12 +4834,12 @@ function flip(art) {
}
exports.default = flip;
-},{"../utils":"euhMG","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"l7RGi":[function(require,module,exports) {
+},{"../utils":"jmgNb","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"9hfUt":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
var _utils = require("../utils");
function aspectRatio(art) {
- const { i18n , icons , constructor: { SETTING_ITEM_WIDTH , ASPECT_RATIO } , } = art;
+ const { i18n , icons , constructor: { SETTING_ITEM_WIDTH , ASPECT_RATIO } } = art;
function getI18n(value) {
return value === "default" ? i18n.get("Default") : value;
}
@@ -4829,14 +4874,14 @@ function aspectRatio(art) {
}
exports.default = aspectRatio;
-},{"../utils":"euhMG","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"l9tWN":[function(require,module,exports) {
+},{"../utils":"jmgNb","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"8RIYy":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
var _utils = require("../utils");
function playbackRate(art) {
- const { i18n , icons , constructor: { SETTING_ITEM_WIDTH , PLAYBACK_RATE } , } = art;
+ const { i18n , icons , constructor: { SETTING_ITEM_WIDTH , PLAYBACK_RATE } } = art;
function getI18n(value) {
- return value === 1.0 ? i18n.get("Normal") : value;
+ return value === 1.0 ? i18n.get("Normal") : value.toFixed(1);
}
function update($panel, $tooltip, value) {
if ($tooltip) $tooltip.innerText = getI18n(value);
@@ -4869,7 +4914,7 @@ function playbackRate(art) {
}
exports.default = playbackRate;
-},{"../utils":"euhMG","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"lQoyH":[function(require,module,exports) {
+},{"../utils":"jmgNb","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"aVPfi":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
function subtitleOffset(art) {
@@ -4893,7 +4938,7 @@ function subtitleOffset(art) {
}
exports.default = subtitleOffset;
-},{"@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"9ruid":[function(require,module,exports) {
+},{"@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"feFxw":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
class Storage {
@@ -4938,7 +4983,7 @@ class Storage {
}
exports.default = Storage;
-},{"@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"7Fd4c":[function(require,module,exports) {
+},{"@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"h1hfO":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
var _utils = require("../utils");
@@ -4977,13 +5022,13 @@ class Plugins {
}
exports.default = Plugins;
-},{"../utils":"euhMG","./miniProgressBar":"3al9F","./autoOrientation":"ocofD","./autoPlayback":"6aLII","./fastForward":"i0uB0","./lock":"cuQyc","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"3al9F":[function(require,module,exports) {
+},{"../utils":"jmgNb","./miniProgressBar":"dMA6v","./autoOrientation":"aROGj","./autoPlayback":"kQ2fc","./fastForward":"fgbhT","./lock":"j2mDF","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"dMA6v":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
function miniProgressBar(art) {
art.on("ready", ()=>{
art.layers.add({
- name: "miniProgressBar",
+ name: "mini-progress-bar",
mounted ($progressBar) {
art.on("destroy", ()=>{
$progressBar.style.display = "none";
@@ -4998,17 +5043,17 @@ function miniProgressBar(art) {
});
});
return {
- name: "miniProgressBar"
+ name: "mini-progress-bar"
};
}
exports.default = miniProgressBar;
-},{"@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"ocofD":[function(require,module,exports) {
+},{"@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"aROGj":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
var _utils = require("../utils");
function autoOrientation(art) {
- const { option , constructor , template: { $player , $video } , } = art;
+ const { option , constructor , template: { $player , $video } } = art;
art.on("fullscreenWeb", (state)=>{
if (state) {
const { videoWidth , videoHeight } = $video;
@@ -5060,23 +5105,23 @@ function autoOrientation(art) {
}
exports.default = autoOrientation;
-},{"../utils":"euhMG","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"6aLII":[function(require,module,exports) {
+},{"../utils":"jmgNb","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"kQ2fc":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
var _utils = require("../utils");
function autoPlayback(art) {
- const { i18n , icons , storage , constructor , proxy , template: { $poster } , } = art;
+ const { i18n , icons , storage , constructor , proxy , template: { $poster } } = art;
const $autoPlayback = art.layers.add({
- name: "autoPlayback",
+ name: "auto-playback",
html: `
-
-
-
+
+
+
`
});
- const $last = (0, _utils.query)(".art-autoPlayback-last", $autoPlayback);
- const $jump = (0, _utils.query)(".art-autoPlayback-jump", $autoPlayback);
- const $close = (0, _utils.query)(".art-autoPlayback-close", $autoPlayback);
+ const $last = (0, _utils.query)(".art-auto-playback-last", $autoPlayback);
+ const $jump = (0, _utils.query)(".art-auto-playback-jump", $autoPlayback);
+ const $close = (0, _utils.query)(".art-auto-playback-close", $autoPlayback);
art.on("video:timeupdate", ()=>{
const times = storage.get("times") || {};
const keys = Object.keys(times);
@@ -5109,7 +5154,7 @@ function autoPlayback(art) {
}
});
return {
- name: "autoPlayback",
+ name: "auto-playback",
get times () {
return storage.get("times") || {};
},
@@ -5126,12 +5171,12 @@ function autoPlayback(art) {
}
exports.default = autoPlayback;
-},{"../utils":"euhMG","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"i0uB0":[function(require,module,exports) {
+},{"../utils":"jmgNb","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"fgbhT":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
var _utils = require("../utils");
function fastForward(art) {
- const { constructor , proxy , template: { $player , $video } , } = art;
+ const { constructor , proxy , template: { $player , $video } } = art;
let timer = null;
let isPress = false;
let lastPlaybackRate = 1;
@@ -5163,12 +5208,12 @@ function fastForward(art) {
}
exports.default = fastForward;
-},{"../utils":"euhMG","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"cuQyc":[function(require,module,exports) {
+},{"../utils":"jmgNb","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"j2mDF":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
var _utils = require("../utils");
function lock(art) {
- const { layers , icons , template: { $player } , } = art;
+ const { layers , icons , template: { $player } } = art;
layers.add({
name: "lock",
mounted ($el) {
@@ -5206,7 +5251,7 @@ function lock(art) {
}
exports.default = lock;
-},{"../utils":"euhMG","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"hMVZh":[function(require,module,exports) {
+},{"../utils":"jmgNb","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"c9n1Y":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
var _config = require("./config");
@@ -5214,7 +5259,7 @@ var _configDefault = parcelHelpers.interopDefault(_config);
var _utils = require("./utils");
class Mobile {
constructor(art){
- const { option , proxy , template: { $video } , } = art;
+ const { option , proxy , template: { $video } } = art;
for(let index = 0; index < (0, _configDefault.default).events.length; index++)proxy($video, (0, _configDefault.default).events[index], (event)=>{
art.emit(`video:${event.type}`, event);
});
@@ -5241,6 +5286,6 @@ class Mobile {
}
exports.default = Mobile;
-},{"./config":"1hSww","./utils":"euhMG","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}]},["gEVO5"], "gEVO5", "parcelRequireb749")
+},{"./config":"2ZnKD","./utils":"jmgNb","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}]},["eFv8l"], "eFv8l", "parcelRequire4dc0")
//# sourceMappingURL=index.js.map
diff --git a/docs/uncompiled/artplayer/index.js.map b/docs/uncompiled/artplayer/index.js.map
index ac21557ed..5f11c8ded 100644
--- a/docs/uncompiled/artplayer/index.js.map
+++ b/docs/uncompiled/artplayer/index.js.map
@@ -1 +1 @@
-{"mappings":"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","sources":["src/index.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-69e96c3fa7536383.js","../../node_modules/option-validator/dist/option-validator.js","src/utils/emitter.js","../../node_modules/@parcel/transformer-js/src/esmodule-helpers.js","src/utils/index.js","src/utils/dom.js","src/utils/compatibility.js","src/utils/error.js","src/utils/subtitle.js","src/utils/file.js","src/utils/property.js","src/utils/time.js","src/utils/format.js","src/scheme/index.js","src/config/index.js","src/whitelist.js","src/template.js","src/i18n/index.js","src/i18n/zh-cn.json","src/i18n/zh-tw.json","src/i18n/pl.json","src/i18n/cs.json","src/i18n/es.json","src/i18n/fa.json","src/i18n/fr.json","src/player/index.js","src/player/urlMix.js","src/player/attrMix.js","src/player/playMix.js","src/player/pauseMix.js","src/player/toggleMix.js","src/player/seekMix.js","src/player/volumeMix.js","src/player/currentTimeMix.js","src/player/durationMix.js","src/player/switchMix.js","src/player/playbackRateMix.js","src/player/aspectRatioMix.js","src/player/screenshotMix.js","src/player/fullscreenMix.js","src/libs/screenfull.js","src/player/fullscreenWebMix.js","src/player/pipMix.js","src/player/loadedMix.js","src/player/playedMix.js","src/player/playingMix.js","src/player/autoSizeMix.js","src/player/rectMix.js","src/player/flipMix.js","src/player/miniMix.js","src/player/loopMix.js","src/player/posterMix.js","src/player/autoHeightMix.js","src/player/themeMix.js","src/player/titleMix.js","src/player/typeMix.js","src/player/normalSizeMix.js","src/player/subtitleOffsetMix.js","src/player/airplayMix.js","src/player/optionInit.js","src/player/eventInit.js","src/control/index.js","src/utils/component.js","src/control/fullscreen.js","src/control/fullscreenWeb.js","src/control/pip.js","src/control/playAndPause.js","src/control/progress.js","src/control/time.js","src/control/volume.js","src/control/setting.js","src/control/thumbnails.js","src/control/screenshot.js","src/control/quality.js","src/control/loop.js","src/control/airplay.js","src/contextmenu/index.js","src/contextmenu/playbackRate.js","src/contextmenu/aspectRatio.js","src/contextmenu/flip.js","src/contextmenu/info.js","src/contextmenu/version.js","src/contextmenu/close.js","src/info.js","src/subtitle.js","src/events/index.js","src/events/clickInit.js","src/events/hoverInit.js","src/events/mousemoveInit.js","src/events/resizeInit.js","src/events/gestureInit.js","src/events/viewInit.js","src/hotkey.js","src/layer.js","src/loading.js","src/notice.js","src/mask.js","src/icons/index.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-ecdbf838d74e57be.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-54153e61fb5bb59e.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-acd9c8a15e5af94e.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-4a1a1b2a0b6fbf4b.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-0b713ca3133ce605.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-89c8adbbaba362ee.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-78d03e4d67adcefe.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-83e079c6ec1651fb.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-41b1c8dc2901aa37.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-9d1d2012e3785443.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-b19b3963900f7fad.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-58aa657e426937b1.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-a814886828c89b2f.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-b7f6071f9505bc10.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-e15fde0582bfd9f7.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-36a8bda2492ab98f.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-b49d00c3cf63eb04.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-eba160473d5b22bb.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-157bffb3dfbca2dd.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-2430dce770288e00.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-3372f0db6fb5622f.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-7859caf7292d907e.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-d246b61545406f36.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-a196bd512ee60009.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-f25e38cc9707a31c.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-82ca12a261609184.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-ecb038bdb0a9803d.js","src/setting/index.js","src/setting/flip.js","src/setting/aspectRatio.js","src/setting/playbackRate.js","src/setting/subtitleOffset.js","src/storage.js","src/plugins/index.js","src/plugins/miniProgressBar.js","src/plugins/autoOrientation.js","src/plugins/autoPlayback.js","src/plugins/fastForward.js","src/plugins/lock.js","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 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 },\n moreVideoAttr: {\n controls: false,\n preload: utils.isSafari ? 'auto' : 'metadata',\n },\n i18n: {},\n icons: {},\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.INDICATOR_SIZE = 14;\nArtplayer.INDICATOR_SIZE_ICON = 16;\nArtplayer.INDICATOR_SIZE_MOBILE = 18;\nArtplayer.INDICATOR_SIZE_MOBILE_ICON = 20;\nArtplayer.VOLUME_PANEL_WIDTH = 60;\nArtplayer.VOLUME_HANDLE_WIDTH = 12;\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.DB_CLICE_TIME = 300;\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.PROGRESS_HEIGHT = 6;\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 = \"2863152d1da16a13\";","!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
{\n setStyle(element, key, styles[key]);\n });\n return element;\n}\n\nexport function getStyle(element, key, numberType = true) {\n const value = window.getComputedStyle(element, null).getPropertyValue(key);\n return numberType ? parseFloat(value) : value;\n}\n\nexport function sublings(target) {\n return Array.from(target.parentElement.children).filter((item) => item !== target);\n}\n\nexport function inverseClass(target, className) {\n sublings(target).forEach((item) => removeClass(item, className));\n addClass(target, className);\n}\n\nexport function tooltip(target, msg, pos = 'top') {\n if (isMobile) return;\n target.setAttribute('aria-label', msg);\n addClass(target, 'hint--rounded');\n addClass(target, `hint--${pos}`);\n}\n\nexport function isInViewport(el, offset = 0) {\n const rect = el.getBoundingClientRect();\n const windowHeight = window.innerHeight || document.documentElement.clientHeight;\n const windowWidth = window.innerWidth || document.documentElement.clientWidth;\n const vertInView = rect.top - offset <= windowHeight && rect.top + rect.height + offset >= 0;\n const horInView = rect.left - offset <= windowWidth + offset && rect.left + rect.width + offset >= 0;\n return vertInView && horInView;\n}\n\nexport function includeFromEvent(event, target) {\n return event.composedPath && event.composedPath().indexOf(target) > -1;\n}\n\nexport function replaceElement(newChild, oldChild) {\n oldChild.parentNode.replaceChild(newChild, oldChild);\n return newChild;\n}\n\nexport function createElement(tag) {\n return document.createElement(tag);\n}\n","export const userAgent = typeof window !== 'undefined' ? window.navigator.userAgent : '';\nexport const isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(userAgent);\nexport const isSafari = /^((?!chrome|android).)*safari/i.test(userAgent);\nexport const isWechat = /MicroMessenger/i.test(userAgent);\nexport const isIE = /MSIE|Trident/i.test(userAgent);\nexport const isAndroid = /android/i.test(userAgent);\nexport const isIOS = /iPad|iPhone|iPod/i.test(userAgent) && !window.MSStream;\n","export class ArtPlayerError extends Error {\n constructor(message, context) {\n super(message);\n if (typeof Error.captureStackTrace === 'function') {\n Error.captureStackTrace(this, context || this.constructor);\n }\n this.name = 'ArtPlayerError';\n }\n}\n\nexport function errorHandle(condition, msg) {\n if (!condition) {\n throw new ArtPlayerError(msg);\n }\n return condition;\n}\n","function fixSrt(srt) {\n return srt.replace(/(\\d\\d:\\d\\d:\\d\\d)[,.](\\d+)/g, (_, $1, $2) => {\n let ms = $2.slice(0, 3);\n if ($2.length === 1) {\n ms = $2 + '00';\n }\n if ($2.length === 2) {\n ms = $2 + '0';\n }\n return `${$1},${ms}`;\n });\n}\n\nexport function srtToVtt(srtText) {\n return 'WEBVTT \\r\\n\\r\\n'.concat(\n fixSrt(srtText)\n .replace(/\\{\\\\([ibu])\\}/g, '$1>')\n .replace(/\\{\\\\([ibu])1\\}/g, '<$1>')\n .replace(/\\{([ibu])\\}/g, '<$1>')\n .replace(/\\{\\/([ibu])\\}/g, '$1>')\n .replace(/(\\d\\d:\\d\\d:\\d\\d),(\\d\\d\\d)/g, '$1.$2')\n .replace(/{[\\s\\S]*?}/g, '')\n .concat('\\r\\n\\r\\n'),\n );\n}\n\nexport function vttToBlob(vttText) {\n return URL.createObjectURL(\n new Blob([vttText], {\n type: 'text/vtt',\n }),\n );\n}\n\nexport function assToVtt(ass) {\n const reAss = new RegExp(\n 'Dialogue:\\\\s\\\\d,' +\n '(\\\\d+:\\\\d\\\\d:\\\\d\\\\d.\\\\d\\\\d),' +\n '(\\\\d+:\\\\d\\\\d:\\\\d\\\\d.\\\\d\\\\d),' +\n '([^,]*),' +\n '([^,]*),' +\n '(?:[^,]*,){4}' +\n '([\\\\s\\\\S]*)$',\n 'i',\n );\n\n function fixTime(time = '') {\n return time\n .split(/[:.]/)\n .map((item, index, arr) => {\n if (index === arr.length - 1) {\n if (item.length === 1) {\n return `.${item}00`;\n }\n\n if (item.length === 2) {\n return `.${item}0`;\n }\n } else if (item.length === 1) {\n return (index === 0 ? '0' : ':0') + item;\n }\n\n // eslint-disable-next-line no-nested-ternary\n return index === 0 ? item : index === arr.length - 1 ? `.${item}` : `:${item}`;\n })\n .join('');\n }\n\n return `WEBVTT\\n\\n${ass\n .split(/\\r?\\n/)\n .map((line) => {\n const m = line.match(reAss);\n if (!m) return null;\n return {\n start: fixTime(m[1].trim()),\n end: fixTime(m[2].trim()),\n text: m[5]\n .replace(/{[\\s\\S]*?}/g, '')\n .replace(/(\\\\N)/g, '\\n')\n .trim()\n .split(/\\r?\\n/)\n .map((item) => item.trim())\n .join('\\n'),\n };\n })\n .filter((line) => line)\n .map((line, index) => {\n if (line) {\n return `${index + 1}\\n${line.start} --> ${line.end}\\n${line.text}`;\n }\n return '';\n })\n .filter((line) => line.trim())\n .join('\\n\\n')}`;\n}\n","export function getExt(url) {\n if (url.includes('?')) {\n return getExt(url.split('?')[0]);\n }\n\n if (url.includes('#')) {\n return getExt(url.split('#')[0]);\n }\n\n return url.trim().toLowerCase().split('.').pop();\n}\n\nexport function download(url, name) {\n const elink = document.createElement('a');\n elink.style.display = 'none';\n elink.href = url;\n elink.download = name;\n document.body.appendChild(elink);\n elink.click();\n document.body.removeChild(elink);\n}\n","export const def = Object.defineProperty;\n\nconst { hasOwnProperty } = Object.prototype;\nexport function has(obj, name) {\n return hasOwnProperty.call(obj, name);\n}\n\nexport function get(obj, name) {\n return Object.getOwnPropertyDescriptor(obj, name);\n}\n\nexport function mergeDeep(...objects) {\n const isObject = (item) => item && typeof item === 'object' && !Array.isArray(item);\n return objects.reduce((prev, obj) => {\n Object.keys(obj).forEach((key) => {\n const pVal = prev[key];\n const oVal = obj[key];\n if (Array.isArray(pVal) && Array.isArray(oVal)) {\n prev[key] = pVal.concat(...oVal);\n } else if (isObject(pVal) && isObject(oVal) && !(oVal instanceof Element)) {\n prev[key] = mergeDeep(pVal, oVal);\n } else {\n prev[key] = oVal;\n }\n });\n return prev;\n }, {});\n}\n","export function sleep(ms = 0) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\nexport function debounce(func, wait, context) {\n let timeout;\n function fn(...args) {\n const later = function later() {\n timeout = null;\n func.apply(context, args);\n };\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n }\n\n fn.clearTimeout = function ct() {\n clearTimeout(timeout);\n };\n\n return fn;\n}\n\nexport function throttle(callback, delay) {\n let isThrottled = false;\n let args;\n let context;\n function fn(...args2) {\n if (isThrottled) {\n args = args2;\n context = this;\n return;\n }\n\n isThrottled = true;\n callback.apply(this, args2);\n setTimeout(() => {\n isThrottled = false;\n if (args) {\n fn.apply(context, args);\n args = null;\n context = null;\n }\n }, delay);\n }\n return fn;\n}\n","export function clamp(num, a, b) {\n return Math.max(Math.min(num, Math.max(a, b)), Math.min(a, b));\n}\n\nexport function capitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\n\nexport function isStringOrNumber(val) {\n return ['string', 'number'].includes(typeof val);\n}\n\nexport function secondToTime(second) {\n const add0 = (num) => (num < 10 ? `0${num}` : String(num));\n const hour = Math.floor(second / 3600);\n const min = Math.floor((second - hour * 3600) / 60);\n const sec = Math.floor(second - hour * 3600 - min * 60);\n return (hour > 0 ? [hour, min, sec] : [min, sec]).map(add0).join(':');\n}\n\nexport function escape(str) {\n return str.replace(\n /[&<>'\"]/g,\n (tag) =>\n ({\n '&': '&',\n '<': '<',\n '>': '>',\n \"'\": ''',\n '\"': '"',\n }[tag] || tag),\n );\n}\n","import { errorHandle } from '../utils';\n\nconst a = 'array';\nconst b = 'boolean';\nconst s = 'string';\nconst n = 'number';\nconst o = 'object';\nconst f = 'function';\nconst r = 'regexp';\n\nfunction validElement(value, type, paths) {\n return errorHandle(\n type === s || type === n || value instanceof Element,\n `${paths.join('.')} require '${s}' or 'Element' type`,\n );\n}\n\nexport const ComponentOption = {\n html: validElement,\n disable: `?${b}`,\n name: `?${s}`,\n index: `?${n}`,\n style: `?${o}`,\n click: `?${f}`,\n mounted: `?${f}`,\n tooltip: `?${s}|${n}`,\n width: `?${n}`,\n selector: `?${a}`,\n onSelect: `?${f}`,\n switch: `?${b}`,\n onSwitch: `?${f}`,\n range: `?${a}`,\n onRange: `?${f}`,\n onChange: `?${f}`,\n};\n\nexport default {\n id: s,\n container: validElement,\n url: s,\n poster: s,\n title: s,\n type: s,\n theme: s,\n lang: s,\n volume: n,\n isLive: b,\n muted: b,\n autoplay: b,\n autoSize: b,\n autoMini: b,\n loop: b,\n flip: b,\n playbackRate: b,\n aspectRatio: b,\n screenshot: b,\n setting: b,\n hotkey: b,\n pip: b,\n mutex: b,\n backdrop: b,\n fullscreen: b,\n fullscreenWeb: b,\n subtitleOffset: b,\n miniProgressBar: b,\n useSSR: b,\n playsInline: b,\n lock: b,\n fastForward: b,\n autoPlayback: b,\n autoOrientation: b,\n airplay: b,\n plugins: [f],\n whitelist: [`${s}|${f}|${r}`],\n layers: [ComponentOption],\n contextmenu: [ComponentOption],\n settings: [ComponentOption],\n controls: [\n {\n ...ComponentOption,\n position: (value, _, paths) => {\n const position = ['top', 'left', 'right'];\n return errorHandle(\n position.includes(value),\n `${paths.join('.')} only accept ${position.toString()} as parameters`,\n );\n },\n },\n ],\n quality: [\n {\n default: `?${b}`,\n html: s,\n url: s,\n },\n ],\n highlight: [\n {\n time: n,\n text: s,\n },\n ],\n thumbnails: {\n url: s,\n number: n,\n column: n,\n width: n,\n height: n,\n },\n subtitle: {\n url: s,\n type: s,\n style: o,\n escape: b,\n encoding: s,\n },\n moreVideoAttr: o,\n i18n: o,\n icons: o,\n customType: o,\n};\n","export default {\n propertys: [\n 'audioTracks',\n 'autoplay',\n 'buffered',\n 'controller',\n 'controls',\n 'crossOrigin',\n 'currentSrc',\n 'currentTime',\n 'defaultMuted',\n 'defaultPlaybackRate',\n 'duration',\n 'ended',\n 'error',\n 'loop',\n 'mediaGroup',\n 'muted',\n 'networkState',\n 'paused',\n 'playbackRate',\n 'played',\n 'preload',\n 'readyState',\n 'seekable',\n 'seeking',\n 'src',\n 'startDate',\n 'textTracks',\n 'videoTracks',\n 'volume',\n ],\n methods: ['addTextTrack', 'canPlayType', 'load', 'play', 'pause'],\n events: [\n 'abort',\n 'canplay',\n 'canplaythrough',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'loadeddata',\n 'loadedmetadata',\n 'loadstart',\n 'pause',\n 'play',\n 'playing',\n 'progress',\n 'ratechange',\n 'seeked',\n 'seeking',\n 'stalled',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'waiting',\n ],\n prototypes: [\n 'width',\n 'height',\n 'videoWidth',\n 'videoHeight',\n 'poster',\n 'webkitDecodedFrameCount',\n 'webkitDroppedFrameCount',\n 'playsInline',\n 'webkitSupportsFullscreen',\n 'webkitDisplayingFullscreen',\n 'onenterpictureinpicture',\n 'onleavepictureinpicture',\n 'disablePictureInPicture',\n 'cancelVideoFrameCallback',\n 'requestVideoFrameCallback',\n 'getVideoPlaybackQuality',\n 'requestPictureInPicture',\n 'webkitEnterFullScreen',\n 'webkitEnterFullscreen',\n 'webkitExitFullScreen',\n 'webkitExitFullscreen',\n ],\n};\n","import { userAgent, isMobile } from './utils';\n\nexport default class Whitelist {\n constructor(art) {\n this.art = art;\n }\n\n get state() {\n const {\n option,\n constructor: { kindOf },\n } = this.art;\n\n return (\n !isMobile ||\n !option.whitelist.length ||\n option.whitelist.some((item) => {\n switch (kindOf(item)) {\n case 'string':\n return item === '*' || userAgent.indexOf(item) > -1;\n case 'function':\n return item(userAgent);\n case 'regexp':\n return item.test(userAgent);\n default:\n return false;\n }\n })\n );\n }\n}\n","import { errorHandle, query, addClass, replaceElement, isMobile } from './utils';\n\nexport default class Template {\n constructor(art) {\n this.art = art;\n const { option, constructor, whitelist } = art;\n\n if (option.container instanceof Element) {\n this.$container = option.container;\n } else {\n this.$container = query(option.container);\n errorHandle(this.$container, `No container element found by ${option.container}`);\n }\n\n const type = this.$container.tagName.toLowerCase();\n errorHandle(type === 'div', `Unsupported container element type, only support 'div' but got '${type}'`);\n\n errorHandle(\n constructor.instances.every((ins) => ins.template.$container !== this.$container),\n 'Cannot mount multiple instances on the same dom element',\n );\n\n this.query = this.query.bind(this);\n this.$container.dataset.artId = art.id;\n this.$original = this.$container.cloneNode(true);\n\n if (whitelist.state) {\n this.desktop();\n } else {\n this.mobile();\n }\n }\n\n static get html() {\n return `\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Player version:
\n
${process.env.APP_VER}
\n
\n
\n
\n
\n
\n
\n
Video resolution:
\n
\n x \n
\n
\n
\n
[x]
\n
\n \n \n
\n `;\n }\n\n query(className) {\n return query(className, this.$container);\n }\n\n desktop() {\n const { option } = this.art;\n\n if (!option.useSSR) {\n this.$container.innerHTML = Template.html;\n }\n\n this.$player = this.query('.art-video-player');\n this.$video = this.query('.art-video');\n this.$track = this.query('track');\n this.$poster = this.query('.art-poster');\n this.$subtitle = this.query('.art-subtitle');\n this.$danmuku = this.query('.art-danmuku');\n this.$bottom = this.query('.art-bottom');\n this.$progress = this.query('.art-progress');\n this.$controls = this.query('.art-controls');\n this.$controlsLeft = this.query('.art-controls-left');\n this.$controlsCenter = this.query('.art-controls-center');\n this.$controlsRight = this.query('.art-controls-right');\n this.$layer = this.query('.art-layers');\n this.$loading = this.query('.art-loading');\n this.$notice = this.query('.art-notice');\n this.$noticeInner = this.query('.art-notice-inner');\n this.$mask = this.query('.art-mask');\n this.$state = this.query('.art-state');\n this.$setting = this.query('.art-settings');\n this.$info = this.query('.art-info');\n this.$infoPanel = this.query('.art-info-panel');\n this.$infoClose = this.query('.art-info-close');\n this.$miniHeader = this.query('.art-mini-header');\n this.$miniTitle = this.query('.art-mini-title');\n this.$miniClose = this.query('.art-mini-close');\n this.$contextmenu = this.query('.art-contextmenus');\n\n if (option.backdrop) {\n addClass(this.$setting, 'art-backdrop-filter');\n addClass(this.$contextmenu, 'art-backdrop-filter');\n addClass(this.$info, 'art-backdrop-filter');\n }\n\n if (isMobile) {\n addClass(this.$player, 'art-mobile');\n }\n }\n\n mobile() {\n this.$container.innerHTML = `\n \n \n
\n `;\n this.$player = this.query('.art-video-player');\n this.$video = this.query('.art-video');\n }\n\n destroy(removeHtml) {\n if (removeHtml) {\n replaceElement(this.$original, this.$container);\n } else {\n addClass(this.$player, 'art-destroy');\n }\n }\n}\n","import { mergeDeep } from '../utils';\nimport zhCn from './zh-cn.json';\nimport zhTw from './zh-tw.json';\nimport pl from './pl.json';\nimport cs from './cs.json';\nimport es from './es.json';\nimport fa from './fa.json';\nimport fr from './fr.json';\n\nexport default class I18n {\n constructor(art) {\n this.art = art;\n\n this.languages = {\n 'zh-cn': zhCn,\n 'zh-tw': zhTw,\n pl: pl,\n cs: cs,\n es: es,\n fa: fa,\n fr: fr,\n };\n\n this.update(art.option.i18n);\n }\n\n init() {\n const lang = this.art.option.lang.toLowerCase();\n this.language = this.languages[lang] || {};\n }\n\n get(key) {\n return this.language[key] || key;\n }\n\n update(value) {\n this.languages = mergeDeep(this.languages, value);\n this.init();\n }\n}\n","{\n \"Video Info\": \"统计信息\",\n \"Close\": \"关闭\",\n \"Video Load Failed\": \"加载失败\",\n \"Volume\": \"音量\",\n \"Play\": \"播放\",\n \"Pause\": \"暂停\",\n \"Rate\": \"速度\",\n \"Mute\": \"静音\",\n \"Video Flip\": \"画面翻转\",\n \"Horizontal\": \"水平\",\n \"Vertical\": \"垂直\",\n \"Reconnect\": \"重新连接\",\n \"Show Setting\": \"显示设置\",\n \"Hide Setting\": \"隐藏设置\",\n \"Screenshot\": \"截图\",\n \"Play Speed\": \"播放速度\",\n \"Aspect Ratio\": \"画面比例\",\n \"Default\": \"默认\",\n \"Normal\": \"正常\",\n \"Open\": \"打开\",\n \"Switch Video\": \"切换\",\n \"Switch Subtitle\": \"切换字幕\",\n \"Fullscreen\": \"全屏\",\n \"Exit Fullscreen\": \"退出全屏\",\n \"Web Fullscreen\": \"网页全屏\",\n \"Exit Web Fullscreen\": \"退出网页全屏\",\n \"Mini Player\": \"迷你播放器\",\n \"PIP Mode\": \"开启画中画\",\n \"Exit PIP Mode\": \"退出画中画\",\n \"PIP Not Supported\": \"不支持画中画\",\n \"Fullscreen Not Supported\": \"不支持全屏\",\n \"Subtitle Offset\": \"字幕偏移\",\n \"Last Seen\": \"上次看到\",\n \"Jump Play\": \"跳转播放\",\n \"AirPlay\": \"隔空播放\",\n \"AirPlay Not Available\": \"隔空播放不可用\"\n}\n","{\n \"Video Info\": \"統計訊息\",\n \"Close\": \"關閉\",\n \"Video Load Failed\": \"載入失敗\",\n \"Volume\": \"音量\",\n \"Play\": \"播放\",\n \"Pause\": \"暫停\",\n \"Rate\": \"速度\",\n \"Mute\": \"靜音\",\n \"Video Flip\": \"畫面翻轉\",\n \"Horizontal\": \"水平\",\n \"Vertical\": \"垂直\",\n \"Reconnect\": \"重新連接\",\n \"Show Setting\": \"顯示设置\",\n \"Hide Setting\": \"隱藏设置\",\n \"Screenshot\": \"截圖\",\n \"Play Speed\": \"播放速度\",\n \"Aspect Ratio\": \"畫面比例\",\n \"Default\": \"默認\",\n \"Normal\": \"正常\",\n \"Open\": \"打開\",\n \"Switch Video\": \"切換\",\n \"Switch Subtitle\": \"切換字幕\",\n \"Fullscreen\": \"全屏\",\n \"Exit Fullscreen\": \"退出全屏\",\n \"Web Fullscreen\": \"網頁全屏\",\n \"Exit Web Fullscreen\": \"退出網頁全屏\",\n \"Mini Player\": \"迷你播放器\",\n \"PIP Mode\": \"開啟畫中畫\",\n \"Exit PIP Mode\": \"退出畫中畫\",\n \"PIP Not Supported\": \"不支持畫中畫\",\n \"Fullscreen Not Supported\": \"不支持全屏\",\n \"Subtitle Offset\": \"字幕偏移\",\n \"Last Seen\": \"上次看到\",\n \"Jump Play\": \"跳轉播放\",\n \"AirPlay\": \"隔空播放\",\n \"AirPlay Not Available\": \"隔空播放不可用\"\n}\n","{\n \"Video Info\": \"Informacje o wideo\",\n \"Close\": \"Zamknij\",\n \"Video Load Failed\": \"Błąd ładowania wideo\",\n \"Volume\": \"Głośność\",\n \"Play\": \"Odtwórz\",\n \"Pause\": \"Wstrzymaj\",\n \"Rate\": \"Oceń\",\n \"Mute\": \"Wycisz\",\n \"Video Flip\": \"Rotacja wideo\",\n \"Horizontal\": \"Pozioma\",\n \"Vertical\": \"Pionowa\",\n \"Reconnect\": \"Połącz ponownie\",\n \"Show Setting\": \"Pokaż ustawienia\",\n \"Hide Setting\": \"Ukryj ustawienia\",\n \"Screenshot\": \"Zrzut ekranu\",\n \"Play Speed\": \"Prędkość odtwarzania\",\n \"Aspect Ratio\": \"Współczynnik proporcji\",\n \"Default\": \"Domyślny\",\n \"Normal\": \"Normalny\",\n \"Open\": \"Otwórz\",\n \"Switch Video\": \"Przełącz wideo\",\n \"Switch Subtitle\": \"Przełącz napisy\",\n \"Fullscreen\": \"Pełny ekran\",\n \"Exit Fullscreen\": \"Zamknij pełny ekran\",\n \"Web Fullscreen\": \"Tryb pełnej strony\",\n \"Exit Web Fullscreen\": \"Zamknij tryb pełnej strony\",\n \"Mini Player\": \"Miniodtwarzacz\",\n \"PIP Mode\": \"Tryb PiP\",\n \"Exit PIP Mode\": \"Zamknij tryb PiP\",\n \"PIP Not Supported\": \"Tryb PiP nieobsługiwany\",\n \"Fullscreen Not Supported\": \"Pełny ekran nieobsługiwany\",\n \"Subtitle Offset\": \"Przesunięcie napisów\",\n \"Last Seen\": \"Ostatnio widziany\",\n \"Jump Play\": \"Skocz do gry\",\n \"AirPlay\": \"AirPlay\",\n \"AirPlay Not Available\": \"AirPlay nie jest dostępny\"\n}\n","{\n \"Video Info\": \"Info o videu\",\n \"Close\": \"Zavřít\",\n \"Video Load Failed\": \"Nahrání videa selhalo\",\n \"Volume\": \"Hlasitost\",\n \"Play\": \"Přehrát\",\n \"Pause\": \"Pozastavit\",\n \"Rate\": \"Hodnocení\",\n \"Mute\": \"Ztlumit\",\n \"Video Flip\": \"Otočit video\",\n \"Horizontal\": \"Horizontálně\",\n \"Vertical\": \"Vertikálně\",\n \"Reconnect\": \"Opětovné připojení\",\n \"Show Setting\": \"Zobrazit nastavení\",\n \"Hide Setting\": \"Skrýt nastavení\",\n \"Screenshot\": \"Snímek obrazovky\",\n \"Play Speed\": \"Rychlost přehrávání\",\n \"Aspect Ratio\": \"Poměr stran\",\n \"Default\": \"Výchozí\",\n \"Normal\": \"Normální\",\n \"Open\": \"Otevřít\",\n \"Switch Video\": \"Přepnout video\",\n \"Switch Subtitle\": \"Přepnout titulky\",\n \"Fullscreen\": \"Celá obrazovka\",\n \"Exit Fullscreen\": \"Opustit režim celé obrazovky\",\n \"Web Fullscreen\": \"Celá stránka\",\n \"Exit Web Fullscreen\": \"Zavřít režim celé stránky\",\n \"Mini Player\": \"Mini přehrávač\",\n \"PIP Mode\": \"Režim PIP\",\n \"Exit PIP Mode\": \"Opustit režim PIP\",\n \"PIP Not Supported\": \"Režim PIP není podporován\",\n \"Fullscreen Not Supported\": \"Režim celé obrazovky není podporován\",\n \"Subtitle Offset\": \"Posun titulků\",\n \"Last Seen\": \"Naposledy viděn\",\n \"Jump Play\": \"Hra na skok\",\n \"AirPlay\": \"AirPlay\",\n \"AirPlay Not Available\": \"AirPlay není k dispozici\"\n}\n","{\n \"Video Info\": \"Información del video\",\n \"Close\": \"Cerrar\",\n \"Video Load Failed\": \"Falló carga de video\",\n \"Volume\": \"Volumen\",\n \"Play\": \"Reproduciendo\",\n \"Pause\": \"Pausa\",\n \"Rate\": \"Velocidad\",\n \"Mute\": \"Silencio\",\n \"Video Flip\": \"Rotar video\",\n \"Horizontal\": \"Horizontal\",\n \"Vertical\": \"Vertical\",\n \"Reconnect\": \"Reconectando\",\n \"Show Setting\": \"Mostrar ajustes\",\n \"Hide Setting\": \"Ocultar ajustes\",\n \"Screenshot\": \"Captura de Pantalla\",\n \"Play Speed\": \"Velocidad de reproducción\",\n \"Aspect Ratio\": \"Relación de aspecto\",\n \"Default\": \"Por defecto\",\n \"Normal\": \"Normal\",\n \"Open\": \"Abrir\",\n \"Switch Video\": \"Cambiar video\",\n \"Switch Subtitle\": \"Cambiar subtítulo\",\n \"Fullscreen\": \"Pantalla completa\",\n \"Exit Fullscreen\": \"Salir de Pantalla completa\",\n \"Web Fullscreen\": \"Pantalla completa Web\",\n \"Exit Web Fullscreen\": \"Salir de Pantalla completa\",\n \"Mini Player\": \"Mini reproductor\",\n \"PIP Mode\": \"Modo PiP\",\n \"Exit PIP Mode\": \"Cerrar modo PiP\",\n \"PIP Not Supported\": \"Modo PiP no compatible\",\n \"Fullscreen Not Supported\": \"Pantalla completa no soportada\",\n \"Subtitle Offset\": \"Ajuste subtítulo\",\n \"Last Seen\": \"Visto última vez\",\n \"Jump Play\": \"Saltar\",\n \"AirPlay\": \"AirPlay\",\n \"AirPlay Not Available\": \"AirPlay no disponible\"\n}\n","{\n \"Video Info\": \"اطلاعات ویدیو\",\n \"Close\": \"بستن\",\n \"Video Load Failed\": \"بارگذاری ناموفق\",\n \"Play\": \"پخش\",\n \"Volume\": \"میزان صدا\",\n \"Pause\": \"توقف\",\n \"Rate\": \"نرخ\",\n \"Mute\": \"سکوت\",\n \"Video Flip\": \"چرخش تصویر\",\n \"Horizontal\": \"افقی\",\n \"Vertical\": \"عمودی\",\n \"Reconnect\": \"اتصال مجدد\",\n \"Show Setting\": \"تنظیمات\",\n \"Hide Setting\": \"بستن تنظیمات\",\n \"Screenshot\": \"عکس از صفحه\",\n \"Play Speed\": \"سرعت پخش\",\n \"Aspect Ratio\": \"نسبت تصویر\",\n \"Default\": \"حالت پیشفرض\",\n \"Normal\": \" حالت عادی\",\n \"Open\": \"بازکردن\",\n \"Switch Video\": \"تغییر ویدیو\",\n \"Switch Subtitle\": \"نغییر زیرنویس\",\n \"Fullscreen\": \"تمام صفحه\",\n \"Exit Fullscreen\": \"کوچک کردن\",\n \"Web Fullscreen\": \"حالت تئاتر\",\n \"Exit Web Fullscreen\": \"خروج از حالت تئاتر\",\n \"Mini Player\": \"حالت پخش کوچک\",\n \"PIP Mode\": \" مینی پلیر\",\n \"Exit PIP Mode\": \"خروج از مینی پلیر\",\n \"PIP Not Supported\": \"عدم پشتیبانی از مینی پلیر\",\n \"Fullscreen Not Supported\": \"عدم پشتیبانی از حالت تمام صفحه\",\n \"Subtitle Offset\": \"افست زیرنویس\",\n \"Last Seen\": \"آخرین بازدید\",\n \"Jump Play\": \"جامپ پلی\",\n \"AirPlay\": \"ایر پلی\",\n \"AirPlay Not Available\": \"عدم پشتیبانی از ایرپلی\"\n}\n","{\n \"Video Info\": \"Informations de la vidéo\",\n \"Close\": \"Fermer\",\n \"Video Load Failed\": \"Téléchargement de la vidéo échoué\",\n \"Volume\": \"Volume\",\n \"Play\": \"Lire\",\n \"Pause\": \"Pause\",\n \"Rate\": \"Vitesse\",\n \"Mute\": \"Muet\",\n \"Video Flip\": \"Rotation de la vidéo\",\n \"Horizontal\": \"Horizontal\",\n \"Vertical\": \"Vertical\",\n \"Reconnect\": \"Reconnexion\",\n \"Show Setting\": \"Afficher les paramètres\",\n \"Hide Setting\": \"Cacher les paramètres\",\n \"Screenshot\": \"Capture d'écran\",\n \"Play Speed\": \"Vitesse de lecture\",\n \"Aspect Ratio\": \"Rapport d'aspect\",\n \"Default\": \"Défaut\",\n \"Normal\": \"Normal\",\n \"Open\": \"Ouvrir\",\n \"Switch Video\": \"Basculer la vidéo\",\n \"Switch Subtitle\": \"Basculer le sous-titre\",\n \"Fullscreen\": \"Plein écran\",\n \"Exit Fullscreen\": \"Quitter le plein écran\",\n \"Web Fullscreen\": \"Plein écran Web\",\n \"Exit Web Fullscreen\": \"Quitter le plein écran Web\",\n \"Mini Player\": \"Mini lecteur\",\n \"PIP Mode\": \"Mode PiP\",\n \"Exit PIP Mode\": \"Fermer le mode PiP\",\n \"PIP Not Supported\": \"Mode PiP non supporté\",\n \"Fullscreen Not Supported\": \"Plein écran non supporté\",\n \"Subtitle Offset\": \"Réglage des sous-titres\",\n \"Last Seen\": \"Dernière position\",\n \"Jump Play\": \"Continuer\",\n \"AirPlay\": \"AirPlay\",\n \"AirPlay Not Available\": \"AirPlay non disponible\"\n}\n","import urlMix from './urlMix';\nimport attrMix from './attrMix';\nimport playMix from './playMix';\nimport pauseMix from './pauseMix';\nimport toggleMix from './toggleMix';\nimport seekMix from './seekMix';\nimport volumeMix from './volumeMix';\nimport currentTimeMix from './currentTimeMix';\nimport durationMix from './durationMix';\nimport switchMix from './switchMix';\nimport playbackRateMix from './playbackRateMix';\nimport aspectRatioMix from './aspectRatioMix';\nimport screenshotMix from './screenshotMix';\nimport fullscreenMix from './fullscreenMix';\nimport fullscreenWebMix from './fullscreenWebMix';\nimport pipMix from './pipMix';\nimport loadedMix from './loadedMix';\nimport playedMix from './playedMix';\nimport playingMix from './playingMix';\nimport autoSizeMix from './autoSizeMix';\nimport rectMix from './rectMix';\nimport flipMix from './flipMix';\nimport miniMix from './miniMix';\nimport loopMix from './loopMix';\nimport posterMix from './posterMix';\nimport autoHeightMix from './autoHeightMix';\nimport themeMix from './themeMix';\nimport titleMix from './titleMix';\nimport typeMix from './typeMix';\nimport normalSizeMix from './normalSizeMix';\nimport subtitleOffsetMix from './subtitleOffsetMix';\nimport airplayMix from './airplayMix';\nimport optionInit from './optionInit';\nimport eventInit from './eventInit';\n\nexport default class Player {\n constructor(art) {\n urlMix(art);\n attrMix(art);\n playMix(art);\n pauseMix(art);\n toggleMix(art);\n seekMix(art);\n volumeMix(art);\n currentTimeMix(art);\n durationMix(art);\n switchMix(art);\n playbackRateMix(art);\n aspectRatioMix(art);\n screenshotMix(art);\n fullscreenMix(art);\n fullscreenWebMix(art);\n pipMix(art);\n loadedMix(art);\n playedMix(art);\n playingMix(art);\n autoSizeMix(art);\n rectMix(art);\n flipMix(art);\n miniMix(art);\n loopMix(art);\n posterMix(art);\n autoHeightMix(art);\n themeMix(art);\n titleMix(art);\n typeMix(art);\n normalSizeMix(art);\n subtitleOffsetMix(art);\n airplayMix(art);\n eventInit(art);\n optionInit(art);\n }\n}\n","import { getExt, def, sleep } from '../utils';\n\nexport default function urlMix(art) {\n const {\n option,\n template: { $video },\n } = art;\n\n def(art, 'url', {\n get() {\n return $video.currentSrc;\n },\n async set(url) {\n if (url) {\n const typeName = option.type || getExt(url);\n const typeCallback = option.customType[typeName];\n if (typeName && typeCallback) {\n await sleep();\n art.loading.show = true;\n typeCallback.call(art, $video, url, art);\n } else {\n if (art.url && art.url !== url) {\n art.once('video:canplay', () => {\n if (art.isReady) {\n art.emit('restart');\n }\n });\n }\n\n $video.src = url;\n art.option.url = url;\n art.emit('url', url);\n }\n } else {\n await sleep();\n art.loading.show = true;\n }\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function attrMix(art) {\n const {\n template: { $video },\n } = art;\n\n def(art, 'attr', {\n value(key, value) {\n if (value === undefined) return $video[key];\n $video[key] = value;\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function playMix(art) {\n const {\n i18n,\n notice,\n option,\n constructor: { instances },\n template: { $video },\n } = art;\n\n def(art, 'play', {\n value: async function () {\n const result = await $video.play();\n notice.show = i18n.get('Play');\n art.emit('play');\n\n if (option.mutex) {\n for (let index = 0; index < instances.length; index++) {\n const instance = instances[index];\n if (instance !== art) {\n instance.pause();\n }\n }\n }\n\n return result;\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function pauseMix(art) {\n const {\n template: { $video },\n i18n,\n notice,\n } = art;\n\n def(art, 'pause', {\n value() {\n const result = $video.pause();\n notice.show = i18n.get('Pause');\n art.emit('pause');\n return result;\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function toggleMix(art) {\n def(art, 'toggle', {\n value() {\n if (art.playing) {\n return art.pause();\n } else {\n return art.play();\n }\n },\n });\n}\n","import { secondToTime, def } from '../utils';\n\nexport default function seekMix(art) {\n const { notice } = art;\n\n def(art, 'seek', {\n set(time) {\n art.currentTime = time;\n art.emit('seek', art.currentTime);\n if (art.duration) {\n notice.show = `${secondToTime(art.currentTime)} / ${secondToTime(art.duration)}`;\n }\n },\n });\n\n def(art, 'forward', {\n set(time) {\n art.seek = art.currentTime + time;\n },\n });\n\n def(art, 'backward', {\n set(time) {\n art.seek = art.currentTime - time;\n },\n });\n}\n","import { clamp, def } from '../utils';\n\nexport default function volumeMix(art) {\n const {\n template: { $video },\n i18n,\n notice,\n storage,\n } = art;\n\n def(art, 'volume', {\n get: () => $video.volume || 0,\n set: (percentage) => {\n $video.volume = clamp(percentage, 0, 1);\n notice.show = `${i18n.get('Volume')}: ${parseInt($video.volume * 100, 10)}`;\n if ($video.volume !== 0) {\n storage.set('volume', $video.volume);\n }\n },\n });\n\n def(art, 'muted', {\n get: () => $video.muted,\n set: (muted) => {\n $video.muted = muted;\n },\n });\n}\n","import { clamp, def } from '../utils';\n\nexport default function currentTimeMix(art) {\n const { $video } = art.template;\n\n def(art, 'currentTime', {\n get: () => $video.currentTime || 0,\n set: (time) => {\n time = parseFloat(time);\n if (Number.isNaN(time)) return;\n $video.currentTime = clamp(time, 0, art.duration);\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function durationMix(art) {\n def(art, 'duration', {\n get: () => {\n const { duration } = art.template.$video;\n if (duration === Infinity) return 0;\n return duration || 0;\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function switchMix(art) {\n const { i18n, option, notice } = art;\n\n function switchUrl(url, name, currentTime) {\n return new Promise((resolve) => {\n if (url === art.url) return resolve(url);\n const { playing } = art;\n art.pause();\n URL.revokeObjectURL(art.url);\n art.url = url;\n art.once('video:canplay', () => {\n art.playbackRate = false;\n art.aspectRatio = false;\n art.flip = 'normal';\n art.autoSize = option.autoSize;\n art.currentTime = currentTime;\n art.notice.show = '';\n if (playing) {\n art.play();\n }\n if (name) {\n notice.show = `${i18n.get('Switch Video')}: ${name}`;\n }\n resolve(url);\n });\n });\n }\n\n def(art, 'switchQuality', {\n value: (url, name) => {\n return switchUrl(url, name, art.currentTime);\n },\n });\n\n def(art, 'switchUrl', {\n value: (url, name) => {\n return switchUrl(url, name, 0);\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function playbackRateMix(art) {\n const {\n template: { $video },\n i18n,\n notice,\n } = art;\n\n def(art, 'playbackRate', {\n get() {\n return $video.playbackRate;\n },\n set(rate) {\n if (rate) {\n if (rate === $video.playbackRate) return;\n $video.playbackRate = rate;\n notice.show = `${i18n.get('Rate')}: ${rate === 1.0 ? i18n.get('Normal') : `${rate}x`}`;\n } else {\n art.playbackRate = 1;\n }\n },\n });\n}\n","import { setStyle, def } from '../utils';\n\nexport default function aspectRatioMix(art) {\n const {\n template: { $video, $player },\n i18n,\n notice,\n } = art;\n\n def(art, 'aspectRatio', {\n get() {\n return $player.dataset.aspectRatio || 'default';\n },\n set(ratio) {\n if (!ratio) ratio = 'default';\n if (ratio === 'default') {\n setStyle($video, 'width', null);\n setStyle($video, 'height', null);\n setStyle($video, 'padding', null);\n delete $player.dataset.aspectRatio;\n } else {\n const ratioArray = ratio.split(':').map(Number);\n const { videoWidth, videoHeight } = $video;\n const { clientWidth, clientHeight } = $player;\n const videoRatio = videoWidth / videoHeight;\n const setupRatio = ratioArray[0] / ratioArray[1];\n if (videoRatio > setupRatio) {\n const percentage = (setupRatio * videoHeight) / videoWidth;\n setStyle($video, 'width', `${percentage * 100}%`);\n setStyle($video, 'height', '100%');\n setStyle($video, 'padding', `0 ${(clientWidth - clientWidth * percentage) / 2}px`);\n } else {\n const percentage = videoWidth / setupRatio / videoHeight;\n setStyle($video, 'width', '100%');\n setStyle($video, 'height', `${percentage * 100}%`);\n setStyle($video, 'padding', `${(clientHeight - clientHeight * percentage) / 2}px 0`);\n }\n $player.dataset.aspectRatio = ratio;\n }\n\n notice.show = `${i18n.get('Aspect Ratio')}: ${ratio === 'default' ? i18n.get('Default') : ratio}`;\n art.emit('aspectRatio', ratio);\n },\n });\n\n def(art, 'aspectRatioReset', {\n set(value) {\n if (value) {\n const { aspectRatio } = art;\n art.aspectRatio = aspectRatio;\n }\n },\n });\n}\n","import { secondToTime, download, def, createElement } from '../utils';\n\nexport default function screenshotMix(art) {\n const {\n option,\n notice,\n template: { $video },\n } = art;\n\n const $canvas = createElement('canvas');\n\n def(art, 'getDataURL', {\n value: () =>\n new Promise((resolve, reject) => {\n try {\n $canvas.width = $video.videoWidth;\n $canvas.height = $video.videoHeight;\n $canvas.getContext('2d').drawImage($video, 0, 0);\n resolve($canvas.toDataURL('image/png'));\n } catch (err) {\n notice.show = err;\n reject(err);\n }\n }),\n });\n\n def(art, 'getBlobUrl', {\n value: () =>\n new Promise((resolve, reject) => {\n try {\n $canvas.width = $video.videoWidth;\n $canvas.height = $video.videoHeight;\n $canvas.getContext('2d').drawImage($video, 0, 0);\n $canvas.toBlob((blob) => {\n resolve(URL.createObjectURL(blob));\n });\n } catch (err) {\n notice.show = err;\n reject(err);\n }\n }),\n });\n\n def(art, 'screenshot', {\n value: async () => {\n const dataUri = await art.getDataURL();\n download(dataUri, `${option.title || 'artplayer'}_${secondToTime($video.currentTime)}.png`);\n art.emit('screenshot', dataUri);\n return dataUri;\n },\n });\n}\n","import screenfull from '../libs/screenfull';\nimport { addClass, removeClass, def, get } from '../utils';\n\nexport default function fullscreenMix(art) {\n const {\n i18n,\n notice,\n template: { $video, $player },\n } = art;\n\n const nativeScreenfull = (art) => {\n screenfull.on('change', () => {\n art.emit('fullscreen', screenfull.isFullscreen);\n });\n\n def(art, 'fullscreen', {\n get() {\n return screenfull.isFullscreen;\n },\n async set(value) {\n if (value) {\n art.normalSize = 'fullscreen';\n art.aspectRatioReset = true;\n art.autoSize = false;\n await screenfull.request($player);\n addClass($player, 'art-fullscreen');\n art.emit('resize');\n notice.show = '';\n } else {\n art.aspectRatioReset = true;\n art.autoSize = art.option.autoSize;\n await screenfull.exit();\n removeClass($player, 'art-fullscreen');\n art.emit('resize');\n notice.show = '';\n }\n },\n });\n };\n\n const webkitScreenfull = (art) => {\n def(art, 'fullscreen', {\n get() {\n return $video.webkitDisplayingFullscreen;\n },\n set(value) {\n if (value) {\n art.normalSize = 'fullscreen';\n $video.webkitEnterFullscreen();\n art.emit('fullscreen', true);\n notice.show = '';\n } else {\n $video.webkitExitFullscreen();\n art.emit('fullscreen', false);\n notice.show = '';\n }\n },\n });\n };\n\n art.once('video:loadedmetadata', () => {\n if (screenfull.isEnabled) {\n nativeScreenfull(art);\n } else if (document.fullscreenEnabled || $video.webkitSupportsFullscreen) {\n webkitScreenfull(art);\n } else {\n def(art, 'fullscreen', {\n get() {\n return false;\n },\n set() {\n notice.show = i18n.get('Fullscreen Not Supported');\n },\n });\n }\n\n // Asynchronous setting\n def(art, 'fullscreen', get(art, 'fullscreen'));\n });\n}\n","const methodMap = [\n [\n 'requestFullscreen',\n 'exitFullscreen',\n 'fullscreenElement',\n 'fullscreenEnabled',\n 'fullscreenchange',\n 'fullscreenerror',\n ],\n // New WebKit\n [\n 'webkitRequestFullscreen',\n 'webkitExitFullscreen',\n 'webkitFullscreenElement',\n 'webkitFullscreenEnabled',\n 'webkitfullscreenchange',\n 'webkitfullscreenerror',\n ],\n // Old WebKit\n [\n 'webkitRequestFullScreen',\n 'webkitCancelFullScreen',\n 'webkitCurrentFullScreenElement',\n 'webkitCancelFullScreen',\n 'webkitfullscreenchange',\n 'webkitfullscreenerror',\n ],\n [\n 'mozRequestFullScreen',\n 'mozCancelFullScreen',\n 'mozFullScreenElement',\n 'mozFullScreenEnabled',\n 'mozfullscreenchange',\n 'mozfullscreenerror',\n ],\n [\n 'msRequestFullscreen',\n 'msExitFullscreen',\n 'msFullscreenElement',\n 'msFullscreenEnabled',\n 'MSFullscreenChange',\n 'MSFullscreenError',\n ],\n];\n\nconst nativeAPI = (() => {\n if (typeof document === 'undefined') {\n return false;\n }\n\n const unprefixedMethods = methodMap[0];\n const returnValue = {};\n\n for (const methodList of methodMap) {\n const exitFullscreenMethod = methodList[1];\n if (exitFullscreenMethod in document) {\n for (const [index, method] of methodList.entries()) {\n returnValue[unprefixedMethods[index]] = method;\n }\n\n return returnValue;\n }\n }\n\n return false;\n})();\n\nconst eventNameMap = {\n change: nativeAPI.fullscreenchange,\n error: nativeAPI.fullscreenerror,\n};\n\nlet screenfull = {\n request(element = document.documentElement, options) {\n return new Promise((resolve, reject) => {\n const onFullScreenEntered = () => {\n screenfull.off('change', onFullScreenEntered);\n resolve();\n };\n\n screenfull.on('change', onFullScreenEntered);\n\n const returnPromise = element[nativeAPI.requestFullscreen](options);\n\n if (returnPromise instanceof Promise) {\n returnPromise.then(onFullScreenEntered).catch(reject);\n }\n });\n },\n exit() {\n return new Promise((resolve, reject) => {\n if (!screenfull.isFullscreen) {\n resolve();\n return;\n }\n\n const onFullScreenExit = () => {\n screenfull.off('change', onFullScreenExit);\n resolve();\n };\n\n screenfull.on('change', onFullScreenExit);\n\n const returnPromise = document[nativeAPI.exitFullscreen]();\n\n if (returnPromise instanceof Promise) {\n returnPromise.then(onFullScreenExit).catch(reject);\n }\n });\n },\n toggle(element, options) {\n return screenfull.isFullscreen ? screenfull.exit() : screenfull.request(element, options);\n },\n onchange(callback) {\n screenfull.on('change', callback);\n },\n onerror(callback) {\n screenfull.on('error', callback);\n },\n on(event, callback) {\n const eventName = eventNameMap[event];\n if (eventName) {\n document.addEventListener(eventName, callback, false);\n }\n },\n off(event, callback) {\n const eventName = eventNameMap[event];\n if (eventName) {\n document.removeEventListener(eventName, callback, false);\n }\n },\n raw: nativeAPI,\n};\n\nObject.defineProperties(screenfull, {\n isFullscreen: {\n get: () => Boolean(document[nativeAPI.fullscreenElement]),\n },\n element: {\n enumerable: true,\n get: () => document[nativeAPI.fullscreenElement],\n },\n isEnabled: {\n enumerable: true,\n get: () => Boolean(document[nativeAPI.fullscreenEnabled]),\n },\n});\n\nif (!nativeAPI) {\n screenfull = { isEnabled: false };\n}\n\nexport default screenfull;\n","import { addClass, removeClass, hasClass, def, append } from '../utils';\n\nexport default function fullscreenWebMix(art) {\n const {\n notice,\n constructor,\n template: { $container, $player },\n } = art;\n\n def(art, 'fullscreenWeb', {\n get() {\n return hasClass($player, 'art-fullscreen-web');\n },\n set(value) {\n if (value) {\n if (constructor.FULLSCREEN_WEB_IN_BODY) {\n append(document.body, $player);\n }\n art.normalSize = 'fullscreenWeb';\n addClass($player, 'art-fullscreen-web');\n art.aspectRatioReset = true;\n art.autoSize = false;\n art.emit('resize');\n art.emit('fullscreenWeb', true);\n notice.show = '';\n } else {\n if (constructor.FULLSCREEN_WEB_IN_BODY) {\n append($container, $player);\n }\n removeClass($player, 'art-fullscreen-web');\n art.aspectRatioReset = true;\n art.autoSize = art.option.autoSize;\n art.emit('resize');\n art.emit('fullscreenWeb', false);\n notice.show = '';\n }\n },\n });\n}\n","import { def } from '../utils';\n\nfunction nativePip(art) {\n const {\n template: { $video },\n proxy,\n notice,\n } = art;\n\n $video.disablePictureInPicture = false;\n\n def(art, 'pip', {\n get() {\n return document.pictureInPictureElement;\n },\n set(value) {\n if (value) {\n art.normalSize = 'pip';\n $video.requestPictureInPicture().catch((err) => {\n notice.show = err;\n throw err;\n });\n } else {\n document.exitPictureInPicture().catch((err) => {\n notice.show = err;\n throw err;\n });\n }\n },\n });\n\n proxy($video, 'enterpictureinpicture', () => {\n art.emit('pip', true);\n });\n\n proxy($video, 'leavepictureinpicture', () => {\n art.emit('pip', false);\n });\n}\n\nfunction webkitPip(art) {\n const { $video } = art.template;\n\n $video.webkitSetPresentationMode('inline');\n\n def(art, 'pip', {\n get() {\n return $video.webkitPresentationMode === 'picture-in-picture';\n },\n set(value) {\n if (value) {\n art.normalSize = 'pip';\n $video.webkitSetPresentationMode('picture-in-picture');\n art.emit('pip', true);\n } else {\n $video.webkitSetPresentationMode('inline');\n art.emit('pip', false);\n }\n },\n });\n}\n\nexport default function pipMix(art) {\n const {\n i18n,\n notice,\n template: { $video },\n } = art;\n if (document.pictureInPictureEnabled) {\n nativePip(art);\n } else if ($video.webkitSupportsPresentationMode) {\n webkitPip(art);\n } else {\n def(art, 'pip', {\n get() {\n return false;\n },\n set() {\n notice.show = i18n.get('PIP Not Supported');\n },\n });\n }\n}\n","import { def } from '../utils';\n\nexport default function seekMix(art) {\n const { $video } = art.template;\n\n def(art, 'loaded', {\n get: () => art.loadedTime / $video.duration,\n });\n\n def(art, 'loadedTime', {\n get: () => ($video.buffered.length ? $video.buffered.end($video.buffered.length - 1) : 0),\n });\n}\n","import { def } from '../utils';\n\nexport default function playedMix(art) {\n def(art, 'played', {\n get: () => art.currentTime / art.duration,\n });\n}\n","import { def } from '../utils';\n\nexport default function playingMix(art) {\n const { $video } = art.template;\n def(art, 'playing', {\n get: () => !!($video.currentTime > 0 && !$video.paused && !$video.ended && $video.readyState > 2),\n });\n}\n","import { setStyle, addClass, removeClass, hasClass, def } from '../utils';\n\nexport default function resizeMix(art) {\n const { $container, $player, $video } = art.template;\n\n def(art, 'autoSize', {\n get() {\n return hasClass($container, 'art-auto-size');\n },\n set(value) {\n if (value) {\n const { videoWidth, videoHeight } = $video;\n const { width, height } = $container.getBoundingClientRect();\n const videoRatio = videoWidth / videoHeight;\n const containerRatio = width / height;\n addClass($container, 'art-auto-size');\n if (containerRatio > videoRatio) {\n const percentage = ((height * videoRatio) / width) * 100;\n setStyle($player, 'width', `${percentage}%`);\n setStyle($player, 'height', '100%');\n } else {\n const percentage = (width / videoRatio / height) * 100;\n setStyle($player, 'width', '100%');\n setStyle($player, 'height', `${percentage}%`);\n }\n art.emit('autoSize', {\n width: art.width,\n height: art.height,\n });\n } else {\n removeClass($container, 'art-auto-size');\n setStyle($player, 'width', null);\n setStyle($player, 'height', null);\n art.emit('autoSize');\n }\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function rectMix(art) {\n def(art, 'rect', {\n get: () => {\n return art.template.$player.getBoundingClientRect();\n },\n });\n\n const keys = ['bottom', 'height', 'left', 'right', 'top', 'width'];\n for (let index = 0; index < keys.length; index++) {\n const key = keys[index];\n def(art, key, {\n get: () => {\n return art.rect[key];\n },\n });\n }\n\n def(art, 'x', {\n get: () => {\n return art.left + window.pageXOffset;\n },\n });\n\n def(art, 'y', {\n get: () => {\n return art.top + window.pageYOffset;\n },\n });\n}\n","import { def, capitalize } from '../utils';\n\nexport default function flipMix(art) {\n const {\n template: { $player },\n i18n,\n notice,\n } = art;\n\n def(art, 'flip', {\n get() {\n return $player.dataset.flip || 'normal';\n },\n set(flip) {\n if (!flip) flip = 'normal';\n if (flip === 'normal') {\n delete $player.dataset.flip;\n } else {\n $player.dataset.flip = flip;\n }\n\n notice.show = `${i18n.get('Video Flip')}: ${i18n.get(capitalize(flip))}`;\n art.emit('flip', flip);\n },\n });\n}\n","import { append, setStyle, addClass, removeClass, hasClass, def, isInViewport } from '../utils';\n\nexport default function miniMix(art) {\n const {\n i18n,\n option,\n storage,\n proxy,\n template: { $player, $miniClose, $miniTitle, $miniHeader },\n } = art;\n\n let isDroging = false;\n let lastPageX = 0;\n let lastPageY = 0;\n let lastPlayerLeft = 0;\n let lastPlayerTop = 0;\n\n proxy($miniHeader, 'mousedown', (event) => {\n isDroging = true;\n lastPageX = event.pageX;\n lastPageY = event.pageY;\n lastPlayerLeft = art.left;\n lastPlayerTop = art.top;\n });\n\n proxy(document, 'mousemove', (event) => {\n if (isDroging) {\n addClass($player, 'art-is-dragging');\n const top = lastPlayerTop + event.pageY - lastPageY;\n const left = lastPlayerLeft + event.pageX - lastPageX;\n setStyle($player, 'top', `${top}px`);\n setStyle($player, 'left', `${left}px`);\n storage.set('top', top);\n storage.set('left', left);\n }\n });\n\n proxy(document, 'mouseup', () => {\n isDroging = false;\n removeClass($player, 'art-is-dragging');\n });\n\n proxy($miniClose, 'click', () => {\n art.mini = false;\n isDroging = false;\n removeClass($player, 'art-is-dragging');\n });\n\n append($miniTitle, option.title || i18n.get('Mini Player'));\n\n def(art, 'mini', {\n get() {\n return hasClass($player, 'art-mini');\n },\n set(value) {\n if (value) {\n art.normalSize = 'mini';\n art.autoSize = false;\n addClass($player, 'art-mini');\n const top = storage.get('top');\n const left = storage.get('left');\n if (top && left) {\n setStyle($player, 'top', `${top}px`);\n setStyle($player, 'left', `${left}px`);\n if (!isInViewport($miniHeader)) {\n storage.del('top');\n storage.del('left');\n art.mini = true;\n }\n } else {\n const top = window.innerHeight - art.height - 50;\n const left = window.innerWidth - art.width - 50;\n storage.set('top', top);\n storage.set('left', left);\n setStyle($player, 'top', `${top}px`);\n setStyle($player, 'left', `${left}px`);\n }\n art.aspectRatio = false;\n art.playbackRate = false;\n art.notice.show = '';\n art.emit('mini', true);\n } else {\n removeClass($player, 'art-mini');\n setStyle($player, 'top', null);\n setStyle($player, 'left', null);\n art.aspectRatio = false;\n art.playbackRate = false;\n art.autoSize = option.autoSize;\n art.notice.show = '';\n art.emit('mini', false);\n }\n },\n });\n}\n","import { def, clamp } from '../utils';\n\nexport default function loopMix(art) {\n let interval = [];\n def(art, 'loop', {\n get: () => interval,\n set: (value) => {\n if (Array.isArray(value) && typeof value[0] === 'number' && typeof value[1] === 'number') {\n const start = clamp(value[0], 0, Math.min(value[1], art.duration));\n const end = clamp(value[1], start, art.duration);\n if (end - start >= 1) {\n interval = [start, end];\n } else {\n interval = [];\n }\n } else {\n interval = [];\n }\n },\n });\n\n art.on('video:timeupdate', () => {\n if (interval.length) {\n if (art.currentTime < interval[0] || art.currentTime > interval[1]) {\n art.seek = interval[0];\n }\n }\n });\n}\n","import { def, setStyle } from '../utils';\n\nexport default function posterMix(art) {\n const {\n option,\n template: { $poster },\n } = art;\n\n def(art, 'poster', {\n get: () => option.poster,\n set(url) {\n option.poster = url;\n setStyle($poster, 'backgroundImage', `url(${url})`);\n },\n });\n}\n","import { setStyle, hasClass, addClass, removeClass, def } from '../utils';\n\nexport default function autoHeightMix(art) {\n const {\n option,\n template: { $container, $video },\n } = art;\n\n const heightCache = $container.style.height;\n\n def(art, 'autoHeight', {\n get() {\n return hasClass($container, 'art-auto-height');\n },\n set(value) {\n if (value) {\n const { clientWidth } = $container;\n const { videoHeight, videoWidth } = $video;\n const height = videoHeight * (clientWidth / videoWidth);\n setStyle($container, 'height', height + 'px');\n addClass($container, 'art-auto-height');\n art.autoSize = option.autoSize;\n art.emit('autoHeight', height);\n } else {\n setStyle($container, 'height', heightCache);\n removeClass($container, 'art-auto-height');\n art.autoSize = option.autoSize;\n art.emit('autoHeight');\n }\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function themeMix(art) {\n const {\n option,\n template: { $player },\n } = art;\n\n def(art, 'theme', {\n get() {\n return getComputedStyle($player).getPropertyValue('--theme');\n },\n set(theme) {\n option.theme = theme;\n $player.style.setProperty('--theme', theme);\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function titleMix(art) {\n def(art, 'title', {\n get() {\n return art.option.title;\n },\n set(title) {\n art.option.title = title;\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function typeMix(art) {\n def(art, 'type', {\n get() {\n return art.option.type;\n },\n set(type) {\n art.option.type = type;\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function normalSizeMix(art) {\n const sizeProps = ['mini', 'pip', 'fullscreen', 'fullscreenWeb'];\n\n def(art, 'normalSize', {\n get() {\n return sizeProps.every((name) => !art[name]);\n },\n set(name) {\n sizeProps\n .filter((item) => item !== name)\n .forEach((item) => {\n if (art[item]) {\n art[item] = false;\n }\n });\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function subtitleOffsetMix(art) {\n const { clamp } = art.constructor.utils;\n const { notice, template, i18n } = art;\n\n let offsetCache = 0;\n let cuesCache = [];\n art.on('subtitle:switch', () => {\n cuesCache = [];\n });\n\n def(art, 'subtitleOffset', {\n get() {\n return offsetCache;\n },\n set(value) {\n if (template.$track && template.$track.track) {\n const cues = Array.from(template.$track.track.cues);\n offsetCache = clamp(value, -5, 5);\n\n for (let index = 0; index < cues.length; index++) {\n const cue = cues[index];\n if (!cuesCache[index]) {\n cuesCache[index] = {\n startTime: cue.startTime,\n endTime: cue.endTime,\n };\n }\n cue.startTime = clamp(cuesCache[index].startTime + offsetCache, 0, art.duration);\n cue.endTime = clamp(cuesCache[index].endTime + offsetCache, 0, art.duration);\n }\n\n art.subtitle.update();\n notice.show = `${i18n.get('Subtitle Offset')}: ${value}s`;\n art.emit('subtitleOffset', value);\n } else {\n art.emit('subtitleOffset', 0);\n }\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function airplayMix(art) {\n const {\n i18n,\n notice,\n proxy,\n template: { $video },\n } = art;\n\n let available = true;\n\n if (window.WebKitPlaybackTargetAvailabilityEvent && $video.webkitShowPlaybackTargetPicker) {\n proxy($video, 'webkitplaybacktargetavailabilitychanged', (event) => {\n switch (event.availability) {\n case 'available':\n available = true;\n break;\n case 'not-available':\n available = false;\n break;\n }\n });\n } else {\n available = false;\n }\n\n def(art, 'airplay', {\n value() {\n if (available) {\n $video.webkitShowPlaybackTargetPicker();\n art.emit('airplay');\n } else {\n notice.show = i18n.get('AirPlay Not Available');\n }\n },\n });\n}\n","import { clamp, setStyle } from '../utils';\n\nexport default function attrInit(art) {\n const {\n option,\n storage,\n template: { $video, $poster },\n } = art;\n\n Object.keys(option.moreVideoAttr).forEach((key) => {\n art.attr(key, option.moreVideoAttr[key]);\n });\n\n if (option.muted) {\n art.muted = option.muted;\n }\n\n if (option.volume) {\n $video.volume = clamp(option.volume, 0, 1);\n }\n\n const volumeStorage = storage.get('volume');\n if (typeof volumeStorage === 'number') {\n $video.volume = clamp(volumeStorage, 0, 1);\n }\n\n if (option.poster) {\n setStyle($poster, 'backgroundImage', `url(${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 if (option.theme) {\n art.theme = option.theme;\n }\n\n art.url = option.url;\n}\n","import config from '../config';\nimport { sleep, addClass, setStyle, isMobile } from '../utils';\n\nexport default function eventInit(art) {\n const {\n i18n,\n notice,\n option,\n constructor,\n proxy,\n template: { $player, $video, $poster },\n } = art;\n\n let reconnectTime = 0;\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 // art.on('video:abort', () => {\n\n // });\n\n art.on('video:canplay', () => {\n reconnectTime = 0;\n art.loading.show = false;\n });\n\n art.once('video:canplay', () => {\n art.loading.show = false;\n art.controls.show = true;\n art.mask.show = true;\n art.isReady = true;\n art.emit('ready');\n });\n\n // art.on('video:canplaythrough', () => {\n\n // });\n\n // art.on('video:durationchange', () => {\n\n // });\n\n // art.on('video:emptied', () => {\n\n // });\n\n art.on('video:ended', () => {\n if (option.loop) {\n art.seek = 0;\n art.play();\n art.controls.show = false;\n art.mask.show = false;\n } else {\n art.controls.show = true;\n art.mask.show = true;\n }\n });\n\n art.on('video:error', async (error) => {\n if (reconnectTime < constructor.RECONNECT_TIME_MAX) {\n await sleep(constructor.RECONNECT_SLEEP_TIME);\n reconnectTime += 1;\n art.url = option.url;\n notice.show = `${i18n.get('Reconnect')}: ${reconnectTime}`;\n art.emit('error', error, reconnectTime);\n } else {\n art.mask.show = true;\n art.loading.show = false;\n art.controls.show = true;\n addClass($player, 'art-error');\n await sleep(constructor.RECONNECT_SLEEP_TIME);\n notice.show = i18n.get('Video Load Failed');\n art.destroy(false);\n }\n });\n\n // art.on('video:loadeddata', () => {\n\n // });\n\n art.on('video:loadedmetadata', () => {\n art.autoSize = option.autoSize;\n if (isMobile) {\n art.loading.show = false;\n art.controls.show = true;\n art.mask.show = true;\n }\n });\n\n art.on('video:loadstart', () => {\n art.loading.show = true;\n art.mask.show = false;\n art.controls.show = true;\n });\n\n art.on('video:pause', () => {\n art.controls.show = true;\n art.mask.show = true;\n });\n\n art.on('video:play', () => {\n art.mask.show = false;\n setStyle($poster, 'display', 'none');\n });\n\n art.on('video:playing', () => {\n art.mask.show = false;\n });\n\n // art.on('video:progress', () => {\n\n // });\n\n // art.on('video:ratechange', () => {\n\n // });\n\n art.on('video:seeked', () => {\n art.loading.show = false;\n });\n\n art.on('video:seeking', () => {\n art.loading.show = true;\n art.mask.show = false;\n });\n\n // art.on('video:stalled', () => {\n\n // });\n\n // art.on('video:suspend', () => {\n\n // });\n\n art.on('video:timeupdate', () => {\n art.mask.show = false;\n });\n\n // art.on('video:volumechange', () => {\n\n // });\n\n art.on('video:waiting', () => {\n art.loading.show = true;\n art.mask.show = false;\n });\n}\n","import { errorHandle, addClass, removeClass, isMobile } from '../utils';\nimport Component from '../utils/component';\nimport fullscreen from './fullscreen';\nimport fullscreenWeb from './fullscreenWeb';\nimport pip from './pip';\nimport playAndPause from './playAndPause';\nimport progress from './progress';\nimport time from './time';\nimport volume from './volume';\nimport setting from './setting';\nimport thumbnails from './thumbnails';\nimport screenshot from './screenshot';\nimport quality from './quality';\nimport loop from './loop';\nimport airplay from './airplay';\n\nexport default class Control extends Component {\n constructor(art) {\n super(art);\n\n this.name = 'control';\n\n const {\n proxy,\n constructor,\n template: { $player },\n } = art;\n\n let activeTime = Date.now();\n\n proxy($player, ['click', 'mousemove', 'touchstart', 'touchmove'], () => {\n this.show = true;\n removeClass($player, 'art-hide-cursor');\n addClass($player, 'art-hover');\n activeTime = Date.now();\n });\n\n art.on('video:timeupdate', () => {\n if (!art.isInput && art.playing && this.show && Date.now() - activeTime >= constructor.CONTROL_HIDE_TIME) {\n this.show = false;\n addClass($player, 'art-hide-cursor');\n removeClass($player, 'art-hover');\n }\n });\n\n this.init();\n }\n\n init() {\n const { option } = this.art;\n\n if (!option.isLive) {\n this.add(\n progress({\n name: 'progress',\n position: 'top',\n index: 10,\n }),\n );\n }\n\n if (option.thumbnails.url && !option.isLive && !isMobile) {\n this.add(\n thumbnails({\n name: 'thumbnails',\n position: 'top',\n index: 20,\n }),\n );\n }\n\n this.add(\n loop({\n name: 'loop',\n position: 'top',\n index: 30,\n }),\n );\n\n this.add(\n playAndPause({\n name: 'playAndPause',\n position: 'left',\n index: 10,\n }),\n );\n\n this.add(\n volume({\n name: 'volume',\n position: 'left',\n index: 20,\n }),\n );\n\n if (!option.isLive) {\n this.add(\n time({\n name: 'time',\n position: 'left',\n index: 30,\n }),\n );\n }\n\n if (option.quality.length) {\n this.add(\n quality({\n name: 'quality',\n position: 'right',\n index: 10,\n }),\n );\n }\n\n if (option.screenshot && !isMobile) {\n this.add(\n screenshot({\n name: 'screenshot',\n position: 'right',\n index: 20,\n }),\n );\n }\n\n if (option.setting) {\n this.add(\n setting({\n name: 'setting',\n position: 'right',\n index: 30,\n }),\n );\n }\n\n if (option.pip) {\n this.add(\n pip({\n name: 'pip',\n position: 'right',\n index: 40,\n }),\n );\n }\n\n if (option.airplay && window.WebKitPlaybackTargetAvailabilityEvent) {\n this.add(\n airplay({\n name: 'airplay',\n position: 'right',\n index: 50,\n }),\n );\n }\n\n if (option.fullscreenWeb) {\n this.add(\n fullscreenWeb({\n name: 'fullscreenWeb',\n position: 'right',\n index: 60,\n }),\n );\n }\n\n if (option.fullscreen) {\n this.add(\n fullscreen({\n name: 'fullscreen',\n position: 'right',\n index: 70,\n }),\n );\n }\n\n for (let index = 0; index < option.controls.length; index++) {\n this.add(option.controls[index]);\n }\n }\n\n add(getOption) {\n const option = typeof getOption === 'function' ? getOption(this.art) : getOption;\n const { $progress, $controlsLeft, $controlsRight } = this.art.template;\n\n switch (option.position) {\n case 'top':\n this.$parent = $progress;\n break;\n case 'left':\n this.$parent = $controlsLeft;\n break;\n case 'right':\n this.$parent = $controlsRight;\n break;\n default:\n errorHandle(false, `Control option.position must one of 'top', 'left', 'right'`);\n break;\n }\n\n super.add(option);\n }\n}\n","import {\n hasClass,\n addClass,\n removeClass,\n append,\n setStyles,\n tooltip,\n getStyle,\n inverseClass,\n createElement,\n} from './dom';\nimport validator from 'option-validator';\nimport { ComponentOption } from '../scheme';\nimport { has, def } from './property';\nimport { errorHandle } from './error';\n\nexport default class Component {\n constructor(art) {\n this.id = 0;\n this.art = art;\n this.add = this.add.bind(this);\n }\n\n get show() {\n return hasClass(this.art.template.$player, `art-${this.name}-show`);\n }\n\n set show(value) {\n const { $player } = this.art.template;\n const className = `art-${this.name}-show`;\n if (value) {\n addClass($player, className);\n } else {\n removeClass($player, className);\n }\n this.art.emit(this.name, value);\n }\n\n set toggle(value) {\n if (value) {\n this.show = !this.show;\n }\n }\n\n add(getOption) {\n const option = typeof getOption === 'function' ? getOption(this.art) : getOption;\n option.html = option.html || '';\n validator(option, ComponentOption);\n\n if (!this.$parent || !this.name || option.disable) return;\n const name = option.name || `${this.name}${this.id}`;\n errorHandle(!has(this, name), `Cannot add an existing name [${name}] to the [${this.name}]`);\n\n this.id += 1;\n const $ref = createElement('div');\n addClass($ref, `art-${this.name}`);\n addClass($ref, `art-${this.name}-${name}`);\n\n const childs = Array.from(this.$parent.children);\n $ref.dataset.index = option.index || this.id;\n const nextChild = childs.find((item) => Number(item.dataset.index) >= Number($ref.dataset.index));\n if (nextChild) {\n nextChild.insertAdjacentElement('beforebegin', $ref);\n } else {\n append(this.$parent, $ref);\n }\n\n if (option.html) {\n append($ref, option.html);\n }\n\n if (option.style) {\n setStyles($ref, option.style);\n }\n\n if (option.tooltip) {\n tooltip($ref, option.tooltip);\n }\n\n if (option.click) {\n this.art.events.proxy($ref, 'click', (event) => {\n event.preventDefault();\n option.click.call(this.art, this, event);\n });\n }\n\n if (option.selector && ['left', 'right'].includes(option.position)) {\n this.selector(option, $ref);\n }\n\n if (option.mounted) {\n option.mounted.call(this.art, $ref);\n }\n\n def(this, name, {\n value: $ref,\n });\n\n return $ref;\n }\n\n selector(option, $ref) {\n const { hover, proxy } = this.art.events;\n\n addClass($ref, 'art-control-selector');\n const $value = createElement('div');\n addClass($value, 'art-selector-value');\n append($value, option.html);\n $ref.innerText = '';\n append($ref, $value);\n\n const list = option.selector\n .map(\n (item, index) =>\n `${\n item.html\n }
`,\n )\n .join('');\n const $list = createElement('div');\n addClass($list, 'art-selector-list');\n append($list, list);\n append($ref, $list);\n\n if (this.art.option.backdrop) {\n addClass($list, 'art-backdrop-filter');\n }\n\n const setLeft = () => {\n const left = getStyle($ref, 'width') / 2 - getStyle($list, 'width') / 2;\n $list.style.left = `${left}px`;\n };\n\n hover($ref, setLeft);\n\n proxy($list, 'click', async (event) => {\n const path = event.composedPath() || [];\n const $item = path.find((item) => hasClass(item, 'art-selector-item'));\n if (!$item) return;\n inverseClass($item, 'art-current');\n const index = Number($item.dataset.index);\n const find = option.selector[index] || {};\n $value.innerText = $item.innerText;\n if (option.onSelect) {\n const result = await option.onSelect.call(this.art, find, $item, event);\n if (typeof result === 'string' || typeof result === 'number') {\n $value.innerHTML = result;\n }\n }\n setLeft();\n });\n }\n}\n","import { append, tooltip, setStyle } from '../utils';\n\nexport default function fullscreen(option) {\n return (art) => ({\n ...option,\n tooltip: art.i18n.get('Fullscreen'),\n mounted: ($control) => {\n const { proxy, icons, i18n } = art;\n\n const $fullscreenOn = append($control, icons.fullscreenOn);\n const $fullscreenOff = append($control, icons.fullscreenOff);\n setStyle($fullscreenOff, 'display', 'none');\n\n proxy($control, 'click', () => {\n art.fullscreen = !art.fullscreen;\n });\n\n art.on('fullscreen', (state) => {\n if (state) {\n tooltip($control, i18n.get('Exit Fullscreen'));\n setStyle($fullscreenOn, 'display', 'none');\n setStyle($fullscreenOff, 'display', 'inline-flex');\n } else {\n tooltip($control, i18n.get('Fullscreen'));\n setStyle($fullscreenOn, 'display', 'inline-flex');\n setStyle($fullscreenOff, 'display', 'none');\n }\n });\n },\n });\n}\n","import { append, tooltip, setStyle } from '../utils';\n\nexport default function fullscreenWeb(option) {\n return (art) => ({\n ...option,\n tooltip: art.i18n.get('Web Fullscreen'),\n mounted: ($control) => {\n const { proxy, icons, i18n } = art;\n\n const $fullscreenWebOn = append($control, icons.fullscreenWebOn);\n const $fullscreenWebOff = append($control, icons.fullscreenWebOff);\n setStyle($fullscreenWebOff, 'display', 'none');\n\n proxy($control, 'click', () => {\n art.fullscreenWeb = !art.fullscreenWeb;\n });\n\n art.on('fullscreenWeb', (value) => {\n if (value) {\n tooltip($control, i18n.get('Exit Web Fullscreen'));\n setStyle($fullscreenWebOn, 'display', 'none');\n setStyle($fullscreenWebOff, 'display', 'inline-flex');\n } else {\n tooltip($control, i18n.get('Web Fullscreen'));\n setStyle($fullscreenWebOn, 'display', 'inline-flex');\n setStyle($fullscreenWebOff, 'display', 'none');\n }\n });\n },\n });\n}\n","import { append, tooltip } from '../utils';\n\nexport default function pip(option) {\n return (art) => ({\n ...option,\n tooltip: art.i18n.get('PIP Mode'),\n mounted: ($control) => {\n const { proxy, icons, i18n } = art;\n\n append($control, icons.pip);\n\n proxy($control, 'click', () => {\n art.pip = !art.pip;\n });\n\n art.on('pip', (value) => {\n tooltip($control, i18n.get(value ? 'Exit PIP Mode' : 'PIP Mode'));\n });\n },\n });\n}\n","import { append, tooltip, setStyle } from '../utils';\n\nexport default function playAndPause(option) {\n return (art) => ({\n ...option,\n mounted: ($control) => {\n const { proxy, icons, i18n } = art;\n\n const $play = append($control, icons.play);\n const $pause = append($control, icons.pause);\n tooltip($play, i18n.get('Play'));\n tooltip($pause, i18n.get('Pause'));\n\n proxy($play, 'click', () => {\n art.play();\n });\n\n proxy($pause, 'click', () => {\n art.pause();\n });\n\n function showPlay() {\n setStyle($play, 'display', 'flex');\n setStyle($pause, 'display', 'none');\n }\n\n function showPause() {\n setStyle($play, 'display', 'none');\n setStyle($pause, 'display', 'flex');\n }\n\n if (art.playing) {\n showPause();\n } else {\n showPlay();\n }\n\n art.on('video:playing', () => {\n showPause();\n });\n\n art.on('video:pause', () => {\n showPlay();\n });\n },\n });\n}\n","import { query, clamp, append, setStyle, setStyles, secondToTime, includeFromEvent, isMobile } from '../utils';\n\nexport function getPosFromEvent(art, event) {\n const { $progress } = art.template;\n const { left } = $progress.getBoundingClientRect();\n const eventLeft = isMobile ? event.touches[0].clientX : event.pageX;\n const width = clamp(eventLeft - left, 0, $progress.clientWidth);\n const second = (width / $progress.clientWidth) * art.duration;\n const time = secondToTime(second);\n const percentage = clamp(width / $progress.clientWidth, 0, 1);\n return { second, time, width, percentage };\n}\n\nexport function setCurrentTime(art, event) {\n if (art.isRotate) {\n const percentage = event.touches[0].clientY / art.height;\n const second = percentage * art.duration;\n art.emit('setBar', 'played', percentage);\n art.seek = second;\n } else {\n const { second, percentage } = getPosFromEvent(art, event);\n art.emit('setBar', 'played', percentage);\n art.seek = second;\n }\n}\n\nexport default function progress(options) {\n return (art) => {\n const { icons, option, proxy } = art;\n\n return {\n ...options,\n html: `\n \n `,\n mounted: ($control) => {\n let isDroging = false;\n const $loaded = query('.art-progress-loaded', $control);\n const $played = query('.art-progress-played', $control);\n const $highlight = query('.art-progress-highlight', $control);\n const $indicator = query('.art-progress-indicator', $control);\n const $tip = query('.art-progress-tip', $control);\n\n const {\n PROGRESS_HEIGHT,\n INDICATOR_SIZE,\n INDICATOR_SIZE_ICON,\n INDICATOR_SIZE_MOBILE,\n INDICATOR_SIZE_MOBILE_ICON,\n } = art.constructor;\n\n setStyle($control, 'height', `${PROGRESS_HEIGHT}px`);\n setStyle($played, 'backgroundColor', 'var(--theme)');\n\n let indicatorSize = INDICATOR_SIZE;\n\n if (icons.indicator) {\n indicatorSize = INDICATOR_SIZE_ICON;\n append($indicator, icons.indicator);\n } else {\n setStyles($indicator, {\n backgroundColor: 'var(--theme)',\n });\n }\n\n if (isMobile) {\n indicatorSize = INDICATOR_SIZE_MOBILE;\n if (icons.indicator) {\n indicatorSize = INDICATOR_SIZE_MOBILE_ICON;\n }\n }\n\n setStyles($indicator, {\n left: `-${indicatorSize / 2}px`,\n width: `${indicatorSize}px`,\n height: `${indicatorSize}px`,\n });\n\n function showHighlight(event) {\n const { width } = getPosFromEvent(art, event);\n const { text } = event.target.dataset;\n $tip.innerHTML = text;\n const tipWidth = $tip.clientWidth;\n if (width <= tipWidth / 2) {\n setStyle($tip, 'left', 0);\n } else if (width > $control.clientWidth - tipWidth / 2) {\n setStyle($tip, 'left', `${$control.clientWidth - tipWidth}px`);\n } else {\n setStyle($tip, 'left', `${width - tipWidth / 2}px`);\n }\n }\n\n function showTime(event) {\n const { width, time } = getPosFromEvent(art, event);\n $tip.innerHTML = time;\n const tipWidth = $tip.clientWidth;\n if (width <= tipWidth / 2) {\n setStyle($tip, 'left', 0);\n } else if (width > $control.clientWidth - tipWidth / 2) {\n setStyle($tip, 'left', `${$control.clientWidth - tipWidth}px`);\n } else {\n setStyle($tip, 'left', `${width - tipWidth / 2}px`);\n }\n }\n\n function setBar(type, percentage) {\n if (type === 'loaded') {\n setStyle($loaded, 'width', `${percentage * 100}%`);\n }\n\n if (type === 'played') {\n setStyle($played, 'width', `${percentage * 100}%`);\n setStyle($indicator, 'left', `calc(${percentage * 100}% - ${indicatorSize / 2}px)`);\n }\n }\n\n art.on('video:loadedmetadata', () => {\n for (let index = 0; index < option.highlight.length; index++) {\n const item = option.highlight[index];\n const left = (clamp(item.time, 0, art.duration) / art.duration) * 100;\n append(\n $highlight,\n ``,\n );\n }\n });\n\n setBar('loaded', art.loaded);\n\n art.on('setBar', (type, percentage) => {\n setBar(type, percentage);\n });\n\n art.on('video:progress', () => {\n setBar('loaded', art.loaded);\n });\n\n art.on('video:timeupdate', () => {\n setBar('played', art.played);\n });\n\n art.on('video:ended', () => {\n setBar('played', 1);\n });\n\n if (!isMobile) {\n proxy($control, 'click', (event) => {\n if (event.target !== $indicator) {\n setCurrentTime(art, event);\n }\n });\n\n proxy($control, 'mousemove', (event) => {\n setStyle($tip, 'display', 'block');\n if (includeFromEvent(event, $highlight)) {\n showHighlight(event);\n } else {\n showTime(event);\n }\n });\n\n proxy($control, 'mouseleave', () => {\n setStyle($tip, 'display', 'none');\n });\n\n proxy($control, 'mousedown', () => {\n isDroging = true;\n });\n\n proxy(document, 'mousemove', (event) => {\n if (isDroging) {\n const { second, percentage } = getPosFromEvent(art, event);\n setBar('played', percentage);\n art.seek = second;\n }\n });\n\n proxy(document, 'mouseup', () => {\n if (isDroging) {\n isDroging = false;\n }\n });\n }\n },\n };\n };\n}\n","import { secondToTime } from '../utils';\n\nexport default function time(option) {\n return (art) => ({\n ...option,\n style: {\n cursor: 'auto',\n marginLeft: '10px',\n },\n mounted: ($control) => {\n function getTime() {\n const newTime = `${secondToTime(art.currentTime)} / ${secondToTime(art.duration)}`;\n if (newTime !== $control.innerText) {\n $control.innerText = newTime;\n }\n }\n\n getTime();\n\n const events = ['video:loadedmetadata', 'video:timeupdate', 'video:progress'];\n for (let index = 0; index < events.length; index++) {\n art.on(events[index], getTime);\n }\n },\n });\n}\n","import { append, clamp, tooltip, setStyle, isMobile } from '../utils';\n\nexport default function volume(option) {\n return (art) => ({\n ...option,\n mounted: ($control) => {\n const { proxy, icons, i18n } = art;\n\n let isDroging = false;\n const panelWidth = art.constructor.VOLUME_PANEL_WIDTH;\n const handleWidth = art.constructor.VOLUME_HANDLE_WIDTH;\n const $volume = append($control, icons.volume);\n const $volumeClose = append($control, icons.volumeClose);\n const $volumePanel = append($control, '');\n const $volumeHandle = append($volumePanel, '');\n tooltip($volume, i18n.get('Mute'));\n setStyle($volumeClose, 'display', 'none');\n\n if (isMobile) {\n setStyle($volumePanel, 'display', 'none');\n }\n\n function volumeChangeFromEvent(event) {\n const { left: panelLeft } = $volumePanel.getBoundingClientRect();\n const percentage =\n clamp(event.pageX - panelLeft - handleWidth / 2, 0, panelWidth - handleWidth / 2) /\n (panelWidth - handleWidth);\n return percentage;\n }\n\n function setVolumeHandle(percentage = 0.7) {\n if (art.muted || percentage === 0) {\n setStyle($volume, 'display', 'none');\n setStyle($volumeClose, 'display', 'flex');\n setStyle($volumeHandle, 'left', '0');\n } else {\n const width = (panelWidth - handleWidth) * percentage;\n setStyle($volume, 'display', 'flex');\n setStyle($volumeClose, 'display', 'none');\n setStyle($volumeHandle, 'left', `${width}px`);\n }\n }\n\n setVolumeHandle(art.volume);\n art.on('video:volumechange', () => {\n setVolumeHandle(art.volume);\n });\n\n proxy($volume, 'click', () => {\n art.muted = true;\n });\n\n proxy($volumeClose, 'click', () => {\n art.muted = false;\n });\n\n proxy($volumePanel, 'click', (event) => {\n art.muted = false;\n art.volume = volumeChangeFromEvent(event);\n });\n\n proxy($volumeHandle, 'mousedown', () => {\n isDroging = true;\n });\n\n proxy($control, 'mousemove', (event) => {\n if (isDroging) {\n art.muted = false;\n art.volume = volumeChangeFromEvent(event);\n }\n });\n\n proxy(document, 'mouseup', () => {\n if (isDroging) {\n isDroging = false;\n }\n });\n },\n });\n}\n","import { append, tooltip } from '../utils';\n\nexport default function setting(option) {\n return (art) => ({\n ...option,\n tooltip: art.i18n.get('Show Setting'),\n mounted: ($control) => {\n const { proxy, icons, i18n } = art;\n\n append($control, icons.setting);\n\n proxy($control, 'click', () => {\n art.setting.toggle = true;\n art.setting.updateStyle();\n });\n\n art.on('setting', (value) => {\n tooltip($control, i18n.get(value ? 'Hide Setting' : 'Show Setting'));\n });\n },\n });\n}\n","import { setStyle } from '../utils';\nimport { getPosFromEvent } from './progress';\n\nexport default function thumbnails(options) {\n return (art) => ({\n ...options,\n mounted: ($control) => {\n const {\n option,\n template: { $progress, $video },\n events: { proxy, loadImg },\n } = art;\n\n let image = null;\n let loading = false;\n let isLoad = false;\n\n function showThumbnails(event) {\n const { width: posWidth } = getPosFromEvent(art, event);\n const { url, number, column, width, height } = option.thumbnails;\n const width2 = width || image.naturalWidth / column;\n const height2 = height || width2 / ($video.videoWidth / $video.videoHeight);\n const perWidth = $progress.clientWidth / number;\n const perIndex = Math.floor(posWidth / perWidth);\n const yIndex = Math.ceil(perIndex / column) - 1;\n const xIndex = perIndex % column || column - 1;\n setStyle($control, 'backgroundImage', `url(${url})`);\n setStyle($control, 'height', `${height2}px`);\n setStyle($control, 'width', `${width2}px`);\n setStyle($control, 'backgroundPosition', `-${xIndex * width2}px -${yIndex * height2}px`);\n if (posWidth <= width2 / 2) {\n setStyle($control, 'left', 0);\n } else if (posWidth > $progress.clientWidth - width2 / 2) {\n setStyle($control, 'left', `${$progress.clientWidth - width2}px`);\n } else {\n setStyle($control, 'left', `${posWidth - width2 / 2}px`);\n }\n }\n\n proxy($progress, 'mousemove', async (event) => {\n if (!loading) {\n loading = true;\n const img = await loadImg(option.thumbnails.url);\n image = img;\n isLoad = true;\n }\n\n if (isLoad) {\n setStyle($control, 'display', 'block');\n showThumbnails(event);\n }\n });\n\n proxy($progress, 'mouseleave', () => {\n setStyle($control, 'display', 'none');\n });\n\n art.on('hover', (state) => {\n if (!state) {\n setStyle($control, 'display', 'none');\n }\n });\n },\n });\n}\n","import { append } from '../utils';\n\nexport default function screenshot(option) {\n return (art) => ({\n ...option,\n tooltip: art.i18n.get('Screenshot'),\n mounted: ($control) => {\n const { proxy, icons } = art;\n\n append($control, icons.screenshot);\n proxy($control, 'click', () => {\n art.screenshot();\n });\n },\n });\n}\n","export default function quality(option) {\n return (art) => {\n const qualityOption = art.option.quality;\n const qualityDefault = qualityOption.find((item) => item.default) || qualityOption[0];\n return {\n ...option,\n style: {\n marginRight: '10px',\n },\n html: qualityDefault ? qualityDefault.html : '',\n selector: qualityOption,\n onSelect(item) {\n art.switchQuality(item.url, item.html);\n },\n };\n };\n}\n","import { append, setStyle } from '../utils';\n\nexport default function loop(option) {\n return (art) => ({\n ...option,\n mounted: ($control) => {\n const $left = append($control, ``);\n const $right = append($control, ``);\n\n art.on('loop', (value) => {\n if (value && value.length) {\n setStyle($control, 'display', 'block');\n setStyle($left, 'left', `calc(${(value[0] / art.duration) * 100}% - ${$left.clientWidth}px)`);\n setStyle($right, 'left', `${(value[1] / art.duration) * 100}%`);\n } else {\n setStyle($control, 'display', 'none');\n }\n });\n },\n });\n}\n","import { append } from '../utils';\n\nexport default function pip(option) {\n return (art) => ({\n ...option,\n tooltip: art.i18n.get('AirPlay'),\n mounted: ($control) => {\n const { proxy, icons } = art;\n append($control, icons.airplay);\n proxy($control, 'click', () => art.airplay());\n },\n });\n}\n","import { setStyles, includeFromEvent, isMobile } from '../utils';\nimport Component from '../utils/component';\nimport playbackRate from './playbackRate';\nimport aspectRatio from './aspectRatio';\nimport flip from './flip';\nimport info from './info';\nimport version from './version';\nimport close from './close';\n\nexport default class Contextmenu extends Component {\n constructor(art) {\n super(art);\n\n this.name = 'contextmenu';\n this.$parent = art.template.$contextmenu;\n\n if (!isMobile) {\n this.init();\n }\n }\n\n init() {\n const {\n option,\n proxy,\n template: { $player, $contextmenu },\n } = this.art;\n\n if (option.playbackRate) {\n this.add(\n playbackRate({\n name: 'playbackRate',\n index: 10,\n }),\n );\n }\n\n if (option.aspectRatio) {\n this.add(\n aspectRatio({\n name: 'aspectRatio',\n index: 20,\n }),\n );\n }\n\n if (option.flip) {\n this.add(\n flip({\n name: 'flip',\n index: 30,\n }),\n );\n }\n\n this.add(\n info({\n name: 'info',\n index: 40,\n }),\n );\n\n this.add(\n version({\n name: 'version',\n index: 50,\n }),\n );\n\n this.add(\n close({\n name: 'close',\n index: 60,\n }),\n );\n\n for (let index = 0; index < option.contextmenu.length; index++) {\n this.add(option.contextmenu[index]);\n }\n\n proxy($player, 'contextmenu', (event) => {\n event.preventDefault();\n if (!this.art.constructor.CONTEXTMENU) return;\n\n this.show = true;\n\n const mouseX = event.clientX;\n const mouseY = event.clientY;\n const { height: cHeight, width: cWidth, left: cLeft, top: cTop } = $player.getBoundingClientRect();\n const { height: mHeight, width: mWidth } = $contextmenu.getBoundingClientRect();\n let menuLeft = mouseX - cLeft;\n let menuTop = mouseY - cTop;\n\n if (mouseX + mWidth > cLeft + cWidth) {\n menuLeft = cWidth - mWidth;\n }\n\n if (mouseY + mHeight > cTop + cHeight) {\n menuTop = cHeight - mHeight;\n }\n\n setStyles($contextmenu, {\n top: `${menuTop}px`,\n left: `${menuLeft}px`,\n });\n });\n\n proxy($player, 'click', (event) => {\n if (!includeFromEvent(event, $contextmenu)) {\n this.show = false;\n }\n });\n\n this.art.on('blur', () => {\n this.show = false;\n });\n }\n}\n","import { inverseClass, query, queryAll } from '../utils';\n\nexport default function playbackRate(option) {\n return (art) => {\n const {\n i18n,\n constructor: { PLAYBACK_RATE },\n } = art;\n\n return {\n ...option,\n html: `${i18n.get('Play Speed')}:\n ${PLAYBACK_RATE.map(\n (item) => `${item === 1 ? i18n.get('Normal') : item}`,\n ).join('')}\n `,\n click: (contextmenu, event) => {\n const { value } = event.target.dataset;\n if (value) {\n art.playbackRate = Number(value);\n contextmenu.show = false;\n }\n },\n mounted: ($panel) => {\n const $default = query('[data-value=\"1\"]', $panel);\n if ($default) inverseClass($default, 'art-current');\n art.on('video:ratechange', () => {\n const $current = queryAll('span', $panel).find(\n (item) => Number(item.dataset.value) === art.playbackRate,\n );\n if ($current) {\n inverseClass($current, 'art-current');\n }\n });\n },\n };\n };\n}\n","import { inverseClass, query, queryAll } from '../utils';\n\nexport default function aspectRatio(option) {\n return (art) => {\n const {\n i18n,\n constructor: { ASPECT_RATIO },\n } = art;\n return {\n ...option,\n html: `${i18n.get('Aspect Ratio')}:\n ${ASPECT_RATIO.map(\n (item) => `${item === 'default' ? i18n.get('Default') : item}`,\n ).join('')}\n `,\n click: (contextmenu, event) => {\n const { value } = event.target.dataset;\n if (value) {\n art.aspectRatio = value;\n contextmenu.show = false;\n }\n },\n mounted: ($panel) => {\n const $default = query('[data-value=\"default\"]', $panel);\n if ($default) inverseClass($default, 'art-current');\n art.on('aspectRatio', (value) => {\n const $current = queryAll('span', $panel).find((item) => item.dataset.value === value);\n if ($current) {\n inverseClass($current, 'art-current');\n }\n });\n },\n };\n };\n}\n","import { inverseClass, query, queryAll, capitalize } from '../utils';\n\nexport default function flip(option) {\n return (art) => {\n const {\n i18n,\n constructor: { FLIP },\n } = art;\n\n return {\n ...option,\n html: `${i18n.get('Video Flip')}:\n ${FLIP.map((item) => `${i18n.get(capitalize(item))}`).join('')}\n `,\n click: (contextmenu, event) => {\n const { value } = event.target.dataset;\n if (value) {\n art.flip = value.toLowerCase();\n contextmenu.show = false;\n }\n },\n mounted: ($panel) => {\n const $default = query('[data-value=\"normal\"]', $panel);\n if ($default) inverseClass($default, 'art-current');\n art.on('flip', (value) => {\n const $current = queryAll('span', $panel).find((item) => item.dataset.value === value);\n if ($current) {\n inverseClass($current, 'art-current');\n }\n });\n },\n };\n };\n}\n","export default function info(option) {\n return (art) => ({\n ...option,\n html: art.i18n.get('Video Info'),\n click: (contextmenu) => {\n art.info.show = true;\n contextmenu.show = false;\n },\n });\n}\n","export default function version(option) {\n return {\n ...option,\n html: `ArtPlayer ${process.env.APP_VER}`,\n };\n}\n","export default function close(option) {\n return (art) => ({\n ...option,\n html: art.i18n.get('Close'),\n click: (contextmenu) => {\n contextmenu.show = false;\n },\n });\n}\n","import { queryAll, isMobile } from './utils';\nimport Component from './utils/component';\n\nexport default class Info extends Component {\n constructor(art) {\n super(art);\n this.name = 'info';\n\n if (!isMobile) {\n this.init();\n }\n }\n\n init() {\n const {\n proxy,\n constructor,\n template: { $infoPanel, $infoClose, $video },\n } = this.art;\n\n proxy($infoClose, 'click', () => {\n this.show = false;\n });\n\n let timer = null;\n const $types = queryAll('[data-video]', $infoPanel) || [];\n\n this.art.on('destroy', () => {\n clearTimeout(timer);\n });\n\n function loop() {\n for (let index = 0; index < $types.length; index++) {\n const item = $types[index];\n const value = $video[item.dataset.video];\n const innerText = typeof value === 'number' ? value.toFixed(2) : value;\n if (item.innerText !== innerText) {\n item.innerText = innerText;\n }\n }\n timer = setTimeout(loop, constructor.INFO_LOOP_TIME);\n }\n\n loop();\n }\n}\n","import {\n setStyle,\n setStyles,\n srtToVtt,\n vttToBlob,\n getExt,\n assToVtt,\n escape,\n remove,\n append,\n createElement,\n} from './utils';\nimport Component from './utils/component';\nimport validator from 'option-validator';\nimport scheme from './scheme';\n\nexport default class Subtitle extends Component {\n constructor(art) {\n super(art);\n this.name = 'subtitle';\n this.eventDestroy = () => null;\n this.init(art.option.subtitle);\n\n let lastState = false;\n art.on('video:timeupdate', () => {\n if (!this.url) return;\n const state = this.art.template.$video.webkitDisplayingFullscreen;\n if (typeof state !== 'boolean') return;\n if (state !== lastState) {\n lastState = state;\n this.createTrack(state ? 'subtitles' : 'metadata', this.url);\n }\n });\n }\n\n get url() {\n return this.art.template.$track.src;\n }\n\n set url(url) {\n this.switch(url);\n }\n\n get textTrack() {\n return this.art.template.$video.textTracks[0];\n }\n\n get activeCue() {\n return this.textTrack.activeCues[0];\n }\n\n style(key, value) {\n const { $subtitle } = this.art.template;\n if (typeof key === 'object') {\n return setStyles($subtitle, key);\n }\n return setStyle($subtitle, key, value);\n }\n\n update() {\n const { $subtitle } = this.art.template;\n $subtitle.innerHTML = '';\n if (this.activeCue) {\n if (this.art.option.subtitle.escape) {\n $subtitle.innerHTML = this.activeCue.text\n .split(/\\r?\\n/)\n .map((item) => `${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\n this.art.emit('subtitleLoad', subtitleOption.url);\n switch (subtitleOption.type || getExt(subtitleOption.url)) {\n case 'srt':\n return vttToBlob(srtToVtt(text));\n case 'ass':\n return vttToBlob(assToVtt(text));\n case 'vtt':\n return vttToBlob(text);\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 mousemoveInit from './mousemoveInit';\nimport resizeInit from './resizeInit';\nimport gestureInit from './gestureInit';\nimport viewInit from './viewInit';\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 mousemoveInit(art, this);\n resizeInit(art, this);\n gestureInit(art, this);\n viewInit(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 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');\n } else {\n art.isInput = false;\n art.isFocus = false;\n art.emit('blur');\n }\n });\n\n let clickTime = 0;\n events.proxy($video, 'click', () => {\n const now = Date.now();\n\n if (now - clickTime <= constructor.DB_CLICE_TIME) {\n art.emit('dblclick');\n\n if (isMobile) {\n if (!art.isLock) {\n art.toggle();\n }\n } else {\n art.fullscreen = !art.fullscreen;\n }\n } else {\n art.emit('click');\n\n if (!isMobile) {\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 mousemoveInitInit(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.normalSize) {\n art.autoSize = option.autoSize;\n }\n art.aspectRatioReset = true;\n art.notice.show = '';\n art.emit('resize');\n }, art.constructor.RESIZE_TIME);\n\n events.proxy(window, ['orientationchange', 'resize'], () => {\n resizeFn();\n });\n\n if (screen && screen.orientation && screen.orientation.onchange) {\n events.proxy(screen.orientation, 'change', () => {\n resizeFn();\n });\n }\n}\n","import { clamp, secondToTime, isMobile } from '../utils';\nimport { setCurrentTime } from '../control/progress';\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 { clientX, clientY } = event.touches[0];\n startX = clientX;\n startY = clientY;\n startTime = art.currentTime;\n }\n };\n\n const onTouchMove = (event) => {\n if (event.touches.length === 1 && isDroging && art.duration) {\n const { clientX, clientY } = event.touches[0];\n const ratioX = clamp((clientX - startX) / art.width, -1, 1);\n const ratioY = clamp((clientY - 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 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', () => {\n scrollFn();\n });\n\n art.on('view', (state) => {\n if (option.autoMini) {\n art.mini = !state;\n }\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 { append, def, addClass, createElement } 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 Object.keys(icons).forEach((key) => {\n def(this, key, {\n get: () => {\n const icon = createElement('i');\n addClass(icon, 'art-icon');\n addClass(icon, `art-icon-${key}`);\n append(icon, icons[key]);\n return icon;\n },\n });\n });\n }\n}\n","module.exports = \"2fa9a917c3d0b2a2\";","module.exports = \"6347f1c94437bf17\";","module.exports = \"cf45eac87ef6c5a8\";","module.exports = \"b1730f657280749d\";","module.exports = \"aed7bb049e8eeb13\";","module.exports = \"5d049b39f3100425\";","module.exports = \"9bfc32435596aa66\";","module.exports = \"6d270d4786d36189\";","module.exports = \"5c6c0195698308af\";","module.exports = \"2ba35247757d062a\";","module.exports = \"e3197205d280d5f0\";","module.exports = \"adf704bb6c6db9f1\";","module.exports = \"f158b6e222339f4b\";","module.exports = \"9ff79449772c28ff\";","module.exports = \"c24909162a3a6947\";","module.exports = \"5ff91babd37ec49f\";","module.exports = \"21fbe4c111eddb1e\";","module.exports = \"2a0858aa31c4f75f\";","module.exports = \"2d306a33a864ed5b\";","module.exports = \"d056d9f835c1b609\";","module.exports = \"d8403de5ce4cf9c0\";","module.exports = \"0b638041327c3652\";","module.exports = \"0d802f359a76b941\";","module.exports = \"5ce760f810b6b485\";","module.exports = \"f3358296f8174503\";","module.exports = \"4b29dd08d9923e17\";","module.exports = \"eb762296786cefcc\";","import flip from './flip';\nimport aspectRatio from './aspectRatio';\nimport playbackRate from './playbackRate';\nimport subtitleOffset from './subtitleOffset';\nimport Component from '../utils/component';\nimport {\n def,\n has,\n append,\n addClass,\n setStyle,\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 proxy,\n template: { $setting, $player },\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 if (option.playbackRate) {\n this.option.push(playbackRate(art));\n }\n\n if (option.aspectRatio) {\n this.option.push(aspectRatio(art));\n }\n\n if (option.flip) {\n this.option.push(flip(art));\n }\n\n if (option.subtitleOffset) {\n this.option.push(subtitleOffset(art));\n }\n\n for (let index = 0; index < option.settings.length; index++) {\n this.option.push(option.settings[index]);\n }\n\n this.update();\n\n art.on('blur', () => {\n if (this.show) {\n this.show = false;\n this.init(this.option);\n }\n });\n\n proxy($player, 'click', (event) => {\n if (\n this.show &&\n !includeFromEvent(event, art.controls.setting) &&\n !includeFromEvent(event, this.$parent)\n ) {\n this.show = false;\n this.init(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 if (item.selector) {\n Setting.makeRecursion(item.selector, item, option);\n }\n }\n return option;\n }\n\n update() {\n this.cache = new Map();\n this.events.forEach((event) => event());\n this.events = [];\n this.$parent.innerHTML = '';\n this.option = Setting.makeRecursion(this.option);\n this.init(this.option);\n return this.option;\n }\n\n add(setting) {\n this.option.push(setting);\n this.update();\n return setting;\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.init(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.init(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.init(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) {\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', 'auto');\n setStyle($setting, 'right', '10px');\n } else {\n setStyle($setting, 'left', `${settingLeft}px`);\n setStyle($setting, 'right', 'auto');\n }\n } else {\n setStyle($setting, 'left', 'auto');\n setStyle($setting, 'right', '10px');\n }\n }\n\n init(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 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 default: item === art.flip,\n html: i18n.get(capitalize(item)),\n };\n }),\n onSelect(item) {\n art.flip = item.value;\n return item.value;\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 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 default: item === art.aspectRatio,\n html: getI18n(item),\n };\n }),\n onSelect(item) {\n art.aspectRatio = item.value;\n return item.value;\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;\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 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 default: item === art.playbackRate,\n html: getI18n(item),\n };\n }),\n onSelect(item) {\n art.playbackRate = item.value;\n return item.value;\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 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: 'miniProgressBar',\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: 'miniProgressBar',\n };\n}\n","import { setStyle, addClass, removeClass, hasClass } from '../utils';\n\nexport default function autoOrientation(art) {\n const {\n option,\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 setStyle($player, 'width', null);\n setStyle($player, 'height', null);\n setStyle($player, 'transform', null);\n setStyle($player, 'transform-origin', null);\n removeClass($player, 'art-auto-orientation');\n art.isRotate = false;\n art.aspectRatioReset = true;\n art.autoSize = option.autoSize;\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: 'autoPlayback',\n html: `\n \n \n \n `,\n });\n\n const $last = query('.art-autoPlayback-last', $autoPlayback);\n const $jump = query('.art-autoPlayback-jump', $autoPlayback);\n const $close = query('.art-autoPlayback-close', $autoPlayback);\n\n art.on('video:timeupdate', () => {\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 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: 'autoPlayback',\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 Object.keys(option.moreVideoAttr).forEach((key) => {\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 art.emit('url', $video.src);\n }\n }\n}\n"],"names":[],"version":3,"file":"index.js.map","sourceRoot":"../../../packages/artplayer/"}
\ 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/themeMix.js","packages/artplayer/src/player/titleMix.js","packages/artplayer/src/player/typeMix.js","packages/artplayer/src/player/normalSizeMix.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/mousemoveInit.js","packages/artplayer/src/events/resizeInit.js","packages/artplayer/src/events/gestureInit.js","packages/artplayer/src/events/viewInit.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 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 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.INDICATOR_SIZE = 14;\nArtplayer.INDICATOR_SIZE_ICON = 16;\nArtplayer.INDICATOR_SIZE_MOBILE = 18;\nArtplayer.INDICATOR_SIZE_MOBILE_ICON = 20;\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.DB_CLICE_TIME = 300;\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 {\n setStyle(element, key, styles[key]);\n });\n return element;\n}\n\nexport function getStyle(element, key, numberType = true) {\n const value = window.getComputedStyle(element, null).getPropertyValue(key);\n return numberType ? parseFloat(value) : value;\n}\n\nexport function sublings(target) {\n return Array.from(target.parentElement.children).filter((item) => item !== target);\n}\n\nexport function inverseClass(target, className) {\n sublings(target).forEach((item) => removeClass(item, className));\n addClass(target, className);\n}\n\nexport function tooltip(target, msg, pos = 'top') {\n if (isMobile) return;\n target.setAttribute('aria-label', msg);\n addClass(target, 'hint--rounded');\n addClass(target, `hint--${pos}`);\n}\n\nexport function isInViewport(el, offset = 0) {\n const rect = el.getBoundingClientRect();\n const windowHeight = window.innerHeight || document.documentElement.clientHeight;\n const windowWidth = window.innerWidth || document.documentElement.clientWidth;\n const vertInView = rect.top - offset <= windowHeight && rect.top + rect.height + offset >= 0;\n const horInView = rect.left - offset <= windowWidth + offset && rect.left + rect.width + offset >= 0;\n return vertInView && horInView;\n}\n\nexport function includeFromEvent(event, target) {\n return event.composedPath && event.composedPath().indexOf(target) > -1;\n}\n\nexport function replaceElement(newChild, oldChild) {\n oldChild.parentNode.replaceChild(newChild, oldChild);\n return newChild;\n}\n\nexport function createElement(tag) {\n return document.createElement(tag);\n}\n\nexport function getIcon(key = '', html = '') {\n const icon = createElement('i');\n addClass(icon, 'art-icon');\n addClass(icon, `art-icon-${key}`);\n append(icon, html);\n return icon;\n}\n","export const userAgent = typeof window !== 'undefined' ? window.navigator.userAgent : '';\nexport const isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(userAgent);\nexport const isSafari = /^((?!chrome|android).)*safari/i.test(userAgent);\nexport const isWechat = /MicroMessenger/i.test(userAgent);\nexport const isIE = /MSIE|Trident/i.test(userAgent);\nexport const isAndroid = /android/i.test(userAgent);\nexport const isIOS = /iPad|iPhone|iPod/i.test(userAgent) && !window.MSStream;\n","export class ArtPlayerError extends Error {\n constructor(message, context) {\n super(message);\n if (typeof Error.captureStackTrace === 'function') {\n Error.captureStackTrace(this, context || this.constructor);\n }\n this.name = 'ArtPlayerError';\n }\n}\n\nexport function errorHandle(condition, msg) {\n if (!condition) {\n throw new ArtPlayerError(msg);\n }\n return condition;\n}\n","function fixSrt(srt) {\n return srt.replace(/(\\d\\d:\\d\\d:\\d\\d)[,.](\\d+)/g, (_, $1, $2) => {\n let ms = $2.slice(0, 3);\n if ($2.length === 1) {\n ms = $2 + '00';\n }\n if ($2.length === 2) {\n ms = $2 + '0';\n }\n return `${$1},${ms}`;\n });\n}\n\nexport function srtToVtt(srtText) {\n return 'WEBVTT \\r\\n\\r\\n'.concat(\n fixSrt(srtText)\n .replace(/\\{\\\\([ibu])\\}/g, '$1>')\n .replace(/\\{\\\\([ibu])1\\}/g, '<$1>')\n .replace(/\\{([ibu])\\}/g, '<$1>')\n .replace(/\\{\\/([ibu])\\}/g, '$1>')\n .replace(/(\\d\\d:\\d\\d:\\d\\d),(\\d\\d\\d)/g, '$1.$2')\n .replace(/{[\\s\\S]*?}/g, '')\n .concat('\\r\\n\\r\\n'),\n );\n}\n\nexport function vttToBlob(vttText) {\n return URL.createObjectURL(\n new Blob([vttText], {\n type: 'text/vtt',\n }),\n );\n}\n\nexport function assToVtt(ass) {\n const reAss = new RegExp(\n 'Dialogue:\\\\s\\\\d,' +\n '(\\\\d+:\\\\d\\\\d:\\\\d\\\\d.\\\\d\\\\d),' +\n '(\\\\d+:\\\\d\\\\d:\\\\d\\\\d.\\\\d\\\\d),' +\n '([^,]*),' +\n '([^,]*),' +\n '(?:[^,]*,){4}' +\n '([\\\\s\\\\S]*)$',\n 'i',\n );\n\n function fixTime(time = '') {\n return time\n .split(/[:.]/)\n .map((item, index, arr) => {\n if (index === arr.length - 1) {\n if (item.length === 1) {\n return `.${item}00`;\n }\n\n if (item.length === 2) {\n return `.${item}0`;\n }\n } else if (item.length === 1) {\n return (index === 0 ? '0' : ':0') + item;\n }\n\n // eslint-disable-next-line no-nested-ternary\n return index === 0 ? item : index === arr.length - 1 ? `.${item}` : `:${item}`;\n })\n .join('');\n }\n\n return `WEBVTT\\n\\n${ass\n .split(/\\r?\\n/)\n .map((line) => {\n const m = line.match(reAss);\n if (!m) return null;\n return {\n start: fixTime(m[1].trim()),\n end: fixTime(m[2].trim()),\n text: m[5]\n .replace(/{[\\s\\S]*?}/g, '')\n .replace(/(\\\\N)/g, '\\n')\n .trim()\n .split(/\\r?\\n/)\n .map((item) => item.trim())\n .join('\\n'),\n };\n })\n .filter((line) => line)\n .map((line, index) => {\n if (line) {\n return `${index + 1}\\n${line.start} --> ${line.end}\\n${line.text}`;\n }\n return '';\n })\n .filter((line) => line.trim())\n .join('\\n\\n')}`;\n}\n","export function getExt(url) {\n if (url.includes('?')) {\n return getExt(url.split('?')[0]);\n }\n\n if (url.includes('#')) {\n return getExt(url.split('#')[0]);\n }\n\n return url.trim().toLowerCase().split('.').pop();\n}\n\nexport function download(url, name) {\n const elink = document.createElement('a');\n elink.style.display = 'none';\n elink.href = url;\n elink.download = name;\n document.body.appendChild(elink);\n elink.click();\n document.body.removeChild(elink);\n}\n","export const def = Object.defineProperty;\n\nconst { hasOwnProperty } = Object.prototype;\nexport function has(obj, name) {\n return hasOwnProperty.call(obj, name);\n}\n\nexport function get(obj, name) {\n return Object.getOwnPropertyDescriptor(obj, name);\n}\n\nexport function mergeDeep(...objects) {\n const isObject = (item) => item && typeof item === 'object' && !Array.isArray(item);\n return objects.reduce((prev, obj) => {\n Object.keys(obj).forEach((key) => {\n const pVal = prev[key];\n const oVal = obj[key];\n if (Array.isArray(pVal) && Array.isArray(oVal)) {\n prev[key] = pVal.concat(...oVal);\n } else if (isObject(pVal) && isObject(oVal) && !(oVal instanceof Element)) {\n prev[key] = mergeDeep(pVal, oVal);\n } else {\n prev[key] = oVal;\n }\n });\n return prev;\n }, {});\n}\n","export function sleep(ms = 0) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\nexport function debounce(func, wait, context) {\n let timeout;\n function fn(...args) {\n const later = function later() {\n timeout = null;\n func.apply(context, args);\n };\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n }\n\n fn.clearTimeout = function ct() {\n clearTimeout(timeout);\n };\n\n return fn;\n}\n\nexport function throttle(callback, delay) {\n let isThrottled = false;\n let args;\n let context;\n function fn(...args2) {\n if (isThrottled) {\n args = args2;\n context = this;\n return;\n }\n\n isThrottled = true;\n callback.apply(this, args2);\n setTimeout(() => {\n isThrottled = false;\n if (args) {\n fn.apply(context, args);\n args = null;\n context = null;\n }\n }, delay);\n }\n return fn;\n}\n","export function clamp(num, a, b) {\n return Math.max(Math.min(num, Math.max(a, b)), Math.min(a, b));\n}\n\nexport function capitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\n\nexport function isStringOrNumber(val) {\n return ['string', 'number'].includes(typeof val);\n}\n\nexport function secondToTime(second) {\n const add0 = (num) => (num < 10 ? `0${num}` : String(num));\n const hour = Math.floor(second / 3600);\n const min = Math.floor((second - hour * 3600) / 60);\n const sec = Math.floor(second - hour * 3600 - min * 60);\n return (hour > 0 ? [hour, min, sec] : [min, sec]).map(add0).join(':');\n}\n\nexport function escape(str) {\n return str.replace(\n /[&<>'\"]/g,\n (tag) =>\n ({\n '&': '&',\n '<': '<',\n '>': '>',\n \"'\": ''',\n '\"': '"',\n }[tag] || tag),\n );\n}\n","import { errorHandle } from '../utils';\n\nconst a = 'array';\nconst b = 'boolean';\nconst s = 'string';\nconst n = 'number';\nconst o = 'object';\nconst f = 'function';\nconst r = 'regexp';\n\nfunction validElement(value, type, paths) {\n return errorHandle(\n type === s || type === n || value instanceof Element,\n `${paths.join('.')} require '${s}' or 'Element' type`,\n );\n}\n\nexport const ComponentOption = {\n html: validElement,\n disable: `?${b}`,\n name: `?${s}`,\n index: `?${n}`,\n style: `?${o}`,\n click: `?${f}`,\n mounted: `?${f}`,\n tooltip: `?${s}|${n}`,\n width: `?${n}`,\n selector: `?${a}`,\n onSelect: `?${f}`,\n switch: `?${b}`,\n onSwitch: `?${f}`,\n range: `?${a}`,\n onRange: `?${f}`,\n onChange: `?${f}`,\n};\n\nexport default {\n id: s,\n container: validElement,\n url: s,\n poster: s,\n title: s,\n type: s,\n theme: s,\n lang: s,\n volume: n,\n isLive: b,\n muted: b,\n autoplay: b,\n autoSize: b,\n autoMini: b,\n loop: b,\n flip: b,\n playbackRate: b,\n aspectRatio: b,\n screenshot: b,\n setting: b,\n hotkey: b,\n pip: b,\n mutex: b,\n backdrop: b,\n fullscreen: b,\n fullscreenWeb: b,\n subtitleOffset: b,\n miniProgressBar: b,\n useSSR: b,\n playsInline: b,\n lock: b,\n fastForward: b,\n autoPlayback: b,\n autoOrientation: b,\n airplay: b,\n plugins: [f],\n whitelist: [`${s}|${f}|${r}`],\n layers: [ComponentOption],\n contextmenu: [ComponentOption],\n settings: [ComponentOption],\n controls: [\n {\n ...ComponentOption,\n position: (value, _, paths) => {\n const position = ['top', 'left', 'right'];\n return errorHandle(\n position.includes(value),\n `${paths.join('.')} only accept ${position.toString()} as parameters`,\n );\n },\n },\n ],\n quality: [\n {\n default: `?${b}`,\n html: s,\n url: s,\n },\n ],\n highlight: [\n {\n time: n,\n text: s,\n },\n ],\n thumbnails: {\n url: s,\n number: n,\n column: n,\n width: n,\n height: n,\n },\n subtitle: {\n url: s,\n type: s,\n style: o,\n escape: b,\n encoding: s,\n onVttLoad: f,\n },\n moreVideoAttr: o,\n i18n: o,\n icons: o,\n customType: o,\n};\n","export default {\n propertys: [\n 'audioTracks',\n 'autoplay',\n 'buffered',\n 'controller',\n 'controls',\n 'crossOrigin',\n 'currentSrc',\n 'currentTime',\n 'defaultMuted',\n 'defaultPlaybackRate',\n 'duration',\n 'ended',\n 'error',\n 'loop',\n 'mediaGroup',\n 'muted',\n 'networkState',\n 'paused',\n 'playbackRate',\n 'played',\n 'preload',\n 'readyState',\n 'seekable',\n 'seeking',\n 'src',\n 'startDate',\n 'textTracks',\n 'videoTracks',\n 'volume',\n ],\n methods: ['addTextTrack', 'canPlayType', 'load', 'play', 'pause'],\n events: [\n 'abort',\n 'canplay',\n 'canplaythrough',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'loadeddata',\n 'loadedmetadata',\n 'loadstart',\n 'pause',\n 'play',\n 'playing',\n 'progress',\n 'ratechange',\n 'seeked',\n 'seeking',\n 'stalled',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'waiting',\n ],\n prototypes: [\n 'width',\n 'height',\n 'videoWidth',\n 'videoHeight',\n 'poster',\n 'webkitDecodedFrameCount',\n 'webkitDroppedFrameCount',\n 'playsInline',\n 'webkitSupportsFullscreen',\n 'webkitDisplayingFullscreen',\n 'onenterpictureinpicture',\n 'onleavepictureinpicture',\n 'disablePictureInPicture',\n 'cancelVideoFrameCallback',\n 'requestVideoFrameCallback',\n 'getVideoPlaybackQuality',\n 'requestPictureInPicture',\n 'webkitEnterFullScreen',\n 'webkitEnterFullscreen',\n 'webkitExitFullScreen',\n 'webkitExitFullscreen',\n ],\n};\n","import { userAgent, isMobile } from './utils';\n\nexport default class Whitelist {\n constructor(art) {\n this.art = art;\n }\n\n get state() {\n const {\n option,\n constructor: { kindOf },\n } = this.art;\n\n return (\n !isMobile ||\n !option.whitelist.length ||\n option.whitelist.some((item) => {\n switch (kindOf(item)) {\n case 'string':\n return item === '*' || userAgent.indexOf(item) > -1;\n case 'function':\n return item(userAgent);\n case 'regexp':\n return item.test(userAgent);\n default:\n return false;\n }\n })\n );\n }\n}\n","import { errorHandle, query, addClass, replaceElement, isMobile } from './utils';\n\nexport default class Template {\n constructor(art) {\n this.art = art;\n const { option, constructor, whitelist } = art;\n\n if (option.container instanceof Element) {\n this.$container = option.container;\n } else {\n this.$container = query(option.container);\n errorHandle(this.$container, `No container element found by ${option.container}`);\n }\n\n const type = this.$container.tagName.toLowerCase();\n errorHandle(type === 'div', `Unsupported container element type, only support 'div' but got '${type}'`);\n\n errorHandle(\n constructor.instances.every((ins) => ins.template.$container !== this.$container),\n 'Cannot mount multiple instances on the same dom element',\n );\n\n this.query = this.query.bind(this);\n this.$container.dataset.artId = art.id;\n this.$original = this.$container.cloneNode(true);\n\n if (whitelist.state) {\n this.desktop();\n } else {\n this.mobile();\n }\n }\n\n static get html() {\n return `\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Player version:
\n
${process.env.APP_VER}
\n
\n
\n
\n
\n
\n
\n
Video resolution:
\n
\n x \n
\n
\n
\n
[x]
\n
\n \n
\n `;\n }\n\n query(className) {\n return query(className, this.$container);\n }\n\n desktop() {\n const { option } = this.art;\n\n if (!option.useSSR) {\n this.$container.innerHTML = Template.html;\n }\n\n this.$player = this.query('.art-video-player');\n this.$video = this.query('.art-video');\n this.$track = this.query('track');\n this.$poster = this.query('.art-poster');\n this.$subtitle = this.query('.art-subtitle');\n this.$danmuku = this.query('.art-danmuku');\n this.$bottom = this.query('.art-bottom');\n this.$progress = this.query('.art-progress');\n this.$controls = this.query('.art-controls');\n this.$controlsLeft = this.query('.art-controls-left');\n this.$controlsCenter = this.query('.art-controls-center');\n this.$controlsRight = this.query('.art-controls-right');\n this.$layer = this.query('.art-layers');\n this.$loading = this.query('.art-loading');\n this.$notice = this.query('.art-notice');\n this.$noticeInner = this.query('.art-notice-inner');\n this.$mask = this.query('.art-mask');\n this.$state = this.query('.art-state');\n this.$setting = this.query('.art-settings');\n this.$info = this.query('.art-info');\n this.$infoPanel = this.query('.art-info-panel');\n this.$infoClose = this.query('.art-info-close');\n this.$contextmenu = this.query('.art-contextmenus');\n\n if (option.backdrop) {\n addClass(this.$player, 'art-backdrop');\n }\n\n if (isMobile) {\n addClass(this.$player, 'art-mobile');\n }\n }\n\n mobile() {\n this.$container.innerHTML = `\n \n \n
\n `;\n this.$player = this.query('.art-video-player');\n this.$video = this.query('.art-video');\n }\n\n destroy(removeHtml) {\n if (removeHtml) {\n replaceElement(this.$original, this.$container);\n } else {\n addClass(this.$player, 'art-destroy');\n }\n }\n}\n","import { mergeDeep } from '../utils';\nimport zhCn from './zh-cn.json';\nimport zhTw from './zh-tw.json';\nimport pl from './pl.json';\nimport cs from './cs.json';\nimport es from './es.json';\nimport fa from './fa.json';\nimport fr from './fr.json';\nimport id from './id.json';\nimport ru from './ru.json';\n\nexport default class I18n {\n constructor(art) {\n this.art = art;\n\n this.languages = {\n 'zh-cn': zhCn,\n 'zh-tw': zhTw,\n pl: pl,\n cs: cs,\n es: es,\n fa: fa,\n fr: fr,\n id: id,\n ru: ru,\n };\n\n this.update(art.option.i18n);\n }\n\n init() {\n const lang = this.art.option.lang.toLowerCase();\n this.language = this.languages[lang] || {};\n }\n\n get(key) {\n return this.language[key] || key;\n }\n\n update(value) {\n this.languages = mergeDeep(this.languages, value);\n this.init();\n }\n}\n","{\n \"Video Info\": \"统计信息\",\n \"Close\": \"关闭\",\n \"Video Load Failed\": \"加载失败\",\n \"Volume\": \"音量\",\n \"Play\": \"播放\",\n \"Pause\": \"暂停\",\n \"Rate\": \"速度\",\n \"Mute\": \"静音\",\n \"Video Flip\": \"画面翻转\",\n \"Horizontal\": \"水平\",\n \"Vertical\": \"垂直\",\n \"Reconnect\": \"重新连接\",\n \"Show Setting\": \"显示设置\",\n \"Hide Setting\": \"隐藏设置\",\n \"Screenshot\": \"截图\",\n \"Play Speed\": \"播放速度\",\n \"Aspect Ratio\": \"画面比例\",\n \"Default\": \"默认\",\n \"Normal\": \"正常\",\n \"Open\": \"打开\",\n \"Switch Video\": \"切换\",\n \"Switch Subtitle\": \"切换字幕\",\n \"Fullscreen\": \"全屏\",\n \"Exit Fullscreen\": \"退出全屏\",\n \"Web Fullscreen\": \"网页全屏\",\n \"Exit Web Fullscreen\": \"退出网页全屏\",\n \"Mini Player\": \"迷你播放器\",\n \"PIP Mode\": \"开启画中画\",\n \"Exit PIP Mode\": \"退出画中画\",\n \"PIP Not Supported\": \"不支持画中画\",\n \"Fullscreen Not Supported\": \"不支持全屏\",\n \"Subtitle Offset\": \"字幕偏移\",\n \"Last Seen\": \"上次看到\",\n \"Jump Play\": \"跳转播放\",\n \"AirPlay\": \"隔空播放\",\n \"AirPlay Not Available\": \"隔空播放不可用\"\n}\n","{\n \"Video Info\": \"統計訊息\",\n \"Close\": \"關閉\",\n \"Video Load Failed\": \"載入失敗\",\n \"Volume\": \"音量\",\n \"Play\": \"播放\",\n \"Pause\": \"暫停\",\n \"Rate\": \"速度\",\n \"Mute\": \"靜音\",\n \"Video Flip\": \"畫面翻轉\",\n \"Horizontal\": \"水平\",\n \"Vertical\": \"垂直\",\n \"Reconnect\": \"重新連接\",\n \"Show Setting\": \"顯示设置\",\n \"Hide Setting\": \"隱藏设置\",\n \"Screenshot\": \"截圖\",\n \"Play Speed\": \"播放速度\",\n \"Aspect Ratio\": \"畫面比例\",\n \"Default\": \"默認\",\n \"Normal\": \"正常\",\n \"Open\": \"打開\",\n \"Switch Video\": \"切換\",\n \"Switch Subtitle\": \"切換字幕\",\n \"Fullscreen\": \"全屏\",\n \"Exit Fullscreen\": \"退出全屏\",\n \"Web Fullscreen\": \"網頁全屏\",\n \"Exit Web Fullscreen\": \"退出網頁全屏\",\n \"Mini Player\": \"迷你播放器\",\n \"PIP Mode\": \"開啟畫中畫\",\n \"Exit PIP Mode\": \"退出畫中畫\",\n \"PIP Not Supported\": \"不支持畫中畫\",\n \"Fullscreen Not Supported\": \"不支持全屏\",\n \"Subtitle Offset\": \"字幕偏移\",\n \"Last Seen\": \"上次看到\",\n \"Jump Play\": \"跳轉播放\",\n \"AirPlay\": \"隔空播放\",\n \"AirPlay Not Available\": \"隔空播放不可用\"\n}\n","{\n \"Video Info\": \"Informacje o wideo\",\n \"Close\": \"Zamknij\",\n \"Video Load Failed\": \"Błąd ładowania wideo\",\n \"Volume\": \"Głośność\",\n \"Play\": \"Odtwórz\",\n \"Pause\": \"Wstrzymaj\",\n \"Rate\": \"Oceń\",\n \"Mute\": \"Wycisz\",\n \"Video Flip\": \"Rotacja wideo\",\n \"Horizontal\": \"Pozioma\",\n \"Vertical\": \"Pionowa\",\n \"Reconnect\": \"Połącz ponownie\",\n \"Show Setting\": \"Pokaż ustawienia\",\n \"Hide Setting\": \"Ukryj ustawienia\",\n \"Screenshot\": \"Zrzut ekranu\",\n \"Play Speed\": \"Prędkość odtwarzania\",\n \"Aspect Ratio\": \"Współczynnik proporcji\",\n \"Default\": \"Domyślny\",\n \"Normal\": \"Normalny\",\n \"Open\": \"Otwórz\",\n \"Switch Video\": \"Przełącz wideo\",\n \"Switch Subtitle\": \"Przełącz napisy\",\n \"Fullscreen\": \"Pełny ekran\",\n \"Exit Fullscreen\": \"Zamknij pełny ekran\",\n \"Web Fullscreen\": \"Tryb pełnej strony\",\n \"Exit Web Fullscreen\": \"Zamknij tryb pełnej strony\",\n \"Mini Player\": \"Miniodtwarzacz\",\n \"PIP Mode\": \"Tryb PiP\",\n \"Exit PIP Mode\": \"Zamknij tryb PiP\",\n \"PIP Not Supported\": \"Tryb PiP nieobsługiwany\",\n \"Fullscreen Not Supported\": \"Pełny ekran nieobsługiwany\",\n \"Subtitle Offset\": \"Przesunięcie napisów\",\n \"Last Seen\": \"Ostatnio widziany\",\n \"Jump Play\": \"Skocz do gry\",\n \"AirPlay\": \"AirPlay\",\n \"AirPlay Not Available\": \"AirPlay nie jest dostępny\"\n}\n","{\n \"Video Info\": \"Info o videu\",\n \"Close\": \"Zavřít\",\n \"Video Load Failed\": \"Nahrání videa selhalo\",\n \"Volume\": \"Hlasitost\",\n \"Play\": \"Přehrát\",\n \"Pause\": \"Pozastavit\",\n \"Rate\": \"Hodnocení\",\n \"Mute\": \"Ztlumit\",\n \"Video Flip\": \"Otočit video\",\n \"Horizontal\": \"Horizontálně\",\n \"Vertical\": \"Vertikálně\",\n \"Reconnect\": \"Opětovné připojení\",\n \"Show Setting\": \"Zobrazit nastavení\",\n \"Hide Setting\": \"Skrýt nastavení\",\n \"Screenshot\": \"Snímek obrazovky\",\n \"Play Speed\": \"Rychlost přehrávání\",\n \"Aspect Ratio\": \"Poměr stran\",\n \"Default\": \"Výchozí\",\n \"Normal\": \"Normální\",\n \"Open\": \"Otevřít\",\n \"Switch Video\": \"Přepnout video\",\n \"Switch Subtitle\": \"Přepnout titulky\",\n \"Fullscreen\": \"Celá obrazovka\",\n \"Exit Fullscreen\": \"Opustit režim celé obrazovky\",\n \"Web Fullscreen\": \"Celá stránka\",\n \"Exit Web Fullscreen\": \"Zavřít režim celé stránky\",\n \"Mini Player\": \"Mini přehrávač\",\n \"PIP Mode\": \"Režim PIP\",\n \"Exit PIP Mode\": \"Opustit režim PIP\",\n \"PIP Not Supported\": \"Režim PIP není podporován\",\n \"Fullscreen Not Supported\": \"Režim celé obrazovky není podporován\",\n \"Subtitle Offset\": \"Posun titulků\",\n \"Last Seen\": \"Naposledy viděn\",\n \"Jump Play\": \"Hra na skok\",\n \"AirPlay\": \"AirPlay\",\n \"AirPlay Not Available\": \"AirPlay není k dispozici\"\n}\n","{\n \"Video Info\": \"Información del video\",\n \"Close\": \"Cerrar\",\n \"Video Load Failed\": \"Falló carga de video\",\n \"Volume\": \"Volumen\",\n \"Play\": \"Reproduciendo\",\n \"Pause\": \"Pausa\",\n \"Rate\": \"Velocidad\",\n \"Mute\": \"Silencio\",\n \"Video Flip\": \"Rotar video\",\n \"Horizontal\": \"Horizontal\",\n \"Vertical\": \"Vertical\",\n \"Reconnect\": \"Reconectando\",\n \"Show Setting\": \"Mostrar ajustes\",\n \"Hide Setting\": \"Ocultar ajustes\",\n \"Screenshot\": \"Captura de Pantalla\",\n \"Play Speed\": \"Velocidad de reproducción\",\n \"Aspect Ratio\": \"Relación de aspecto\",\n \"Default\": \"Por defecto\",\n \"Normal\": \"Normal\",\n \"Open\": \"Abrir\",\n \"Switch Video\": \"Cambiar video\",\n \"Switch Subtitle\": \"Cambiar subtítulo\",\n \"Fullscreen\": \"Pantalla completa\",\n \"Exit Fullscreen\": \"Salir de Pantalla completa\",\n \"Web Fullscreen\": \"Pantalla completa Web\",\n \"Exit Web Fullscreen\": \"Salir de Pantalla completa\",\n \"Mini Player\": \"Mini reproductor\",\n \"PIP Mode\": \"Modo PiP\",\n \"Exit PIP Mode\": \"Cerrar modo PiP\",\n \"PIP Not Supported\": \"Modo PiP no compatible\",\n \"Fullscreen Not Supported\": \"Pantalla completa no soportada\",\n \"Subtitle Offset\": \"Ajuste subtítulo\",\n \"Last Seen\": \"Visto última vez\",\n \"Jump Play\": \"Saltar\",\n \"AirPlay\": \"AirPlay\",\n \"AirPlay Not Available\": \"AirPlay no disponible\"\n}\n","{\n \"Video Info\": \"اطلاعات ویدیو\",\n \"Close\": \"بستن\",\n \"Video Load Failed\": \"بارگذاری ناموفق\",\n \"Play\": \"پخش\",\n \"Volume\": \"میزان صدا\",\n \"Pause\": \"توقف\",\n \"Rate\": \"نرخ\",\n \"Mute\": \"سکوت\",\n \"Video Flip\": \"چرخش تصویر\",\n \"Horizontal\": \"افقی\",\n \"Vertical\": \"عمودی\",\n \"Reconnect\": \"اتصال مجدد\",\n \"Show Setting\": \"تنظیمات\",\n \"Hide Setting\": \"بستن تنظیمات\",\n \"Screenshot\": \"عکس از صفحه\",\n \"Play Speed\": \"سرعت پخش\",\n \"Aspect Ratio\": \"نسبت تصویر\",\n \"Default\": \"حالت پیشفرض\",\n \"Normal\": \" حالت عادی\",\n \"Open\": \"بازکردن\",\n \"Switch Video\": \"تغییر ویدیو\",\n \"Switch Subtitle\": \"نغییر زیرنویس\",\n \"Fullscreen\": \"تمام صفحه\",\n \"Exit Fullscreen\": \"کوچک کردن\",\n \"Web Fullscreen\": \"حالت تئاتر\",\n \"Exit Web Fullscreen\": \"خروج از حالت تئاتر\",\n \"Mini Player\": \"حالت پخش کوچک\",\n \"PIP Mode\": \" مینی پلیر\",\n \"Exit PIP Mode\": \"خروج از مینی پلیر\",\n \"PIP Not Supported\": \"عدم پشتیبانی از مینی پلیر\",\n \"Fullscreen Not Supported\": \"عدم پشتیبانی از حالت تمام صفحه\",\n \"Subtitle Offset\": \"افست زیرنویس\",\n \"Last Seen\": \"آخرین بازدید\",\n \"Jump Play\": \"جامپ پلی\",\n \"AirPlay\": \"ایر پلی\",\n \"AirPlay Not Available\": \"عدم پشتیبانی از ایرپلی\"\n}\n","{\n \"Video Info\": \"Informations de la vidéo\",\n \"Close\": \"Fermer\",\n \"Video Load Failed\": \"Téléchargement de la vidéo échoué\",\n \"Volume\": \"Volume\",\n \"Play\": \"Lire\",\n \"Pause\": \"Pause\",\n \"Rate\": \"Vitesse\",\n \"Mute\": \"Muet\",\n \"Video Flip\": \"Rotation de la vidéo\",\n \"Horizontal\": \"Horizontal\",\n \"Vertical\": \"Vertical\",\n \"Reconnect\": \"Reconnexion\",\n \"Show Setting\": \"Afficher les paramètres\",\n \"Hide Setting\": \"Cacher les paramètres\",\n \"Screenshot\": \"Capture d'écran\",\n \"Play Speed\": \"Vitesse de lecture\",\n \"Aspect Ratio\": \"Rapport d'aspect\",\n \"Default\": \"Défaut\",\n \"Normal\": \"Normal\",\n \"Open\": \"Ouvrir\",\n \"Switch Video\": \"Basculer la vidéo\",\n \"Switch Subtitle\": \"Basculer le sous-titre\",\n \"Fullscreen\": \"Plein écran\",\n \"Exit Fullscreen\": \"Quitter le plein écran\",\n \"Web Fullscreen\": \"Plein écran Web\",\n \"Exit Web Fullscreen\": \"Quitter le plein écran Web\",\n \"Mini Player\": \"Mini lecteur\",\n \"PIP Mode\": \"Mode PiP\",\n \"Exit PIP Mode\": \"Fermer le mode PiP\",\n \"PIP Not Supported\": \"Mode PiP non supporté\",\n \"Fullscreen Not Supported\": \"Plein écran non supporté\",\n \"Subtitle Offset\": \"Réglage des sous-titres\",\n \"Last Seen\": \"Dernière position\",\n \"Jump Play\": \"Continuer\",\n \"AirPlay\": \"AirPlay\",\n \"AirPlay Not Available\": \"AirPlay non disponible\"\n}\n","{\n \"Video Info\": \"Informasi Video\",\n \"Close\": \"Tutup\",\n \"Video Load Failed\": \"Gagal Memuat Video\",\n \"Volume\": \"Volume\",\n \"Play\": \"Putar\",\n \"Pause\": \"Jeda\",\n \"Rate\": \"Kecepatan\",\n \"Mute\": \"Senyap\",\n \"Video Flip\": \"Memutar Video\",\n \"Horizontal\": \"Horizontal\",\n \"Vertical\": \"Vertikal\",\n \"Reconnect\": \"Menyambung Kembali\",\n \"Show Setting\": \"Tampilkan Pengaturan\",\n \"Hide Setting\": \"Sembunyikan Pengaturan\",\n \"Screenshot\": \"Tangkapan Layar\",\n \"Play Speed\": \"Kecepatan Putar\",\n \"Aspect Ratio\": \"Rasio Aspek\",\n \"Default\": \"Default\",\n \"Normal\": \"Normal\",\n \"Open\": \"Buka\",\n \"Switch Video\": \"Ganti Video\",\n \"Switch Subtitle\": \"Ganti Subtitle\",\n \"Fullscreen\": \"Layar Penuh\",\n \"Exit Fullscreen\": \"Keluar dari Layar Penuh\",\n \"Web Fullscreen\": \"Layar Penuh Web\",\n \"Exit Web Fullscreen\": \"Keluar dari Layar Penuh Web\",\n \"Mini Player\": \"Pemutar Mini\",\n \"PIP Mode\": \"Mode PIP\",\n \"Exit PIP Mode\": \"Keluar dari Mode PIP\",\n \"PIP Not Supported\": \"PIP Tidak Didukung\",\n \"Fullscreen Not Supported\": \"Layar Penuh Tidak Didukung\",\n \"Subtitle Offset\": \"Pergeseran Subtitle\",\n \"Last Seen\": \"Terakhir Dilihat\",\n \"Jump Play\": \"Lompat Putar\",\n \"AirPlay\": \"AirPlay\",\n \"AirPlay Not Available\": \"AirPlay Tidak Tersedia\"\n}\n","{\n \"Video Info\": \"Информация\",\n \"Close\": \"Закрыть\",\n \"Video Load Failed\": \"Ошибка загрузки видео\",\n \"Volume\": \"Громкость\",\n \"Play\": \"Играть\",\n \"Pause\": \"Пауза\",\n \"Rate\": \"Скорость\",\n \"Mute\": \"Заглушить\",\n \"Video Flip\": \"Развернуть видео\",\n \"Horizontal\": \"Горизонтально\",\n \"Vertical\": \"Вертикально\",\n \"Reconnect\": \"Переподключенине\",\n \"Show Setting\": \"Показать настройки\",\n \"Hide Setting\": \"Скрыть настройки\",\n \"Screenshot\": \"Скриншот\",\n \"Play Speed\": \"Скорость воспроизведения\",\n \"Aspect Ratio\": \"Соотношение сторон\",\n \"Default\": \"По-умолчанию\",\n \"Normal\": \"Нормальный\",\n \"Open\": \"Открыть\",\n \"Switch Video\": \"Переключить видео\",\n \"Switch Subtitle\": \"Переключить субтитры\",\n \"Fullscreen\": \"Полноэкранный режим\",\n \"Exit Fullscreen\": \"Выход из полноэкранного режима\",\n \"Web Fullscreen\": \"На все окно браузера\",\n \"Exit Web Fullscreen\": \"Выход из режима полного окна\",\n \"Mini Player\": \"Мини проигрыватель\",\n \"PIP Mode\": \"Картинка в картинке\",\n \"Exit PIP Mode\": \"Закрыть картинку в картинке\",\n \"PIP Not Supported\": \"Картинка в картинке не поддерживается\",\n \"Fullscreen Not Supported\": \"Полноэкранный режим не поддерживается\",\n \"Subtitle Offset\": \"Настройка субтитров\",\n \"Last Seen\": \"Последнее просмотренное\",\n \"Jump Play\": \"Перейти\",\n \"AirPlay\": \"AirPlay\",\n \"AirPlay Not Available\": \"AirPlay недоступен\"\n}\n","import urlMix from './urlMix';\nimport attrMix from './attrMix';\nimport playMix from './playMix';\nimport pauseMix from './pauseMix';\nimport toggleMix from './toggleMix';\nimport seekMix from './seekMix';\nimport volumeMix from './volumeMix';\nimport currentTimeMix from './currentTimeMix';\nimport durationMix from './durationMix';\nimport switchMix from './switchMix';\nimport playbackRateMix from './playbackRateMix';\nimport aspectRatioMix from './aspectRatioMix';\nimport screenshotMix from './screenshotMix';\nimport fullscreenMix from './fullscreenMix';\nimport fullscreenWebMix from './fullscreenWebMix';\nimport pipMix from './pipMix';\nimport loadedMix from './loadedMix';\nimport playedMix from './playedMix';\nimport playingMix from './playingMix';\nimport autoSizeMix from './autoSizeMix';\nimport rectMix from './rectMix';\nimport flipMix from './flipMix';\nimport miniMix from './miniMix';\nimport loopMix from './loopMix';\nimport posterMix from './posterMix';\nimport autoHeightMix from './autoHeightMix';\nimport themeMix from './themeMix';\nimport titleMix from './titleMix';\nimport typeMix from './typeMix';\nimport normalSizeMix from './normalSizeMix';\nimport subtitleOffsetMix from './subtitleOffsetMix';\nimport airplayMix from './airplayMix';\nimport optionInit from './optionInit';\nimport eventInit from './eventInit';\n\nexport default class Player {\n constructor(art) {\n urlMix(art);\n attrMix(art);\n playMix(art);\n pauseMix(art);\n toggleMix(art);\n seekMix(art);\n volumeMix(art);\n currentTimeMix(art);\n durationMix(art);\n switchMix(art);\n playbackRateMix(art);\n aspectRatioMix(art);\n screenshotMix(art);\n fullscreenMix(art);\n fullscreenWebMix(art);\n pipMix(art);\n loadedMix(art);\n playedMix(art);\n playingMix(art);\n autoSizeMix(art);\n rectMix(art);\n flipMix(art);\n miniMix(art);\n loopMix(art);\n posterMix(art);\n autoHeightMix(art);\n themeMix(art);\n titleMix(art);\n typeMix(art);\n normalSizeMix(art);\n subtitleOffsetMix(art);\n airplayMix(art);\n eventInit(art);\n optionInit(art);\n }\n}\n","import { getExt, def, sleep } from '../utils';\n\nexport default function urlMix(art) {\n const {\n option,\n template: { $video },\n } = art;\n\n def(art, 'url', {\n get() {\n return $video.currentSrc;\n },\n async set(url) {\n if (url) {\n const typeName = option.type || getExt(url);\n const typeCallback = option.customType[typeName];\n if (typeName && typeCallback) {\n await sleep();\n art.loading.show = true;\n typeCallback.call(art, $video, url, art);\n } else {\n if (art.url && art.url !== url) {\n art.once('video:canplay', () => {\n if (art.isReady) {\n art.emit('restart');\n }\n });\n }\n\n $video.src = url;\n art.option.url = url;\n art.emit('url', url);\n }\n } else {\n await sleep();\n art.loading.show = true;\n }\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function attrMix(art) {\n const {\n template: { $video },\n } = art;\n\n def(art, 'attr', {\n value(key, value) {\n if (value === undefined) return $video[key];\n $video[key] = value;\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function playMix(art) {\n const {\n i18n,\n notice,\n option,\n constructor: { instances },\n template: { $video },\n } = art;\n\n def(art, 'play', {\n value: async function () {\n const result = await $video.play();\n notice.show = i18n.get('Play');\n art.emit('play');\n\n if (option.mutex) {\n for (let index = 0; index < instances.length; index++) {\n const instance = instances[index];\n if (instance !== art) {\n instance.pause();\n }\n }\n }\n\n return result;\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function pauseMix(art) {\n const {\n template: { $video },\n i18n,\n notice,\n } = art;\n\n def(art, 'pause', {\n value() {\n const result = $video.pause();\n notice.show = i18n.get('Pause');\n art.emit('pause');\n return result;\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function toggleMix(art) {\n def(art, 'toggle', {\n value() {\n if (art.playing) {\n return art.pause();\n } else {\n return art.play();\n }\n },\n });\n}\n","import { secondToTime, def } from '../utils';\n\nexport default function seekMix(art) {\n const { notice } = art;\n\n def(art, 'seek', {\n set(time) {\n art.currentTime = time;\n art.emit('seek', art.currentTime);\n if (art.duration) {\n notice.show = `${secondToTime(art.currentTime)} / ${secondToTime(art.duration)}`;\n }\n },\n });\n\n def(art, 'forward', {\n set(time) {\n art.seek = art.currentTime + time;\n },\n });\n\n def(art, 'backward', {\n set(time) {\n art.seek = art.currentTime - time;\n },\n });\n}\n","import { clamp, def } from '../utils';\n\nexport default function volumeMix(art) {\n const {\n template: { $video },\n i18n,\n notice,\n storage,\n } = art;\n\n def(art, 'volume', {\n get: () => $video.volume || 0,\n set: (percentage) => {\n $video.volume = clamp(percentage, 0, 1);\n notice.show = `${i18n.get('Volume')}: ${parseInt($video.volume * 100, 10)}`;\n if ($video.volume !== 0) {\n storage.set('volume', $video.volume);\n }\n },\n });\n\n def(art, 'muted', {\n get: () => $video.muted,\n set: (muted) => {\n $video.muted = muted;\n },\n });\n}\n","import { clamp, def } from '../utils';\n\nexport default function currentTimeMix(art) {\n const { $video } = art.template;\n\n def(art, 'currentTime', {\n get: () => $video.currentTime || 0,\n set: (time) => {\n time = parseFloat(time);\n if (Number.isNaN(time)) return;\n $video.currentTime = clamp(time, 0, art.duration);\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function durationMix(art) {\n def(art, 'duration', {\n get: () => {\n const { duration } = art.template.$video;\n if (duration === Infinity) return 0;\n return duration || 0;\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function switchMix(art) {\n const { i18n, option, notice } = art;\n\n function switchUrl(url, name, currentTime) {\n return new Promise((resolve) => {\n if (url === art.url) return resolve(url);\n const { playing } = art;\n art.pause();\n URL.revokeObjectURL(art.url);\n art.url = url;\n art.once('video:canplay', () => {\n art.playbackRate = false;\n art.aspectRatio = false;\n art.flip = 'normal';\n art.autoSize = option.autoSize;\n art.currentTime = currentTime;\n art.notice.show = '';\n if (playing) {\n art.play();\n }\n if (name) {\n notice.show = `${i18n.get('Switch Video')}: ${name}`;\n }\n resolve(url);\n });\n });\n }\n\n def(art, 'switchQuality', {\n value: (url, name) => {\n return switchUrl(url, name, art.currentTime);\n },\n });\n\n def(art, 'switchUrl', {\n value: (url, name) => {\n return switchUrl(url, name, 0);\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function playbackRateMix(art) {\n const {\n template: { $video },\n i18n,\n notice,\n } = art;\n\n def(art, 'playbackRate', {\n get() {\n return $video.playbackRate;\n },\n set(rate) {\n if (rate) {\n if (rate === $video.playbackRate) return;\n $video.playbackRate = rate;\n notice.show = `${i18n.get('Rate')}: ${rate === 1.0 ? i18n.get('Normal') : `${rate}x`}`;\n } else {\n art.playbackRate = 1;\n }\n },\n });\n}\n","import { setStyle, def } from '../utils';\n\nexport default function aspectRatioMix(art) {\n const {\n template: { $video, $player },\n i18n,\n notice,\n } = art;\n\n def(art, 'aspectRatio', {\n get() {\n return $player.dataset.aspectRatio || 'default';\n },\n set(ratio) {\n if (!ratio) ratio = 'default';\n if (ratio === 'default') {\n setStyle($video, 'width', null);\n setStyle($video, 'height', null);\n setStyle($video, 'padding', null);\n delete $player.dataset.aspectRatio;\n } else {\n const ratioArray = ratio.split(':').map(Number);\n const { videoWidth, videoHeight } = $video;\n const { clientWidth, clientHeight } = $player;\n const videoRatio = videoWidth / videoHeight;\n const setupRatio = ratioArray[0] / ratioArray[1];\n if (videoRatio > setupRatio) {\n const percentage = (setupRatio * videoHeight) / videoWidth;\n setStyle($video, 'width', `${percentage * 100}%`);\n setStyle($video, 'height', '100%');\n setStyle($video, 'padding', `0 ${(clientWidth - clientWidth * percentage) / 2}px`);\n } else {\n const percentage = videoWidth / setupRatio / videoHeight;\n setStyle($video, 'width', '100%');\n setStyle($video, 'height', `${percentage * 100}%`);\n setStyle($video, 'padding', `${(clientHeight - clientHeight * percentage) / 2}px 0`);\n }\n $player.dataset.aspectRatio = ratio;\n }\n\n notice.show = `${i18n.get('Aspect Ratio')}: ${ratio === 'default' ? i18n.get('Default') : ratio}`;\n art.emit('aspectRatio', ratio);\n },\n });\n\n def(art, 'aspectRatioReset', {\n set(value) {\n if (value) {\n const { aspectRatio } = art;\n art.aspectRatio = aspectRatio;\n }\n },\n });\n}\n","import { secondToTime, download, def, createElement } from '../utils';\n\nexport default function screenshotMix(art) {\n const {\n option,\n notice,\n template: { $video },\n } = art;\n\n const $canvas = createElement('canvas');\n\n def(art, 'getDataURL', {\n value: () =>\n new Promise((resolve, reject) => {\n try {\n $canvas.width = $video.videoWidth;\n $canvas.height = $video.videoHeight;\n $canvas.getContext('2d').drawImage($video, 0, 0);\n resolve($canvas.toDataURL('image/png'));\n } catch (err) {\n notice.show = err;\n reject(err);\n }\n }),\n });\n\n def(art, 'getBlobUrl', {\n value: () =>\n new Promise((resolve, reject) => {\n try {\n $canvas.width = $video.videoWidth;\n $canvas.height = $video.videoHeight;\n $canvas.getContext('2d').drawImage($video, 0, 0);\n $canvas.toBlob((blob) => {\n resolve(URL.createObjectURL(blob));\n });\n } catch (err) {\n notice.show = err;\n reject(err);\n }\n }),\n });\n\n def(art, 'screenshot', {\n value: async () => {\n const dataUri = await art.getDataURL();\n download(dataUri, `${option.title || 'artplayer'}_${secondToTime($video.currentTime)}.png`);\n art.emit('screenshot', dataUri);\n return dataUri;\n },\n });\n}\n","import screenfull from '../libs/screenfull';\nimport { addClass, removeClass, def, get } from '../utils';\n\nexport default function fullscreenMix(art) {\n const {\n i18n,\n notice,\n template: { $video, $player },\n } = art;\n\n const nativeScreenfull = (art) => {\n screenfull.on('change', () => {\n art.emit('fullscreen', screenfull.isFullscreen);\n });\n\n def(art, 'fullscreen', {\n get() {\n return screenfull.isFullscreen;\n },\n async set(value) {\n if (value) {\n art.normalSize = 'fullscreen';\n art.aspectRatioReset = true;\n art.autoSize = false;\n await screenfull.request($player);\n addClass($player, 'art-fullscreen');\n art.emit('resize');\n notice.show = '';\n } else {\n art.aspectRatioReset = true;\n art.autoSize = art.option.autoSize;\n await screenfull.exit();\n removeClass($player, 'art-fullscreen');\n art.emit('resize');\n notice.show = '';\n }\n },\n });\n };\n\n const webkitScreenfull = (art) => {\n def(art, 'fullscreen', {\n get() {\n return $video.webkitDisplayingFullscreen;\n },\n set(value) {\n if (value) {\n art.normalSize = 'fullscreen';\n $video.webkitEnterFullscreen();\n art.emit('fullscreen', true);\n notice.show = '';\n } else {\n $video.webkitExitFullscreen();\n art.emit('fullscreen', false);\n notice.show = '';\n }\n },\n });\n };\n\n art.once('video:loadedmetadata', () => {\n if (screenfull.isEnabled) {\n nativeScreenfull(art);\n } else if (document.fullscreenEnabled || $video.webkitSupportsFullscreen) {\n webkitScreenfull(art);\n } else {\n def(art, 'fullscreen', {\n get() {\n return false;\n },\n set() {\n notice.show = i18n.get('Fullscreen Not Supported');\n },\n });\n }\n\n // Asynchronous setting\n def(art, 'fullscreen', get(art, 'fullscreen'));\n });\n}\n","const methodMap = [\n [\n 'requestFullscreen',\n 'exitFullscreen',\n 'fullscreenElement',\n 'fullscreenEnabled',\n 'fullscreenchange',\n 'fullscreenerror',\n ],\n // New WebKit\n [\n 'webkitRequestFullscreen',\n 'webkitExitFullscreen',\n 'webkitFullscreenElement',\n 'webkitFullscreenEnabled',\n 'webkitfullscreenchange',\n 'webkitfullscreenerror',\n ],\n // Old WebKit\n [\n 'webkitRequestFullScreen',\n 'webkitCancelFullScreen',\n 'webkitCurrentFullScreenElement',\n 'webkitCancelFullScreen',\n 'webkitfullscreenchange',\n 'webkitfullscreenerror',\n ],\n [\n 'mozRequestFullScreen',\n 'mozCancelFullScreen',\n 'mozFullScreenElement',\n 'mozFullScreenEnabled',\n 'mozfullscreenchange',\n 'mozfullscreenerror',\n ],\n [\n 'msRequestFullscreen',\n 'msExitFullscreen',\n 'msFullscreenElement',\n 'msFullscreenEnabled',\n 'MSFullscreenChange',\n 'MSFullscreenError',\n ],\n];\n\nconst nativeAPI = (() => {\n if (typeof document === 'undefined') {\n return false;\n }\n\n const unprefixedMethods = methodMap[0];\n const returnValue = {};\n\n for (const methodList of methodMap) {\n const exitFullscreenMethod = methodList[1];\n if (exitFullscreenMethod in document) {\n for (const [index, method] of methodList.entries()) {\n returnValue[unprefixedMethods[index]] = method;\n }\n\n return returnValue;\n }\n }\n\n return false;\n})();\n\nconst eventNameMap = {\n change: nativeAPI.fullscreenchange,\n error: nativeAPI.fullscreenerror,\n};\n\nlet screenfull = {\n request(element = document.documentElement, options) {\n return new Promise((resolve, reject) => {\n const onFullScreenEntered = () => {\n screenfull.off('change', onFullScreenEntered);\n resolve();\n };\n\n screenfull.on('change', onFullScreenEntered);\n\n const returnPromise = element[nativeAPI.requestFullscreen](options);\n\n if (returnPromise instanceof Promise) {\n returnPromise.then(onFullScreenEntered).catch(reject);\n }\n });\n },\n exit() {\n return new Promise((resolve, reject) => {\n if (!screenfull.isFullscreen) {\n resolve();\n return;\n }\n\n const onFullScreenExit = () => {\n screenfull.off('change', onFullScreenExit);\n resolve();\n };\n\n screenfull.on('change', onFullScreenExit);\n\n const returnPromise = document[nativeAPI.exitFullscreen]();\n\n if (returnPromise instanceof Promise) {\n returnPromise.then(onFullScreenExit).catch(reject);\n }\n });\n },\n toggle(element, options) {\n return screenfull.isFullscreen ? screenfull.exit() : screenfull.request(element, options);\n },\n onchange(callback) {\n screenfull.on('change', callback);\n },\n onerror(callback) {\n screenfull.on('error', callback);\n },\n on(event, callback) {\n const eventName = eventNameMap[event];\n if (eventName) {\n document.addEventListener(eventName, callback, false);\n }\n },\n off(event, callback) {\n const eventName = eventNameMap[event];\n if (eventName) {\n document.removeEventListener(eventName, callback, false);\n }\n },\n raw: nativeAPI,\n};\n\nObject.defineProperties(screenfull, {\n isFullscreen: {\n get: () => Boolean(document[nativeAPI.fullscreenElement]),\n },\n element: {\n enumerable: true,\n get: () => document[nativeAPI.fullscreenElement],\n },\n isEnabled: {\n enumerable: true,\n get: () => Boolean(document[nativeAPI.fullscreenEnabled]),\n },\n});\n\nif (!nativeAPI) {\n screenfull = { isEnabled: false };\n}\n\nexport default screenfull;\n","import { addClass, removeClass, hasClass, def, append } from '../utils';\n\nexport default function fullscreenWebMix(art) {\n const {\n notice,\n constructor,\n template: { $container, $player },\n } = art;\n\n def(art, 'fullscreenWeb', {\n get() {\n return hasClass($player, 'art-fullscreen-web');\n },\n set(value) {\n if (value) {\n if (constructor.FULLSCREEN_WEB_IN_BODY) {\n append(document.body, $player);\n }\n art.normalSize = 'fullscreenWeb';\n addClass($player, 'art-fullscreen-web');\n art.aspectRatioReset = true;\n art.autoSize = false;\n art.emit('resize');\n art.emit('fullscreenWeb', true);\n notice.show = '';\n } else {\n if (constructor.FULLSCREEN_WEB_IN_BODY) {\n append($container, $player);\n }\n removeClass($player, 'art-fullscreen-web');\n art.aspectRatioReset = true;\n art.autoSize = art.option.autoSize;\n art.emit('resize');\n art.emit('fullscreenWeb', false);\n notice.show = '';\n }\n },\n });\n}\n","import { def } from '../utils';\n\nfunction nativePip(art) {\n const {\n template: { $video },\n proxy,\n notice,\n } = art;\n\n $video.disablePictureInPicture = false;\n\n def(art, 'pip', {\n get() {\n return document.pictureInPictureElement;\n },\n set(value) {\n if (value) {\n art.normalSize = 'pip';\n $video.requestPictureInPicture().catch((err) => {\n notice.show = err;\n throw err;\n });\n } else {\n document.exitPictureInPicture().catch((err) => {\n notice.show = err;\n throw err;\n });\n }\n },\n });\n\n proxy($video, 'enterpictureinpicture', () => {\n art.emit('pip', true);\n });\n\n proxy($video, 'leavepictureinpicture', () => {\n art.emit('pip', false);\n });\n}\n\nfunction webkitPip(art) {\n const { $video } = art.template;\n\n $video.webkitSetPresentationMode('inline');\n\n def(art, 'pip', {\n get() {\n return $video.webkitPresentationMode === 'picture-in-picture';\n },\n set(value) {\n if (value) {\n art.normalSize = 'pip';\n $video.webkitSetPresentationMode('picture-in-picture');\n art.emit('pip', true);\n } else {\n $video.webkitSetPresentationMode('inline');\n art.emit('pip', false);\n }\n },\n });\n}\n\nexport default function pipMix(art) {\n const {\n i18n,\n notice,\n template: { $video },\n } = art;\n if (document.pictureInPictureEnabled) {\n nativePip(art);\n } else if ($video.webkitSupportsPresentationMode) {\n webkitPip(art);\n } else {\n def(art, 'pip', {\n get() {\n return false;\n },\n set() {\n notice.show = i18n.get('PIP Not Supported');\n },\n });\n }\n}\n","import { def } from '../utils';\n\nexport default function seekMix(art) {\n const { $video } = art.template;\n\n def(art, 'loaded', {\n get: () => art.loadedTime / $video.duration,\n });\n\n def(art, 'loadedTime', {\n get: () => ($video.buffered.length ? $video.buffered.end($video.buffered.length - 1) : 0),\n });\n}\n","import { def } from '../utils';\n\nexport default function playedMix(art) {\n def(art, 'played', {\n get: () => art.currentTime / art.duration,\n });\n}\n","import { def } from '../utils';\n\nexport default function playingMix(art) {\n const { $video } = art.template;\n def(art, 'playing', {\n get: () => !!($video.currentTime > 0 && !$video.paused && !$video.ended && $video.readyState > 2),\n });\n}\n","import { setStyle, addClass, removeClass, hasClass, def } from '../utils';\n\nexport default function resizeMix(art) {\n const { $container, $player, $video } = art.template;\n\n def(art, 'autoSize', {\n get() {\n return hasClass($container, 'art-auto-size');\n },\n set(value) {\n if (value) {\n const { videoWidth, videoHeight } = $video;\n const { width, height } = $container.getBoundingClientRect();\n const videoRatio = videoWidth / videoHeight;\n const containerRatio = width / height;\n addClass($container, 'art-auto-size');\n if (containerRatio > videoRatio) {\n const percentage = ((height * videoRatio) / width) * 100;\n setStyle($player, 'width', `${percentage}%`);\n setStyle($player, 'height', '100%');\n } else {\n const percentage = (width / videoRatio / height) * 100;\n setStyle($player, 'width', '100%');\n setStyle($player, 'height', `${percentage}%`);\n }\n art.emit('autoSize', {\n width: art.width,\n height: art.height,\n });\n } else {\n removeClass($container, 'art-auto-size');\n setStyle($player, 'width', null);\n setStyle($player, 'height', null);\n art.emit('autoSize');\n }\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function rectMix(art) {\n def(art, 'rect', {\n get: () => {\n return art.template.$player.getBoundingClientRect();\n },\n });\n\n const keys = ['bottom', 'height', 'left', 'right', 'top', 'width'];\n for (let index = 0; index < keys.length; index++) {\n const key = keys[index];\n def(art, key, {\n get: () => {\n return art.rect[key];\n },\n });\n }\n\n def(art, 'x', {\n get: () => {\n return art.left + window.pageXOffset;\n },\n });\n\n def(art, 'y', {\n get: () => {\n return art.top + window.pageYOffset;\n },\n });\n}\n","import { def, capitalize } from '../utils';\n\nexport default function flipMix(art) {\n const {\n template: { $player },\n i18n,\n notice,\n } = art;\n\n def(art, 'flip', {\n get() {\n return $player.dataset.flip || 'normal';\n },\n set(flip) {\n if (!flip) flip = 'normal';\n if (flip === 'normal') {\n delete $player.dataset.flip;\n } else {\n $player.dataset.flip = flip;\n }\n\n notice.show = `${i18n.get('Video Flip')}: ${i18n.get(capitalize(flip))}`;\n art.emit('flip', flip);\n },\n });\n}\n","import { append, setStyle, addClass, removeClass, hasClass, def, isInViewport, createElement } from '../utils';\n\nexport default function miniMix(art) {\n const {\n icons,\n proxy,\n storage,\n template: { $player, $video },\n } = art;\n\n let isDroging = false;\n let lastPageX = 0;\n let lastPageY = 0;\n\n function hideMini() {\n const { $mini } = art.template;\n if ($mini) {\n removeClass($player, 'art-mini');\n setStyle($mini, 'display', 'none');\n $player.prepend($video);\n art.emit('mini', false);\n }\n }\n\n function initState($play, $pause) {\n if (art.playing) {\n setStyle($play, 'display', `none`);\n setStyle($pause, 'display', `flex`);\n } else {\n setStyle($play, 'display', `flex`);\n setStyle($pause, 'display', `none`);\n }\n }\n\n function createMini() {\n const { $mini } = art.template;\n if ($mini) {\n append($mini, $video);\n return setStyle($mini, 'display', 'flex');\n } else {\n const $mini = createElement('div');\n addClass($mini, 'art-mini-popup');\n append(document.body, $mini);\n art.template.$mini = $mini;\n append($mini, $video);\n\n const $close = append($mini, ``);\n append($close, icons.close);\n proxy($close, 'click', hideMini);\n\n const $state = append($mini, ``);\n const $play = append($state, icons.play);\n const $pause = append($state, icons.pause);\n proxy($play, 'click', () => art.play());\n proxy($pause, 'click', () => art.pause());\n initState($play, $pause);\n art.on('video:playing', () => initState($play, $pause));\n art.on('video:pause', () => initState($play, $pause));\n art.on('video:timeupdate', () => initState($play, $pause));\n\n proxy($mini, 'mousedown', (event) => {\n isDroging = event.button === 0;\n lastPageX = event.pageX;\n lastPageY = event.pageY;\n });\n\n proxy(document, 'mousemove', (event) => {\n if (isDroging) {\n addClass($mini, 'art-mini-droging');\n const x = event.pageX - lastPageX;\n const y = event.pageY - lastPageY;\n setStyle($mini, 'transform', `translate(${x}px, ${y}px)`);\n }\n });\n\n proxy(document, 'mouseup', () => {\n if (isDroging) {\n isDroging = false;\n removeClass($mini, 'art-mini-droging');\n const rect = $mini.getBoundingClientRect();\n storage.set('left', rect.left);\n storage.set('top', rect.top);\n setStyle($mini, 'left', `${rect.left}px`);\n setStyle($mini, 'top', `${rect.top}px`);\n setStyle($mini, 'transform', null);\n }\n });\n\n return $mini;\n }\n }\n\n function initMini() {\n const { $mini } = art.template;\n const rect = $mini.getBoundingClientRect();\n const top = window.innerHeight - rect.height - 50;\n const left = window.innerWidth - rect.width - 50;\n storage.set('top', top);\n storage.set('left', left);\n setStyle($mini, 'top', `${top}px`);\n setStyle($mini, 'left', `${left}px`);\n }\n\n def(art, 'mini', {\n get() {\n return hasClass($player, 'art-mini');\n },\n set(value) {\n if (value) {\n addClass($player, 'art-mini');\n const $mini = createMini();\n const top = storage.get('top');\n const left = storage.get('left');\n if (top && left) {\n setStyle($mini, 'top', `${top}px`);\n setStyle($mini, 'left', `${left}px`);\n if (!isInViewport($mini)) {\n initMini();\n }\n } else {\n initMini();\n }\n art.emit('mini', true);\n } else {\n hideMini();\n }\n },\n });\n}\n","import { def, clamp } from '../utils';\n\nexport default function loopMix(art) {\n let interval = [];\n def(art, 'loop', {\n get: () => interval,\n set: (value) => {\n if (Array.isArray(value) && typeof value[0] === 'number' && typeof value[1] === 'number') {\n const start = clamp(value[0], 0, Math.min(value[1], art.duration));\n const end = clamp(value[1], start, art.duration);\n if (end - start >= 1) {\n interval = [start, end];\n } else {\n interval = [];\n }\n } else {\n interval = [];\n }\n art.emit('loop', interval);\n },\n });\n\n art.on('video:timeupdate', () => {\n if (interval.length) {\n if (art.currentTime < interval[0] || art.currentTime > interval[1]) {\n art.seek = interval[0];\n }\n }\n });\n}\n","import { def, setStyle } from '../utils';\n\nexport default function posterMix(art) {\n const {\n option,\n template: { $poster },\n } = art;\n\n def(art, 'poster', {\n get: () => option.poster,\n set(url) {\n option.poster = url;\n setStyle($poster, 'backgroundImage', `url(${url})`);\n },\n });\n}\n","import { setStyle, hasClass, addClass, removeClass, def } from '../utils';\n\nexport default function autoHeightMix(art) {\n const {\n option,\n template: { $container, $video },\n } = art;\n\n const heightCache = $container.style.height;\n\n def(art, 'autoHeight', {\n get() {\n return hasClass($container, 'art-auto-height');\n },\n set(value) {\n if (value) {\n const { clientWidth } = $container;\n const { videoHeight, videoWidth } = $video;\n const height = videoHeight * (clientWidth / videoWidth);\n setStyle($container, 'height', height + 'px');\n addClass($container, 'art-auto-height');\n art.autoSize = option.autoSize;\n art.emit('autoHeight', height);\n } else {\n setStyle($container, 'height', heightCache);\n removeClass($container, 'art-auto-height');\n art.autoSize = option.autoSize;\n art.emit('autoHeight');\n }\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function themeMix(art) {\n const {\n option,\n template: { $player },\n } = art;\n\n def(art, 'theme', {\n get() {\n return getComputedStyle($player).getPropertyValue('--art-theme');\n },\n set(theme) {\n option.theme = theme;\n $player.style.setProperty('--art-theme', theme);\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function titleMix(art) {\n def(art, 'title', {\n get() {\n return art.option.title;\n },\n set(title) {\n art.option.title = title;\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function typeMix(art) {\n def(art, 'type', {\n get() {\n return art.option.type;\n },\n set(type) {\n art.option.type = type;\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function normalSizeMix(art) {\n const sizeProps = ['mini', 'pip', 'fullscreen', 'fullscreenWeb'];\n\n def(art, 'normalSize', {\n get() {\n return sizeProps.every((name) => !art[name]);\n },\n set(name) {\n sizeProps\n .filter((item) => item !== name)\n .forEach((item) => {\n if (art[item]) {\n art[item] = false;\n }\n });\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function subtitleOffsetMix(art) {\n const { clamp } = art.constructor.utils;\n const { notice, template, i18n } = art;\n\n let offsetCache = 0;\n let cuesCache = [];\n art.on('subtitle:switch', () => {\n cuesCache = [];\n });\n\n def(art, 'subtitleOffset', {\n get() {\n return offsetCache;\n },\n set(value) {\n if (template.$track && template.$track.track) {\n const cues = Array.from(template.$track.track.cues);\n offsetCache = clamp(value, -5, 5);\n\n for (let index = 0; index < cues.length; index++) {\n const cue = cues[index];\n if (!cuesCache[index]) {\n cuesCache[index] = {\n startTime: cue.startTime,\n endTime: cue.endTime,\n };\n }\n cue.startTime = clamp(cuesCache[index].startTime + offsetCache, 0, art.duration);\n cue.endTime = clamp(cuesCache[index].endTime + offsetCache, 0, art.duration);\n }\n\n art.subtitle.update();\n notice.show = `${i18n.get('Subtitle Offset')}: ${value}s`;\n art.emit('subtitleOffset', value);\n } else {\n art.emit('subtitleOffset', 0);\n }\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function airplayMix(art) {\n const {\n i18n,\n notice,\n proxy,\n template: { $video },\n } = art;\n\n let available = true;\n\n if (window.WebKitPlaybackTargetAvailabilityEvent && $video.webkitShowPlaybackTargetPicker) {\n proxy($video, 'webkitplaybacktargetavailabilitychanged', (event) => {\n switch (event.availability) {\n case 'available':\n available = true;\n break;\n case 'not-available':\n available = false;\n break;\n }\n });\n } else {\n available = false;\n }\n\n def(art, 'airplay', {\n value() {\n if (available) {\n $video.webkitShowPlaybackTargetPicker();\n art.emit('airplay');\n } else {\n notice.show = i18n.get('AirPlay Not Available');\n }\n },\n });\n}\n","import { clamp, setStyle } from '../utils';\n\nexport default function attrInit(art) {\n const {\n option,\n storage,\n template: { $video, $poster },\n } = art;\n\n Object.keys(option.moreVideoAttr).forEach((key) => {\n art.attr(key, option.moreVideoAttr[key]);\n });\n\n if (option.muted) {\n art.muted = option.muted;\n }\n\n if (option.volume) {\n $video.volume = clamp(option.volume, 0, 1);\n }\n\n const volumeStorage = storage.get('volume');\n if (typeof volumeStorage === 'number') {\n $video.volume = clamp(volumeStorage, 0, 1);\n }\n\n if (option.poster) {\n setStyle($poster, 'backgroundImage', `url(${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 if (option.theme) {\n art.theme = option.theme;\n }\n\n art.url = option.url;\n}\n","import config from '../config';\nimport { sleep, addClass, setStyle, isMobile } from '../utils';\n\nexport default function eventInit(art) {\n const {\n i18n,\n notice,\n option,\n constructor,\n proxy,\n template: { $player, $video, $poster },\n } = art;\n\n let reconnectTime = 0;\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 // art.on('video:abort', () => {\n\n // });\n\n art.on('video:canplay', () => {\n reconnectTime = 0;\n art.loading.show = false;\n });\n\n art.once('video:canplay', () => {\n art.loading.show = false;\n art.controls.show = true;\n art.mask.show = true;\n art.isReady = true;\n art.emit('ready');\n });\n\n // art.on('video:canplaythrough', () => {\n\n // });\n\n // art.on('video:durationchange', () => {\n\n // });\n\n // art.on('video:emptied', () => {\n\n // });\n\n art.on('video:ended', () => {\n if (option.loop) {\n art.seek = 0;\n art.play();\n art.controls.show = false;\n art.mask.show = false;\n } else {\n art.controls.show = true;\n art.mask.show = true;\n }\n });\n\n art.on('video:error', async (error) => {\n if (reconnectTime < constructor.RECONNECT_TIME_MAX) {\n await sleep(constructor.RECONNECT_SLEEP_TIME);\n reconnectTime += 1;\n art.url = option.url;\n notice.show = `${i18n.get('Reconnect')}: ${reconnectTime}`;\n art.emit('error', error, reconnectTime);\n } else {\n art.mask.show = true;\n art.loading.show = false;\n art.controls.show = true;\n addClass($player, 'art-error');\n await sleep(constructor.RECONNECT_SLEEP_TIME);\n notice.show = i18n.get('Video Load Failed');\n art.destroy(false);\n }\n });\n\n // art.on('video:loadeddata', () => {\n\n // });\n\n art.on('video:loadedmetadata', () => {\n art.autoSize = option.autoSize;\n if (isMobile) {\n art.loading.show = false;\n art.controls.show = true;\n art.mask.show = true;\n }\n });\n\n art.on('video:loadstart', () => {\n art.loading.show = true;\n art.mask.show = false;\n art.controls.show = true;\n });\n\n art.on('video:pause', () => {\n art.controls.show = true;\n art.mask.show = true;\n });\n\n art.on('video:play', () => {\n art.mask.show = false;\n setStyle($poster, 'display', 'none');\n });\n\n art.on('video:playing', () => {\n art.mask.show = false;\n });\n\n // art.on('video:progress', () => {\n\n // });\n\n // art.on('video:ratechange', () => {\n\n // });\n\n art.on('video:seeked', () => {\n art.loading.show = false;\n });\n\n art.on('video:seeking', () => {\n art.loading.show = true;\n art.mask.show = false;\n });\n\n // art.on('video:stalled', () => {\n\n // });\n\n // art.on('video:suspend', () => {\n\n // });\n\n art.on('video:timeupdate', () => {\n art.mask.show = false;\n });\n\n // art.on('video:volumechange', () => {\n\n // });\n\n art.on('video:waiting', () => {\n art.loading.show = true;\n art.mask.show = false;\n });\n}\n","import { errorHandle, addClass, removeClass, isMobile } from '../utils';\nimport Component from '../utils/component';\nimport fullscreen from './fullscreen';\nimport fullscreenWeb from './fullscreenWeb';\nimport pip from './pip';\nimport playAndPause from './playAndPause';\nimport progress from './progress';\nimport time from './time';\nimport volume from './volume';\nimport setting from './setting';\nimport thumbnails from './thumbnails';\nimport screenshot from './screenshot';\nimport quality from './quality';\nimport loop from './loop';\nimport airplay from './airplay';\n\nexport default class Control extends Component {\n constructor(art) {\n super(art);\n\n this.name = 'control';\n\n const {\n proxy,\n constructor,\n template: { $player },\n } = art;\n\n let activeTime = Date.now();\n\n proxy($player, ['click', 'mousemove', 'touchstart', 'touchmove'], () => {\n this.show = true;\n removeClass($player, 'art-hide-cursor');\n addClass($player, 'art-hover');\n activeTime = Date.now();\n });\n\n art.on('video:timeupdate', () => {\n if (!art.isInput && art.playing && this.show && Date.now() - activeTime >= constructor.CONTROL_HIDE_TIME) {\n this.show = false;\n addClass($player, 'art-hide-cursor');\n removeClass($player, 'art-hover');\n }\n });\n\n this.init();\n }\n\n init() {\n const { option } = this.art;\n\n if (!option.isLive) {\n this.add(\n progress({\n name: 'progress',\n position: 'top',\n index: 10,\n }),\n );\n }\n\n if (option.thumbnails.url && !option.isLive && !isMobile) {\n this.add(\n thumbnails({\n name: 'thumbnails',\n position: 'top',\n index: 20,\n }),\n );\n }\n\n this.add(\n loop({\n name: 'loop',\n position: 'top',\n index: 30,\n }),\n );\n\n this.add(\n playAndPause({\n name: 'playAndPause',\n position: 'left',\n index: 10,\n }),\n );\n\n this.add(\n volume({\n name: 'volume',\n position: 'left',\n index: 20,\n }),\n );\n\n if (!option.isLive) {\n this.add(\n time({\n name: 'time',\n position: 'left',\n index: 30,\n }),\n );\n }\n\n if (option.quality.length) {\n this.add(\n quality({\n name: 'quality',\n position: 'right',\n index: 10,\n }),\n );\n }\n\n if (option.screenshot && !isMobile) {\n this.add(\n screenshot({\n name: 'screenshot',\n position: 'right',\n index: 20,\n }),\n );\n }\n\n if (option.setting) {\n this.add(\n setting({\n name: 'setting',\n position: 'right',\n index: 30,\n }),\n );\n }\n\n if (option.pip) {\n this.add(\n pip({\n name: 'pip',\n position: 'right',\n index: 40,\n }),\n );\n }\n\n if (option.airplay && window.WebKitPlaybackTargetAvailabilityEvent) {\n this.add(\n airplay({\n name: 'airplay',\n position: 'right',\n index: 50,\n }),\n );\n }\n\n if (option.fullscreenWeb) {\n this.add(\n fullscreenWeb({\n name: 'fullscreenWeb',\n position: 'right',\n index: 60,\n }),\n );\n }\n\n if (option.fullscreen) {\n this.add(\n fullscreen({\n name: 'fullscreen',\n position: 'right',\n index: 70,\n }),\n );\n }\n\n for (let index = 0; index < option.controls.length; index++) {\n this.add(option.controls[index]);\n }\n }\n\n add(getOption) {\n const option = typeof getOption === 'function' ? getOption(this.art) : getOption;\n const { $progress, $controlsLeft, $controlsRight } = this.art.template;\n\n switch (option.position) {\n case 'top':\n this.$parent = $progress;\n break;\n case 'left':\n this.$parent = $controlsLeft;\n break;\n case 'right':\n this.$parent = $controlsRight;\n break;\n default:\n errorHandle(false, `Control option.position must one of 'top', 'left', 'right'`);\n break;\n }\n\n super.add(option);\n }\n}\n","import {\n hasClass,\n addClass,\n removeClass,\n append,\n setStyles,\n tooltip,\n getStyle,\n inverseClass,\n createElement,\n} from './dom';\nimport validator from 'option-validator';\nimport { ComponentOption } from '../scheme';\nimport { has, def } from './property';\nimport { errorHandle } from './error';\n\nexport default class Component {\n constructor(art) {\n this.id = 0;\n this.art = art;\n this.add = this.add.bind(this);\n }\n\n get show() {\n return hasClass(this.art.template.$player, `art-${this.name}-show`);\n }\n\n set show(value) {\n const { $player } = this.art.template;\n const className = `art-${this.name}-show`;\n if (value) {\n addClass($player, className);\n } else {\n removeClass($player, className);\n }\n this.art.emit(this.name, value);\n }\n\n set toggle(value) {\n if (value) {\n this.show = !this.show;\n }\n }\n\n add(getOption) {\n const option = typeof getOption === 'function' ? getOption(this.art) : getOption;\n option.html = option.html || '';\n validator(option, ComponentOption);\n\n if (!this.$parent || !this.name || option.disable) return;\n const name = option.name || `${this.name}${this.id}`;\n errorHandle(!has(this, name), `Cannot add an existing name [${name}] to the [${this.name}]`);\n\n this.id += 1;\n const $ref = createElement('div');\n addClass($ref, `art-${this.name}`);\n addClass($ref, `art-${this.name}-${name}`);\n\n const childs = Array.from(this.$parent.children);\n $ref.dataset.index = option.index || this.id;\n const nextChild = childs.find((item) => Number(item.dataset.index) >= Number($ref.dataset.index));\n if (nextChild) {\n nextChild.insertAdjacentElement('beforebegin', $ref);\n } else {\n append(this.$parent, $ref);\n }\n\n if (option.html) {\n append($ref, option.html);\n }\n\n if (option.style) {\n setStyles($ref, option.style);\n }\n\n if (option.tooltip) {\n tooltip($ref, option.tooltip);\n }\n\n if (option.click) {\n this.art.events.proxy($ref, 'click', (event) => {\n event.preventDefault();\n option.click.call(this.art, this, event);\n });\n }\n\n if (option.selector && ['left', 'right'].includes(option.position)) {\n this.selector(option, $ref);\n }\n\n if (option.mounted) {\n option.mounted.call(this.art, $ref);\n }\n\n def(this, name, {\n value: $ref,\n });\n\n return $ref;\n }\n\n selector(option, $ref) {\n const { hover, proxy } = this.art.events;\n\n addClass($ref, 'art-control-selector');\n const $value = createElement('div');\n addClass($value, 'art-selector-value');\n append($value, option.html);\n $ref.innerText = '';\n append($ref, $value);\n\n const list = option.selector\n .map(\n (item, index) =>\n `${\n item.html\n }
`,\n )\n .join('');\n const $list = createElement('div');\n addClass($list, 'art-selector-list');\n append($list, list);\n append($ref, $list);\n\n const setLeft = () => {\n const refWidth = getStyle($ref, 'width');\n const listWidth = getStyle($list, 'width');\n const left = refWidth / 2 - listWidth / 2;\n $list.style.left = `${left}px`;\n };\n\n hover($ref, setLeft);\n\n proxy($list, 'click', async (event) => {\n const path = event.composedPath() || [];\n const $item = path.find((item) => hasClass(item, 'art-selector-item'));\n if (!$item) return;\n inverseClass($item, 'art-current');\n const index = Number($item.dataset.index);\n const find = option.selector[index] || {};\n $value.innerText = $item.innerText;\n if (option.onSelect) {\n const result = await option.onSelect.call(this.art, find, $item, event);\n if (typeof result === 'string' || typeof result === 'number') {\n $value.innerHTML = result;\n }\n }\n setLeft();\n });\n }\n}\n","import { append, tooltip, setStyle } from '../utils';\n\nexport default function fullscreen(option) {\n return (art) => ({\n ...option,\n tooltip: art.i18n.get('Fullscreen'),\n mounted: ($control) => {\n const { proxy, icons, i18n } = art;\n\n const $fullscreenOn = append($control, icons.fullscreenOn);\n const $fullscreenOff = append($control, icons.fullscreenOff);\n setStyle($fullscreenOff, 'display', 'none');\n\n proxy($control, 'click', () => {\n art.fullscreen = !art.fullscreen;\n });\n\n art.on('fullscreen', (state) => {\n if (state) {\n tooltip($control, i18n.get('Exit Fullscreen'));\n setStyle($fullscreenOn, 'display', 'none');\n setStyle($fullscreenOff, 'display', 'inline-flex');\n } else {\n tooltip($control, i18n.get('Fullscreen'));\n setStyle($fullscreenOn, 'display', 'inline-flex');\n setStyle($fullscreenOff, 'display', 'none');\n }\n });\n },\n });\n}\n","import { append, tooltip, setStyle } from '../utils';\n\nexport default function fullscreenWeb(option) {\n return (art) => ({\n ...option,\n tooltip: art.i18n.get('Web Fullscreen'),\n mounted: ($control) => {\n const { proxy, icons, i18n } = art;\n\n const $fullscreenWebOn = append($control, icons.fullscreenWebOn);\n const $fullscreenWebOff = append($control, icons.fullscreenWebOff);\n setStyle($fullscreenWebOff, 'display', 'none');\n\n proxy($control, 'click', () => {\n art.fullscreenWeb = !art.fullscreenWeb;\n });\n\n art.on('fullscreenWeb', (value) => {\n if (value) {\n tooltip($control, i18n.get('Exit Web Fullscreen'));\n setStyle($fullscreenWebOn, 'display', 'none');\n setStyle($fullscreenWebOff, 'display', 'inline-flex');\n } else {\n tooltip($control, i18n.get('Web Fullscreen'));\n setStyle($fullscreenWebOn, 'display', 'inline-flex');\n setStyle($fullscreenWebOff, 'display', 'none');\n }\n });\n },\n });\n}\n","import { append, tooltip } from '../utils';\n\nexport default function pip(option) {\n return (art) => ({\n ...option,\n tooltip: art.i18n.get('PIP Mode'),\n mounted: ($control) => {\n const { proxy, icons, i18n } = art;\n\n append($control, icons.pip);\n\n proxy($control, 'click', () => {\n art.pip = !art.pip;\n });\n\n art.on('pip', (value) => {\n tooltip($control, i18n.get(value ? 'Exit PIP Mode' : 'PIP Mode'));\n });\n },\n });\n}\n","import { append, tooltip, setStyle } from '../utils';\n\nexport default function playAndPause(option) {\n return (art) => ({\n ...option,\n mounted: ($control) => {\n const { proxy, icons, i18n } = art;\n\n const $play = append($control, icons.play);\n const $pause = append($control, icons.pause);\n tooltip($play, i18n.get('Play'));\n tooltip($pause, i18n.get('Pause'));\n\n proxy($play, 'click', () => {\n art.play();\n });\n\n proxy($pause, 'click', () => {\n art.pause();\n });\n\n function showPlay() {\n setStyle($play, 'display', 'flex');\n setStyle($pause, 'display', 'none');\n }\n\n function showPause() {\n setStyle($play, 'display', 'none');\n setStyle($pause, 'display', 'flex');\n }\n\n if (art.playing) {\n showPause();\n } else {\n showPlay();\n }\n\n art.on('video:playing', () => {\n showPause();\n });\n\n art.on('video:pause', () => {\n showPlay();\n });\n },\n });\n}\n","import { query, clamp, append, setStyle, setStyles, secondToTime, includeFromEvent, isMobile } from '../utils';\n\nexport function getPosFromEvent(art, event) {\n const { $progress } = art.template;\n const { left } = $progress.getBoundingClientRect();\n const eventLeft = isMobile ? event.touches[0].clientX : event.pageX;\n const width = clamp(eventLeft - left, 0, $progress.clientWidth);\n const second = (width / $progress.clientWidth) * art.duration;\n const time = secondToTime(second);\n const percentage = clamp(width / $progress.clientWidth, 0, 1);\n return { second, time, width, percentage };\n}\n\nexport function setCurrentTime(art, event) {\n if (art.isRotate) {\n const percentage = event.touches[0].clientY / art.height;\n const second = percentage * art.duration;\n art.emit('setBar', 'played', percentage);\n art.seek = second;\n } else {\n const { second, percentage } = getPosFromEvent(art, event);\n art.emit('setBar', 'played', percentage);\n art.seek = second;\n }\n}\n\nexport default function progress(options) {\n return (art) => {\n const { icons, option, proxy } = art;\n\n return {\n ...options,\n html: `\n \n `,\n mounted: ($control) => {\n let isDroging = false;\n const $hover = query('.art-progress-hover', $control);\n const $loaded = query('.art-progress-loaded', $control);\n const $played = query('.art-progress-played', $control);\n const $highlight = query('.art-progress-highlight', $control);\n const $indicator = query('.art-progress-indicator', $control);\n const $tip = query('.art-progress-tip', $control);\n\n const { INDICATOR_SIZE, INDICATOR_SIZE_ICON, INDICATOR_SIZE_MOBILE, INDICATOR_SIZE_MOBILE_ICON } =\n art.constructor;\n\n setStyle($played, 'backgroundColor', 'var(--art-theme)');\n\n let indicatorSize = INDICATOR_SIZE;\n\n if (icons.indicator) {\n indicatorSize = INDICATOR_SIZE_ICON;\n append($indicator, icons.indicator);\n } else {\n setStyles($indicator, {\n backgroundColor: 'var(--art-theme)',\n });\n }\n\n if (isMobile) {\n indicatorSize = INDICATOR_SIZE_MOBILE;\n if (icons.indicator) {\n indicatorSize = INDICATOR_SIZE_MOBILE_ICON;\n }\n }\n\n setStyles($indicator, {\n left: `-${indicatorSize / 2}px`,\n width: `${indicatorSize}px`,\n height: `${indicatorSize}px`,\n });\n\n function showHighlight(event) {\n const { width } = getPosFromEvent(art, event);\n const { text } = event.target.dataset;\n $tip.innerHTML = text;\n const tipWidth = $tip.clientWidth;\n if (width <= tipWidth / 2) {\n setStyle($tip, 'left', 0);\n } else if (width > $control.clientWidth - tipWidth / 2) {\n setStyle($tip, 'left', `${$control.clientWidth - tipWidth}px`);\n } else {\n setStyle($tip, 'left', `${width - tipWidth / 2}px`);\n }\n }\n\n function showTime(event) {\n const { width, time } = getPosFromEvent(art, event);\n $tip.innerHTML = time;\n const tipWidth = $tip.clientWidth;\n if (width <= tipWidth / 2) {\n setStyle($tip, 'left', 0);\n } else if (width > $control.clientWidth - tipWidth / 2) {\n setStyle($tip, 'left', `${$control.clientWidth - tipWidth}px`);\n } else {\n setStyle($tip, 'left', `${width - tipWidth / 2}px`);\n }\n }\n\n function setBar(type, percentage) {\n if (type === 'loaded') {\n setStyle($loaded, 'width', `${percentage * 100}%`);\n }\n\n if (type === 'played') {\n setStyle($played, 'width', `${percentage * 100}%`);\n setStyle($indicator, 'left', `calc(${percentage * 100}% - ${indicatorSize / 2}px)`);\n }\n }\n\n function setHover(event) {\n const { width } = getPosFromEvent(art, event);\n setStyle($hover, 'width', `${width}px`);\n setStyle($hover, 'display', 'flex');\n }\n\n art.on('video:loadedmetadata', () => {\n for (let index = 0; index < option.highlight.length; index++) {\n const item = option.highlight[index];\n const left = (clamp(item.time, 0, art.duration) / art.duration) * 100;\n const html = ``;\n append($highlight, html);\n }\n });\n\n setBar('loaded', art.loaded);\n\n art.on('setBar', (type, percentage) => {\n setBar(type, percentage);\n });\n\n art.on('video:progress', () => {\n setBar('loaded', art.loaded);\n });\n\n art.on('video:timeupdate', () => {\n setBar('played', art.played);\n });\n\n art.on('video:ended', () => {\n setBar('played', 1);\n });\n\n if (!isMobile) {\n proxy($control, 'click', (event) => {\n if (event.target !== $indicator) {\n setCurrentTime(art, event);\n }\n });\n\n proxy($control, 'mousemove', (event) => {\n setHover(event);\n setStyle($tip, 'display', 'flex');\n if (includeFromEvent(event, $highlight)) {\n showHighlight(event);\n } else {\n showTime(event);\n }\n });\n\n proxy($control, 'mouseleave', () => {\n setStyle($tip, 'display', 'none');\n setStyle($hover, 'display', 'none');\n });\n\n proxy($control, 'mousedown', () => {\n isDroging = true;\n });\n\n proxy(document, 'mousemove', (event) => {\n if (isDroging) {\n const { second, percentage } = getPosFromEvent(art, event);\n setBar('played', percentage);\n art.seek = second;\n }\n });\n\n proxy(document, 'mouseup', () => {\n if (isDroging) {\n isDroging = false;\n }\n });\n }\n },\n };\n };\n}\n","import { secondToTime } from '../utils';\n\nexport default function time(option) {\n return (art) => ({\n ...option,\n style: {\n cursor: 'auto',\n margin: '0 10px',\n },\n mounted: ($control) => {\n function getTime() {\n const newTime = `${secondToTime(art.currentTime)} / ${secondToTime(art.duration)}`;\n if (newTime !== $control.innerText) {\n $control.innerText = newTime;\n }\n }\n\n getTime();\n\n const events = ['video:loadedmetadata', 'video:timeupdate', 'video:progress'];\n for (let index = 0; index < events.length; index++) {\n art.on(events[index], getTime);\n }\n },\n });\n}\n","import { append, setStyle, isMobile } from '../utils';\n\nexport default function volume(option) {\n return (art) => ({\n ...option,\n mounted: ($control) => {\n const { proxy, icons } = art;\n\n const $volume = append($control, icons.volume);\n const $close = append($control, icons.volumeClose);\n const $panel = append($control, '');\n const $inner = append($panel, '');\n const $value = append($inner, ``);\n const $slider = append($inner, ``);\n const $handle = append($slider, ``);\n const $loaded = append($handle, ``);\n const $indicator = append($slider, ``);\n\n if (isMobile) {\n setStyle($panel, 'display', 'none');\n }\n\n function getVolumeFromEvent(event) {\n const { top, height } = $slider.getBoundingClientRect();\n return 1 - (event.pageY - top) / height;\n }\n\n function update() {\n if (art.muted || art.volume === 0) {\n setStyle($volume, 'display', 'none');\n setStyle($close, 'display', 'flex');\n setStyle($indicator, 'top', '100%');\n setStyle($loaded, 'top', '100%');\n $value.innerText = 0;\n } else {\n const percentage = art.volume * 100;\n setStyle($volume, 'display', 'flex');\n setStyle($close, 'display', 'none');\n setStyle($indicator, 'top', `${100 - percentage}%`);\n setStyle($loaded, 'top', `${100 - percentage}%`);\n $value.innerText = Math.floor(percentage);\n }\n }\n\n update();\n art.on('video:volumechange', update);\n\n proxy($volume, 'click', () => {\n art.muted = true;\n });\n\n proxy($close, 'click', () => {\n art.muted = false;\n });\n\n let isDroging = false;\n proxy($slider, 'mousedown', (event) => {\n isDroging = true;\n art.volume = getVolumeFromEvent(event);\n });\n\n proxy(document, 'mousemove', (event) => {\n if (isDroging) {\n art.muted = false;\n art.volume = getVolumeFromEvent(event);\n }\n });\n\n proxy(document, 'mouseup', () => {\n if (isDroging) {\n isDroging = false;\n }\n });\n },\n });\n}\n","import { append, tooltip } from '../utils';\n\nexport default function setting(option) {\n return (art) => ({\n ...option,\n tooltip: art.i18n.get('Show Setting'),\n mounted: ($control) => {\n const { proxy, icons, i18n } = art;\n\n append($control, icons.setting);\n\n proxy($control, 'click', () => {\n art.setting.toggle = true;\n art.setting.updateStyle();\n });\n\n art.on('setting', (value) => {\n tooltip($control, i18n.get(value ? 'Hide Setting' : 'Show Setting'));\n });\n },\n });\n}\n","import { setStyle } from '../utils';\nimport { getPosFromEvent } from './progress';\n\nexport default function thumbnails(options) {\n return (art) => ({\n ...options,\n mounted: ($control) => {\n const {\n option,\n template: { $progress, $video },\n events: { proxy, loadImg },\n } = art;\n\n let image = null;\n let loading = false;\n let isLoad = false;\n\n function showThumbnails(event) {\n const { width: posWidth } = getPosFromEvent(art, event);\n const { url, number, column, width, height } = option.thumbnails;\n const width2 = width || image.naturalWidth / column;\n const height2 = height || width2 / ($video.videoWidth / $video.videoHeight);\n const perWidth = $progress.clientWidth / number;\n const perIndex = Math.floor(posWidth / perWidth);\n const yIndex = Math.ceil(perIndex / column) - 1;\n const xIndex = perIndex % column || column - 1;\n setStyle($control, 'backgroundImage', `url(${url})`);\n setStyle($control, 'height', `${height2}px`);\n setStyle($control, 'width', `${width2}px`);\n setStyle($control, 'backgroundPosition', `-${xIndex * width2}px -${yIndex * height2}px`);\n if (posWidth <= width2 / 2) {\n setStyle($control, 'left', 0);\n } else if (posWidth > $progress.clientWidth - width2 / 2) {\n setStyle($control, 'left', `${$progress.clientWidth - width2}px`);\n } else {\n setStyle($control, 'left', `${posWidth - width2 / 2}px`);\n }\n }\n\n proxy($progress, 'mousemove', async (event) => {\n if (!loading) {\n loading = true;\n const img = await loadImg(option.thumbnails.url);\n image = img;\n isLoad = true;\n }\n\n if (isLoad) {\n setStyle($control, 'display', 'flex');\n showThumbnails(event);\n }\n });\n\n proxy($progress, 'mouseleave', () => {\n setStyle($control, 'display', 'none');\n });\n\n art.on('hover', (state) => {\n if (!state) {\n setStyle($control, 'display', 'none');\n }\n });\n },\n });\n}\n","import { append } from '../utils';\n\nexport default function screenshot(option) {\n return (art) => ({\n ...option,\n tooltip: art.i18n.get('Screenshot'),\n mounted: ($control) => {\n const { proxy, icons } = art;\n\n append($control, icons.screenshot);\n proxy($control, 'click', () => {\n art.screenshot();\n });\n },\n });\n}\n","export default function quality(option) {\n return (art) => {\n const qualityOption = art.option.quality;\n const qualityDefault = qualityOption.find((item) => item.default) || qualityOption[0];\n return {\n ...option,\n style: {\n marginRight: '10px',\n },\n html: qualityDefault ? qualityDefault.html : '',\n selector: qualityOption,\n onSelect(item) {\n art.switchQuality(item.url, item.html);\n },\n };\n };\n}\n","import { append, setStyle } from '../utils';\n\nexport default function loop(option) {\n return (art) => ({\n ...option,\n mounted: ($control) => {\n const $left = append($control, ``);\n const $right = append($control, ``);\n\n art.on('loop', (value) => {\n if (value && value.length) {\n setStyle($control, 'display', 'flex');\n setStyle($left, 'left', `calc(${(value[0] / art.duration) * 100}% - ${$left.clientWidth}px)`);\n setStyle($right, 'left', `${(value[1] / art.duration) * 100}%`);\n } else {\n setStyle($control, 'display', 'none');\n }\n });\n },\n });\n}\n","import { append } from '../utils';\n\nexport default function pip(option) {\n return (art) => ({\n ...option,\n tooltip: art.i18n.get('AirPlay'),\n mounted: ($control) => {\n const { proxy, icons } = art;\n append($control, icons.airplay);\n proxy($control, 'click', () => art.airplay());\n },\n });\n}\n","import { setStyles, includeFromEvent, isMobile } from '../utils';\nimport Component from '../utils/component';\nimport playbackRate from './playbackRate';\nimport aspectRatio from './aspectRatio';\nimport flip from './flip';\nimport info from './info';\nimport version from './version';\nimport close from './close';\n\nexport default class Contextmenu extends Component {\n constructor(art) {\n super(art);\n\n this.name = 'contextmenu';\n this.$parent = art.template.$contextmenu;\n\n if (!isMobile) {\n this.init();\n }\n }\n\n init() {\n const {\n option,\n proxy,\n template: { $player, $contextmenu },\n } = this.art;\n\n if (option.playbackRate) {\n this.add(\n playbackRate({\n name: 'playbackRate',\n index: 10,\n }),\n );\n }\n\n if (option.aspectRatio) {\n this.add(\n aspectRatio({\n name: 'aspectRatio',\n index: 20,\n }),\n );\n }\n\n if (option.flip) {\n this.add(\n flip({\n name: 'flip',\n index: 30,\n }),\n );\n }\n\n this.add(\n info({\n name: 'info',\n index: 40,\n }),\n );\n\n this.add(\n version({\n name: 'version',\n index: 50,\n }),\n );\n\n this.add(\n close({\n name: 'close',\n index: 60,\n }),\n );\n\n for (let index = 0; index < option.contextmenu.length; index++) {\n this.add(option.contextmenu[index]);\n }\n\n proxy($player, 'contextmenu', (event) => {\n event.preventDefault();\n if (!this.art.constructor.CONTEXTMENU) return;\n\n this.show = true;\n\n const mouseX = event.clientX;\n const mouseY = event.clientY;\n const { height: cHeight, width: cWidth, left: cLeft, top: cTop } = $player.getBoundingClientRect();\n const { height: mHeight, width: mWidth } = $contextmenu.getBoundingClientRect();\n let menuLeft = mouseX - cLeft;\n let menuTop = mouseY - cTop;\n\n if (mouseX + mWidth > cLeft + cWidth) {\n menuLeft = cWidth - mWidth;\n }\n\n if (mouseY + mHeight > cTop + cHeight) {\n menuTop = cHeight - mHeight;\n }\n\n setStyles($contextmenu, {\n top: `${menuTop}px`,\n left: `${menuLeft}px`,\n });\n });\n\n proxy($player, 'click', (event) => {\n if (!includeFromEvent(event, $contextmenu)) {\n this.show = false;\n }\n });\n\n this.art.on('blur', () => {\n this.show = false;\n });\n }\n}\n","import { inverseClass, query, queryAll } from '../utils';\n\nexport default function playbackRate(option) {\n return (art) => {\n const {\n i18n,\n constructor: { PLAYBACK_RATE },\n } = art;\n\n const html = PLAYBACK_RATE.map(\n (item) => `${item === 1 ? i18n.get('Normal') : item.toFixed(1)}`,\n ).join('');\n\n return {\n ...option,\n html: `${i18n.get('Play Speed')}: ${html}`,\n click: (contextmenu, event) => {\n const { value } = event.target.dataset;\n if (value) {\n art.playbackRate = Number(value);\n contextmenu.show = false;\n }\n },\n mounted: ($panel) => {\n const $default = query('[data-value=\"1\"]', $panel);\n if ($default) inverseClass($default, 'art-current');\n art.on('video:ratechange', () => {\n const $current = queryAll('span', $panel).find(\n (item) => Number(item.dataset.value) === art.playbackRate,\n );\n if ($current) {\n inverseClass($current, 'art-current');\n }\n });\n },\n };\n };\n}\n","import { inverseClass, query, queryAll } from '../utils';\n\nexport default function aspectRatio(option) {\n return (art) => {\n const {\n i18n,\n constructor: { ASPECT_RATIO },\n } = art;\n\n const html = ASPECT_RATIO.map(\n (item) => `${item === 'default' ? i18n.get('Default') : item}`,\n ).join('');\n\n return {\n ...option,\n html: `${i18n.get('Aspect Ratio')}: ${html}`,\n click: (contextmenu, event) => {\n const { value } = event.target.dataset;\n if (value) {\n art.aspectRatio = value;\n contextmenu.show = false;\n }\n },\n mounted: ($panel) => {\n const $default = query('[data-value=\"default\"]', $panel);\n if ($default) {\n inverseClass($default, 'art-current');\n }\n art.on('aspectRatio', (value) => {\n const $current = queryAll('span', $panel).find((item) => item.dataset.value === value);\n if ($current) {\n inverseClass($current, 'art-current');\n }\n });\n },\n };\n };\n}\n","import { inverseClass, query, queryAll, capitalize } from '../utils';\n\nexport default function flip(option) {\n return (art) => {\n const {\n i18n,\n constructor: { FLIP },\n } = art;\n\n const html = FLIP.map((item) => `${i18n.get(capitalize(item))}`).join('');\n\n return {\n ...option,\n html: `${i18n.get('Video Flip')}: ${html}`,\n click: (contextmenu, event) => {\n const { value } = event.target.dataset;\n if (value) {\n art.flip = value.toLowerCase();\n contextmenu.show = false;\n }\n },\n mounted: ($panel) => {\n const $default = query('[data-value=\"normal\"]', $panel);\n if ($default) {\n inverseClass($default, 'art-current');\n }\n art.on('flip', (value) => {\n const $current = queryAll('span', $panel).find((item) => item.dataset.value === value);\n if ($current) {\n inverseClass($current, 'art-current');\n }\n });\n },\n };\n };\n}\n","export default function info(option) {\n return (art) => ({\n ...option,\n html: art.i18n.get('Video Info'),\n click: (contextmenu) => {\n art.info.show = true;\n contextmenu.show = false;\n },\n });\n}\n","export default function version(option) {\n return {\n ...option,\n html: `ArtPlayer ${process.env.APP_VER}`,\n };\n}\n","export default function close(option) {\n return (art) => ({\n ...option,\n html: art.i18n.get('Close'),\n click: (contextmenu) => {\n contextmenu.show = false;\n },\n });\n}\n","import { queryAll, isMobile } from './utils';\nimport Component from './utils/component';\n\nexport default class Info extends Component {\n constructor(art) {\n super(art);\n this.name = 'info';\n\n if (!isMobile) {\n this.init();\n }\n }\n\n init() {\n const {\n proxy,\n constructor,\n template: { $infoPanel, $infoClose, $video },\n } = this.art;\n\n proxy($infoClose, 'click', () => {\n this.show = false;\n });\n\n let timer = null;\n const $types = queryAll('[data-video]', $infoPanel) || [];\n\n this.art.on('destroy', () => {\n clearTimeout(timer);\n });\n\n function loop() {\n for (let index = 0; index < $types.length; index++) {\n const item = $types[index];\n const value = $video[item.dataset.video];\n const innerText = typeof value === 'number' ? value.toFixed(2) : value;\n if (item.innerText !== innerText) {\n item.innerText = innerText;\n }\n }\n timer = setTimeout(loop, constructor.INFO_LOOP_TIME);\n }\n\n loop();\n }\n}\n","import {\n setStyle,\n setStyles,\n srtToVtt,\n vttToBlob,\n getExt,\n assToVtt,\n escape,\n remove,\n append,\n createElement,\n} from './utils';\nimport Component from './utils/component';\nimport validator from 'option-validator';\nimport scheme from './scheme';\n\nexport default class Subtitle extends Component {\n constructor(art) {\n super(art);\n this.name = 'subtitle';\n this.eventDestroy = () => null;\n this.init(art.option.subtitle);\n\n let lastState = false;\n art.on('video:timeupdate', () => {\n if (!this.url) return;\n const state = this.art.template.$video.webkitDisplayingFullscreen;\n if (typeof state !== 'boolean') return;\n if (state !== lastState) {\n lastState = state;\n this.createTrack(state ? 'subtitles' : 'metadata', this.url);\n }\n });\n }\n\n get url() {\n return this.art.template.$track.src;\n }\n\n set url(url) {\n this.switch(url);\n }\n\n get textTrack() {\n return this.art.template.$video.textTracks[0];\n }\n\n get activeCue() {\n return this.textTrack.activeCues[0];\n }\n\n style(key, value) {\n const { $subtitle } = this.art.template;\n if (typeof key === 'object') {\n return setStyles($subtitle, key);\n }\n return setStyle($subtitle, key, value);\n }\n\n update() {\n const { $subtitle } = this.art.template;\n $subtitle.innerHTML = '';\n if (this.activeCue) {\n if (this.art.option.subtitle.escape) {\n $subtitle.innerHTML = this.activeCue.text\n .split(/\\r?\\n/)\n .map((item) => `${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 mousemoveInit from './mousemoveInit';\nimport resizeInit from './resizeInit';\nimport gestureInit from './gestureInit';\nimport viewInit from './viewInit';\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 mousemoveInit(art, this);\n resizeInit(art, this);\n gestureInit(art, this);\n viewInit(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 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');\n } else {\n art.isInput = false;\n art.isFocus = false;\n art.emit('blur');\n }\n });\n\n let clickTime = 0;\n events.proxy($video, 'click', () => {\n const now = Date.now();\n\n if (now - clickTime <= constructor.DB_CLICE_TIME) {\n art.emit('dblclick');\n\n if (isMobile) {\n if (!art.isLock) {\n art.toggle();\n }\n } else {\n art.fullscreen = !art.fullscreen;\n }\n } else {\n art.emit('click');\n\n if (!isMobile) {\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 mousemoveInitInit(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.normalSize) {\n art.autoSize = option.autoSize;\n }\n art.aspectRatioReset = true;\n art.notice.show = '';\n art.emit('resize');\n }, art.constructor.RESIZE_TIME);\n\n events.proxy(window, ['orientationchange', 'resize'], () => {\n resizeFn();\n });\n\n if (screen && screen.orientation && screen.orientation.onchange) {\n events.proxy(screen.orientation, 'change', () => {\n resizeFn();\n });\n }\n}\n","import { clamp, secondToTime, isMobile } from '../utils';\nimport { setCurrentTime } from '../control/progress';\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 { clientX, clientY } = event.touches[0];\n startX = clientX;\n startY = clientY;\n startTime = art.currentTime;\n }\n };\n\n const onTouchMove = (event) => {\n if (event.touches.length === 1 && isDroging && art.duration) {\n const { clientX, clientY } = event.touches[0];\n const ratioX = clamp((clientX - startX) / art.width, -1, 1);\n const ratioY = clamp((clientY - 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 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', () => {\n scrollFn();\n });\n\n art.on('view', (state) => {\n if (option.autoMini) {\n art.mini = !state;\n }\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 Object.keys(icons).forEach((key) => {\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 {\n def,\n has,\n append,\n addClass,\n setStyle,\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 proxy,\n template: { $setting, $player },\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 if (option.playbackRate) {\n this.option.push(playbackRate(art));\n }\n\n if (option.aspectRatio) {\n this.option.push(aspectRatio(art));\n }\n\n if (option.flip) {\n this.option.push(flip(art));\n }\n\n if (option.subtitleOffset) {\n this.option.push(subtitleOffset(art));\n }\n\n for (let index = 0; index < option.settings.length; index++) {\n this.option.push(option.settings[index]);\n }\n\n this.update();\n\n art.on('blur', () => {\n if (this.show) {\n this.show = false;\n this.init(this.option);\n }\n });\n\n proxy($player, 'click', (event) => {\n if (\n this.show &&\n !includeFromEvent(event, art.controls.setting) &&\n !includeFromEvent(event, this.$parent)\n ) {\n this.show = false;\n this.init(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 if (item.selector) {\n Setting.makeRecursion(item.selector, item, option);\n }\n }\n return option;\n }\n\n update() {\n this.cache = new Map();\n this.events.forEach((event) => event());\n this.events = [];\n this.$parent.innerHTML = '';\n this.option = Setting.makeRecursion(this.option);\n this.init(this.option);\n return this.option;\n }\n\n add(setting) {\n this.option.push(setting);\n this.update();\n return setting;\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.init(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.init(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.init(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) {\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', 'auto');\n setStyle($setting, 'right', '10px');\n } else {\n setStyle($setting, 'left', `${settingLeft}px`);\n setStyle($setting, 'right', 'auto');\n }\n } else {\n setStyle($setting, 'left', 'auto');\n setStyle($setting, 'right', '10px');\n }\n }\n\n init(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 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 default: item === art.flip,\n html: i18n.get(capitalize(item)),\n };\n }),\n onSelect(item) {\n art.flip = item.value;\n return item.value;\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 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 default: item === art.aspectRatio,\n html: getI18n(item),\n };\n }),\n onSelect(item) {\n art.aspectRatio = item.value;\n return item.value;\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 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 default: item === art.playbackRate,\n html: getI18n(item),\n };\n }),\n onSelect(item) {\n art.playbackRate = item.value;\n return item.value;\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 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 option,\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 setStyle($player, 'width', null);\n setStyle($player, 'height', null);\n setStyle($player, 'transform', null);\n setStyle($player, 'transform-origin', null);\n removeClass($player, 'art-auto-orientation');\n art.isRotate = false;\n art.aspectRatioReset = true;\n art.autoSize = option.autoSize;\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 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 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 Object.keys(option.moreVideoAttr).forEach((key) => {\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 art.emit('url', $video.src);\n }\n }\n}\n"],"names":[],"version":3,"file":"index.js.map","sourceRoot":"../../../"}
\ No newline at end of file
diff --git a/package.json b/package.json
index f19b67330..82453b8e9 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "artplayer-packages",
- "version": "4.4.2",
+ "version": "5.0.0",
"type": "module",
"description": "ArtPlayer.js is a modern and full featured HTML5 video player",
"scripts": {
@@ -32,33 +32,31 @@
"homepage": "https://artplayer.org",
"browserslist": "> 0.5%, last 2 versions, not dead",
"dependencies": {
- "@babel/eslint-parser": "^7.19.1",
+ "@babel/eslint-parser": "^7.21.3",
"@babel/preset-react": "^7.18.6",
- "@parcel/config-default": "^2.8.2",
- "@parcel/core": "^2.8.2",
- "@parcel/optimizer-data-url": "^2.8.2",
- "@parcel/reporter-cli": "^2.8.2",
- "@parcel/transformer-inline-string": "^2.8.2",
- "@parcel/transformer-less": "^2.8.2",
- "@parcel/transformer-vue": "^2.8.2",
+ "@parcel/config-default": "^2.8.3",
+ "@parcel/core": "^2.8.3",
+ "@parcel/optimizer-data-url": "^2.8.3",
+ "@parcel/reporter-cli": "^2.8.3",
+ "@parcel/transformer-inline-string": "^2.8.3",
+ "@parcel/transformer-less": "^2.8.3",
+ "@parcel/transformer-vue": "^2.8.3",
"artplayer": "latest",
"chai": "^4.3.7",
"cpy": "^9.0.1",
"cross-env": "^7.0.3",
"cross-spawn": "^7.0.3",
- "eslint": "^8.31.0",
- "glob": "^8.0.3",
- "lerna": "^6.4.1",
+ "eslint": "^8.38.0",
+ "glob": "^10.1.0",
+ "lerna": "^6.6.1",
"mocha": "^10.2.0",
"mocha-chrome": "^2.2.0",
- "pre-commit": "^1.2.2",
- "prettier": "^2.8.3",
+ "prettier": "^2.8.7",
"prompts": "^2.4.2",
"servor": "^4.0.2",
"workbox-build": "^6.5.4"
},
"engines": {
"node": ">= 16.0.0"
- },
- "__npminstall_done": false
-}
\ No newline at end of file
+ }
+}
diff --git a/packages/artplayer-plugin-control/package.json b/packages/artplayer-plugin-control/package.json
index 6d52fcd3d..9968e2668 100644
--- a/packages/artplayer-plugin-control/package.json
+++ b/packages/artplayer-plugin-control/package.json
@@ -1,6 +1,6 @@
{
"license": "MIT",
- "version": "1.0.0",
+ "version": "2.0.0",
"name": "artplayer-plugin-control",
"types": "types/artplayer-plugin-control.d.ts",
"description": "Control plugin for ArtPlayer",
@@ -21,4 +21,4 @@
"video",
"player"
]
-}
+}
\ No newline at end of file
diff --git a/packages/artplayer-plugin-control/src/index.js b/packages/artplayer-plugin-control/src/index.js
index ffd166b18..bee9836d8 100644
--- a/packages/artplayer-plugin-control/src/index.js
+++ b/packages/artplayer-plugin-control/src/index.js
@@ -9,7 +9,7 @@ function checkVersion(art) {
const major = arr[0];
const minor = arr[1] / 100;
errorHandle(
- major + minor >= 4.06,
+ major + minor >= 5,
`Artplayer.js@${version} is not compatible the artplayerPluginControl@${artplayerPluginControl.version}. Please update it to version Artplayer.js@4.6.x`,
);
}
diff --git a/packages/artplayer-plugin-control/src/style.less b/packages/artplayer-plugin-control/src/style.less
index eb8f13316..94610b638 100644
--- a/packages/artplayer-plugin-control/src/style.less
+++ b/packages/artplayer-plugin-control/src/style.less
@@ -3,15 +3,15 @@
display: flex;
align-items: center;
flex-direction: column;
+ justify-content: space-between;
position: absolute;
height: 68px;
- min-width: 400px;
- max-width: 600px;
+ width: 400px;
user-select: none;
border-radius: 10px;
left: 50%;
transform: translateX(-50%);
- bottom: 10px;
+ bottom: 10px !important;
font-size: 13px;
-webkit-backdrop-filter: saturate(180%) blur(20px);
backdrop-filter: saturate(180%) blur(20px);
@@ -19,7 +19,7 @@
box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.2), 0 4px 6px -4px rgb(0 0 0 / 0.2);
background-image: none;
pointer-events: auto;
- padding: 0;
+ padding: 13px 0 0;
.art-progress {
width: 65%;
@@ -29,7 +29,7 @@
gap: 10px;
.art-control-thumbnails {
- bottom: 35px;
+ bottom: 25px;
}
.art-control-progress {
@@ -49,18 +49,12 @@
.art-controls {
width: 100%;
- height: auto;
flex: 1;
- padding: 0 5px;
.art-control-time,
.art-controls-center {
display: none;
}
-
- .art-volume-panel {
- width: 60px !important;
- }
}
.art-selector-list {
@@ -90,6 +84,10 @@
bottom: 85px;
}
+ .art-layer-auto-playback {
+ bottom: 90px;
+ }
+
&.art-control-show {
.art-subtitle {
bottom: 80px;
diff --git a/packages/artplayer-plugin-danmuku/package.json b/packages/artplayer-plugin-danmuku/package.json
index cc7b7d334..bf08aecac 100644
--- a/packages/artplayer-plugin-danmuku/package.json
+++ b/packages/artplayer-plugin-danmuku/package.json
@@ -1,6 +1,6 @@
{
"license": "MIT",
- "version": "4.4.11",
+ "version": "5.0.0",
"name": "artplayer-plugin-danmuku",
"types": "types/artplayer-plugin-danmuku.d.ts",
"description": "Danmuku plugin for ArtPlayer",
@@ -21,4 +21,4 @@
"video",
"player"
]
-}
+}
\ No newline at end of file
diff --git a/packages/artplayer-plugin-danmuku/src/index.js b/packages/artplayer-plugin-danmuku/src/index.js
index 0c7ba5f97..42490500e 100644
--- a/packages/artplayer-plugin-danmuku/src/index.js
+++ b/packages/artplayer-plugin-danmuku/src/index.js
@@ -9,7 +9,7 @@ function checkVersion(art) {
const arr = version.split('.').map(Number);
const major = arr[0];
const minor = arr[1] / 100;
- errorHandle(major + minor >= 4.04, `Artplayer.js@${version} 不兼容该弹幕库,请更新到 4.4.x 版本以上`);
+ errorHandle(major + minor >= 5, `Artplayer.js@${version} 不兼容该弹幕库,请更新到 5 版本以上`);
}
export default function artplayerPluginDanmuku(option) {
diff --git a/packages/artplayer-plugin-danmuku/src/setting.js b/packages/artplayer-plugin-danmuku/src/setting.js
index 24f254e83..516e4e4a7 100644
--- a/packages/artplayer-plugin-danmuku/src/setting.js
+++ b/packages/artplayer-plugin-danmuku/src/setting.js
@@ -21,6 +21,7 @@ export default function setting(art, danmuku) {
return icon;
}
+ setStyle($controlsCenter, 'display', 'flex');
const $danmuOn = getIcon(danmuOn, 'danmu-on');
const $danmuOff = getIcon(danmuOff, 'danmu-off');
const $danmuConfig = getIcon(danmuConfig, 'danmu-config');
diff --git a/packages/artplayer-plugin-hls-quality/package.json b/packages/artplayer-plugin-hls-quality/package.json
index 8191b1856..05a15679d 100644
--- a/packages/artplayer-plugin-hls-quality/package.json
+++ b/packages/artplayer-plugin-hls-quality/package.json
@@ -1,6 +1,6 @@
{
"license": "MIT",
- "version": "1.0.1",
+ "version": "1.0.2",
"name": "artplayer-plugin-hls-quality",
"types": "types/artplayer-plugin-hls-quality.d.ts",
"description": "Iframe plugin for ArtPlayer",
@@ -21,4 +21,4 @@
"video",
"player"
]
-}
+}
\ No newline at end of file
diff --git a/packages/artplayer-plugin-hls-quality/src/index.js b/packages/artplayer-plugin-hls-quality/src/index.js
index 25a2440be..b71bfab31 100644
--- a/packages/artplayer-plugin-hls-quality/src/index.js
+++ b/packages/artplayer-plugin-hls-quality/src/index.js
@@ -28,7 +28,8 @@ export default function artplayerPluginHlsQuality(option) {
};
}),
onSelect(item) {
- hls.nextLevel = item.level;
+ hls.currentLevel = item.level;
+ art.loading.show = true;
return item.html;
},
});
@@ -49,7 +50,8 @@ export default function artplayerPluginHlsQuality(option) {
};
}),
onSelect: function (item) {
- hls.nextLevel = item.level;
+ hls.currentLevel = item.level;
+ art.loading.show = true;
return item.html;
},
});
diff --git a/packages/artplayer/dist/artplayer.js b/packages/artplayer/dist/artplayer.js
index 5753454b4..a89875cef 100644
--- a/packages/artplayer/dist/artplayer.js
+++ b/packages/artplayer/dist/artplayer.js
@@ -1,7 +1,7 @@
/*!
- * artplayer.js v4.6.3
+ * artplayer.js v5.0.0
* Github: https://github.com/zhw2590582/ArtPlayer
* (c) 2017-2023 Harvey Zack
* Released under the MIT License.
*/
-!function(e,t,r,o,a){var i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},n="function"==typeof i[o]&&i[o],s=n.cache||{},l="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function c(t,r){if(!s[t]){if(!e[t]){var a="function"==typeof i[o]&&i[o];if(!r&&a)return a(t,!0);if(n)return n(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 o=e[t][1][r];return null!=o?o: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=n,c.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(c,"root",{get:function(){return i[o]}}),i[o]=c;for(var p=0;pt.call(this,this))),te.DEBUG){const e=e=>console.log(`[ART.${this.id}] -> ${e}`);e("Version@"+te.version),e("Env@"+te.env),e("Build@"+te.build);for(let t=0;te("Event@"+t.type)))}ee.push(this)}static get instances(){return ee}static get version(){return"4.6.3"}static get env(){return"production"}static get build(){return"2023-02-24 21:42:14"}static get config(){return h.default}static get utils(){return p}static get scheme(){return d.default}static get Emitter(){return c.default}static get validator(){return s.default}static get kindOf(){return s.default.kindOf}static get html(){return v.default.html}static get option(){return{id:"",container:"#artplayer",url:"",poster:"",title:"",type:"",theme:"#f00",volume:.7,isLive:!1,muted:!1,autoplay:!1,autoSize:!1,autoMini:!1,loop:!1,flip:!1,playbackRate:!1,aspectRatio:!1,screenshot:!1,setting:!1,hotkey:!0,pip:!1,mutex:!0,backdrop:!0,fullscreen:!1,fullscreenWeb:!1,subtitleOffset:!1,miniProgressBar:!1,useSSR:!1,playsInline:!0,lock:!1,fastForward:!1,autoPlayback:!1,autoOrientation:!1,airplay:!1,layers:[],contextmenu:[],controls:[],settings:[],quality:[],highlight:[],plugins:[],whitelist:[],thumbnails:{url:"",number:60,column:10,width:0,height:0},subtitle:{url:"",type:"",style:{},escape:!0,encoding:"utf-8"},moreVideoAttr:{controls:!1,preload:p.isSafari?"auto":"metadata"},i18n:{},icons:{},customType:{},lang:navigator.language.toLowerCase()}}get proxy(){return this.events.proxy}get query(){return this.template.query}get video(){return this.template.$video}destroy(e=!0){this.events.destroy(),this.template.destroy(e),ee.splice(ee.indexOf(this),1),this.isDestroy=!0,this.emit("destroy")}}if(r.default=te,te.DEBUG=!1,te.CONTEXTMENU=!0,te.NOTICE_TIME=2e3,te.SETTING_WIDTH=250,te.SETTING_ITEM_WIDTH=200,te.SETTING_ITEM_HEIGHT=35,te.INDICATOR_SIZE=14,te.INDICATOR_SIZE_ICON=16,te.INDICATOR_SIZE_MOBILE=18,te.INDICATOR_SIZE_MOBILE_ICON=20,te.VOLUME_PANEL_WIDTH=60,te.VOLUME_HANDLE_WIDTH=12,te.RESIZE_TIME=500,te.SCROLL_TIME=200,te.SCROLL_GAP=50,te.AUTO_PLAYBACK_MAX=10,te.AUTO_PLAYBACK_MIN=5,te.AUTO_PLAYBACK_TIMEOUT=3e3,te.RECONNECT_TIME_MAX=5,te.RECONNECT_SLEEP_TIME=1e3,te.CONTROL_HIDE_TIME=3e3,te.DB_CLICE_TIME=300,te.MOBILE_AUTO_PLAYBACKRATE=3,te.MOBILE_AUTO_PLAYBACKRATE_TIME=1e3,te.MOBILE_AUTO_ORIENTATION_TIME=200,te.INFO_LOOP_TIME=1e3,te.FAST_FORWARD_VALUE=3,te.FAST_FORWARD_TIME=1e3,te.TOUCH_MOVE_RATIO=.5,te.VOLUME_STEP=.1,te.SEEK_STEP=5,te.PROGRESS_HEIGHT=6,te.PLAYBACK_RATE=[.5,.75,1,1.25,1.5,2],te.ASPECT_RATIO=["default","4:3","16:9"],te.FLIP=["normal","horizontal","vertical"],te.FULLSCREEN_WEB_IN_BODY=!1,"undefined"!=typeof document&&!document.getElementById("artplayer-style")){const e=p.createElement("style");e.id="artplayer-style",e.textContent=i.default,document.head.appendChild(e)}"undefined"!=typeof window&&(window.Artplayer=te),console.log(`%c ArtPlayer %c ${te.version} %c https://artplayer.org`,"color: #fff; background: #5f5f5f","color: #fff; background: #4bc729","")},{"bundle-text:./style/index.less":"0016T","option-validator":"bAWi2","./utils/emitter":"66mFZ","./utils":"71aH7","./scheme":"AKEiO","./config":"lyjeQ","./whitelist":"9L0ao","./template":"X13Zf","./i18n":"3jKkj","./player":"a90nx","./control":"8Z0Uf","./contextmenu":"2KYsr","./info":"02ajl","./subtitle":"eSWto","./events":"jo4S1","./hotkey":"6NoFy","./layer":"6G6hZ","./loading":"3dsEe","./notice":"dWGTw","./mask":"5POkG","./icons":"6OeNg","./setting":"3eYNH","./storage":"2aaJe","./plugins":"8MTUM","./mobile":"7mil2","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"0016T":[function(e,t,r){t.exports='.art-video-player{z-index:20;width:100%;height:100%;zoom:1;color:#eee;text-align:left;direction:ltr;user-select:none;-webkit-tap-highlight-color:#0000;touch-action:manipulation;-ms-high-contrast-adjust:none;background-color:#000;outline:0;margin:0 auto;font-family:Roboto,Arial,Helvetica,sans-serif;font-size:14px;line-height:1.3;display:flex;position:relative}.art-video-player *,.art-video-player :before,.art-video-player :after{box-sizing:border-box;margin:0;padding:0}.art-video-player ::-webkit-scrollbar{width:5px;height:5px}.art-video-player ::-webkit-scrollbar-thumb{background-color:#666}.art-video-player ::-webkit-scrollbar-thumb:hover{background-color:#ccc}.art-video-player .art-icon{justify-content:center;align-items:center;line-height:1.5;display:inline-flex}.art-video-player .art-icon svg{fill:#fff}.art-video-player img{max-width:100%;vertical-align:top}@supports ((-webkit-backdrop-filter:initial)) or (backdrop-filter:initial){.art-video-player .art-backdrop-filter{-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);background-color:#000000b3!important}}.art-video-player .art-video{z-index:10;width:100%;height:100%;cursor:pointer;background-color:#000;position:absolute;inset:0}.art-video-player .art-poster{z-index:11;width:100%;height:100%;user-select:none;pointer-events:none;background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.art-video-player .art-subtitle{z-index:20;width:100%;text-align:center;color:#fff;pointer-events:none;text-shadow:1px 0 1px #000,0 1px 1px #000,-1px 0 1px #000,0 -1px 1px #000,1px 1px 1px #000,-1px -1px 1px #000,1px -1px 1px #000,-1px 1px 1px #000;padding:0 20px;font-size:20px;transition:bottom .2s;display:none;position:absolute;bottom:10px}.art-video-player .art-subtitle p{word-break:break-all;height:fit-content;margin:5px 0 0;line-height:1.2}.art-video-player.art-subtitle-show .art-subtitle{display:block}.art-video-player.art-control-show .art-subtitle{bottom:50px}.art-video-player .art-danmuku{z-index:30;width:100%;height:100%;pointer-events:none;position:absolute;inset:0;overflow:hidden}.art-video-player .art-layers{z-index:40;width:100%;height:100%;pointer-events:none;display:none;position:absolute;inset:0;overflow:hidden}.art-video-player .art-layers .art-layer{pointer-events:auto}.art-video-player.art-layer-show .art-layers{display:block}.art-video-player .art-mask{z-index:50;width:100%;height:100%;pointer-events:none;justify-content:center;align-items:center;display:none;position:absolute;inset:0;overflow:hidden}.art-video-player .art-mask .art-state{width:60px;height:60px;opacity:.85;cursor:pointer;pointer-events:auto;justify-content:center;align-items:center;display:flex;position:absolute;bottom:65px;right:30px}.art-video-player.art-mask-show .art-mask{display:flex}.art-video-player.art-mobile .art-state{position:static}.art-video-player .art-loading{z-index:70;width:100%;height:100%;pointer-events:none;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.art-video-player.art-loading-show .art-loading{display:flex}.art-video-player .art-bottom{z-index:60;height:100px;opacity:0;visibility:hidden;pointer-events:none;background-image:linear-gradient(#0000,#0006,#000);background-position:bottom;background-repeat:repeat-x;flex-direction:column;justify-content:space-between;padding:50px 10px 0;transition:all .2s ease-in-out;display:flex;position:absolute;bottom:0;left:0;right:0}.art-video-player .art-bottom .art-progress{z-index:0;pointer-events:auto;flex:1;position:relative}.art-video-player .art-bottom .art-progress .art-control-progress{height:4px;cursor:pointer;flex-direction:row;align-items:center;display:flex;position:relative}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner{height:50%;width:100%;background:#fff3;align-items:center;transition:all .2s;display:flex;position:relative}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-loaded{z-index:10;height:100%;width:0;background:#fff6;position:absolute;inset:0}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-played{z-index:20;height:100%;width:0;position:absolute;inset:0}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-highlight{z-index:30;height:100%;pointer-events:none;position:absolute;inset:0}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-highlight span{width:7px;height:100%;pointer-events:auto;background:#ffffff80;display:inline-block;position:absolute;top:0;left:0}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator{visibility:hidden;z-index:40;border-radius:50%;justify-content:center;align-items:center;transition:transform .1s ease-in-out;position:absolute;transform:scale(.1)}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator .art-icon{width:100%;height:100%;pointer-events:none;user-select:none}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator:hover{transform:scale(1.2)!important}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-tip{z-index:50;height:20px;color:#fff;text-align:center;white-space:nowrap;background:#000000b3;border-radius:3px;padding:0 5px;font-size:12px;font-weight:700;line-height:20px;display:none;position:absolute;top:-25px;left:0}.art-video-player .art-bottom .art-progress .art-control-thumbnails{pointer-events:none;background-color:#000000b3;border-radius:3px;display:none;position:absolute;bottom:10px;left:0;box-shadow:0 1px 3px #0003,0 1px 2px -1px #0003}.art-video-player .art-bottom .art-progress .art-control-loop{width:100%;height:100%;pointer-events:none;display:none;position:absolute;inset:0}.art-video-player .art-bottom .art-progress .art-control-loop .art-loop-point{width:2px;height:8px;background:#ffffffbf;position:absolute;top:-2px;left:0}.art-video-player .art-bottom .art-controls{z-index:1;pointer-events:auto;height:45px;justify-content:space-between;align-items:center;display:flex;position:relative}.art-video-player .art-bottom .art-controls .art-controls-left,.art-video-player .art-bottom .art-controls .art-controls-right{display:flex}.art-video-player .art-bottom .art-controls .art-controls-center{height:100%;flex:1;justify-content:center;align-items:center;padding:0 10px;display:flex}.art-video-player .art-bottom .art-controls .art-controls-right{justify-content:flex-end}.art-video-player .art-bottom .art-controls .art-control{opacity:.75;min-height:36px;min-width:36px;text-align:center;cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;font-size:12px;line-height:1;transition:opacity .1s ease-in-out;display:flex}.art-video-player .art-bottom .art-controls .art-control .art-icon{float:left;height:36px;width:36px;justify-content:center;align-items:center;transition:transform .2s ease-in-out;display:flex;transform:scale(1)}.art-video-player .art-bottom .art-controls .art-control .art-icon:active{transform:scale(.85)}.art-video-player .art-bottom .art-controls .art-control:hover{opacity:1}.art-video-player .art-bottom .art-controls .art-control-volume .art-volume-panel{float:left;width:0;height:100%;transition:margin .2s cubic-bezier(.4,0,1,1),width .2s cubic-bezier(.4,0,1,1);position:relative;overflow:hidden}.art-video-player .art-bottom .art-controls .art-control-volume .art-volume-panel .art-volume-slider-handle{width:12px;height:12px;background:#fff;border-radius:12px;margin-top:-6px;position:absolute;top:50%;left:0}.art-video-player .art-bottom .art-controls .art-control-volume .art-volume-panel .art-volume-slider-handle:before{background:#fff;left:-54px}.art-video-player .art-bottom .art-controls .art-control-volume .art-volume-panel .art-volume-slider-handle:after{background:#fff3;left:6px}.art-video-player .art-bottom .art-controls .art-control-volume .art-volume-panel .art-volume-slider-handle:before,.art-video-player .art-bottom .art-controls .art-control-volume .art-volume-panel .art-volume-slider-handle:after{content:"";height:3px;width:60px;margin-top:-2px;display:block;position:absolute;top:50%}.art-video-player .art-bottom .art-controls .art-control-volume:hover .art-volume-panel{width:60px}.art-video-player .art-bottom .art-controls .art-control-quality{z-index:30;position:relative}.art-video-player .art-bottom .art-controls .art-control-quality .art-qualitys{width:100px;text-align:center;color:#fff;background:#000c;border-radius:3px;padding:5px 0;display:none;position:absolute;bottom:35px}.art-video-player .art-bottom .art-controls .art-control-quality .art-qualitys .art-quality-item{height:30px;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 0 2px #00000080;line-height:30px;overflow:hidden}.art-video-player .art-bottom .art-controls .art-control-quality .art-qualitys .art-quality-item:hover{background-color:#ffffff1a}.art-video-player .art-bottom .art-controls .art-control-quality:hover .art-qualitys{display:block}.art-video-player .art-bottom:hover .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator{visibility:visible;transform:scale(1)}.art-video-player.art-control-show .art-bottom,.art-video-player.art-hover .art-bottom{opacity:1;visibility:visible}.art-video-player.art-error .art-progress-indicator,.art-video-player.art-destroy .art-progress-indicator,.art-video-player.art-error .art-progress-tip,.art-video-player.art-destroy .art-progress-tip{display:none!important}.art-video-player.art-mobile .art-bottom{height:105px;padding:50px 7px 0}.art-video-player.art-mobile .art-bottom .art-controls{height:40px}.art-video-player.art-mobile .art-bottom .art-progress-indicator{visibility:visible!important;transform:scale(1)!important}.art-video-player .art-notice{z-index:80;width:100%;pointer-events:none;padding:10px;font-size:14px;display:none;position:absolute;top:0;left:0}.art-video-player .art-notice .art-notice-inner{color:#fff;background-color:#0009;border-radius:3px;padding:5px 10px;display:inline-block}.art-video-player.art-notice-show .art-notice{display:flex}.art-video-player .art-contextmenus{z-index:120;min-width:200px;background-color:#000000e6;border-radius:3px;flex-direction:column;padding:5px 0;display:none;position:absolute;top:10px;left:10px}.art-video-player .art-contextmenus .art-contextmenu{cursor:pointer;color:#fff;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 0 2px #00000080;border-bottom:1px solid #ffffff1a;padding:10px 15px;font-size:12px;display:block;overflow:hidden}.art-video-player .art-contextmenus .art-contextmenu a{color:#fff;text-decoration:none}.art-video-player .art-contextmenus .art-contextmenu span{padding:0 7px;display:inline-block}.art-video-player .art-contextmenus .art-contextmenu span:hover,.art-video-player .art-contextmenus .art-contextmenu span.art-current{color:var(--theme)}.art-video-player .art-contextmenus .art-contextmenu:hover{background-color:#ffffff1a}.art-video-player .art-contextmenus .art-contextmenu:last-child{border-bottom:none}.art-video-player.art-contextmenu-show .art-contextmenus{display:flex}.art-video-player .art-settings{z-index:90;height:auto;max-height:300px;background-color:#000000e6;border-radius:3px;font-size:13px;transition:all .2s;display:none;position:absolute;bottom:60px;left:0;overflow:auto}.art-video-player .art-settings .art-setting-panel{display:none}.art-video-player .art-settings .art-setting-panel.art-current{display:block}.art-video-player .art-settings .art-setting-panel .art-setting-item{height:35px;cursor:pointer;color:#fffc;justify-content:space-between;align-items:center;padding:0 5px;line-height:1;display:flex;overflow:hidden}.art-video-player .art-settings .art-setting-panel .art-setting-item:hover{color:#fff;background-color:#ffffff1a}.art-video-player .art-settings .art-setting-panel .art-setting-item.art-current{color:var(--theme)}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-icon{width:30px;height:30px;justify-content:center;align-items:center;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-icon-check{visibility:hidden;height:15px}.art-video-player .art-settings .art-setting-panel .art-setting-item.art-current .art-icon-check{visibility:visible}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-left{white-space:nowrap;align-items:center;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-left .art-setting-item-left-icon{height:24px;width:24px;justify-content:center;align-items:center;margin-right:10px;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right{align-items:center;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-item-right-tooltip{white-space:nowrap;color:#ffffff80;margin-right:5px;font-size:12px}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-item-right-icon{height:24px;justify-content:center;align-items:center;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-range{height:3px;width:80px;appearance:none;background-color:#fff3;outline:none}.art-video-player .art-settings .art-setting-panel .art-setting-item-back{border-bottom:1px solid #ffffff1a}.art-video-player.art-setting-show .art-settings{display:block}.art-video-player.art-mobile .art-settings{max-height:200px}.art-video-player .art-info{z-index:100;width:350px;color:#fff;-webkit-font-smoothing:antialiased;background-color:#000000e6;flex-direction:column;padding:10px;font-family:Noto Sans CJK SC DemiLight,Roboto,Segoe UI,Tahoma,Arial,Helvetica,sans-serif;font-size:12px;display:none;position:absolute;top:10px;left:10px}.art-video-player .art-info .art-info-item{margin-bottom:5px;display:flex}.art-video-player .art-info .art-info-item .art-info-title{width:100px;text-align:right}.art-video-player .art-info .art-info-item .art-info-content{text-overflow:ellipsis;white-space:nowrap;user-select:all;flex:1;padding-left:5px;overflow:hidden}.art-video-player .art-info .art-info-item:last-child{margin-bottom:0}.art-video-player .art-info .art-info-close{cursor:pointer;position:absolute;top:5px;right:5px}.art-video-player.art-info-show .art-info{display:flex}.art-video-player.art-hide-cursor *{cursor:none!important}.art-video-player[data-aspect-ratio] video{box-sizing:content-box;object-fit:fill}.art-video-player.art-fullscreen-web{z-index:9999;width:100%;height:100%;position:fixed;inset:0}.art-video-player .art-mini-header{z-index:110;height:35px;color:#fff;opacity:0;visibility:hidden;background-color:#00000080;justify-content:space-between;align-items:center;line-height:35px;transition:all .2s ease-in-out;display:none;position:absolute;top:0;left:0;right:0}.art-video-player .art-mini-header .art-mini-title{text-overflow:ellipsis;white-space:nowrap;cursor:move;flex:1;padding:0 10px;overflow:hidden}.art-video-player .art-mini-header .art-mini-close{width:35px;text-align:center;cursor:pointer;font-size:22px}.art-video-player.art-is-dragging{opacity:.7}.art-video-player.art-mini{z-index:9999;width:400px;height:225px;position:fixed;box-shadow:0 2px 5px #00000029,0 3px 6px #0003}.art-video-player.art-mini .art-mini-header{user-select:none;display:flex}.art-video-player.art-mini.art-hover .art-mini-header{opacity:1;visibility:visible}.art-video-player.art-mini .art-mask .art-state{position:static}.art-video-player.art-mini .art-contextmenu,.art-video-player.art-mini .art-bottom,.art-video-player.art-mini .art-danmu,.art-video-player.art-mini .art-info,.art-video-player.art-mini .art-layers,.art-video-player.art-mini .art-notice,.art-video-player.art-mini .art-settings,.art-video-player.art-mini .art-subtitle{display:none!important}.art-auto-size{justify-content:center;align-items:center;display:flex}.art-auto-size .art-video-player{transition:all .2s}.art-video-player[data-flip=horizontal] .art-video{transform:scaleX(-1)}.art-video-player[data-flip=vertical] .art-video{transform:scaleY(-1)}.art-video-player .art-layer-miniProgressBar{height:2px;background-color:var(--theme);display:block;position:absolute;bottom:0;left:0;right:0}.art-video-player .art-layer-lock{height:34px;width:34px;color:#fff;background-color:#00000080;border-radius:50%;justify-content:center;align-items:center;display:none;position:absolute;top:calc(50% - 17px);left:15px}.art-video-player .art-layer-autoPlayback{background-color:#000c;border-radius:3px;align-items:center;padding:10px;line-height:1;display:none;position:absolute;bottom:60px;left:20px}.art-video-player .art-layer-autoPlayback .art-autoPlayback-close{cursor:pointer;align-items:center;margin-right:10px;display:flex}.art-video-player .art-layer-autoPlayback .art-autoPlayback-close svg{width:15px;height:15px;fill:var(--theme)}.art-video-player .art-layer-autoPlayback .art-autoPlayback-last{margin-right:10px}.art-video-player .art-layer-autoPlayback .art-autoPlayback-jump{color:var(--theme);cursor:pointer}.art-video-player.art-lock .art-bottom{display:none!important}.art-video-player.art-lock .art-subtitle{bottom:10px!important}.art-video-player.art-lock .art-layer-miniProgressBar{display:block!important}.art-video-player.art-control-show .art-layer-miniProgressBar{display:none}.art-video-player.art-control-show .art-layer-lock{display:flex}.art-video-player .art-control-selector{position:relative}.art-video-player .art-control-selector .art-selector-list{min-width:100px;max-width:200px;max-height:200px;text-align:center;color:#fff;background-color:#000c;border-radius:3px;padding:5px 0;display:none;position:absolute;bottom:35px;overflow:auto}.art-video-player .art-control-selector .art-selector-list .art-selector-item{height:30px;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 0 2px #00000080;padding:0 5px;line-height:30px;overflow:hidden}.art-video-player .art-control-selector .art-selector-list .art-selector-item:hover{background-color:#ffffff1a}.art-video-player .art-control-selector .art-selector-list .art-selector-item:hover,.art-video-player .art-control-selector .art-selector-list .art-selector-item.art-current{color:var(--theme)}.art-video-player .art-control-selector:hover .art-selector-list{display:block}[class*=hint--]{font-style:normal;display:inline-block;position:relative}[class*=hint--]:before,[class*=hint--]:after{visibility:hidden;opacity:0;z-index:1000000;pointer-events:none;transition:all .3s;position:absolute;transform:translate(0,0)}[class*=hint--]:hover:before,[class*=hint--]:hover:after{visibility:visible;opacity:1;transition-delay:.1s}[class*=hint--]:before{content:"";z-index:1000001;background:0 0;border:6px solid #0000;position:absolute}[class*=hint--]:after{color:#fff;white-space:nowrap;background:#000;padding:8px 10px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;line-height:12px}[class*=hint--][aria-label]:after{content:attr(aria-label)}[class*=hint--][data-hint]:after{content:attr(data-hint)}[aria-label=""]:before,[aria-label=""]:after,[data-hint=""]:before,[data-hint=""]:after{display:none!important}.hint--top-left:before,.hint--top-right:before,.hint--top:before{border-top-color:#000}.hint--bottom-left:before,.hint--bottom-right:before,.hint--bottom:before{border-bottom-color:#000}.hint--left:before{border-left-color:#000}.hint--right:before{border-right-color:#000}.hint--top:before{margin-bottom:-11px}.hint--top:before,.hint--top:after{bottom:100%;left:50%}.hint--top:before{left:calc(50% - 6px)}.hint--top:after{transform:translate(-50%)}.hint--top:hover:before{transform:translateY(-8px)}.hint--top:hover:after{transform:translate(-50%)translateY(-8px)}.hint--bottom:before{margin-top:-11px}.hint--bottom:before,.hint--bottom:after{top:100%;left:50%}.hint--bottom:before{left:calc(50% - 6px)}.hint--bottom:after{transform:translate(-50%)}.hint--bottom:hover:before{transform:translateY(8px)}.hint--bottom:hover:after{transform:translate(-50%)translateY(8px)}.hint--right:before{margin-bottom:-6px;margin-left:-11px}.hint--right:after{margin-bottom:-14px}.hint--right:before,.hint--right:after{bottom:50%;left:100%}.hint--right:hover:before,.hint--right:hover:after{transform:translate(8px)}.hint--left:before{margin-bottom:-6px;margin-right:-11px}.hint--left:after{margin-bottom:-14px}.hint--left:before,.hint--left:after{bottom:50%;right:100%}.hint--left:hover:before,.hint--left:hover:after{transform:translate(-8px)}.hint--top-left:before{margin-bottom:-11px}.hint--top-left:before,.hint--top-left:after{bottom:100%;left:50%}.hint--top-left:before{left:calc(50% - 6px)}.hint--top-left:after{margin-left:12px;transform:translate(-100%)}.hint--top-left:hover:before{transform:translateY(-8px)}.hint--top-left:hover:after{transform:translate(-100%)translateY(-8px)}.hint--top-right:before{margin-bottom:-11px}.hint--top-right:before,.hint--top-right:after{bottom:100%;left:50%}.hint--top-right:before{left:calc(50% - 6px)}.hint--top-right:after{margin-left:-12px;transform:translate(0)}.hint--top-right:hover:before,.hint--top-right:hover:after{transform:translateY(-8px)}.hint--bottom-left:before{margin-top:-11px}.hint--bottom-left:before,.hint--bottom-left:after{top:100%;left:50%}.hint--bottom-left:before{left:calc(50% - 6px)}.hint--bottom-left:after{margin-left:12px;transform:translate(-100%)}.hint--bottom-left:hover:before{transform:translateY(8px)}.hint--bottom-left:hover:after{transform:translate(-100%)translateY(8px)}.hint--bottom-right:before{margin-top:-11px}.hint--bottom-right:before,.hint--bottom-right:after{top:100%;left:50%}.hint--bottom-right:before{left:calc(50% - 6px)}.hint--bottom-right:after{margin-left:-12px;transform:translate(0)}.hint--bottom-right:hover:before,.hint--bottom-right:hover:after{transform:translateY(8px)}.hint--small:after,.hint--medium:after,.hint--large:after{white-space:normal;word-wrap:break-word;line-height:1.4em}.hint--small:after{width:80px}.hint--medium:after{width:150px}.hint--large:after{width:300px}[class*=hint--]:after{text-shadow:0 -1px #000;box-shadow:4px 4px 8px #0000004d}.hint--error:after{text-shadow:0 -1px #592726;background-color:#b34e4d}.hint--error.hint--top-left:before,.hint--error.hint--top-right:before,.hint--error.hint--top:before{border-top-color:#b34e4d}.hint--error.hint--bottom-left:before,.hint--error.hint--bottom-right:before,.hint--error.hint--bottom:before{border-bottom-color:#b34e4d}.hint--error.hint--left:before{border-left-color:#b34e4d}.hint--error.hint--right:before{border-right-color:#b34e4d}.hint--warning:after{text-shadow:0 -1px #6c5328;background-color:#c09854}.hint--warning.hint--top-left:before,.hint--warning.hint--top-right:before,.hint--warning.hint--top:before{border-top-color:#c09854}.hint--warning.hint--bottom-left:before,.hint--warning.hint--bottom-right:before,.hint--warning.hint--bottom:before{border-bottom-color:#c09854}.hint--warning.hint--left:before{border-left-color:#c09854}.hint--warning.hint--right:before{border-right-color:#c09854}.hint--info:after{text-shadow:0 -1px #1a3c4d;background-color:#3986ac}.hint--info.hint--top-left:before,.hint--info.hint--top-right:before,.hint--info.hint--top:before{border-top-color:#3986ac}.hint--info.hint--bottom-left:before,.hint--info.hint--bottom-right:before,.hint--info.hint--bottom:before{border-bottom-color:#3986ac}.hint--info.hint--left:before{border-left-color:#3986ac}.hint--info.hint--right:before{border-right-color:#3986ac}.hint--success:after{text-shadow:0 -1px #1a321a;background-color:#458746}.hint--success.hint--top-left:before,.hint--success.hint--top-right:before,.hint--success.hint--top:before{border-top-color:#458746}.hint--success.hint--bottom-left:before,.hint--success.hint--bottom-right:before,.hint--success.hint--bottom:before{border-bottom-color:#458746}.hint--success.hint--left:before{border-left-color:#458746}.hint--success.hint--right:before{border-right-color:#458746}.hint--always:after,.hint--always:before{opacity:1;visibility:visible}.hint--always.hint--top:before{transform:translateY(-8px)}.hint--always.hint--top:after{transform:translate(-50%)translateY(-8px)}.hint--always.hint--top-left:before{transform:translateY(-8px)}.hint--always.hint--top-left:after{transform:translate(-100%)translateY(-8px)}.hint--always.hint--top-right:before,.hint--always.hint--top-right:after{transform:translateY(-8px)}.hint--always.hint--bottom:before{transform:translateY(8px)}.hint--always.hint--bottom:after{transform:translate(-50%)translateY(8px)}.hint--always.hint--bottom-left:before{transform:translateY(8px)}.hint--always.hint--bottom-left:after{transform:translate(-100%)translateY(8px)}.hint--always.hint--bottom-right:before,.hint--always.hint--bottom-right:after{transform:translateY(8px)}.hint--always.hint--left:before,.hint--always.hint--left:after{transform:translate(-8px)}.hint--always.hint--right:before,.hint--always.hint--right:after{transform:translate(8px)}.hint--rounded:after{border-radius:4px}.hint--no-animate:before,.hint--no-animate:after{transition-duration:0s}.hint--bounce:before,.hint--bounce:after{-webkit-transition:opacity .3s,visibility .3s,-webkit-transform .3s cubic-bezier(.71,1.7,.77,1.24);-moz-transition:opacity .3s,visibility .3s,-moz-transform .3s cubic-bezier(.71,1.7,.77,1.24);transition:opacity .3s,visibility .3s,transform .3s cubic-bezier(.71,1.7,.77,1.24)}.hint--no-shadow:before,.hint--no-shadow:after{text-shadow:initial;box-shadow:initial}.hint--no-arrow:before{display:none}'},{}],bAWi2:[function(e,t,r){t.exports=function(){"use strict";function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(t)}var t=Object.prototype.toString,r=function(r){if(void 0===r)return"undefined";if(null===r)return"null";var a=e(r);if("boolean"===a)return"boolean";if("string"===a)return"string";if("number"===a)return"number";if("symbol"===a)return"symbol";if("function"===a)return function(e){return"GeneratorFunction"===o(e)}(r)?"generatorfunction":"function";if(function(e){return Array.isArray?Array.isArray(e):e instanceof Array}(r))return"array";if(function(e){return!(!e.constructor||"function"!=typeof e.constructor.isBuffer)&&e.constructor.isBuffer(e)}(r))return"buffer";if(function(e){try{if("number"==typeof e.length&&"function"==typeof e.callee)return!0}catch(e){if(-1!==e.message.indexOf("callee"))return!0}return!1}(r))return"arguments";if(function(e){return e instanceof Date||"function"==typeof e.toDateString&&"function"==typeof e.getDate&&"function"==typeof e.setDate}(r))return"date";if(function(e){return e instanceof Error||"string"==typeof e.message&&e.constructor&&"number"==typeof e.constructor.stackTraceLimit}(r))return"error";if(function(e){return e instanceof RegExp||"string"==typeof e.flags&&"boolean"==typeof e.ignoreCase&&"boolean"==typeof e.multiline&&"boolean"==typeof e.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(e){return"function"==typeof e.throw&&"function"==typeof e.return&&"function"==typeof e.next}(r))return"generator";switch(a=t.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 a.slice(8,-1).toLowerCase().replace(/\s/g,"")};function o(e){return e.constructor?e.constructor.name:null}function a(e,t){var o=2i)),o.export(r,"queryAll",(()=>n)),o.export(r,"addClass",(()=>s)),o.export(r,"removeClass",(()=>l)),o.export(r,"hasClass",(()=>c)),o.export(r,"append",(()=>p)),o.export(r,"remove",(()=>u)),o.export(r,"setStyle",(()=>d)),o.export(r,"setStyles",(()=>f)),o.export(r,"getStyle",(()=>h)),o.export(r,"sublings",(()=>m)),o.export(r,"inverseClass",(()=>g)),o.export(r,"tooltip",(()=>y)),o.export(r,"isInViewport",(()=>v)),o.export(r,"includeFromEvent",(()=>b)),o.export(r,"replaceElement",(()=>x)),o.export(r,"createElement",(()=>w));var a=e("./compatibility");function i(e,t=document){return t.querySelector(e)}function n(e,t=document){return Array.from(t.querySelectorAll(e))}function s(e,t){return e.classList.add(t)}function l(e,t){return e.classList.remove(t)}function c(e,t){return e.classList.contains(t)}function p(e,t){return t instanceof Element?e.appendChild(t):e.insertAdjacentHTML("beforeend",String(t)),e.lastElementChild||e.lastChild}function u(e){return e.parentNode.removeChild(e)}function d(e,t,r){return e.style[t]=r,e}function f(e,t){return Object.keys(t).forEach((r=>{d(e,r,t[r])})),e}function h(e,t,r=!0){const o=window.getComputedStyle(e,null).getPropertyValue(t);return r?parseFloat(o):o}function m(e){return Array.from(e.parentElement.children).filter((t=>t!==e))}function g(e,t){m(e).forEach((e=>l(e,t))),s(e,t)}function y(e,t,r="top"){a.isMobile||(e.setAttribute("aria-label",t),s(e,"hint--rounded"),s(e,`hint--${r}`))}function v(e,t=0){const r=e.getBoundingClientRect(),o=window.innerHeight||document.documentElement.clientHeight,a=window.innerWidth||document.documentElement.clientWidth,i=r.top-t<=o&&r.top+r.height+t>=0,n=r.left-t<=a+t&&r.left+r.width+t>=0;return i&&n}function b(e,t){return e.composedPath&&e.composedPath().indexOf(t)>-1}function x(e,t){return t.parentNode.replaceChild(e,t),e}function w(e){return document.createElement(e)}},{"./compatibility":"6ZTr6","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"6ZTr6":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"userAgent",(()=>a)),o.export(r,"isMobile",(()=>i)),o.export(r,"isSafari",(()=>n)),o.export(r,"isWechat",(()=>s)),o.export(r,"isIE",(()=>l)),o.export(r,"isAndroid",(()=>c)),o.export(r,"isIOS",(()=>p));const a="undefined"!=typeof window?window.navigator.userAgent:"",i=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(a),n=/^((?!chrome|android).)*safari/i.test(a),s=/MicroMessenger/i.test(a),l=/MSIE|Trident/i.test(a),c=/android/i.test(a),p=/iPad|iPhone|iPod/i.test(a)&&!window.MSStream},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],hwmZz:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"ArtPlayerError",(()=>a)),o.export(r,"errorHandle",(()=>i));class a extends Error{constructor(e,t){super(e),"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,t||this.constructor),this.name="ArtPlayerError"}}function i(e,t){if(!e)throw new a(t);return e}},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],inzwq:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");function a(e){return"WEBVTT \r\n\r\n".concat((t=e,t.replace(/(\d\d:\d\d:\d\d)[,.](\d+)/g,((e,t,r)=>{let o=r.slice(0,3);return 1===r.length&&(o=r+"00"),2===r.length&&(o=r+"0"),`${t},${o}`}))).replace(/\{\\([ibu])\}/g,"$1>").replace(/\{\\([ibu])1\}/g,"<$1>").replace(/\{([ibu])\}/g,"<$1>").replace(/\{\/([ibu])\}/g,"$1>").replace(/(\d\d:\d\d:\d\d),(\d\d\d)/g,"$1.$2").replace(/{[\s\S]*?}/g,"").concat("\r\n\r\n"));var t}function i(e){return URL.createObjectURL(new Blob([e],{type:"text/vtt"}))}function n(e){const t=new RegExp("Dialogue:\\s\\d,(\\d+:\\d\\d:\\d\\d.\\d\\d),(\\d+:\\d\\d:\\d\\d.\\d\\d),([^,]*),([^,]*),(?:[^,]*,){4}([\\s\\S]*)$","i");function r(e=""){return e.split(/[:.]/).map(((e,t,r)=>{if(t===r.length-1){if(1===e.length)return`.${e}00`;if(2===e.length)return`.${e}0`}else if(1===e.length)return(0===t?"0":":0")+e;return 0===t?e:t===r.length-1?`.${e}`:`:${e}`})).join("")}return`WEBVTT\n\n${e.split(/\r?\n/).map((e=>{const o=e.match(t);return o?{start:r(o[1].trim()),end:r(o[2].trim()),text:o[5].replace(/{[\s\S]*?}/g,"").replace(/(\\N)/g,"\n").trim().split(/\r?\n/).map((e=>e.trim())).join("\n")}:null})).filter((e=>e)).map(((e,t)=>e?`${t+1}\n${e.start} --\x3e ${e.end}\n${e.text}`:"")).filter((e=>e.trim())).join("\n\n")}`}o.defineInteropFlag(r),o.export(r,"srtToVtt",(()=>a)),o.export(r,"vttToBlob",(()=>i)),o.export(r,"assToVtt",(()=>n))},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"6b7Ip":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");function a(e){return e.includes("?")?a(e.split("?")[0]):e.includes("#")?a(e.split("#")[0]):e.trim().toLowerCase().split(".").pop()}function i(e,t){const r=document.createElement("a");r.style.display="none",r.href=e,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r)}o.defineInteropFlag(r),o.export(r,"getExt",(()=>a)),o.export(r,"download",(()=>i))},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"5NSdr":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"def",(()=>a)),o.export(r,"has",(()=>n)),o.export(r,"get",(()=>s)),o.export(r,"mergeDeep",(()=>l));const a=Object.defineProperty,{hasOwnProperty:i}=Object.prototype;function n(e,t){return i.call(e,t)}function s(e,t){return Object.getOwnPropertyDescriptor(e,t)}function l(...e){const t=e=>e&&"object"==typeof e&&!Array.isArray(e);return e.reduce(((e,r)=>(Object.keys(r).forEach((o=>{const a=e[o],i=r[o];Array.isArray(a)&&Array.isArray(i)?e[o]=a.concat(...i):!t(a)||!t(i)||i instanceof Element?e[o]=i:e[o]=l(a,i)})),e)),{})}},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],epmNy:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");function a(e=0){return new Promise((t=>setTimeout(t,e)))}function i(e,t,r){let o;function a(...a){clearTimeout(o),o=setTimeout((function(){o=null,e.apply(r,a)}),t)}return a.clearTimeout=function(){clearTimeout(o)},a}function n(e,t){let r,o,a=!1;return function i(...n){if(a)return r=n,void(o=this);a=!0,e.apply(this,n),setTimeout((()=>{a=!1,r&&(i.apply(o,r),r=null,o=null)}),t)}}o.defineInteropFlag(r),o.export(r,"sleep",(()=>a)),o.export(r,"debounce",(()=>i)),o.export(r,"throttle",(()=>n))},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],gapRl:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");function a(e,t,r){return Math.max(Math.min(e,Math.max(t,r)),Math.min(t,r))}function i(e){return e.charAt(0).toUpperCase()+e.slice(1)}function n(e){return["string","number"].includes(typeof e)}function s(e){const t=Math.floor(e/3600),r=Math.floor((e-3600*t)/60),o=Math.floor(e-3600*t-60*r);return(t>0?[t,r,o]:[r,o]).map((e=>e<10?`0${e}`:String(e))).join(":")}function l(e){return e.replace(/[&<>'"]/g,(e=>({"&":"&","<":"<",">":">","'":"'",'"':"""}[e]||e)))}o.defineInteropFlag(r),o.export(r,"clamp",(()=>a)),o.export(r,"capitalize",(()=>i)),o.export(r,"isStringOrNumber",(()=>n)),o.export(r,"secondToTime",(()=>s)),o.export(r,"escape",(()=>l))},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],AKEiO:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"ComponentOption",(()=>d));var a=e("../utils");const i="array",n="boolean",s="string",l="number",c="object",p="function";function u(e,t,r){return(0,a.errorHandle)(t===s||t===l||e instanceof Element,`${r.join(".")} require '${s}' or 'Element' type`)}const d={html:u,disable:`?${n}`,name:`?${s}`,index:`?${l}`,style:`?${c}`,click:`?${p}`,mounted:`?${p}`,tooltip:`?${s}|${l}`,width:`?${l}`,selector:`?${i}`,onSelect:`?${p}`,switch:`?${n}`,onSwitch:`?${p}`,range:`?${i}`,onRange:`?${p}`,onChange:`?${p}`};r.default={id:s,container:u,url:s,poster:s,title:s,type:s,theme:s,lang:s,volume:l,isLive:n,muted:n,autoplay:n,autoSize:n,autoMini:n,loop:n,flip:n,playbackRate:n,aspectRatio:n,screenshot:n,setting:n,hotkey:n,pip:n,mutex:n,backdrop:n,fullscreen:n,fullscreenWeb:n,subtitleOffset:n,miniProgressBar:n,useSSR:n,playsInline:n,lock:n,fastForward:n,autoPlayback:n,autoOrientation:n,airplay:n,plugins:[p],whitelist:[`${s}|${p}|regexp`],layers:[d],contextmenu:[d],settings:[d],controls:[{...d,position:(e,t,r)=>{const o=["top","left","right"];return(0,a.errorHandle)(o.includes(e),`${r.join(".")} only accept ${o.toString()} as parameters`)}}],quality:[{default:`?${n}`,html:s,url:s}],highlight:[{time:l,text:s}],thumbnails:{url:s,number:l,column:l,width:l,height:l},subtitle:{url:s,type:s,style:c,escape:n,encoding:s},moreVideoAttr:c,i18n:c,icons:c,customType:c}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],lyjeQ:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r),r.default={propertys:["audioTracks","autoplay","buffered","controller","controls","crossOrigin","currentSrc","currentTime","defaultMuted","defaultPlaybackRate","duration","ended","error","loop","mediaGroup","muted","networkState","paused","playbackRate","played","preload","readyState","seekable","seeking","src","startDate","textTracks","videoTracks","volume"],methods:["addTextTrack","canPlayType","load","play","pause"],events:["abort","canplay","canplaythrough","durationchange","emptied","ended","error","loadeddata","loadedmetadata","loadstart","pause","play","playing","progress","ratechange","seeked","seeking","stalled","suspend","timeupdate","volumechange","waiting"],prototypes:["width","height","videoWidth","videoHeight","poster","webkitDecodedFrameCount","webkitDroppedFrameCount","playsInline","webkitSupportsFullscreen","webkitDisplayingFullscreen","onenterpictureinpicture","onleavepictureinpicture","disablePictureInPicture","cancelVideoFrameCallback","requestVideoFrameCallback","getVideoPlaybackQuality","requestPictureInPicture","webkitEnterFullScreen","webkitEnterFullscreen","webkitExitFullScreen","webkitExitFullscreen"]}},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"9L0ao":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("./utils");r.default=class{constructor(e){this.art=e}get state(){const{option:e,constructor:{kindOf:t}}=this.art;return!o.isMobile||!e.whitelist.length||e.whitelist.some((e=>{switch(t(e)){case"string":return"*"===e||o.userAgent.indexOf(e)>-1;case"function":return e(o.userAgent);case"regexp":return e.test(o.userAgent);default:return!1}}))}}},{"./utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],X13Zf:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("./utils");class a{constructor(e){this.art=e;const{option:t,constructor:r,whitelist:a}=e;t.container instanceof Element?this.$container=t.container:(this.$container=(0,o.query)(t.container),(0,o.errorHandle)(this.$container,`No container element found by ${t.container}`));const i=this.$container.tagName.toLowerCase();(0,o.errorHandle)("div"===i,`Unsupported container element type, only support 'div' but got '${i}'`),(0,o.errorHandle)(r.instances.every((e=>e.template.$container!==this.$container)),"Cannot mount multiple instances on the same dom element"),this.query=this.query.bind(this),this.$container.dataset.artId=e.id,this.$original=this.$container.cloneNode(!0),a.state?this.desktop():this.mobile()}static get html(){return''}query(e){return(0,o.query)(e,this.$container)}desktop(){const{option:e}=this.art;e.useSSR||(this.$container.innerHTML=a.html),this.$player=this.query(".art-video-player"),this.$video=this.query(".art-video"),this.$track=this.query("track"),this.$poster=this.query(".art-poster"),this.$subtitle=this.query(".art-subtitle"),this.$danmuku=this.query(".art-danmuku"),this.$bottom=this.query(".art-bottom"),this.$progress=this.query(".art-progress"),this.$controls=this.query(".art-controls"),this.$controlsLeft=this.query(".art-controls-left"),this.$controlsCenter=this.query(".art-controls-center"),this.$controlsRight=this.query(".art-controls-right"),this.$layer=this.query(".art-layers"),this.$loading=this.query(".art-loading"),this.$notice=this.query(".art-notice"),this.$noticeInner=this.query(".art-notice-inner"),this.$mask=this.query(".art-mask"),this.$state=this.query(".art-state"),this.$setting=this.query(".art-settings"),this.$info=this.query(".art-info"),this.$infoPanel=this.query(".art-info-panel"),this.$infoClose=this.query(".art-info-close"),this.$miniHeader=this.query(".art-mini-header"),this.$miniTitle=this.query(".art-mini-title"),this.$miniClose=this.query(".art-mini-close"),this.$contextmenu=this.query(".art-contextmenus"),e.backdrop&&((0,o.addClass)(this.$setting,"art-backdrop-filter"),(0,o.addClass)(this.$contextmenu,"art-backdrop-filter"),(0,o.addClass)(this.$info,"art-backdrop-filter")),o.isMobile&&(0,o.addClass)(this.$player,"art-mobile")}mobile(){this.$container.innerHTML='',this.$player=this.query(".art-video-player"),this.$video=this.query(".art-video")}destroy(e){e?(0,o.replaceElement)(this.$original,this.$container):(0,o.addClass)(this.$player,"art-destroy")}}r.default=a},{"./utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"3jKkj":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r);var a=e("../utils"),i=e("./zh-cn.json"),n=o.interopDefault(i),s=e("./zh-tw.json"),l=o.interopDefault(s),c=e("./pl.json"),p=o.interopDefault(c),u=e("./cs.json"),d=o.interopDefault(u),f=e("./es.json"),h=o.interopDefault(f),m=e("./fa.json"),g=o.interopDefault(m),y=e("./fr.json"),v=o.interopDefault(y),b=e("./id.json"),x=o.interopDefault(b);r.default=class{constructor(e){this.art=e,this.languages={"zh-cn":n.default,"zh-tw":l.default,pl:p.default,cs:d.default,es:h.default,fa:g.default,fr:v.default,id:x.default},this.update(e.option.i18n)}init(){const e=this.art.option.lang.toLowerCase();this.language=this.languages[e]||{}}get(e){return this.language[e]||e}update(e){this.languages=(0,a.mergeDeep)(this.languages,e),this.init()}}},{"../utils":"71aH7","./zh-cn.json":"lNQi5","./zh-tw.json":"eRpom","./pl.json":"iEpPa","./cs.json":"dBgp3","./es.json":"dNIrL","./fa.json":"7Plhe","./fr.json":"kGNjI","./id.json":"6MQTw","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],lNQi5:[function(e,t,r){t.exports=JSON.parse('{"Video Info":"统计信息","Close":"关闭","Video Load Failed":"加载失败","Volume":"音量","Play":"播放","Pause":"暂停","Rate":"速度","Mute":"静音","Video Flip":"画面翻转","Horizontal":"水平","Vertical":"垂直","Reconnect":"重新连接","Show Setting":"显示设置","Hide Setting":"隐藏设置","Screenshot":"截图","Play Speed":"播放速度","Aspect Ratio":"画面比例","Default":"默认","Normal":"正常","Open":"打开","Switch Video":"切换","Switch Subtitle":"切换字幕","Fullscreen":"全屏","Exit Fullscreen":"退出全屏","Web Fullscreen":"网页全屏","Exit Web Fullscreen":"退出网页全屏","Mini Player":"迷你播放器","PIP Mode":"开启画中画","Exit PIP Mode":"退出画中画","PIP Not Supported":"不支持画中画","Fullscreen Not Supported":"不支持全屏","Subtitle Offset":"字幕偏移","Last Seen":"上次看到","Jump Play":"跳转播放","AirPlay":"隔空播放","AirPlay Not Available":"隔空播放不可用"}')},{}],eRpom:[function(e,t,r){t.exports=JSON.parse('{"Video Info":"統計訊息","Close":"關閉","Video Load Failed":"載入失敗","Volume":"音量","Play":"播放","Pause":"暫停","Rate":"速度","Mute":"靜音","Video Flip":"畫面翻轉","Horizontal":"水平","Vertical":"垂直","Reconnect":"重新連接","Show Setting":"顯示设置","Hide Setting":"隱藏设置","Screenshot":"截圖","Play Speed":"播放速度","Aspect Ratio":"畫面比例","Default":"默認","Normal":"正常","Open":"打開","Switch Video":"切換","Switch Subtitle":"切換字幕","Fullscreen":"全屏","Exit Fullscreen":"退出全屏","Web Fullscreen":"網頁全屏","Exit Web Fullscreen":"退出網頁全屏","Mini Player":"迷你播放器","PIP Mode":"開啟畫中畫","Exit PIP Mode":"退出畫中畫","PIP Not Supported":"不支持畫中畫","Fullscreen Not Supported":"不支持全屏","Subtitle Offset":"字幕偏移","Last Seen":"上次看到","Jump Play":"跳轉播放","AirPlay":"隔空播放","AirPlay Not Available":"隔空播放不可用"}')},{}],iEpPa:[function(e,t,r){t.exports=JSON.parse('{"Video Info":"Informacje o wideo","Close":"Zamknij","Video Load Failed":"Błąd ładowania wideo","Volume":"Głośność","Play":"Odtwórz","Pause":"Wstrzymaj","Rate":"Oceń","Mute":"Wycisz","Video Flip":"Rotacja wideo","Horizontal":"Pozioma","Vertical":"Pionowa","Reconnect":"Połącz ponownie","Show Setting":"Pokaż ustawienia","Hide Setting":"Ukryj ustawienia","Screenshot":"Zrzut ekranu","Play Speed":"Prędkość odtwarzania","Aspect Ratio":"Współczynnik proporcji","Default":"Domyślny","Normal":"Normalny","Open":"Otwórz","Switch Video":"Przełącz wideo","Switch Subtitle":"Przełącz napisy","Fullscreen":"Pełny ekran","Exit Fullscreen":"Zamknij pełny ekran","Web Fullscreen":"Tryb pełnej strony","Exit Web Fullscreen":"Zamknij tryb pełnej strony","Mini Player":"Miniodtwarzacz","PIP Mode":"Tryb PiP","Exit PIP Mode":"Zamknij tryb PiP","PIP Not Supported":"Tryb PiP nieobsługiwany","Fullscreen Not Supported":"Pełny ekran nieobsługiwany","Subtitle Offset":"Przesunięcie napisów","Last Seen":"Ostatnio widziany","Jump Play":"Skocz do gry","AirPlay":"AirPlay","AirPlay Not Available":"AirPlay nie jest dostępny"}')},{}],dBgp3:[function(e,t,r){t.exports=JSON.parse('{"Video Info":"Info o videu","Close":"Zavřít","Video Load Failed":"Nahrání videa selhalo","Volume":"Hlasitost","Play":"Přehrát","Pause":"Pozastavit","Rate":"Hodnocení","Mute":"Ztlumit","Video Flip":"Otočit video","Horizontal":"Horizontálně","Vertical":"Vertikálně","Reconnect":"Opětovné připojení","Show Setting":"Zobrazit nastavení","Hide Setting":"Skrýt nastavení","Screenshot":"Snímek obrazovky","Play Speed":"Rychlost přehrávání","Aspect Ratio":"Poměr stran","Default":"Výchozí","Normal":"Normální","Open":"Otevřít","Switch Video":"Přepnout video","Switch Subtitle":"Přepnout titulky","Fullscreen":"Celá obrazovka","Exit Fullscreen":"Opustit režim celé obrazovky","Web Fullscreen":"Celá stránka","Exit Web Fullscreen":"Zavřít režim celé stránky","Mini Player":"Mini přehrávač","PIP Mode":"Režim PIP","Exit PIP Mode":"Opustit režim PIP","PIP Not Supported":"Režim PIP není podporován","Fullscreen Not Supported":"Režim celé obrazovky není podporován","Subtitle Offset":"Posun titulků","Last Seen":"Naposledy viděn","Jump Play":"Hra na skok","AirPlay":"AirPlay","AirPlay Not Available":"AirPlay není k dispozici"}')},{}],dNIrL:[function(e,t,r){t.exports=JSON.parse('{"Video Info":"Información del video","Close":"Cerrar","Video Load Failed":"Falló carga de video","Volume":"Volumen","Play":"Reproduciendo","Pause":"Pausa","Rate":"Velocidad","Mute":"Silencio","Video Flip":"Rotar video","Horizontal":"Horizontal","Vertical":"Vertical","Reconnect":"Reconectando","Show Setting":"Mostrar ajustes","Hide Setting":"Ocultar ajustes","Screenshot":"Captura de Pantalla","Play Speed":"Velocidad de reproducción","Aspect Ratio":"Relación de aspecto","Default":"Por defecto","Normal":"Normal","Open":"Abrir","Switch Video":"Cambiar video","Switch Subtitle":"Cambiar subtítulo","Fullscreen":"Pantalla completa","Exit Fullscreen":"Salir de Pantalla completa","Web Fullscreen":"Pantalla completa Web","Exit Web Fullscreen":"Salir de Pantalla completa","Mini Player":"Mini reproductor","PIP Mode":"Modo PiP","Exit PIP Mode":"Cerrar modo PiP","PIP Not Supported":"Modo PiP no compatible","Fullscreen Not Supported":"Pantalla completa no soportada","Subtitle Offset":"Ajuste subtítulo","Last Seen":"Visto última vez","Jump Play":"Saltar","AirPlay":"AirPlay","AirPlay Not Available":"AirPlay no disponible"}')},{}],"7Plhe":[function(e,t,r){t.exports=JSON.parse('{"Video Info":"اطلاعات ویدیو","Close":"بستن","Video Load Failed":"بارگذاری ناموفق","Play":"پخش","Volume":"میزان صدا","Pause":"توقف","Rate":"نرخ","Mute":"سکوت","Video Flip":"چرخش تصویر","Horizontal":"افقی","Vertical":"عمودی","Reconnect":"اتصال مجدد","Show Setting":"تنظیمات","Hide Setting":"بستن تنظیمات","Screenshot":"عکس از صفحه","Play Speed":"سرعت پخش","Aspect Ratio":"نسبت تصویر","Default":"حالت پیشفرض","Normal":" حالت عادی","Open":"بازکردن","Switch Video":"تغییر ویدیو","Switch Subtitle":"نغییر زیرنویس","Fullscreen":"تمام صفحه","Exit Fullscreen":"کوچک کردن","Web Fullscreen":"حالت تئاتر","Exit Web Fullscreen":"خروج از حالت تئاتر","Mini Player":"حالت پخش کوچک","PIP Mode":" مینی پلیر","Exit PIP Mode":"خروج از مینی پلیر","PIP Not Supported":"عدم پشتیبانی از مینی پلیر","Fullscreen Not Supported":"عدم پشتیبانی از حالت تمام صفحه","Subtitle Offset":"افست زیرنویس","Last Seen":"آخرین بازدید","Jump Play":"جامپ پلی","AirPlay":"ایر پلی","AirPlay Not Available":"عدم پشتیبانی از ایرپلی"}')},{}],kGNjI:[function(e,t,r){t.exports=JSON.parse('{"Video Info":"Informations de la vidéo","Close":"Fermer","Video Load Failed":"Téléchargement de la vidéo échoué","Volume":"Volume","Play":"Lire","Pause":"Pause","Rate":"Vitesse","Mute":"Muet","Video Flip":"Rotation de la vidéo","Horizontal":"Horizontal","Vertical":"Vertical","Reconnect":"Reconnexion","Show Setting":"Afficher les paramètres","Hide Setting":"Cacher les paramètres","Screenshot":"Capture d\'écran","Play Speed":"Vitesse de lecture","Aspect Ratio":"Rapport d\'aspect","Default":"Défaut","Normal":"Normal","Open":"Ouvrir","Switch Video":"Basculer la vidéo","Switch Subtitle":"Basculer le sous-titre","Fullscreen":"Plein écran","Exit Fullscreen":"Quitter le plein écran","Web Fullscreen":"Plein écran Web","Exit Web Fullscreen":"Quitter le plein écran Web","Mini Player":"Mini lecteur","PIP Mode":"Mode PiP","Exit PIP Mode":"Fermer le mode PiP","PIP Not Supported":"Mode PiP non supporté","Fullscreen Not Supported":"Plein écran non supporté","Subtitle Offset":"Réglage des sous-titres","Last Seen":"Dernière position","Jump Play":"Continuer","AirPlay":"AirPlay","AirPlay Not Available":"AirPlay non disponible"}')},{}],"6MQTw":[function(e,t,r){t.exports=JSON.parse('{"Video Info":"Informasi Video","Close":"Tutup","Video Load Failed":"Gagal Memuat Video","Volume":"Volume","Play":"Putar","Pause":"Jeda","Rate":"Kecepatan","Mute":"Senyap","Video Flip":"Memutar Video","Horizontal":"Horizontal","Vertical":"Vertikal","Reconnect":"Menyambung Kembali","Show Setting":"Tampilkan Pengaturan","Hide Setting":"Sembunyikan Pengaturan","Screenshot":"Tangkapan Layar","Play Speed":"Kecepatan Putar","Aspect Ratio":"Rasio Aspek","Default":"Default","Normal":"Normal","Open":"Buka","Switch Video":"Ganti Video","Switch Subtitle":"Ganti Subtitle","Fullscreen":"Layar Penuh","Exit Fullscreen":"Keluar dari Layar Penuh","Web Fullscreen":"Layar Penuh Web","Exit Web Fullscreen":"Keluar dari Layar Penuh Web","Mini Player":"Pemutar Mini","PIP Mode":"Mode PIP","Exit PIP Mode":"Keluar dari Mode PIP","PIP Not Supported":"PIP Tidak Didukung","Fullscreen Not Supported":"Layar Penuh Tidak Didukung","Subtitle Offset":"Pergeseran Subtitle","Last Seen":"Terakhir Dilihat","Jump Play":"Lompat Putar","AirPlay":"AirPlay","AirPlay Not Available":"AirPlay Tidak Tersedia"}')},{}],a90nx:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r);var a=e("./urlMix"),i=o.interopDefault(a),n=e("./attrMix"),s=o.interopDefault(n),l=e("./playMix"),c=o.interopDefault(l),p=e("./pauseMix"),u=o.interopDefault(p),d=e("./toggleMix"),f=o.interopDefault(d),h=e("./seekMix"),m=o.interopDefault(h),g=e("./volumeMix"),y=o.interopDefault(g),v=e("./currentTimeMix"),b=o.interopDefault(v),x=e("./durationMix"),w=o.interopDefault(x),j=e("./switchMix"),k=o.interopDefault(j),S=e("./playbackRateMix"),I=o.interopDefault(S),C=e("./aspectRatioMix"),P=o.interopDefault(C),$=e("./screenshotMix"),T=o.interopDefault($),E=e("./fullscreenMix"),M=o.interopDefault(E),F=e("./fullscreenWebMix"),A=o.interopDefault(F),z=e("./pipMix"),H=o.interopDefault(z),D=e("./loadedMix"),R=o.interopDefault(D),O=e("./playedMix"),L=o.interopDefault(O),N=e("./playingMix"),V=o.interopDefault(N),Y=e("./autoSizeMix"),_=o.interopDefault(Y),W=e("./rectMix"),B=o.interopDefault(W),q=e("./flipMix"),U=o.interopDefault(q),Z=e("./miniMix"),G=o.interopDefault(Z),K=e("./loopMix"),J=o.interopDefault(K),X=e("./posterMix"),Q=o.interopDefault(X),ee=e("./autoHeightMix"),te=o.interopDefault(ee),re=e("./themeMix"),oe=o.interopDefault(re),ae=e("./titleMix"),ie=o.interopDefault(ae),ne=e("./typeMix"),se=o.interopDefault(ne),le=e("./normalSizeMix"),ce=o.interopDefault(le),pe=e("./subtitleOffsetMix"),ue=o.interopDefault(pe),de=e("./airplayMix"),fe=o.interopDefault(de),he=e("./optionInit"),me=o.interopDefault(he),ge=e("./eventInit"),ye=o.interopDefault(ge);r.default=class{constructor(e){(0,i.default)(e),(0,s.default)(e),(0,c.default)(e),(0,u.default)(e),(0,f.default)(e),(0,m.default)(e),(0,y.default)(e),(0,b.default)(e),(0,w.default)(e),(0,k.default)(e),(0,I.default)(e),(0,P.default)(e),(0,T.default)(e),(0,M.default)(e),(0,A.default)(e),(0,H.default)(e),(0,R.default)(e),(0,L.default)(e),(0,V.default)(e),(0,_.default)(e),(0,B.default)(e),(0,U.default)(e),(0,G.default)(e),(0,J.default)(e),(0,Q.default)(e),(0,te.default)(e),(0,oe.default)(e),(0,ie.default)(e),(0,se.default)(e),(0,ce.default)(e),(0,ue.default)(e),(0,fe.default)(e),(0,ye.default)(e),(0,me.default)(e)}}},{"./urlMix":"kQoac","./attrMix":"deCma","./playMix":"fOJuP","./pauseMix":"fzHAy","./toggleMix":"cBHxQ","./seekMix":"koAPr","./volumeMix":"6eyuR","./currentTimeMix":"faaWv","./durationMix":"5y91K","./switchMix":"iceD8","./playbackRateMix":"keKwh","./aspectRatioMix":"jihET","./screenshotMix":"36kPY","./fullscreenMix":"2GYOJ","./fullscreenWebMix":"5aYAP","./pipMix":"7EnIB","./loadedMix":"3N9mP","./playedMix":"et96R","./playingMix":"9DzzM","./autoSizeMix":"i1LDY","./rectMix":"IqARI","./flipMix":"7E7Vs","./miniMix":"gpugx","./loopMix":"f1hVG","./posterMix":"1SuFS","./autoHeightMix":"8x4te","./themeMix":"2FqhO","./titleMix":"7Am53","./typeMix":"1fQQs","./normalSizeMix":"ePkBr","./subtitleOffsetMix":"6vlBV","./airplayMix":"eftqT","./optionInit":"fCWZK","./eventInit":"f8Lv3","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],kQoac:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{option:t,template:{$video:r}}=e;(0,o.def)(e,"url",{get:()=>r.currentSrc,async set(a){if(a){const i=t.type||(0,o.getExt)(a),n=t.customType[i];i&&n?(await(0,o.sleep)(),e.loading.show=!0,n.call(e,r,a,e)):(e.url&&e.url!==a&&e.once("video:canplay",(()=>{e.isReady&&e.emit("restart")})),r.src=a,e.option.url=a,e.emit("url",a))}else await(0,o.sleep)(),e.loading.show=!0}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],deCma:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{template:{$video:t}}=e;(0,o.def)(e,"attr",{value(e,r){if(void 0===r)return t[e];t[e]=r}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],fOJuP:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{i18n:t,notice:r,option:a,constructor:{instances:i},template:{$video:n}}=e;(0,o.def)(e,"play",{value:async function(){const o=await n.play();if(r.show=t.get("Play"),e.emit("play"),a.mutex)for(let t=0;te.playing?e.pause():e.play()})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],koAPr:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{notice:t}=e;(0,o.def)(e,"seek",{set(r){e.currentTime=r,e.emit("seek",e.currentTime),e.duration&&(t.show=`${(0,o.secondToTime)(e.currentTime)} / ${(0,o.secondToTime)(e.duration)}`)}}),(0,o.def)(e,"forward",{set(t){e.seek=e.currentTime+t}}),(0,o.def)(e,"backward",{set(t){e.seek=e.currentTime-t}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"6eyuR":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{template:{$video:t},i18n:r,notice:a,storage:i}=e;(0,o.def)(e,"volume",{get:()=>t.volume||0,set:e=>{t.volume=(0,o.clamp)(e,0,1),a.show=`${r.get("Volume")}: ${parseInt(100*t.volume,10)}`,0!==t.volume&&i.set("volume",t.volume)}}),(0,o.def)(e,"muted",{get:()=>t.muted,set:e=>{t.muted=e}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],faaWv:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{$video:t}=e.template;(0,o.def)(e,"currentTime",{get:()=>t.currentTime||0,set:r=>{r=parseFloat(r),Number.isNaN(r)||(t.currentTime=(0,o.clamp)(r,0,e.duration))}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"5y91K":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){(0,o.def)(e,"duration",{get:()=>{const{duration:t}=e.template.$video;return t===1/0?0:t||0}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],iceD8:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{i18n:t,option:r,notice:a}=e;function i(o,i,n){return new Promise((s=>{if(o===e.url)return s(o);const{playing:l}=e;e.pause(),URL.revokeObjectURL(e.url),e.url=o,e.once("video:canplay",(()=>{e.playbackRate=!1,e.aspectRatio=!1,e.flip="normal",e.autoSize=r.autoSize,e.currentTime=n,e.notice.show="",l&&e.play(),i&&(a.show=`${t.get("Switch Video")}: ${i}`),s(o)}))}))}(0,o.def)(e,"switchQuality",{value:(t,r)=>i(t,r,e.currentTime)}),(0,o.def)(e,"switchUrl",{value:(e,t)=>i(e,t,0)})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],keKwh:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{template:{$video:t},i18n:r,notice:a}=e;(0,o.def)(e,"playbackRate",{get:()=>t.playbackRate,set(o){if(o){if(o===t.playbackRate)return;t.playbackRate=o,a.show=`${r.get("Rate")}: ${1===o?r.get("Normal"):`${o}x`}`}else e.playbackRate=1}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],jihET:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{template:{$video:t,$player:r},i18n:a,notice:i}=e;(0,o.def)(e,"aspectRatio",{get:()=>r.dataset.aspectRatio||"default",set(n){if(n||(n="default"),"default"===n)(0,o.setStyle)(t,"width",null),(0,o.setStyle)(t,"height",null),(0,o.setStyle)(t,"padding",null),delete r.dataset.aspectRatio;else{const e=n.split(":").map(Number),{videoWidth:a,videoHeight:i}=t,{clientWidth:s,clientHeight:l}=r,c=a/i,p=e[0]/e[1];if(c>p){const e=p*i/a;(0,o.setStyle)(t,"width",100*e+"%"),(0,o.setStyle)(t,"height","100%"),(0,o.setStyle)(t,"padding",`0 ${(s-s*e)/2}px`)}else{const e=a/p/i;(0,o.setStyle)(t,"width","100%"),(0,o.setStyle)(t,"height",100*e+"%"),(0,o.setStyle)(t,"padding",(l-l*e)/2+"px 0")}r.dataset.aspectRatio=n}i.show=`${a.get("Aspect Ratio")}: ${"default"===n?a.get("Default"):n}`,e.emit("aspectRatio",n)}}),(0,o.def)(e,"aspectRatioReset",{set(t){if(t){const{aspectRatio:t}=e;e.aspectRatio=t}}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"36kPY":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{option:t,notice:r,template:{$video:a}}=e,i=(0,o.createElement)("canvas");(0,o.def)(e,"getDataURL",{value:()=>new Promise(((e,t)=>{try{i.width=a.videoWidth,i.height=a.videoHeight,i.getContext("2d").drawImage(a,0,0),e(i.toDataURL("image/png"))}catch(e){r.show=e,t(e)}}))}),(0,o.def)(e,"getBlobUrl",{value:()=>new Promise(((e,t)=>{try{i.width=a.videoWidth,i.height=a.videoHeight,i.getContext("2d").drawImage(a,0,0),i.toBlob((t=>{e(URL.createObjectURL(t))}))}catch(e){r.show=e,t(e)}}))}),(0,o.def)(e,"screenshot",{value:async()=>{const r=await e.getDataURL();return(0,o.download)(r,`${t.title||"artplayer"}_${(0,o.secondToTime)(a.currentTime)}.png`),e.emit("screenshot",r),r}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"2GYOJ":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r);var a=e("../libs/screenfull"),i=o.interopDefault(a),n=e("../utils");r.default=function(e){const{i18n:t,notice:r,template:{$video:o,$player:a}}=e;e.once("video:loadedmetadata",(()=>{i.default.isEnabled?(e=>{i.default.on("change",(()=>{e.emit("fullscreen",i.default.isFullscreen)})),(0,n.def)(e,"fullscreen",{get:()=>i.default.isFullscreen,async set(t){t?(e.normalSize="fullscreen",e.aspectRatioReset=!0,e.autoSize=!1,await i.default.request(a),(0,n.addClass)(a,"art-fullscreen"),e.emit("resize"),r.show=""):(e.aspectRatioReset=!0,e.autoSize=e.option.autoSize,await i.default.exit(),(0,n.removeClass)(a,"art-fullscreen"),e.emit("resize"),r.show="")}})})(e):document.fullscreenEnabled||o.webkitSupportsFullscreen?(e=>{(0,n.def)(e,"fullscreen",{get:()=>o.webkitDisplayingFullscreen,set(t){t?(e.normalSize="fullscreen",o.webkitEnterFullscreen(),e.emit("fullscreen",!0),r.show=""):(o.webkitExitFullscreen(),e.emit("fullscreen",!1),r.show="")}})})(e):(0,n.def)(e,"fullscreen",{get:()=>!1,set(){r.show=t.get("Fullscreen Not Supported")}}),(0,n.def)(e,"fullscreen",(0,n.get)(e,"fullscreen"))}))}},{"../libs/screenfull":"8v40z","../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"8v40z":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);const o=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],a=(()=>{if("undefined"==typeof document)return!1;const e=o[0],t={};for(const r of o){if(r[1]in document){for(const[o,a]of r.entries())t[e[o]]=a;return t}}return!1})(),i={change:a.fullscreenchange,error:a.fullscreenerror};let n={request:(e=document.documentElement,t)=>new Promise(((r,o)=>{const i=()=>{n.off("change",i),r()};n.on("change",i);const s=e[a.requestFullscreen](t);s instanceof Promise&&s.then(i).catch(o)})),exit:()=>new Promise(((e,t)=>{if(!n.isFullscreen)return void e();const r=()=>{n.off("change",r),e()};n.on("change",r);const o=document[a.exitFullscreen]();o instanceof Promise&&o.then(r).catch(t)})),toggle:(e,t)=>n.isFullscreen?n.exit():n.request(e,t),onchange(e){n.on("change",e)},onerror(e){n.on("error",e)},on(e,t){const r=i[e];r&&document.addEventListener(r,t,!1)},off(e,t){const r=i[e];r&&document.removeEventListener(r,t,!1)},raw:a};Object.defineProperties(n,{isFullscreen:{get:()=>Boolean(document[a.fullscreenElement])},element:{enumerable:!0,get:()=>document[a.fullscreenElement]},isEnabled:{enumerable:!0,get:()=>Boolean(document[a.fullscreenEnabled])}}),a||(n={isEnabled:!1}),r.default=n},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"5aYAP":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{notice:t,constructor:r,template:{$container:a,$player:i}}=e;(0,o.def)(e,"fullscreenWeb",{get:()=>(0,o.hasClass)(i,"art-fullscreen-web"),set(n){n?(r.FULLSCREEN_WEB_IN_BODY&&(0,o.append)(document.body,i),e.normalSize="fullscreenWeb",(0,o.addClass)(i,"art-fullscreen-web"),e.aspectRatioReset=!0,e.autoSize=!1,e.emit("resize"),e.emit("fullscreenWeb",!0),t.show=""):(r.FULLSCREEN_WEB_IN_BODY&&(0,o.append)(a,i),(0,o.removeClass)(i,"art-fullscreen-web"),e.aspectRatioReset=!0,e.autoSize=e.option.autoSize,e.emit("resize"),e.emit("fullscreenWeb",!1),t.show="")}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"7EnIB":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{i18n:t,notice:r,template:{$video:a}}=e;document.pictureInPictureEnabled?function(e){const{template:{$video:t},proxy:r,notice:a}=e;t.disablePictureInPicture=!1,(0,o.def)(e,"pip",{get:()=>document.pictureInPictureElement,set(r){r?(e.normalSize="pip",t.requestPictureInPicture().catch((e=>{throw a.show=e,e}))):document.exitPictureInPicture().catch((e=>{throw a.show=e,e}))}}),r(t,"enterpictureinpicture",(()=>{e.emit("pip",!0)})),r(t,"leavepictureinpicture",(()=>{e.emit("pip",!1)}))}(e):a.webkitSupportsPresentationMode?function(e){const{$video:t}=e.template;t.webkitSetPresentationMode("inline"),(0,o.def)(e,"pip",{get:()=>"picture-in-picture"===t.webkitPresentationMode,set(r){r?(e.normalSize="pip",t.webkitSetPresentationMode("picture-in-picture"),e.emit("pip",!0)):(t.webkitSetPresentationMode("inline"),e.emit("pip",!1))}})}(e):(0,o.def)(e,"pip",{get:()=>!1,set(){r.show=t.get("PIP Not Supported")}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"3N9mP":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{$video:t}=e.template;(0,o.def)(e,"loaded",{get:()=>e.loadedTime/t.duration}),(0,o.def)(e,"loadedTime",{get:()=>t.buffered.length?t.buffered.end(t.buffered.length-1):0})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],et96R:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){(0,o.def)(e,"played",{get:()=>e.currentTime/e.duration})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"9DzzM":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{$video:t}=e.template;(0,o.def)(e,"playing",{get:()=>!!(t.currentTime>0&&!t.paused&&!t.ended&&t.readyState>2)})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],i1LDY:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{$container:t,$player:r,$video:a}=e.template;(0,o.def)(e,"autoSize",{get:()=>(0,o.hasClass)(t,"art-auto-size"),set(i){if(i){const{videoWidth:i,videoHeight:n}=a,{width:s,height:l}=t.getBoundingClientRect(),c=i/n,p=s/l;if((0,o.addClass)(t,"art-auto-size"),p>c){const e=l*c/s*100;(0,o.setStyle)(r,"width",`${e}%`),(0,o.setStyle)(r,"height","100%")}else{const e=s/c/l*100;(0,o.setStyle)(r,"width","100%"),(0,o.setStyle)(r,"height",`${e}%`)}e.emit("autoSize",{width:e.width,height:e.height})}else(0,o.removeClass)(t,"art-auto-size"),(0,o.setStyle)(r,"width",null),(0,o.setStyle)(r,"height",null),e.emit("autoSize")}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],IqARI:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){(0,o.def)(e,"rect",{get:()=>e.template.$player.getBoundingClientRect()});const t=["bottom","height","left","right","top","width"];for(let r=0;re.rect[a]})}(0,o.def)(e,"x",{get:()=>e.left+window.pageXOffset}),(0,o.def)(e,"y",{get:()=>e.top+window.pageYOffset})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"7E7Vs":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{template:{$player:t},i18n:r,notice:a}=e;(0,o.def)(e,"flip",{get:()=>t.dataset.flip||"normal",set(i){i||(i="normal"),"normal"===i?delete t.dataset.flip:t.dataset.flip=i,a.show=`${r.get("Video Flip")}: ${r.get((0,o.capitalize)(i))}`,e.emit("flip",i)}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],gpugx:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{i18n:t,option:r,storage:a,proxy:i,template:{$player:n,$miniClose:s,$miniTitle:l,$miniHeader:c}}=e;let p=!1,u=0,d=0,f=0,h=0;i(c,"mousedown",(t=>{p=!0,u=t.pageX,d=t.pageY,f=e.left,h=e.top})),i(document,"mousemove",(e=>{if(p){(0,o.addClass)(n,"art-is-dragging");const t=h+e.pageY-d,r=f+e.pageX-u;(0,o.setStyle)(n,"top",`${t}px`),(0,o.setStyle)(n,"left",`${r}px`),a.set("top",t),a.set("left",r)}})),i(document,"mouseup",(()=>{p=!1,(0,o.removeClass)(n,"art-is-dragging")})),i(s,"click",(()=>{e.mini=!1,p=!1,(0,o.removeClass)(n,"art-is-dragging")})),(0,o.append)(l,r.title||t.get("Mini Player")),(0,o.def)(e,"mini",{get:()=>(0,o.hasClass)(n,"art-mini"),set(t){if(t){e.normalSize="mini",e.autoSize=!1,(0,o.addClass)(n,"art-mini");const t=a.get("top"),r=a.get("left");if(t&&r)(0,o.setStyle)(n,"top",`${t}px`),(0,o.setStyle)(n,"left",`${r}px`),(0,o.isInViewport)(c)||(a.del("top"),a.del("left"),e.mini=!0);else{const t=window.innerHeight-e.height-50,r=window.innerWidth-e.width-50;a.set("top",t),a.set("left",r),(0,o.setStyle)(n,"top",`${t}px`),(0,o.setStyle)(n,"left",`${r}px`)}e.aspectRatio=!1,e.playbackRate=!1,e.notice.show="",e.emit("mini",!0)}else(0,o.removeClass)(n,"art-mini"),(0,o.setStyle)(n,"top",null),(0,o.setStyle)(n,"left",null),e.aspectRatio=!1,e.playbackRate=!1,e.autoSize=r.autoSize,e.notice.show="",e.emit("mini",!1)}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],f1hVG:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){let t=[];(0,o.def)(e,"loop",{get:()=>t,set:r=>{if(Array.isArray(r)&&"number"==typeof r[0]&&"number"==typeof r[1]){const a=(0,o.clamp)(r[0],0,Math.min(r[1],e.duration)),i=(0,o.clamp)(r[1],a,e.duration);t=i-a>=1?[a,i]:[]}else t=[]}}),e.on("video:timeupdate",(()=>{t.length&&(e.currentTimet[1])&&(e.seek=t[0])}))}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"1SuFS":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{option:t,template:{$poster:r}}=e;(0,o.def)(e,"poster",{get:()=>t.poster,set(e){t.poster=e,(0,o.setStyle)(r,"backgroundImage",`url(${e})`)}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"8x4te":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{option:t,template:{$container:r,$video:a}}=e,i=r.style.height;(0,o.def)(e,"autoHeight",{get:()=>(0,o.hasClass)(r,"art-auto-height"),set(n){if(n){const{clientWidth:i}=r,{videoHeight:n,videoWidth:s}=a,l=n*(i/s);(0,o.setStyle)(r,"height",l+"px"),(0,o.addClass)(r,"art-auto-height"),e.autoSize=t.autoSize,e.emit("autoHeight",l)}else(0,o.setStyle)(r,"height",i),(0,o.removeClass)(r,"art-auto-height"),e.autoSize=t.autoSize,e.emit("autoHeight")}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"2FqhO":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{option:t,template:{$player:r}}=e;(0,o.def)(e,"theme",{get:()=>getComputedStyle(r).getPropertyValue("--theme"),set(e){t.theme=e,r.style.setProperty("--theme",e)}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"7Am53":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){(0,o.def)(e,"title",{get:()=>e.option.title,set(t){e.option.title=t}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"1fQQs":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){(0,o.def)(e,"type",{get:()=>e.option.type,set(t){e.option.type=t}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],ePkBr:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const t=["mini","pip","fullscreen","fullscreenWeb"];(0,o.def)(e,"normalSize",{get:()=>t.every((t=>!e[t])),set(r){t.filter((e=>e!==r)).forEach((t=>{e[t]&&(e[t]=!1)}))}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"6vlBV":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{clamp:t}=e.constructor.utils,{notice:r,template:a,i18n:i}=e;let n=0,s=[];e.on("subtitle:switch",(()=>{s=[]})),(0,o.def)(e,"subtitleOffset",{get:()=>n,set(o){if(a.$track&&a.$track.track){const l=Array.from(a.$track.track.cues);n=t(o,-5,5);for(let r=0;r{switch(e.availability){case"available":n=!0;break;case"not-available":n=!1}})):n=!1,(0,o.def)(e,"airplay",{value(){n?(i.webkitShowPlaybackTargetPicker(),e.emit("airplay")):r.show=t.get("AirPlay Not Available")}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],fCWZK:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{option:t,storage:r,template:{$video:a,$poster:i}}=e;Object.keys(t.moreVideoAttr).forEach((r=>{e.attr(r,t.moreVideoAttr[r])})),t.muted&&(e.muted=t.muted),t.volume&&(a.volume=(0,o.clamp)(t.volume,0,1));const n=r.get("volume");"number"==typeof n&&(a.volume=(0,o.clamp)(n,0,1)),t.poster&&(0,o.setStyle)(i,"backgroundImage",`url(${t.poster})`),t.autoplay&&(a.autoplay=t.autoplay),t.playsInline&&(a.playsInline=!0,a["webkit-playsinline"]=!0),t.theme&&(e.theme=t.theme),e.url=t.url}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],f8Lv3:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r);var a=e("../config"),i=o.interopDefault(a),n=e("../utils");r.default=function(e){const{i18n:t,notice:r,option:o,constructor:a,proxy:s,template:{$player:l,$video:c,$poster:p}}=e;let u=0;for(let t=0;t{e.emit(`video:${t.type}`,t)}));e.on("video:canplay",(()=>{u=0,e.loading.show=!1})),e.once("video:canplay",(()=>{e.loading.show=!1,e.controls.show=!0,e.mask.show=!0,e.isReady=!0,e.emit("ready")})),e.on("video:ended",(()=>{o.loop?(e.seek=0,e.play(),e.controls.show=!1,e.mask.show=!1):(e.controls.show=!0,e.mask.show=!0)})),e.on("video:error",(async i=>{u{e.autoSize=o.autoSize,n.isMobile&&(e.loading.show=!1,e.controls.show=!0,e.mask.show=!0)})),e.on("video:loadstart",(()=>{e.loading.show=!0,e.mask.show=!1,e.controls.show=!0})),e.on("video:pause",(()=>{e.controls.show=!0,e.mask.show=!0})),e.on("video:play",(()=>{e.mask.show=!1,(0,n.setStyle)(p,"display","none")})),e.on("video:playing",(()=>{e.mask.show=!1})),e.on("video:seeked",(()=>{e.loading.show=!1})),e.on("video:seeking",(()=>{e.loading.show=!0,e.mask.show=!1})),e.on("video:timeupdate",(()=>{e.mask.show=!1})),e.on("video:waiting",(()=>{e.loading.show=!0,e.mask.show=!1}))}},{"../config":"lyjeQ","../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"8Z0Uf":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r);var a=e("../utils"),i=e("../utils/component"),n=o.interopDefault(i),s=e("./fullscreen"),l=o.interopDefault(s),c=e("./fullscreenWeb"),p=o.interopDefault(c),u=e("./pip"),d=o.interopDefault(u),f=e("./playAndPause"),h=o.interopDefault(f),m=e("./progress"),g=o.interopDefault(m),y=e("./time"),v=o.interopDefault(y),b=e("./volume"),x=o.interopDefault(b),w=e("./setting"),j=o.interopDefault(w),k=e("./thumbnails"),S=o.interopDefault(k),I=e("./screenshot"),C=o.interopDefault(I),P=e("./quality"),$=o.interopDefault(P),T=e("./loop"),E=o.interopDefault(T),M=e("./airplay"),F=o.interopDefault(M);class A extends n.default{constructor(e){super(e),this.name="control";const{proxy:t,constructor:r,template:{$player:o}}=e;let i=Date.now();t(o,["click","mousemove","touchstart","touchmove"],(()=>{this.show=!0,(0,a.removeClass)(o,"art-hide-cursor"),(0,a.addClass)(o,"art-hover"),i=Date.now()})),e.on("video:timeupdate",(()=>{!e.isInput&&e.playing&&this.show&&Date.now()-i>=r.CONTROL_HIDE_TIME&&(this.show=!1,(0,a.addClass)(o,"art-hide-cursor"),(0,a.removeClass)(o,"art-hover"))})),this.init()}init(){const{option:e}=this.art;e.isLive||this.add((0,g.default)({name:"progress",position:"top",index:10})),!e.thumbnails.url||e.isLive||a.isMobile||this.add((0,S.default)({name:"thumbnails",position:"top",index:20})),this.add((0,E.default)({name:"loop",position:"top",index:30})),this.add((0,h.default)({name:"playAndPause",position:"left",index:10})),this.add((0,x.default)({name:"volume",position:"left",index:20})),e.isLive||this.add((0,v.default)({name:"time",position:"left",index:30})),e.quality.length&&this.add((0,$.default)({name:"quality",position:"right",index:10})),e.screenshot&&!a.isMobile&&this.add((0,C.default)({name:"screenshot",position:"right",index:20})),e.setting&&this.add((0,j.default)({name:"setting",position:"right",index:30})),e.pip&&this.add((0,d.default)({name:"pip",position:"right",index:40})),e.airplay&&window.WebKitPlaybackTargetAvailabilityEvent&&this.add((0,F.default)({name:"airplay",position:"right",index:50})),e.fullscreenWeb&&this.add((0,p.default)({name:"fullscreenWeb",position:"right",index:60})),e.fullscreen&&this.add((0,l.default)({name:"fullscreen",position:"right",index:70}));for(let t=0;tNumber(e.dataset.index)>=Number(o.dataset.index)));return p?p.insertAdjacentElement("beforebegin",o):(0,a.append)(this.$parent,o),t.html&&(0,a.append)(o,t.html),t.style&&(0,a.setStyles)(o,t.style),t.tooltip&&(0,a.tooltip)(o,t.tooltip),t.click&&this.art.events.proxy(o,"click",(e=>{e.preventDefault(),t.click.call(this.art,this,e)})),t.selector&&["left","right"].includes(t.position)&&this.selector(t,o),t.mounted&&t.mounted.call(this.art,o),(0,l.def)(this,r,{value:o}),o}selector(e,t){const{hover:r,proxy:o}=this.art.events;(0,a.addClass)(t,"art-control-selector");const i=(0,a.createElement)("div");(0,a.addClass)(i,"art-selector-value"),(0,a.append)(i,e.html),t.innerText="",(0,a.append)(t,i);const n=e.selector.map(((e,t)=>`${e.html}
`)).join(""),s=(0,a.createElement)("div");(0,a.addClass)(s,"art-selector-list"),(0,a.append)(s,n),(0,a.append)(t,s),this.art.option.backdrop&&(0,a.addClass)(s,"art-backdrop-filter");const l=()=>{const e=(0,a.getStyle)(t,"width")/2-(0,a.getStyle)(s,"width")/2;s.style.left=`${e}px`};r(t,l),o(s,"click",(async t=>{const r=(t.composedPath()||[]).find((e=>(0,a.hasClass)(e,"art-selector-item")));if(!r)return;(0,a.inverseClass)(r,"art-current");const o=Number(r.dataset.index),n=e.selector[o]||{};if(i.innerText=r.innerText,e.onSelect){const o=await e.onSelect.call(this.art,n,r,t);"string"!=typeof o&&"number"!=typeof o||(i.innerHTML=o)}l()}))}}},{"./dom":"bSNiV","option-validator":"bAWi2","../scheme":"AKEiO","./property":"5NSdr","./error":"hwmZz","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],c61Lj:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,tooltip:t.i18n.get("Fullscreen"),mounted:e=>{const{proxy:r,icons:a,i18n:i}=t,n=(0,o.append)(e,a.fullscreenOn),s=(0,o.append)(e,a.fullscreenOff);(0,o.setStyle)(s,"display","none"),r(e,"click",(()=>{t.fullscreen=!t.fullscreen})),t.on("fullscreen",(t=>{t?((0,o.tooltip)(e,i.get("Exit Fullscreen")),(0,o.setStyle)(n,"display","none"),(0,o.setStyle)(s,"display","inline-flex")):((0,o.tooltip)(e,i.get("Fullscreen")),(0,o.setStyle)(n,"display","inline-flex"),(0,o.setStyle)(s,"display","none"))}))}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"03jeB":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,tooltip:t.i18n.get("Web Fullscreen"),mounted:e=>{const{proxy:r,icons:a,i18n:i}=t,n=(0,o.append)(e,a.fullscreenWebOn),s=(0,o.append)(e,a.fullscreenWebOff);(0,o.setStyle)(s,"display","none"),r(e,"click",(()=>{t.fullscreenWeb=!t.fullscreenWeb})),t.on("fullscreenWeb",(t=>{t?((0,o.tooltip)(e,i.get("Exit Web Fullscreen")),(0,o.setStyle)(n,"display","none"),(0,o.setStyle)(s,"display","inline-flex")):((0,o.tooltip)(e,i.get("Web Fullscreen")),(0,o.setStyle)(n,"display","inline-flex"),(0,o.setStyle)(s,"display","none"))}))}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],u8l8e:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,tooltip:t.i18n.get("PIP Mode"),mounted:e=>{const{proxy:r,icons:a,i18n:i}=t;(0,o.append)(e,a.pip),r(e,"click",(()=>{t.pip=!t.pip})),t.on("pip",(t=>{(0,o.tooltip)(e,i.get(t?"Exit PIP Mode":"PIP Mode"))}))}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],ebXtb:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,mounted:e=>{const{proxy:r,icons:a,i18n:i}=t,n=(0,o.append)(e,a.play),s=(0,o.append)(e,a.pause);function l(){(0,o.setStyle)(n,"display","flex"),(0,o.setStyle)(s,"display","none")}function c(){(0,o.setStyle)(n,"display","none"),(0,o.setStyle)(s,"display","flex")}(0,o.tooltip)(n,i.get("Play")),(0,o.tooltip)(s,i.get("Pause")),r(n,"click",(()=>{t.play()})),r(s,"click",(()=>{t.pause()})),t.playing?c():l(),t.on("video:playing",(()=>{c()})),t.on("video:pause",(()=>{l()}))}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],bgoVP:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"getPosFromEvent",(()=>i)),o.export(r,"setCurrentTime",(()=>n));var a=e("../utils");function i(e,t){const{$progress:r}=e.template,{left:o}=r.getBoundingClientRect(),i=a.isMobile?t.touches[0].clientX:t.pageX,n=(0,a.clamp)(i-o,0,r.clientWidth),s=n/r.clientWidth*e.duration;return{second:s,time:(0,a.secondToTime)(s),width:n,percentage:(0,a.clamp)(n/r.clientWidth,0,1)}}function n(e,t){if(e.isRotate){const r=t.touches[0].clientY/e.height,o=r*e.duration;e.emit("setBar","played",r),e.seek=o}else{const{second:r,percentage:o}=i(e,t);e.emit("setBar","played",o),e.seek=r}}r.default=function(e){return t=>{const{icons:r,option:o,proxy:s}=t;return{...e,html:'',mounted:e=>{let l=!1;const c=(0,a.query)(".art-progress-loaded",e),p=(0,a.query)(".art-progress-played",e),u=(0,a.query)(".art-progress-highlight",e),d=(0,a.query)(".art-progress-indicator",e),f=(0,a.query)(".art-progress-tip",e),{PROGRESS_HEIGHT:h,INDICATOR_SIZE:m,INDICATOR_SIZE_ICON:g,INDICATOR_SIZE_MOBILE:y,INDICATOR_SIZE_MOBILE_ICON:v}=t.constructor;(0,a.setStyle)(e,"height",`${h}px`),(0,a.setStyle)(p,"backgroundColor","var(--theme)");let b=m;function x(e,t){"loaded"===e&&(0,a.setStyle)(c,"width",100*t+"%"),"played"===e&&((0,a.setStyle)(p,"width",100*t+"%"),(0,a.setStyle)(d,"left",`calc(${100*t}% - ${b/2}px)`))}r.indicator?(b=g,(0,a.append)(d,r.indicator)):(0,a.setStyles)(d,{backgroundColor:"var(--theme)"}),a.isMobile&&(b=y,r.indicator&&(b=v)),(0,a.setStyles)(d,{left:`-${b/2}px`,width:`${b}px`,height:`${b}px`}),t.on("video:loadedmetadata",(()=>{for(let e=0;e`)}})),x("loaded",t.loaded),t.on("setBar",((e,t)=>{x(e,t)})),t.on("video:progress",(()=>{x("loaded",t.loaded)})),t.on("video:timeupdate",(()=>{x("played",t.played)})),t.on("video:ended",(()=>{x("played",1)})),a.isMobile||(s(e,"click",(e=>{e.target!==d&&n(t,e)})),s(e,"mousemove",(r=>{(0,a.setStyle)(f,"display","block"),(0,a.includeFromEvent)(r,u)?function(r){const{width:o}=i(t,r),{text:n}=r.target.dataset;f.innerHTML=n;const s=f.clientWidth;o<=s/2?(0,a.setStyle)(f,"left",0):o>e.clientWidth-s/2?(0,a.setStyle)(f,"left",e.clientWidth-s+"px"):(0,a.setStyle)(f,"left",o-s/2+"px")}(r):function(r){const{width:o,time:n}=i(t,r);f.innerHTML=n;const s=f.clientWidth;o<=s/2?(0,a.setStyle)(f,"left",0):o>e.clientWidth-s/2?(0,a.setStyle)(f,"left",e.clientWidth-s+"px"):(0,a.setStyle)(f,"left",o-s/2+"px")}(r)})),s(e,"mouseleave",(()=>{(0,a.setStyle)(f,"display","none")})),s(e,"mousedown",(()=>{l=!0})),s(document,"mousemove",(e=>{if(l){const{second:r,percentage:o}=i(t,e);x("played",o),t.seek=r}})),s(document,"mouseup",(()=>{l&&(l=!1)})))}}}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],ikc2j:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,style:{cursor:"auto",marginLeft:"10px"},mounted:e=>{function r(){const r=`${(0,o.secondToTime)(t.currentTime)} / ${(0,o.secondToTime)(t.duration)}`;r!==e.innerText&&(e.innerText=r)}r();const a=["video:loadedmetadata","video:timeupdate","video:progress"];for(let e=0;e({...e,mounted:e=>{const{proxy:r,icons:a,i18n:i}=t;let n=!1;const s=t.constructor.VOLUME_PANEL_WIDTH,l=t.constructor.VOLUME_HANDLE_WIDTH,c=(0,o.append)(e,a.volume),p=(0,o.append)(e,a.volumeClose),u=(0,o.append)(e,''),d=(0,o.append)(u,'');function f(e){const{left:t}=u.getBoundingClientRect();return(0,o.clamp)(e.pageX-t-l/2,0,s-l/2)/(s-l)}function h(e=.7){if(t.muted||0===e)(0,o.setStyle)(c,"display","none"),(0,o.setStyle)(p,"display","flex"),(0,o.setStyle)(d,"left","0");else{const t=(s-l)*e;(0,o.setStyle)(c,"display","flex"),(0,o.setStyle)(p,"display","none"),(0,o.setStyle)(d,"left",`${t}px`)}}(0,o.tooltip)(c,i.get("Mute")),(0,o.setStyle)(p,"display","none"),o.isMobile&&(0,o.setStyle)(u,"display","none"),h(t.volume),t.on("video:volumechange",(()=>{h(t.volume)})),r(c,"click",(()=>{t.muted=!0})),r(p,"click",(()=>{t.muted=!1})),r(u,"click",(e=>{t.muted=!1,t.volume=f(e)})),r(d,"mousedown",(()=>{n=!0})),r(e,"mousemove",(e=>{n&&(t.muted=!1,t.volume=f(e))})),r(document,"mouseup",(()=>{n&&(n=!1)}))}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"03o9l":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,tooltip:t.i18n.get("Show Setting"),mounted:e=>{const{proxy:r,icons:a,i18n:i}=t;(0,o.append)(e,a.setting),r(e,"click",(()=>{t.setting.toggle=!0,t.setting.updateStyle()})),t.on("setting",(t=>{(0,o.tooltip)(e,i.get(t?"Hide Setting":"Show Setting"))}))}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],eCVx2:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils"),a=e("./progress");r.default=function(e){return t=>({...e,mounted:e=>{const{option:r,template:{$progress:i,$video:n},events:{proxy:s,loadImg:l}}=t;let c=null,p=!1,u=!1;s(i,"mousemove",(async s=>{if(!p){p=!0;const e=await l(r.thumbnails.url);c=e,u=!0}u&&((0,o.setStyle)(e,"display","block"),function(s){const{width:l}=(0,a.getPosFromEvent)(t,s),{url:p,number:u,column:d,width:f,height:h}=r.thumbnails,m=f||c.naturalWidth/d,g=h||m/(n.videoWidth/n.videoHeight),y=i.clientWidth/u,v=Math.floor(l/y),b=Math.ceil(v/d)-1,x=v%d||d-1;(0,o.setStyle)(e,"backgroundImage",`url(${p})`),(0,o.setStyle)(e,"height",`${g}px`),(0,o.setStyle)(e,"width",`${m}px`),(0,o.setStyle)(e,"backgroundPosition",`-${x*m}px -${b*g}px`),l<=m/2?(0,o.setStyle)(e,"left",0):l>i.clientWidth-m/2?(0,o.setStyle)(e,"left",i.clientWidth-m+"px"):(0,o.setStyle)(e,"left",l-m/2+"px")}(s))})),s(i,"mouseleave",(()=>{(0,o.setStyle)(e,"display","none")})),t.on("hover",(t=>{t||(0,o.setStyle)(e,"display","none")}))}})}},{"../utils":"71aH7","./progress":"bgoVP","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"4KCF5":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,tooltip:t.i18n.get("Screenshot"),mounted:e=>{const{proxy:r,icons:a}=t;(0,o.append)(e,a.screenshot),r(e,"click",(()=>{t.screenshot()}))}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],efgTY:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r),r.default=function(e){return t=>{const r=t.option.quality,o=r.find((e=>e.default))||r[0];return{...e,style:{marginRight:"10px"},html:o?o.html:"",selector:r,onSelect(e){t.switchQuality(e.url,e.html)}}}}},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"2hIff":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,mounted:e=>{const r=(0,o.append)(e,''),a=(0,o.append)(e,'');t.on("loop",(i=>{i&&i.length?((0,o.setStyle)(e,"display","block"),(0,o.setStyle)(r,"left",`calc(${i[0]/t.duration*100}% - ${r.clientWidth}px)`),(0,o.setStyle)(a,"left",i[1]/t.duration*100+"%")):(0,o.setStyle)(e,"display","none")}))}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"4IS2d":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,tooltip:t.i18n.get("AirPlay"),mounted:e=>{const{proxy:r,icons:a}=t;(0,o.append)(e,a.airplay),r(e,"click",(()=>t.airplay()))}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"2KYsr":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r);var a=e("../utils"),i=e("../utils/component"),n=o.interopDefault(i),s=e("./playbackRate"),l=o.interopDefault(s),c=e("./aspectRatio"),p=o.interopDefault(c),u=e("./flip"),d=o.interopDefault(u),f=e("./info"),h=o.interopDefault(f),m=e("./version"),g=o.interopDefault(m),y=e("./close"),v=o.interopDefault(y);class b extends n.default{constructor(e){super(e),this.name="contextmenu",this.$parent=e.template.$contextmenu,a.isMobile||this.init()}init(){const{option:e,proxy:t,template:{$player:r,$contextmenu:o}}=this.art;e.playbackRate&&this.add((0,l.default)({name:"playbackRate",index:10})),e.aspectRatio&&this.add((0,p.default)({name:"aspectRatio",index:20})),e.flip&&this.add((0,d.default)({name:"flip",index:30})),this.add((0,h.default)({name:"info",index:40})),this.add((0,g.default)({name:"version",index:50})),this.add((0,v.default)({name:"close",index:60}));for(let t=0;t{if(e.preventDefault(),!this.art.constructor.CONTEXTMENU)return;this.show=!0;const t=e.clientX,i=e.clientY,{height:n,width:s,left:l,top:c}=r.getBoundingClientRect(),{height:p,width:u}=o.getBoundingClientRect();let d=t-l,f=i-c;t+u>l+s&&(d=s-u),i+p>c+n&&(f=n-p),(0,a.setStyles)(o,{top:`${f}px`,left:`${d}px`})})),t(r,"click",(e=>{(0,a.includeFromEvent)(e,o)||(this.show=!1)})),this.art.on("blur",(()=>{this.show=!1}))}}r.default=b},{"../utils":"71aH7","../utils/component":"18nVI","./playbackRate":"69eLi","./aspectRatio":"lUefg","./flip":"kysiM","./info":"gqIgJ","./version":"kRU7C","./close":"jQ8Pm","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"69eLi":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>{const{i18n:r,constructor:{PLAYBACK_RATE:a}}=t;return{...e,html:`${r.get("Play Speed")}:\n ${a.map((e=>`${1===e?r.get("Normal"):e}`)).join("")}\n `,click:(e,r)=>{const{value:o}=r.target.dataset;o&&(t.playbackRate=Number(o),e.show=!1)},mounted:e=>{const r=(0,o.query)('[data-value="1"]',e);r&&(0,o.inverseClass)(r,"art-current"),t.on("video:ratechange",(()=>{const r=(0,o.queryAll)("span",e).find((e=>Number(e.dataset.value)===t.playbackRate));r&&(0,o.inverseClass)(r,"art-current")}))}}}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],lUefg:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>{const{i18n:r,constructor:{ASPECT_RATIO:a}}=t;return{...e,html:`${r.get("Aspect Ratio")}:\n ${a.map((e=>`${"default"===e?r.get("Default"):e}`)).join("")}\n `,click:(e,r)=>{const{value:o}=r.target.dataset;o&&(t.aspectRatio=o,e.show=!1)},mounted:e=>{const r=(0,o.query)('[data-value="default"]',e);r&&(0,o.inverseClass)(r,"art-current"),t.on("aspectRatio",(t=>{const r=(0,o.queryAll)("span",e).find((e=>e.dataset.value===t));r&&(0,o.inverseClass)(r,"art-current")}))}}}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],kysiM:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>{const{i18n:r,constructor:{FLIP:a}}=t;return{...e,html:`${r.get("Video Flip")}:\n ${a.map((e=>`${r.get((0,o.capitalize)(e))}`)).join("")}\n `,click:(e,r)=>{const{value:o}=r.target.dataset;o&&(t.flip=o.toLowerCase(),e.show=!1)},mounted:e=>{const r=(0,o.query)('[data-value="normal"]',e);r&&(0,o.inverseClass)(r,"art-current"),t.on("flip",(t=>{const r=(0,o.queryAll)("span",e).find((e=>e.dataset.value===t));r&&(0,o.inverseClass)(r,"art-current")}))}}}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],gqIgJ:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r),r.default=function(e){return t=>({...e,html:t.i18n.get("Video Info"),click:e=>{t.info.show=!0,e.show=!1}})}},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],kRU7C:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r),r.default=function(e){return{...e,html:'ArtPlayer 4.6.3'}}},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],jQ8Pm:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r),r.default=function(e){return t=>({...e,html:t.i18n.get("Close"),click:e=>{e.show=!1}})}},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"02ajl":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r);var a=e("./utils"),i=e("./utils/component"),n=o.interopDefault(i);class s extends n.default{constructor(e){super(e),this.name="info",a.isMobile||this.init()}init(){const{proxy:e,constructor:t,template:{$infoPanel:r,$infoClose:o,$video:i}}=this.art;e(o,"click",(()=>{this.show=!1}));let n=null;const s=(0,a.queryAll)("[data-video]",r)||[];this.art.on("destroy",(()=>{clearTimeout(n)})),function e(){for(let e=0;enull,this.init(e.option.subtitle);let t=!1;e.on("video:timeupdate",(()=>{if(!this.url)return;const e=this.art.template.$video.webkitDisplayingFullscreen;"boolean"==typeof e&&e!==t&&(t=e,this.createTrack(e?"subtitles":"metadata",this.url))}))}get url(){return this.art.template.$track.src}set url(e){this.switch(e)}get textTrack(){return this.art.template.$video.textTracks[0]}get activeCue(){return this.textTrack.activeCues[0]}style(e,t){const{$subtitle:r}=this.art.template;return"object"==typeof e?(0,a.setStyles)(r,e):(0,a.setStyle)(r,e,t)}update(){const{$subtitle:e}=this.art.template;e.innerHTML="",this.activeCue&&(this.art.option.subtitle.escape?e.innerHTML=this.activeCue.text.split(/\r?\n/).map((e=>`${(0,a.escape)(e)}
`)).join(""):e.innerHTML=this.activeCue.text,this.art.emit("subtitleUpdate",this.activeCue.text))}async switch(e,t={}){const{i18n:r,notice:o,option:a}=this.art,i={...a.subtitle,...t,url:e},n=await this.init(i);return t.name&&(o.show=`${r.get("Switch Subtitle")}: ${t.name}`),n}createTrack(e,t){const{template:r,proxy:o}=this.art,{$video:i,$track:n}=r,s=(0,a.createElement)("track");s.default=!0,s.kind=e,s.src=t,s.track.mode="hidden",this.eventDestroy(),(0,a.remove)(n),(0,a.append)(i,s),r.$track=s,this.eventDestroy=o(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,a.getExt)(e.url)){case"srt":return(0,a.vttToBlob)((0,a.srtToVtt)(r));case"ass":return(0,a.vttToBlob)((0,a.assToVtt)(r));case"vtt":return(0,a.vttToBlob)(r);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 o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r);var a=e("../utils/error"),i=e("./clickInit"),n=o.interopDefault(i),s=e("./hoverInit"),l=o.interopDefault(s),c=e("./mousemoveInit"),p=o.interopDefault(c),u=e("./resizeInit"),d=o.interopDefault(u),f=e("./gestureInit"),h=o.interopDefault(f),m=e("./viewInit"),g=o.interopDefault(m);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,n.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))}proxy(e,t,r,o={}){if(Array.isArray(t))return t.map((t=>this.proxy(e,t,r,o)));e.addEventListener(t,r,o);const a=()=>e.removeEventListener(t,r,o);return this.destroyEvents.push(a),a}hover(e,t,r){t&&this.proxy(e,"mouseenter",t),r&&this.proxy(e,"mouseleave",r)}loadImg(e){return new Promise(((t,r)=>{let o;if(e instanceof HTMLImageElement)o=e;else{if("string"!=typeof e)return r(new(0,a.ArtPlayerError)("Unable to get Image"));o=new Image,o.src=e}if(o.complete)return t(o);this.proxy(o,"load",(()=>t(o))),this.proxy(o,"error",(()=>r(new(0,a.ArtPlayerError)(`Failed to load Image: ${o.src}`))))}))}destroy(){for(let e=0;e{(0,o.includeFromEvent)(t,a)?(e.isInput="INPUT"===t.target.tagName,e.isFocus=!0,e.emit("focus")):(e.isInput=!1,e.isFocus=!1,e.emit("blur"))}));let n=0;t.proxy(i,"click",(()=>{const t=Date.now();t-n<=r.DB_CLICE_TIME?(e.emit("dblclick"),o.isMobile?e.isLock||e.toggle():e.fullscreen=!e.fullscreen):(e.emit("click"),o.isMobile||e.toggle()),n=t}))}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"4jWHi":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e,t){const{$player:r}=e.template;t.hover(r,(t=>{(0,o.addClass)(r,"art-hover"),e.emit("hover",!0,t)}),(t=>{(0,o.removeClass)(r,"art-hover"),e.emit("hover",!1,t)}))}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],bMF9b:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r),r.default=function(e,t){const{$player:r}=e.template;t.proxy(r,"mousemove",(t=>{e.emit("mousemove",t)}))}},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],eDXPO:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e,t){const{option:r}=e,a=(0,o.throttle)((()=>{e.normalSize&&(e.autoSize=r.autoSize),e.aspectRatioReset=!0,e.notice.show="",e.emit("resize")}),e.constructor.RESIZE_TIME);t.proxy(window,["orientationchange","resize"],(()=>{a()})),screen&&screen.orientation&&screen.orientation.onchange&&t.proxy(screen.orientation,"change",(()=>{a()}))}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"95GtS":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils"),a=e("../control/progress");r.default=function(e,t){if(o.isMobile&&!e.option.isLive){const{$video:r,$progress:i}=e.template;let n=null,s=!1,l=0,c=0,p=0;const u=t=>{if(1===t.touches.length&&!e.isLock){n===i&&(0,a.setCurrentTime)(e,t),s=!0;const{clientX:r,clientY:o}=t.touches[0];l=r,c=o,p=e.currentTime}},d=t=>{if(1===t.touches.length&&s&&e.duration){const{clientX:a,clientY:i}=t.touches[0],s=(0,o.clamp)((a-l)/e.width,-1,1),u=(0,o.clamp)((i-c)/e.height,-1,1),d=e.isRotate?u:s,f=n===r?e.constructor.TOUCH_MOVE_RATIO:1,h=(0,o.clamp)(p+e.duration*d*f,0,e.duration);e.seek=h,e.emit("setBar","played",(0,o.clamp)(h/e.duration,0,1)),e.notice.show=`${(0,o.secondToTime)(h)} / ${(0,o.secondToTime)(e.duration)}`}},f=()=>{s&&(l=0,c=0,p=0,s=!1,n=null)};t.proxy(i,"touchstart",(e=>{n=i,u(e)})),t.proxy(r,"touchstart",(e=>{n=r,u(e)})),t.proxy(r,"touchmove",d),t.proxy(i,"touchmove",d),t.proxy(document,"touchend",f)}}},{"../utils":"71aH7","../control/progress":"bgoVP","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],InUBx:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e,t){const{option:r,constructor:a,template:{$container:i}}=e,n=(0,o.throttle)((()=>{e.emit("view",(0,o.isInViewport)(i,a.SCROLL_GAP))}),a.SCROLL_TIME);t.proxy(window,"scroll",(()=>{n()})),e.on("view",(t=>{r.autoMini&&(e.mini=!t)}))}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"6NoFy":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("./utils");r.default=class{constructor(e){this.art=e,this.keys={},e.option.hotkey&&!o.isMobile&&this.init()}init(){const{proxy:e,constructor:t}=this.art;this.add(27,(()=>{this.art.fullscreenWeb&&(this.art.fullscreenWeb=!1)})),this.add(32,(()=>{this.art.toggle()})),this.add(37,(()=>{this.art.backward=t.SEEK_STEP})),this.add(38,(()=>{this.art.volume+=t.VOLUME_STEP})),this.add(39,(()=>{this.art.forward=t.SEEK_STEP})),this.add(40,(()=>{this.art.volume-=t.VOLUME_STEP})),e(window,"keydown",(e=>{if(this.art.isFocus){const t=document.activeElement.tagName.toUpperCase(),r=document.activeElement.getAttribute("contenteditable");if("INPUT"!==t&&"TEXTAREA"!==t&&""!==r&&"true"!==r){const t=this.keys[e.keyCode];if(t){e.preventDefault();for(let r=0;r{a.innerText="",(0,o.removeClass)(r,"art-notice-show")}),t.NOTICE_TIME)):(0,o.removeClass)(r,"art-notice-show")}}},{"./utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"5POkG":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r);var a=e("./utils"),i=e("./utils/component"),n=o.interopDefault(i);class s extends n.default{constructor(e){super(e),this.name="mask";const{template:t,icons:r,events:o}=e,i=(0,a.append)(t.$state,r.state),n=(0,a.append)(t.$state,r.error);(0,a.setStyle)(n,"display","none"),e.on("destroy",(()=>{(0,a.setStyle)(i,"display","none"),(0,a.setStyle)(n,"display",null)})),o.proxy(t.$state,"click",(()=>e.play()))}}r.default=s},{"./utils":"71aH7","./utils/component":"18nVI","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"6OeNg":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r);var a=e("../utils"),i=e("bundle-text:./loading.svg"),n=o.interopDefault(i),s=e("bundle-text:./state.svg"),l=o.interopDefault(s),c=e("bundle-text:./check.svg"),p=o.interopDefault(c),u=e("bundle-text:./play.svg"),d=o.interopDefault(u),f=e("bundle-text:./pause.svg"),h=o.interopDefault(f),m=e("bundle-text:./volume.svg"),g=o.interopDefault(m),y=e("bundle-text:./volume-close.svg"),v=o.interopDefault(y),b=e("bundle-text:./screenshot.svg"),x=o.interopDefault(b),w=e("bundle-text:./setting.svg"),j=o.interopDefault(w),k=e("bundle-text:./arrow-left.svg"),S=o.interopDefault(k),I=e("bundle-text:./arrow-right.svg"),C=o.interopDefault(I),P=e("bundle-text:./playback-rate.svg"),$=o.interopDefault(P),T=e("bundle-text:./aspect-ratio.svg"),E=o.interopDefault(T),M=e("bundle-text:./config.svg"),F=o.interopDefault(M),A=e("bundle-text:./pip.svg"),z=o.interopDefault(A),H=e("bundle-text:./lock.svg"),D=o.interopDefault(H),R=e("bundle-text:./unlock.svg"),O=o.interopDefault(R),L=e("bundle-text:./fullscreen-off.svg"),N=o.interopDefault(L),V=e("bundle-text:./fullscreen-on.svg"),Y=o.interopDefault(V),_=e("bundle-text:./fullscreen-web-off.svg"),W=o.interopDefault(_),B=e("bundle-text:./fullscreen-web-on.svg"),q=o.interopDefault(B),U=e("bundle-text:./switch-on.svg"),Z=o.interopDefault(U),G=e("bundle-text:./switch-off.svg"),K=o.interopDefault(G),J=e("bundle-text:./flip.svg"),X=o.interopDefault(J),Q=e("bundle-text:./error.svg"),ee=o.interopDefault(Q),te=e("bundle-text:./close.svg"),re=o.interopDefault(te),oe=e("bundle-text:./airplay.svg"),ae=o.interopDefault(oe);r.default=class{constructor(e){const t={loading:n.default,state:l.default,play:d.default,pause:h.default,check:p.default,volume:g.default,volumeClose:v.default,screenshot:x.default,setting:j.default,pip:z.default,arrowLeft:S.default,arrowRight:C.default,playbackRate:$.default,aspectRatio:E.default,config:F.default,lock:D.default,flip:X.default,unlock:O.default,fullscreenOff:N.default,fullscreenOn:Y.default,fullscreenWebOff:W.default,fullscreenWebOn:q.default,switchOn:Z.default,switchOff:K.default,error:ee.default,close:re.default,airplay:ae.default,...e.option.icons};Object.keys(t).forEach((e=>{(0,a.def)(this,e,{get:()=>{const r=(0,a.createElement)("i");return(0,a.addClass)(r,"art-icon"),(0,a.addClass)(r,`art-icon-${e}`),(0,a.append)(r,t[e]),r}})}))}}},{"../utils":"71aH7","bundle-text:./loading.svg":"7tDub","bundle-text:./state.svg":"1ElZc","bundle-text:./check.svg":"lmgoP","bundle-text:./play.svg":"lVWoQ","bundle-text:./pause.svg":"5Mnax","bundle-text:./volume.svg":"w3eIa","bundle-text:./volume-close.svg":"rHjo1","bundle-text:./screenshot.svg":"2KcqM","bundle-text:./setting.svg":"8rQMV","bundle-text:./arrow-left.svg":"kqGBE","bundle-text:./arrow-right.svg":"aFjpC","bundle-text:./playback-rate.svg":"lx7ZM","bundle-text:./aspect-ratio.svg":"2sEjf","bundle-text:./config.svg":"fQTgE","bundle-text:./pip.svg":"2CaxO","bundle-text:./lock.svg":"aCGnW","bundle-text:./unlock.svg":"bTrAV","bundle-text:./fullscreen-off.svg":"bA3p0","bundle-text:./fullscreen-on.svg":"fTuY8","bundle-text:./fullscreen-web-off.svg":"tvKf4","bundle-text:./fullscreen-web-on.svg":"1F1oB","bundle-text:./switch-on.svg":"7qNHs","bundle-text:./switch-off.svg":"28aV8","bundle-text:./flip.svg":"1uXI6","bundle-text:./error.svg":"9f4dh","bundle-text:./close.svg":"4nTtS","bundle-text:./airplay.svg":"cDPXC","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"7tDub":[function(e,t,r){t.exports=''},{}],"1ElZc":[function(e,t,r){t.exports=''},{}],lmgoP:[function(e,t,r){t.exports=''},{}],lVWoQ:[function(e,t,r){t.exports=''},{}],"5Mnax":[function(e,t,r){t.exports=''},{}],w3eIa:[function(e,t,r){t.exports=''},{}],rHjo1:[function(e,t,r){t.exports=''},{}],"2KcqM":[function(e,t,r){t.exports=''},{}],"8rQMV":[function(e,t,r){t.exports=''},{}],kqGBE:[function(e,t,r){t.exports=''},{}],aFjpC:[function(e,t,r){t.exports=''},{}],lx7ZM:[function(e,t,r){t.exports=''},{}],"2sEjf":[function(e,t,r){t.exports=''},{}],fQTgE:[function(e,t,r){t.exports=''},{}],"2CaxO":[function(e,t,r){t.exports=''},{}],aCGnW:[function(e,t,r){t.exports=''},{}],bTrAV:[function(e,t,r){t.exports=''},{}],bA3p0:[function(e,t,r){t.exports=''},{}],fTuY8:[function(e,t,r){t.exports=''},{}],tvKf4:[function(e,t,r){t.exports=''},{}],"1F1oB":[function(e,t,r){t.exports=''},{}],"7qNHs":[function(e,t,r){t.exports=''},{}],"28aV8":[function(e,t,r){t.exports=''},{}],"1uXI6":[function(e,t,r){t.exports=''},{}],"9f4dh":[function(e,t,r){t.exports=''},{}],"4nTtS":[function(e,t,r){t.exports=''},{}],cDPXC:[function(e,t,r){t.exports=''},{}],"3eYNH":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r);var a=e("./flip"),i=o.interopDefault(a),n=e("./aspectRatio"),s=o.interopDefault(n),l=e("./playbackRate"),c=o.interopDefault(l),p=e("./subtitleOffset"),u=o.interopDefault(p),d=e("../utils/component"),f=o.interopDefault(d),h=e("../utils");class m extends f.default{constructor(e){super(e);const{option:t,proxy:r,template:{$setting:o,$player:a}}=e;if(this.name="setting",this.$parent=o,this.option=[],this.events=[],this.cache=new Map,t.setting){t.playbackRate&&this.option.push((0,c.default)(e)),t.aspectRatio&&this.option.push((0,s.default)(e)),t.flip&&this.option.push((0,i.default)(e)),t.subtitleOffset&&this.option.push((0,u.default)(e));for(let e=0;e{this.show&&(this.show=!1,this.init(this.option))})),r(a,"click",(t=>{!this.show||(0,h.includeFromEvent)(t,e.controls.setting)||(0,h.includeFromEvent)(t,this.$parent)||(this.show=!1,this.init(this.option))}))}}static makeRecursion(e,t,r){for(let o=0;oe())),this.events=[],this.$parent.innerHTML="",this.option=m.makeRecursion(this.option),this.init(this.option),this.option}add(e){return this.option.push(e),this.update(),e}creatHeader(e){const{icons:t,proxy:r}=this.art,o=(0,h.createElement)("div");(0,h.addClass)(o,"art-setting-item"),(0,h.addClass)(o,"art-setting-item-back");const a=(0,h.append)(o,''),i=(0,h.createElement)("div");(0,h.addClass)(i,"art-setting-item-left-icon"),(0,h.append)(i,t.arrowLeft),(0,h.append)(a,i),(0,h.append)(a,e.$parentItem.html);const n=r(o,"click",(()=>this.init(e.$parentList)));return this.events.push(n),o}creatItem(e,t){const{icons:r,proxy:o}=this.art,a=(0,h.createElement)("div");(0,h.addClass)(a,"art-setting-item"),(0,h.isStringOrNumber)(t.name)&&(a.dataset.name=t.name),(0,h.isStringOrNumber)(t.value)&&(a.dataset.value=t.value);const i=(0,h.append)(a,''),n=(0,h.append)(a,''),s=(0,h.createElement)("div");switch((0,h.addClass)(s,"art-setting-item-left-icon"),e){case"switch":case"range":(0,h.append)(s,(0,h.isStringOrNumber)(t.icon)||t.icon instanceof Element?t.icon:r.config);break;case"selector":t.selector&&t.selector.length?(0,h.append)(s,(0,h.isStringOrNumber)(t.icon)||t.icon instanceof Element?t.icon:r.config):(0,h.append)(s,r.check)}(0,h.append)(i,s),t.$icon=s,(0,h.def)(t,"icon",{configurable:!0,get:()=>s.innerHTML,set(e){(0,h.isStringOrNumber)(e)&&(s.innerHTML=e)}});const l=(0,h.createElement)("div");(0,h.addClass)(l,"art-setting-item-left-text"),(0,h.append)(l,t.html||""),(0,h.append)(i,l),t.$html=l,(0,h.def)(t,"html",{configurable:!0,get:()=>l.innerHTML,set(e){(0,h.isStringOrNumber)(e)&&(l.innerHTML=e)}});const c=(0,h.createElement)("div");switch((0,h.addClass)(c,"art-setting-item-right-tooltip"),(0,h.append)(c,t.tooltip||""),(0,h.append)(n,c),t.$tooltip=c,(0,h.def)(t,"tooltip",{configurable:!0,get:()=>c.innerHTML,set(e){(0,h.isStringOrNumber)(e)&&(c.innerHTML=e)}}),e){case"switch":{const e=(0,h.createElement)("div");(0,h.addClass)(e,"art-setting-item-right-icon");const o=(0,h.append)(e,r.switchOn),a=(0,h.append)(e,r.switchOff);(0,h.setStyle)(t.switch?a:o,"display","none"),(0,h.append)(n,e),t.$switch=t.switch,(0,h.def)(t,"switch",{configurable:!0,get:()=>t.$switch,set(e){t.$switch=e,e?((0,h.setStyle)(a,"display","none"),(0,h.setStyle)(o,"display",null)):((0,h.setStyle)(a,"display",null),(0,h.setStyle)(o,"display","none"))}});break}case"range":{const e=(0,h.createElement)("div");(0,h.addClass)(e,"art-setting-item-right-icon");const r=(0,h.append)(e,'');r.value=t.range[0]||0,r.min=t.range[1]||0,r.max=t.range[2]||10,r.step=t.range[3]||1,(0,h.addClass)(r,"art-setting-range"),(0,h.append)(n,e),t.$range=r,(0,h.def)(t,"range",{configurable:!0,get:()=>r.valueAsNumber,set(e){r.value=Number(e)}})}break;case"selector":if(t.selector&&t.selector.length){const e=(0,h.createElement)("div");(0,h.addClass)(e,"art-setting-item-right-icon"),(0,h.append)(e,r.arrowRight),(0,h.append)(n,e)}}switch(e){case"switch":if(t.onSwitch){const e=o(a,"click",(async e=>{t.switch=await t.onSwitch.call(this.art,t,a,e)}));this.events.push(e)}break;case"range":if(t.$range){if(t.onRange){const e=o(t.$range,"change",(async e=>{t.tooltip=await t.onRange.call(this.art,t,a,e)}));this.events.push(e)}if(t.onChange){const e=o(t.$range,"input",(async e=>{t.tooltip=await t.onChange.call(this.art,t,a,e)}));this.events.push(e)}}break;case"selector":{const e=o(a,"click",(async e=>{if(t.selector&&t.selector.length)this.init(t.selector,t.width);else{(0,h.inverseClass)(a,"art-current");for(let e=0;ec?((0,h.setStyle)(a,"left","auto"),(0,h.setStyle)(a,"right","10px")):((0,h.setStyle)(a,"left",`${p}px`),(0,h.setStyle)(a,"right","auto"))}else(0,h.setStyle)(a,"left","auto"),(0,h.setStyle)(a,"right","10px")}init(e,t){const{constructor:r}=this.art;if(this.cache.has(e)){const t=this.cache.get(e);(0,h.inverseClass)(t,"art-current"),(0,h.setStyle)(this.$parent,"width",`${t.dataset.width}px`),(0,h.setStyle)(this.$parent,"height",`${t.dataset.height}px`),this.updateStyle(Number(t.dataset.width))}else{const o=(0,h.createElement)("div");(0,h.addClass)(o,"art-setting-panel"),o.dataset.width=t||r.SETTING_WIDTH,o.dataset.height=e.length*r.SETTING_ITEM_HEIGHT,e[0]&&e[0].$parentItem&&((0,h.append)(o,this.creatHeader(e[0])),o.dataset.height=Number(o.dataset.height)+r.SETTING_ITEM_HEIGHT);for(let t=0;te.dataset.value===a));i&&(0,o.inverseClass)(i,"art-current")}return{width:a,html:t.get("Video Flip"),tooltip:t.get((0,o.capitalize)(e.flip)),icon:r.flip,selector:i.map((r=>({value:r,default:r===e.flip,html:t.get((0,o.capitalize)(r))}))),onSelect:t=>(e.flip=t.value,t.value),mounted:(t,r)=>{n(t,r.$tooltip,e.flip),e.on("flip",(()=>{n(t,r.$tooltip,e.flip)}))}}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"84NBV":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{i18n:t,icons:r,constructor:{SETTING_ITEM_WIDTH:a,ASPECT_RATIO:i}}=e;function n(e){return"default"===e?t.get("Default"):e}function s(e,t,r){t&&(t.innerText=n(r));const a=(0,o.queryAll)(".art-setting-item",e).find((e=>e.dataset.value===r));a&&(0,o.inverseClass)(a,"art-current")}return{width:a,html:t.get("Aspect Ratio"),icon:r.aspectRatio,tooltip:n(e.aspectRatio),selector:i.map((t=>({value:t,default:t===e.aspectRatio,html:n(t)}))),onSelect:t=>(e.aspectRatio=t.value,t.value),mounted:(t,r)=>{s(t,r.$tooltip,e.aspectRatio),e.on("aspectRatio",(()=>{s(t,r.$tooltip,e.aspectRatio)}))}}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],aetWt:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{i18n:t,icons:r,constructor:{SETTING_ITEM_WIDTH:a,PLAYBACK_RATE:i}}=e;function n(e){return 1===e?t.get("Normal"):e}function s(e,t,r){t&&(t.innerText=n(r));const a=(0,o.queryAll)(".art-setting-item",e).find((e=>Number(e.dataset.value)===r));a&&(0,o.inverseClass)(a,"art-current")}return{width:a,html:t.get("Play Speed"),tooltip:n(e.playbackRate),icon:r.playbackRate,selector:i.map((t=>({value:t,default:t===e.playbackRate,html:n(t)}))),onSelect:t=>(e.playbackRate=t.value,t.value),mounted:(t,r)=>{s(t,r.$tooltip,e.playbackRate),e.on("video:ratechange",(()=>{s(t,r.$tooltip,e.playbackRate)}))}}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],fIBkO:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r),r.default=function(e){const{i18n:t,icons:r,constructor:o}=e;return{width:o.SETTING_ITEM_WIDTH,html:t.get("Subtitle Offset"),icon:r.subtitle,tooltip:"0s",range:[0,-5,5,.1],onChange:t=>(e.subtitleOffset=t.range,t.range+"s")}}},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"2aaJe":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);r.default=class{constructor(){this.name="artplayer_settings",this.settings={}}get(e){try{const t=JSON.parse(window.localStorage.getItem(this.name))||{};return e?t[e]:t}catch(t){return e?this.settings[e]:this.settings}}set(e,t){try{const r=Object.assign({},this.get(),{[e]:t});window.localStorage.setItem(this.name,JSON.stringify(r))}catch(r){this.settings[e]=t}}del(e){try{const t=this.get();delete t[e],window.localStorage.setItem(this.name,JSON.stringify(t))}catch(t){delete this.settings[e]}}clear(){try{window.localStorage.removeItem(this.name)}catch(e){this.settings={}}}}},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"8MTUM":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r);var a=e("../utils"),i=e("./miniProgressBar"),n=o.interopDefault(i),s=e("./autoOrientation"),l=o.interopDefault(s),c=e("./autoPlayback"),p=o.interopDefault(c),u=e("./fastForward"),d=o.interopDefault(u),f=e("./lock"),h=o.interopDefault(f);r.default=class{constructor(e){this.art=e,this.id=0;const{option:t}=e;t.miniProgressBar&&!t.isLive&&this.add(n.default),t.lock&&a.isMobile&&this.add(h.default),t.autoPlayback&&!t.isLive&&this.add(p.default),t.autoOrientation&&a.isMobile&&this.add(l.default),t.fastForward&&a.isMobile&&!t.isLive&&this.add(d.default);for(let e=0;e{e.layers.add({name:"miniProgressBar",mounted(t){e.on("destroy",(()=>{t.style.display="none"})),e.on("video:timeupdate",(()=>{t.style.width=100*e.played+"%"})),e.on("setBar",((e,r)=>{"played"===e&&(t.style.width=100*r+"%")}))}})})),{name:"miniProgressBar"}}},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],ePEg5:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{option:t,constructor:r,template:{$player:a,$video:i}}=e;return e.on("fullscreenWeb",(n=>{if(n){const{videoWidth:t,videoHeight:n}=i,{clientWidth:s,clientHeight:l}=document.documentElement;(t>n&&sl)&&setTimeout((()=>{(0,o.setStyle)(a,"width",`${l}px`),(0,o.setStyle)(a,"height",`${s}px`),(0,o.setStyle)(a,"transform-origin","0 0"),(0,o.setStyle)(a,"transform",`rotate(90deg) translate(0, -${s}px)`),(0,o.addClass)(a,"art-auto-orientation"),e.isRotate=!0,e.emit("resize")}),r.MOBILE_AUTO_ORIENTATION_TIME)}else(0,o.hasClass)(a,"art-auto-orientation")&&((0,o.setStyle)(a,"width",null),(0,o.setStyle)(a,"height",null),(0,o.setStyle)(a,"transform",null),(0,o.setStyle)(a,"transform-origin",null),(0,o.removeClass)(a,"art-auto-orientation"),e.isRotate=!1,e.aspectRatioReset=!0,e.autoSize=t.autoSize,e.notice.show="",e.emit("resize"))})),e.on("fullscreen",(async e=>{const t=screen.orientation.type;if(e){const{videoWidth:e,videoHeight:r}=i,{clientWidth:n,clientHeight:s}=document.documentElement;if(e>r&&ns){const e=t.startsWith("portrait")?"landscape":"portrait";await screen.orientation.lock(e),(0,o.addClass)(a,"art-auto-orientation-fullscreen")}}else(0,o.hasClass)(a,"art-auto-orientation-fullscreen")&&(await screen.orientation.lock(t),(0,o.removeClass)(a,"art-auto-orientation-fullscreen"))})),{name:"autoOrientation",get state(){return(0,o.hasClass)(a,"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 o=e("../utils");r.default=function(e){const{i18n:t,icons:r,storage:a,constructor:i,proxy:n,template:{$poster:s}}=e,l=e.layers.add({name:"autoPlayback",html:''}),c=(0,o.query)(".art-autoPlayback-last",l),p=(0,o.query)(".art-autoPlayback-jump",l),u=(0,o.query)(".art-autoPlayback-close",l);return e.on("video:timeupdate",(()=>{const t=a.get("times")||{},r=Object.keys(t);r.length>i.AUTO_PLAYBACK_MAX&&delete t[r[0]],t[e.option.id||e.option.url]=e.currentTime,a.set("times",t)})),e.on("ready",(()=>{const d=(a.get("times")||{})[e.option.id||e.option.url];d&&d>=i.AUTO_PLAYBACK_MIN&&((0,o.append)(u,r.close),(0,o.setStyle)(l,"display","flex"),c.innerText=`${t.get("Last Seen")} ${(0,o.secondToTime)(d)}`,p.innerText=t.get("Jump Play"),n(u,"click",(()=>{(0,o.setStyle)(l,"display","none")})),n(p,"click",(()=>{e.seek=d,e.play(),(0,o.setStyle)(s,"display","none"),(0,o.setStyle)(l,"display","none")})),e.once("video:timeupdate",(()=>{setTimeout((()=>{(0,o.setStyle)(l,"display","none")}),i.AUTO_PLAYBACK_TIMEOUT)})))})),{name:"autoPlayback",get times(){return a.get("times")||{}},clear:()=>a.del("times"),delete(e){const t=a.get("times")||{};return delete t[e],a.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 o=e("../utils");r.default=function(e){const{constructor:t,proxy:r,template:{$player:a,$video:i}}=e;let n=null,s=!1,l=1;const c=()=>{clearTimeout(n),s&&(s=!1,e.playbackRate=l,(0,o.removeClass)(a,"art-fast-forward"))};return r(i,"touchstart",(r=>{1===r.touches.length&&e.playing&&!e.isLock&&(n=setTimeout((()=>{s=!0,l=e.playbackRate,e.playbackRate=t.FAST_FORWARD_VALUE,(0,o.addClass)(a,"art-fast-forward")}),t.FAST_FORWARD_TIME))})),r(document,"touchmove",c),r(document,"touchend",c),{name:"fastForward",get state(){return(0,o.hasClass)(a,"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 o=e("../utils");r.default=function(e){const{layers:t,icons:r,template:{$player:a}}=e;return t.add({name:"lock",mounted(t){const a=(0,o.append)(t,r.lock),i=(0,o.append)(t,r.unlock);(0,o.setStyle)(a,"display","none"),e.on("lock",(e=>{e?((0,o.setStyle)(a,"display","inline-flex"),(0,o.setStyle)(i,"display","none")):((0,o.setStyle)(a,"display","none"),(0,o.setStyle)(i,"display","inline-flex"))}))},click(){(0,o.hasClass)(a,"art-lock")?((0,o.removeClass)(a,"art-lock"),this.isLock=!1,e.emit("lock",!1)):((0,o.addClass)(a,"art-lock"),this.isLock=!0,e.emit("lock",!0))}}),{name:"lock",get state(){return(0,o.hasClass)(a,"art-lock")}}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"7mil2":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r);var a=e("./config"),i=o.interopDefault(a),n=e("./utils");r.default=class{constructor(e){const{option:t,proxy:r,template:{$video:o}}=e;for(let t=0;t{e.emit(`video:${t.type}`,t)}));Object.keys(t.moreVideoAttr).forEach((e=>{o[e]=t.moreVideoAttr[e]})),o.controls=!0,t.muted&&(o.muted=t.muted),t.volume&&(o.volume=(0,n.clamp)(t.volume,0,1)),t.poster&&(o.poster=t.poster),t.autoplay&&(o.autoplay=t.autoplay),t.playsInline&&(o.playsInline=!0,o["webkit-playsinline"]=!0);const a=t.type||(0,n.getExt)(t.url),s=t.customType[a];a&&s?s(o,t.url,e):(o.src=t.url,e.emit("url",o.src))}}},{"./config":"lyjeQ","./utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}]},["5lTcX"],"5lTcX","parcelRequire4dc0");
\ No newline at end of file
+!function(e,t,r,o,a){var i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},n="function"==typeof i[o]&&i[o],s=n.cache||{},l="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function c(t,r){if(!s[t]){if(!e[t]){var a="function"==typeof i[o]&&i[o];if(!r&&a)return a(t,!0);if(n)return n(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 o=e[t][1][r];return null!=o?o: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=n,c.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(c,"root",{get:function(){return i[o]}}),i[o]=c;for(var p=0;pt.call(this,this))),te.DEBUG){const e=e=>console.log(`[ART.${this.id}] -> ${e}`);e("Version@"+te.version),e("Env@"+te.env),e("Build@"+te.build);for(let t=0;te("Event@"+t.type)))}ee.push(this)}static get instances(){return ee}static get version(){return"5.0.0"}static get env(){return"production"}static get build(){return"2023-04-15 16:39:00"}static get config(){return h.default}static get utils(){return p}static get scheme(){return d.default}static get Emitter(){return c.default}static get validator(){return s.default}static get kindOf(){return s.default.kindOf}static get html(){return v.default.html}static get option(){return{id:"",container:"#artplayer",url:"",poster:"",title:"",type:"",theme:"#f00",volume:.7,isLive:!1,muted:!1,autoplay:!1,autoSize:!1,autoMini:!1,loop:!1,flip:!1,playbackRate:!1,aspectRatio:!1,screenshot:!1,setting:!1,hotkey:!0,pip:!1,mutex:!0,backdrop:!0,fullscreen:!1,fullscreenWeb:!1,subtitleOffset:!1,miniProgressBar:!1,useSSR:!1,playsInline:!0,lock:!1,fastForward:!1,autoPlayback:!1,autoOrientation:!1,airplay:!1,layers:[],contextmenu:[],controls:[],settings:[],quality:[],highlight:[],plugins:[],whitelist:[],thumbnails:{url:"",number:60,column:10,width:0,height:0},subtitle:{url:"",type:"",style:{},escape:!0,encoding:"utf-8",onVttLoad:e=>e},moreVideoAttr:{controls:!1,preload:p.isSafari?"auto":"metadata"},i18n:{},icons:{},customType:{},lang:navigator.language.toLowerCase()}}get proxy(){return this.events.proxy}get query(){return this.template.query}get video(){return this.template.$video}destroy(e=!0){this.events.destroy(),this.template.destroy(e),ee.splice(ee.indexOf(this),1),this.isDestroy=!0,this.emit("destroy")}}if(r.default=te,te.DEBUG=!1,te.CONTEXTMENU=!0,te.NOTICE_TIME=2e3,te.SETTING_WIDTH=250,te.SETTING_ITEM_WIDTH=200,te.SETTING_ITEM_HEIGHT=35,te.INDICATOR_SIZE=14,te.INDICATOR_SIZE_ICON=16,te.INDICATOR_SIZE_MOBILE=18,te.INDICATOR_SIZE_MOBILE_ICON=20,te.VOLUME_PANEL_WIDTH=60,te.VOLUME_HANDLE_WIDTH=12,te.RESIZE_TIME=500,te.SCROLL_TIME=200,te.SCROLL_GAP=50,te.AUTO_PLAYBACK_MAX=10,te.AUTO_PLAYBACK_MIN=5,te.AUTO_PLAYBACK_TIMEOUT=3e3,te.RECONNECT_TIME_MAX=5,te.RECONNECT_SLEEP_TIME=1e3,te.CONTROL_HIDE_TIME=3e3,te.DB_CLICE_TIME=300,te.MOBILE_AUTO_PLAYBACKRATE=3,te.MOBILE_AUTO_PLAYBACKRATE_TIME=1e3,te.MOBILE_AUTO_ORIENTATION_TIME=200,te.INFO_LOOP_TIME=1e3,te.FAST_FORWARD_VALUE=3,te.FAST_FORWARD_TIME=1e3,te.TOUCH_MOVE_RATIO=.5,te.VOLUME_STEP=.1,te.SEEK_STEP=5,te.PROGRESS_HEIGHT=6,te.PLAYBACK_RATE=[.5,.75,1,1.25,1.5,2],te.ASPECT_RATIO=["default","4:3","16:9"],te.FLIP=["normal","horizontal","vertical"],te.FULLSCREEN_WEB_IN_BODY=!1,"undefined"!=typeof document&&!document.getElementById("artplayer-style")){const e=p.createElement("style");e.id="artplayer-style",e.textContent=i.default,document.head.appendChild(e)}"undefined"!=typeof window&&(window.Artplayer=te),console.log(`%c ArtPlayer %c ${te.version} %c https://artplayer.org`,"color: #fff; background: #5f5f5f","color: #fff; background: #4bc729","")},{"bundle-text:./style/index.less":"0016T","option-validator":"bAWi2","./utils/emitter":"66mFZ","./utils":"71aH7","./scheme":"AKEiO","./config":"lyjeQ","./whitelist":"9L0ao","./template":"X13Zf","./i18n":"3jKkj","./player":"a90nx","./control":"8Z0Uf","./contextmenu":"2KYsr","./info":"02ajl","./subtitle":"eSWto","./events":"jo4S1","./hotkey":"6NoFy","./layer":"6G6hZ","./loading":"3dsEe","./notice":"dWGTw","./mask":"5POkG","./icons":"6OeNg","./setting":"3eYNH","./storage":"2aaJe","./plugins":"8MTUM","./mobile":"7mil2","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"0016T":[function(e,t,r){t.exports='.art-video-player{z-index:20;width:100%;height:100%;zoom:1;color:#eee;text-align:left;direction:ltr;user-select:none;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:#0000;-ms-touch-action:manipulation;touch-action:manipulation;-ms-high-contrast-adjust:none;background-color:#000;outline:0;margin:0 auto;font-family:Roboto,Arial,Helvetica,sans-serif;font-size:14px;line-height:1.3;position:relative}.art-video-player *,.art-video-player :before,.art-video-player :after{box-sizing:border-box;margin:0;padding:0}.art-video-player ::-webkit-scrollbar{width:5px;height:5px}.art-video-player ::-webkit-scrollbar-thumb{background-color:#666}.art-video-player ::-webkit-scrollbar-thumb:hover{background-color:#ccc}.art-video-player .art-icon{justify-content:center;align-items:center;line-height:1.5;display:inline-flex}.art-video-player img{max-width:100%;vertical-align:top}.art-video-player svg{fill:#fff}@supports ((-webkit-backdrop-filter:initial)) or (backdrop-filter:initial){.art-video-player .art-backdrop-filter{-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);background-color:#000000b3!important}}.art-video-player .art-video{z-index:10;width:100%;height:100%;cursor:pointer;background-color:#000;position:absolute;inset:0}.art-video-player .art-poster{z-index:11;width:100%;height:100%;user-select:none;pointer-events:none;background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.art-video-player .art-subtitle{z-index:20;width:100%;text-align:center;color:#fff;pointer-events:none;text-shadow:1px 0 1px #000,0 1px 1px #000,-1px 0 1px #000,0 -1px 1px #000,1px 1px 1px #000,-1px -1px 1px #000,1px -1px 1px #000,-1px 1px 1px #000;padding:0 20px;font-size:20px;transition:bottom .2s;display:none;position:absolute;bottom:10px}.art-video-player .art-subtitle p{word-break:break-all;height:fit-content;margin:5px 0 0;line-height:1.2}.art-video-player.art-subtitle-show .art-subtitle{display:block}.art-video-player.art-control-show .art-subtitle{bottom:50px}.art-video-player .art-danmuku{z-index:30;width:100%;height:100%;pointer-events:none;position:absolute;inset:0;overflow:hidden}.art-video-player .art-layers{z-index:40;width:100%;height:100%;pointer-events:none;display:none;position:absolute;inset:0;overflow:hidden}.art-video-player .art-layers .art-layer{pointer-events:auto}.art-video-player.art-layer-show .art-layers{display:block}.art-video-player .art-mask{z-index:50;width:100%;height:100%;pointer-events:none;justify-content:center;align-items:center;display:none;position:absolute;inset:0;overflow:hidden}.art-video-player .art-mask .art-state{width:60px;height:60px;opacity:.85;cursor:pointer;pointer-events:auto;justify-content:center;align-items:center;display:flex;position:absolute;bottom:65px;right:30px}.art-video-player.art-mask-show .art-mask{display:flex}.art-video-player.art-mobile .art-state{position:static}.art-video-player .art-loading{z-index:70;width:100%;height:100%;pointer-events:none;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.art-video-player.art-loading-show .art-loading{display:flex}.art-video-player .art-bottom{z-index:60;height:100px;opacity:0;visibility:hidden;pointer-events:none;background-image:linear-gradient(#0000,#0006,#000);background-position:bottom;background-repeat:repeat-x;flex-direction:column;justify-content:space-between;padding:50px 10px 0;transition:all .2s ease-in-out;display:flex;position:absolute;bottom:0;left:0;right:0}.art-video-player .art-bottom .art-progress{z-index:0;pointer-events:auto;flex:1;position:relative}.art-video-player .art-bottom .art-progress .art-control-progress{height:4px;cursor:pointer;flex-direction:row;align-items:center;display:flex;position:relative}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner{height:50%;width:100%;background:#fff3;align-items:center;transition:all .2s;display:flex;position:relative}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-loaded{z-index:10;height:100%;width:0;background:#fff6;position:absolute;inset:0}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-played{z-index:20;height:100%;width:0;position:absolute;inset:0}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-highlight{z-index:30;height:100%;pointer-events:none;position:absolute;inset:0}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-highlight span{width:7px;height:100%;pointer-events:auto;background:#ffffff80;display:inline-block;position:absolute;top:0;left:0}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator{visibility:hidden;z-index:40;border-radius:50%;justify-content:center;align-items:center;transition:transform .1s ease-in-out;position:absolute;transform:scale(.1)}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator .art-icon{width:100%;height:100%;pointer-events:none;user-select:none}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator:hover{transform:scale(1.2)!important}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-tip{z-index:50;height:20px;color:#fff;text-align:center;white-space:nowrap;background:#000000b3;border-radius:3px;padding:0 5px;font-size:12px;font-weight:700;line-height:20px;display:none;position:absolute;top:-25px;left:0}.art-video-player .art-bottom .art-progress .art-control-thumbnails{pointer-events:none;background-color:#000000b3;border-radius:3px;display:none;position:absolute;bottom:10px;left:0;box-shadow:0 1px 3px #0003,0 1px 2px -1px #0003}.art-video-player .art-bottom .art-progress .art-control-loop{width:100%;height:100%;pointer-events:none;display:none;position:absolute;inset:0}.art-video-player .art-bottom .art-progress .art-control-loop .art-loop-point{width:2px;height:8px;background:#ffffffbf;position:absolute;top:-2px;left:0}.art-video-player .art-bottom .art-controls{z-index:1;pointer-events:auto;height:45px;justify-content:space-between;align-items:center;display:flex;position:relative}.art-video-player .art-bottom .art-controls .art-controls-left,.art-video-player .art-bottom .art-controls .art-controls-right{display:flex}.art-video-player .art-bottom .art-controls .art-controls-center{height:100%;flex:1;justify-content:center;align-items:center;padding:0 10px;display:flex}.art-video-player .art-bottom .art-controls .art-controls-right{justify-content:flex-end}.art-video-player .art-bottom .art-controls .art-control{opacity:.75;min-height:36px;min-width:36px;text-align:center;cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;font-size:12px;line-height:1;transition:opacity .1s ease-in-out;display:flex}.art-video-player .art-bottom .art-controls .art-control .art-icon{float:left;height:36px;width:36px;justify-content:center;align-items:center;transition:transform .2s ease-in-out;display:flex;transform:scale(1)}.art-video-player .art-bottom .art-controls .art-control .art-icon:active{transform:scale(.85)}.art-video-player .art-bottom .art-controls .art-control:hover{opacity:1}.art-video-player .art-bottom .art-controls .art-control-volume .art-volume-panel{float:left;width:0;height:100%;transition:margin .2s cubic-bezier(.4,0,1,1),width .2s cubic-bezier(.4,0,1,1);position:relative;overflow:hidden}.art-video-player .art-bottom .art-controls .art-control-volume .art-volume-panel .art-volume-slider-handle{width:12px;height:12px;background:#fff;border-radius:12px;margin-top:-6px;position:absolute;top:50%;left:0}.art-video-player .art-bottom .art-controls .art-control-volume .art-volume-panel .art-volume-slider-handle:before{background:#fff;left:-54px}.art-video-player .art-bottom .art-controls .art-control-volume .art-volume-panel .art-volume-slider-handle:after{background:#fff3;left:6px}.art-video-player .art-bottom .art-controls .art-control-volume .art-volume-panel .art-volume-slider-handle:before,.art-video-player .art-bottom .art-controls .art-control-volume .art-volume-panel .art-volume-slider-handle:after{content:"";height:3px;width:60px;margin-top:-2px;display:block;position:absolute;top:50%}.art-video-player .art-bottom .art-controls .art-control-volume:hover .art-volume-panel{width:60px}.art-video-player .art-bottom .art-controls .art-control-quality{z-index:30;position:relative}.art-video-player .art-bottom .art-controls .art-control-quality .art-qualitys{width:100px;text-align:center;color:#fff;background:#000c;border-radius:3px;padding:5px 0;display:none;position:absolute;bottom:35px}.art-video-player .art-bottom .art-controls .art-control-quality .art-qualitys .art-quality-item{height:30px;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 0 2px #00000080;line-height:30px;overflow:hidden}.art-video-player .art-bottom .art-controls .art-control-quality .art-qualitys .art-quality-item:hover{background-color:#ffffff1a}.art-video-player .art-bottom .art-controls .art-control-quality:hover .art-qualitys{display:block}.art-video-player .art-bottom:hover .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator{visibility:visible;transform:scale(1)}.art-video-player.art-control-show .art-bottom,.art-video-player.art-hover .art-bottom{opacity:1;visibility:visible}.art-video-player.art-error .art-progress-indicator,.art-video-player.art-destroy .art-progress-indicator,.art-video-player.art-error .art-progress-tip,.art-video-player.art-destroy .art-progress-tip{display:none!important}.art-video-player.art-mobile .art-bottom{height:105px;padding:50px 7px 0}.art-video-player.art-mobile .art-bottom .art-controls{height:40px}.art-video-player.art-mobile .art-bottom .art-progress-indicator{visibility:visible!important;transform:scale(1)!important}.art-video-player .art-notice{z-index:80;width:100%;pointer-events:none;padding:10px;font-size:14px;display:none;position:absolute;top:0;left:0}.art-video-player .art-notice .art-notice-inner{color:#fff;background-color:#0009;border-radius:3px;padding:5px 10px;display:inline-block}.art-video-player.art-notice-show .art-notice{display:flex}.art-video-player .art-contextmenus{z-index:120;min-width:200px;background-color:#000000e6;border-radius:3px;flex-direction:column;padding:5px 0;display:none;position:absolute;top:10px;left:10px}.art-video-player .art-contextmenus .art-contextmenu{cursor:pointer;color:#fff;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 0 2px #00000080;border-bottom:1px solid #ffffff1a;padding:10px 15px;font-size:12px;display:block;overflow:hidden}.art-video-player .art-contextmenus .art-contextmenu a{color:#fff;text-decoration:none}.art-video-player .art-contextmenus .art-contextmenu span{padding:0 7px;display:inline-block}.art-video-player .art-contextmenus .art-contextmenu span:hover,.art-video-player .art-contextmenus .art-contextmenu span.art-current{color:var(--theme)}.art-video-player .art-contextmenus .art-contextmenu:hover{background-color:#ffffff1a}.art-video-player .art-contextmenus .art-contextmenu:last-child{border-bottom:none}.art-video-player.art-contextmenu-show .art-contextmenus{display:flex}.art-video-player .art-settings{z-index:90;height:auto;max-height:300px;background-color:#000000e6;border-radius:3px;font-size:13px;transition:all .2s;display:none;position:absolute;bottom:60px;left:0;overflow:auto}.art-video-player .art-settings .art-setting-panel{display:none}.art-video-player .art-settings .art-setting-panel.art-current{display:block}.art-video-player .art-settings .art-setting-panel .art-setting-item{height:35px;cursor:pointer;color:#fffc;justify-content:space-between;align-items:center;padding:0 5px;line-height:1;display:flex;overflow:hidden}.art-video-player .art-settings .art-setting-panel .art-setting-item:hover{color:#fff;background-color:#ffffff1a}.art-video-player .art-settings .art-setting-panel .art-setting-item.art-current{color:var(--theme)}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-icon{width:30px;height:30px;justify-content:center;align-items:center;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-icon-check{visibility:hidden;height:15px}.art-video-player .art-settings .art-setting-panel .art-setting-item.art-current .art-icon-check{visibility:visible}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-left{white-space:nowrap;align-items:center;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-left .art-setting-item-left-icon{height:24px;width:24px;justify-content:center;align-items:center;margin-right:10px;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right{align-items:center;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-item-right-tooltip{white-space:nowrap;color:#ffffff80;margin-right:5px;font-size:12px}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-item-right-icon{height:24px;justify-content:center;align-items:center;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-range{height:3px;width:80px;appearance:none;background-color:#fff3;outline:none}.art-video-player .art-settings .art-setting-panel .art-setting-item-back{border-bottom:1px solid #ffffff1a}.art-video-player.art-setting-show .art-settings{display:block}.art-video-player.art-mobile .art-settings{max-height:200px}.art-video-player .art-info{z-index:100;width:350px;color:#fff;-webkit-font-smoothing:antialiased;background-color:#000000e6;flex-direction:column;padding:10px;font-family:Noto Sans CJK SC DemiLight,Roboto,Segoe UI,Tahoma,Arial,Helvetica,sans-serif;font-size:12px;display:none;position:absolute;top:10px;left:10px}.art-video-player .art-info .art-info-item{margin-bottom:5px;display:flex}.art-video-player .art-info .art-info-item .art-info-title{width:100px;text-align:right}.art-video-player .art-info .art-info-item .art-info-content{text-overflow:ellipsis;white-space:nowrap;user-select:all;flex:1;padding-left:5px;overflow:hidden}.art-video-player .art-info .art-info-item:last-child{margin-bottom:0}.art-video-player .art-info .art-info-close{cursor:pointer;position:absolute;top:5px;right:5px}.art-video-player.art-info-show .art-info{display:flex}.art-video-player.art-hide-cursor *{cursor:none!important}.art-video-player[data-aspect-ratio] video{box-sizing:content-box;object-fit:fill}.art-video-player.art-fullscreen-web{z-index:9999;width:100%;height:100%;position:fixed;inset:0}.art-video-player .art-mini-header{z-index:110;height:35px;color:#fff;opacity:0;visibility:hidden;background-color:#00000080;justify-content:space-between;align-items:center;line-height:35px;transition:all .2s ease-in-out;display:none;position:absolute;top:0;left:0;right:0}.art-video-player .art-mini-header .art-mini-title{text-overflow:ellipsis;white-space:nowrap;cursor:move;flex:1;padding:0 10px;overflow:hidden}.art-video-player .art-mini-header .art-mini-close{width:35px;text-align:center;cursor:pointer;font-size:22px}.art-video-player.art-is-dragging{opacity:.7}.art-video-player.art-mini{z-index:9999;width:400px;height:225px;position:fixed;box-shadow:0 2px 5px #00000029,0 3px 6px #0003}.art-video-player.art-mini .art-mini-header{user-select:none;display:flex}.art-video-player.art-mini.art-hover .art-mini-header{opacity:1;visibility:visible}.art-video-player.art-mini .art-mask .art-state{position:static}.art-video-player.art-mini .art-contextmenu,.art-video-player.art-mini .art-bottom,.art-video-player.art-mini .art-danmu,.art-video-player.art-mini .art-info,.art-video-player.art-mini .art-layers,.art-video-player.art-mini .art-notice,.art-video-player.art-mini .art-settings,.art-video-player.art-mini .art-subtitle{display:none!important}.art-auto-size{justify-content:center;align-items:center;display:flex}.art-auto-size .art-video-player{transition:all .2s}.art-video-player[data-flip=horizontal] .art-video{transform:scaleX(-1)}.art-video-player[data-flip=vertical] .art-video{transform:scaleY(-1)}.art-video-player .art-layer-miniProgressBar{height:2px;background-color:var(--theme);display:block;position:absolute;bottom:0;left:0;right:0}.art-video-player .art-layer-lock{height:34px;width:34px;color:#fff;background-color:#00000080;border-radius:50%;justify-content:center;align-items:center;display:none;position:absolute;top:calc(50% - 17px);left:15px}.art-video-player .art-layer-autoPlayback{background-color:#000c;border-radius:3px;align-items:center;padding:10px;line-height:1;display:none;position:absolute;bottom:60px;left:20px}.art-video-player .art-layer-autoPlayback .art-autoPlayback-close{cursor:pointer;align-items:center;margin-right:10px;display:flex}.art-video-player .art-layer-autoPlayback .art-autoPlayback-close svg{width:15px;height:15px;fill:var(--theme)}.art-video-player .art-layer-autoPlayback .art-autoPlayback-last{margin-right:10px}.art-video-player .art-layer-autoPlayback .art-autoPlayback-jump{color:var(--theme);cursor:pointer}.art-video-player.art-lock .art-bottom{display:none!important}.art-video-player.art-lock .art-subtitle{bottom:10px!important}.art-video-player.art-lock .art-layer-miniProgressBar{display:block!important}.art-video-player.art-control-show .art-layer-miniProgressBar{display:none}.art-video-player.art-control-show .art-layer-lock{display:flex}.art-video-player .art-control-selector{position:relative}.art-video-player .art-control-selector .art-selector-list{min-width:100px;max-width:200px;max-height:200px;text-align:center;color:#fff;background-color:#000c;border-radius:3px;padding:5px 0;display:none;position:absolute;bottom:35px;overflow:auto}.art-video-player .art-control-selector .art-selector-list .art-selector-item{height:30px;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 0 2px #00000080;padding:0 5px;line-height:30px;overflow:hidden}.art-video-player .art-control-selector .art-selector-list .art-selector-item:hover{background-color:#ffffff1a}.art-video-player .art-control-selector .art-selector-list .art-selector-item:hover,.art-video-player .art-control-selector .art-selector-list .art-selector-item.art-current{color:var(--theme)}.art-video-player .art-control-selector:hover .art-selector-list{display:block}[class*=hint--]{font-style:normal;display:inline-block;position:relative}[class*=hint--]:before,[class*=hint--]:after{visibility:hidden;opacity:0;z-index:1000000;pointer-events:none;transition:all .3s;position:absolute;transform:translate(0,0)}[class*=hint--]:hover:before,[class*=hint--]:hover:after{visibility:visible;opacity:1;transition-delay:.1s}[class*=hint--]:before{content:"";z-index:1000001;background:0 0;border:6px solid #0000;position:absolute}[class*=hint--]:after{color:#fff;white-space:nowrap;background:#000;padding:8px 10px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;line-height:12px}[class*=hint--][aria-label]:after{content:attr(aria-label)}[class*=hint--][data-hint]:after{content:attr(data-hint)}[aria-label=""]:before,[aria-label=""]:after,[data-hint=""]:before,[data-hint=""]:after{display:none!important}.hint--top-left:before,.hint--top-right:before,.hint--top:before{border-top-color:#000}.hint--bottom-left:before,.hint--bottom-right:before,.hint--bottom:before{border-bottom-color:#000}.hint--left:before{border-left-color:#000}.hint--right:before{border-right-color:#000}.hint--top:before{margin-bottom:-11px}.hint--top:before,.hint--top:after{bottom:100%;left:50%}.hint--top:before{left:calc(50% - 6px)}.hint--top:after{transform:translate(-50%)}.hint--top:hover:before{transform:translateY(-8px)}.hint--top:hover:after{transform:translate(-50%)translateY(-8px)}.hint--bottom:before{margin-top:-11px}.hint--bottom:before,.hint--bottom:after{top:100%;left:50%}.hint--bottom:before{left:calc(50% - 6px)}.hint--bottom:after{transform:translate(-50%)}.hint--bottom:hover:before{transform:translateY(8px)}.hint--bottom:hover:after{transform:translate(-50%)translateY(8px)}.hint--right:before{margin-bottom:-6px;margin-left:-11px}.hint--right:after{margin-bottom:-14px}.hint--right:before,.hint--right:after{bottom:50%;left:100%}.hint--right:hover:before,.hint--right:hover:after{transform:translate(8px)}.hint--left:before{margin-bottom:-6px;margin-right:-11px}.hint--left:after{margin-bottom:-14px}.hint--left:before,.hint--left:after{bottom:50%;right:100%}.hint--left:hover:before,.hint--left:hover:after{transform:translate(-8px)}.hint--top-left:before{margin-bottom:-11px}.hint--top-left:before,.hint--top-left:after{bottom:100%;left:50%}.hint--top-left:before{left:calc(50% - 6px)}.hint--top-left:after{margin-left:12px;transform:translate(-100%)}.hint--top-left:hover:before{transform:translateY(-8px)}.hint--top-left:hover:after{transform:translate(-100%)translateY(-8px)}.hint--top-right:before{margin-bottom:-11px}.hint--top-right:before,.hint--top-right:after{bottom:100%;left:50%}.hint--top-right:before{left:calc(50% - 6px)}.hint--top-right:after{margin-left:-12px;transform:translate(0)}.hint--top-right:hover:before,.hint--top-right:hover:after{transform:translateY(-8px)}.hint--bottom-left:before{margin-top:-11px}.hint--bottom-left:before,.hint--bottom-left:after{top:100%;left:50%}.hint--bottom-left:before{left:calc(50% - 6px)}.hint--bottom-left:after{margin-left:12px;transform:translate(-100%)}.hint--bottom-left:hover:before{transform:translateY(8px)}.hint--bottom-left:hover:after{transform:translate(-100%)translateY(8px)}.hint--bottom-right:before{margin-top:-11px}.hint--bottom-right:before,.hint--bottom-right:after{top:100%;left:50%}.hint--bottom-right:before{left:calc(50% - 6px)}.hint--bottom-right:after{margin-left:-12px;transform:translate(0)}.hint--bottom-right:hover:before,.hint--bottom-right:hover:after{transform:translateY(8px)}.hint--small:after,.hint--medium:after,.hint--large:after{white-space:normal;word-wrap:break-word;line-height:1.4em}.hint--small:after{width:80px}.hint--medium:after{width:150px}.hint--large:after{width:300px}[class*=hint--]:after{text-shadow:0 -1px #000;box-shadow:4px 4px 8px #0000004d}.hint--error:after{text-shadow:0 -1px #592726;background-color:#b34e4d}.hint--error.hint--top-left:before,.hint--error.hint--top-right:before,.hint--error.hint--top:before{border-top-color:#b34e4d}.hint--error.hint--bottom-left:before,.hint--error.hint--bottom-right:before,.hint--error.hint--bottom:before{border-bottom-color:#b34e4d}.hint--error.hint--left:before{border-left-color:#b34e4d}.hint--error.hint--right:before{border-right-color:#b34e4d}.hint--warning:after{text-shadow:0 -1px #6c5328;background-color:#c09854}.hint--warning.hint--top-left:before,.hint--warning.hint--top-right:before,.hint--warning.hint--top:before{border-top-color:#c09854}.hint--warning.hint--bottom-left:before,.hint--warning.hint--bottom-right:before,.hint--warning.hint--bottom:before{border-bottom-color:#c09854}.hint--warning.hint--left:before{border-left-color:#c09854}.hint--warning.hint--right:before{border-right-color:#c09854}.hint--info:after{text-shadow:0 -1px #1a3c4d;background-color:#3986ac}.hint--info.hint--top-left:before,.hint--info.hint--top-right:before,.hint--info.hint--top:before{border-top-color:#3986ac}.hint--info.hint--bottom-left:before,.hint--info.hint--bottom-right:before,.hint--info.hint--bottom:before{border-bottom-color:#3986ac}.hint--info.hint--left:before{border-left-color:#3986ac}.hint--info.hint--right:before{border-right-color:#3986ac}.hint--success:after{text-shadow:0 -1px #1a321a;background-color:#458746}.hint--success.hint--top-left:before,.hint--success.hint--top-right:before,.hint--success.hint--top:before{border-top-color:#458746}.hint--success.hint--bottom-left:before,.hint--success.hint--bottom-right:before,.hint--success.hint--bottom:before{border-bottom-color:#458746}.hint--success.hint--left:before{border-left-color:#458746}.hint--success.hint--right:before{border-right-color:#458746}.hint--always:after,.hint--always:before{opacity:1;visibility:visible}.hint--always.hint--top:before{transform:translateY(-8px)}.hint--always.hint--top:after{transform:translate(-50%)translateY(-8px)}.hint--always.hint--top-left:before{transform:translateY(-8px)}.hint--always.hint--top-left:after{transform:translate(-100%)translateY(-8px)}.hint--always.hint--top-right:before,.hint--always.hint--top-right:after{transform:translateY(-8px)}.hint--always.hint--bottom:before{transform:translateY(8px)}.hint--always.hint--bottom:after{transform:translate(-50%)translateY(8px)}.hint--always.hint--bottom-left:before{transform:translateY(8px)}.hint--always.hint--bottom-left:after{transform:translate(-100%)translateY(8px)}.hint--always.hint--bottom-right:before,.hint--always.hint--bottom-right:after{transform:translateY(8px)}.hint--always.hint--left:before,.hint--always.hint--left:after{transform:translate(-8px)}.hint--always.hint--right:before,.hint--always.hint--right:after{transform:translate(8px)}.hint--rounded:after{border-radius:4px}.hint--no-animate:before,.hint--no-animate:after{transition-duration:0s}.hint--bounce:before,.hint--bounce:after{-webkit-transition:opacity .3s,visibility .3s,-webkit-transform .3s cubic-bezier(.71,1.7,.77,1.24);-moz-transition:opacity .3s,visibility .3s,-moz-transform .3s cubic-bezier(.71,1.7,.77,1.24);transition:opacity .3s,visibility .3s,transform .3s cubic-bezier(.71,1.7,.77,1.24)}.hint--no-shadow:before,.hint--no-shadow:after{text-shadow:initial;box-shadow:initial}.hint--no-arrow:before{display:none}'},{}],bAWi2:[function(e,t,r){t.exports=function(){"use strict";function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(t)}var t=Object.prototype.toString,r=function(r){if(void 0===r)return"undefined";if(null===r)return"null";var a=e(r);if("boolean"===a)return"boolean";if("string"===a)return"string";if("number"===a)return"number";if("symbol"===a)return"symbol";if("function"===a)return function(e){return"GeneratorFunction"===o(e)}(r)?"generatorfunction":"function";if(function(e){return Array.isArray?Array.isArray(e):e instanceof Array}(r))return"array";if(function(e){return!(!e.constructor||"function"!=typeof e.constructor.isBuffer)&&e.constructor.isBuffer(e)}(r))return"buffer";if(function(e){try{if("number"==typeof e.length&&"function"==typeof e.callee)return!0}catch(e){if(-1!==e.message.indexOf("callee"))return!0}return!1}(r))return"arguments";if(function(e){return e instanceof Date||"function"==typeof e.toDateString&&"function"==typeof e.getDate&&"function"==typeof e.setDate}(r))return"date";if(function(e){return e instanceof Error||"string"==typeof e.message&&e.constructor&&"number"==typeof e.constructor.stackTraceLimit}(r))return"error";if(function(e){return e instanceof RegExp||"string"==typeof e.flags&&"boolean"==typeof e.ignoreCase&&"boolean"==typeof e.multiline&&"boolean"==typeof e.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(e){return"function"==typeof e.throw&&"function"==typeof e.return&&"function"==typeof e.next}(r))return"generator";switch(a=t.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 a.slice(8,-1).toLowerCase().replace(/\s/g,"")};function o(e){return e.constructor?e.constructor.name:null}function a(e,t){var o=2i)),o.export(r,"queryAll",(()=>n)),o.export(r,"addClass",(()=>s)),o.export(r,"removeClass",(()=>l)),o.export(r,"hasClass",(()=>c)),o.export(r,"append",(()=>p)),o.export(r,"remove",(()=>u)),o.export(r,"setStyle",(()=>d)),o.export(r,"setStyles",(()=>f)),o.export(r,"getStyle",(()=>h)),o.export(r,"sublings",(()=>m)),o.export(r,"inverseClass",(()=>g)),o.export(r,"tooltip",(()=>y)),o.export(r,"isInViewport",(()=>v)),o.export(r,"includeFromEvent",(()=>b)),o.export(r,"replaceElement",(()=>x)),o.export(r,"createElement",(()=>w));var a=e("./compatibility");function i(e,t=document){return t.querySelector(e)}function n(e,t=document){return Array.from(t.querySelectorAll(e))}function s(e,t){return e.classList.add(t)}function l(e,t){return e.classList.remove(t)}function c(e,t){return e.classList.contains(t)}function p(e,t){return t instanceof Element?e.appendChild(t):e.insertAdjacentHTML("beforeend",String(t)),e.lastElementChild||e.lastChild}function u(e){return e.parentNode.removeChild(e)}function d(e,t,r){return e.style[t]=r,e}function f(e,t){return Object.keys(t).forEach((r=>{d(e,r,t[r])})),e}function h(e,t,r=!0){const o=window.getComputedStyle(e,null).getPropertyValue(t);return r?parseFloat(o):o}function m(e){return Array.from(e.parentElement.children).filter((t=>t!==e))}function g(e,t){m(e).forEach((e=>l(e,t))),s(e,t)}function y(e,t,r="top"){a.isMobile||(e.setAttribute("aria-label",t),s(e,"hint--rounded"),s(e,`hint--${r}`))}function v(e,t=0){const r=e.getBoundingClientRect(),o=window.innerHeight||document.documentElement.clientHeight,a=window.innerWidth||document.documentElement.clientWidth,i=r.top-t<=o&&r.top+r.height+t>=0,n=r.left-t<=a+t&&r.left+r.width+t>=0;return i&&n}function b(e,t){return e.composedPath&&e.composedPath().indexOf(t)>-1}function x(e,t){return t.parentNode.replaceChild(e,t),e}function w(e){return document.createElement(e)}},{"./compatibility":"6ZTr6","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"6ZTr6":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"userAgent",(()=>a)),o.export(r,"isMobile",(()=>i)),o.export(r,"isSafari",(()=>n)),o.export(r,"isWechat",(()=>s)),o.export(r,"isIE",(()=>l)),o.export(r,"isAndroid",(()=>c)),o.export(r,"isIOS",(()=>p));const a="undefined"!=typeof window?window.navigator.userAgent:"",i=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(a),n=/^((?!chrome|android).)*safari/i.test(a),s=/MicroMessenger/i.test(a),l=/MSIE|Trident/i.test(a),c=/android/i.test(a),p=/iPad|iPhone|iPod/i.test(a)&&!window.MSStream},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],hwmZz:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"ArtPlayerError",(()=>a)),o.export(r,"errorHandle",(()=>i));class a extends Error{constructor(e,t){super(e),"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,t||this.constructor),this.name="ArtPlayerError"}}function i(e,t){if(!e)throw new a(t);return e}},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],inzwq:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");function a(e){return"WEBVTT \r\n\r\n".concat((t=e,t.replace(/(\d\d:\d\d:\d\d)[,.](\d+)/g,((e,t,r)=>{let o=r.slice(0,3);return 1===r.length&&(o=r+"00"),2===r.length&&(o=r+"0"),`${t},${o}`}))).replace(/\{\\([ibu])\}/g,"$1>").replace(/\{\\([ibu])1\}/g,"<$1>").replace(/\{([ibu])\}/g,"<$1>").replace(/\{\/([ibu])\}/g,"$1>").replace(/(\d\d:\d\d:\d\d),(\d\d\d)/g,"$1.$2").replace(/{[\s\S]*?}/g,"").concat("\r\n\r\n"));var t}function i(e){return URL.createObjectURL(new Blob([e],{type:"text/vtt"}))}function n(e){const t=new RegExp("Dialogue:\\s\\d,(\\d+:\\d\\d:\\d\\d.\\d\\d),(\\d+:\\d\\d:\\d\\d.\\d\\d),([^,]*),([^,]*),(?:[^,]*,){4}([\\s\\S]*)$","i");function r(e=""){return e.split(/[:.]/).map(((e,t,r)=>{if(t===r.length-1){if(1===e.length)return`.${e}00`;if(2===e.length)return`.${e}0`}else if(1===e.length)return(0===t?"0":":0")+e;return 0===t?e:t===r.length-1?`.${e}`:`:${e}`})).join("")}return`WEBVTT\n\n${e.split(/\r?\n/).map((e=>{const o=e.match(t);return o?{start:r(o[1].trim()),end:r(o[2].trim()),text:o[5].replace(/{[\s\S]*?}/g,"").replace(/(\\N)/g,"\n").trim().split(/\r?\n/).map((e=>e.trim())).join("\n")}:null})).filter((e=>e)).map(((e,t)=>e?`${t+1}\n${e.start} --\x3e ${e.end}\n${e.text}`:"")).filter((e=>e.trim())).join("\n\n")}`}o.defineInteropFlag(r),o.export(r,"srtToVtt",(()=>a)),o.export(r,"vttToBlob",(()=>i)),o.export(r,"assToVtt",(()=>n))},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"6b7Ip":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");function a(e){return e.includes("?")?a(e.split("?")[0]):e.includes("#")?a(e.split("#")[0]):e.trim().toLowerCase().split(".").pop()}function i(e,t){const r=document.createElement("a");r.style.display="none",r.href=e,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r)}o.defineInteropFlag(r),o.export(r,"getExt",(()=>a)),o.export(r,"download",(()=>i))},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"5NSdr":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"def",(()=>a)),o.export(r,"has",(()=>n)),o.export(r,"get",(()=>s)),o.export(r,"mergeDeep",(()=>l));const a=Object.defineProperty,{hasOwnProperty:i}=Object.prototype;function n(e,t){return i.call(e,t)}function s(e,t){return Object.getOwnPropertyDescriptor(e,t)}function l(...e){const t=e=>e&&"object"==typeof e&&!Array.isArray(e);return e.reduce(((e,r)=>(Object.keys(r).forEach((o=>{const a=e[o],i=r[o];Array.isArray(a)&&Array.isArray(i)?e[o]=a.concat(...i):!t(a)||!t(i)||i instanceof Element?e[o]=i:e[o]=l(a,i)})),e)),{})}},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],epmNy:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");function a(e=0){return new Promise((t=>setTimeout(t,e)))}function i(e,t,r){let o;function a(...a){clearTimeout(o),o=setTimeout((function(){o=null,e.apply(r,a)}),t)}return a.clearTimeout=function(){clearTimeout(o)},a}function n(e,t){let r,o,a=!1;return function i(...n){if(a)return r=n,void(o=this);a=!0,e.apply(this,n),setTimeout((()=>{a=!1,r&&(i.apply(o,r),r=null,o=null)}),t)}}o.defineInteropFlag(r),o.export(r,"sleep",(()=>a)),o.export(r,"debounce",(()=>i)),o.export(r,"throttle",(()=>n))},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],gapRl:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");function a(e,t,r){return Math.max(Math.min(e,Math.max(t,r)),Math.min(t,r))}function i(e){return e.charAt(0).toUpperCase()+e.slice(1)}function n(e){return["string","number"].includes(typeof e)}function s(e){const t=Math.floor(e/3600),r=Math.floor((e-3600*t)/60),o=Math.floor(e-3600*t-60*r);return(t>0?[t,r,o]:[r,o]).map((e=>e<10?`0${e}`:String(e))).join(":")}function l(e){return e.replace(/[&<>'"]/g,(e=>({"&":"&","<":"<",">":">","'":"'",'"':"""}[e]||e)))}o.defineInteropFlag(r),o.export(r,"clamp",(()=>a)),o.export(r,"capitalize",(()=>i)),o.export(r,"isStringOrNumber",(()=>n)),o.export(r,"secondToTime",(()=>s)),o.export(r,"escape",(()=>l))},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],AKEiO:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"ComponentOption",(()=>d));var a=e("../utils");const i="array",n="boolean",s="string",l="number",c="object",p="function";function u(e,t,r){return(0,a.errorHandle)(t===s||t===l||e instanceof Element,`${r.join(".")} require '${s}' or 'Element' type`)}const d={html:u,disable:`?${n}`,name:`?${s}`,index:`?${l}`,style:`?${c}`,click:`?${p}`,mounted:`?${p}`,tooltip:`?${s}|${l}`,width:`?${l}`,selector:`?${i}`,onSelect:`?${p}`,switch:`?${n}`,onSwitch:`?${p}`,range:`?${i}`,onRange:`?${p}`,onChange:`?${p}`};r.default={id:s,container:u,url:s,poster:s,title:s,type:s,theme:s,lang:s,volume:l,isLive:n,muted:n,autoplay:n,autoSize:n,autoMini:n,loop:n,flip:n,playbackRate:n,aspectRatio:n,screenshot:n,setting:n,hotkey:n,pip:n,mutex:n,backdrop:n,fullscreen:n,fullscreenWeb:n,subtitleOffset:n,miniProgressBar:n,useSSR:n,playsInline:n,lock:n,fastForward:n,autoPlayback:n,autoOrientation:n,airplay:n,plugins:[p],whitelist:[`${s}|${p}|regexp`],layers:[d],contextmenu:[d],settings:[d],controls:[{...d,position:(e,t,r)=>{const o=["top","left","right"];return(0,a.errorHandle)(o.includes(e),`${r.join(".")} only accept ${o.toString()} as parameters`)}}],quality:[{default:`?${n}`,html:s,url:s}],highlight:[{time:l,text:s}],thumbnails:{url:s,number:l,column:l,width:l,height:l},subtitle:{url:s,type:s,style:c,escape:n,encoding:s,onVttLoad:p},moreVideoAttr:c,i18n:c,icons:c,customType:c}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],lyjeQ:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r),r.default={propertys:["audioTracks","autoplay","buffered","controller","controls","crossOrigin","currentSrc","currentTime","defaultMuted","defaultPlaybackRate","duration","ended","error","loop","mediaGroup","muted","networkState","paused","playbackRate","played","preload","readyState","seekable","seeking","src","startDate","textTracks","videoTracks","volume"],methods:["addTextTrack","canPlayType","load","play","pause"],events:["abort","canplay","canplaythrough","durationchange","emptied","ended","error","loadeddata","loadedmetadata","loadstart","pause","play","playing","progress","ratechange","seeked","seeking","stalled","suspend","timeupdate","volumechange","waiting"],prototypes:["width","height","videoWidth","videoHeight","poster","webkitDecodedFrameCount","webkitDroppedFrameCount","playsInline","webkitSupportsFullscreen","webkitDisplayingFullscreen","onenterpictureinpicture","onleavepictureinpicture","disablePictureInPicture","cancelVideoFrameCallback","requestVideoFrameCallback","getVideoPlaybackQuality","requestPictureInPicture","webkitEnterFullScreen","webkitEnterFullscreen","webkitExitFullScreen","webkitExitFullscreen"]}},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"9L0ao":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("./utils");r.default=class{constructor(e){this.art=e}get state(){const{option:e,constructor:{kindOf:t}}=this.art;return!o.isMobile||!e.whitelist.length||e.whitelist.some((e=>{switch(t(e)){case"string":return"*"===e||o.userAgent.indexOf(e)>-1;case"function":return e(o.userAgent);case"regexp":return e.test(o.userAgent);default:return!1}}))}}},{"./utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],X13Zf:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("./utils");class a{constructor(e){this.art=e;const{option:t,constructor:r,whitelist:a}=e;t.container instanceof Element?this.$container=t.container:(this.$container=(0,o.query)(t.container),(0,o.errorHandle)(this.$container,`No container element found by ${t.container}`));const i=this.$container.tagName.toLowerCase();(0,o.errorHandle)("div"===i,`Unsupported container element type, only support 'div' but got '${i}'`),(0,o.errorHandle)(r.instances.every((e=>e.template.$container!==this.$container)),"Cannot mount multiple instances on the same dom element"),this.query=this.query.bind(this),this.$container.dataset.artId=e.id,this.$original=this.$container.cloneNode(!0),a.state?this.desktop():this.mobile()}static get html(){return''}query(e){return(0,o.query)(e,this.$container)}desktop(){const{option:e}=this.art;e.useSSR||(this.$container.innerHTML=a.html),this.$player=this.query(".art-video-player"),this.$video=this.query(".art-video"),this.$track=this.query("track"),this.$poster=this.query(".art-poster"),this.$subtitle=this.query(".art-subtitle"),this.$danmuku=this.query(".art-danmuku"),this.$bottom=this.query(".art-bottom"),this.$progress=this.query(".art-progress"),this.$controls=this.query(".art-controls"),this.$controlsLeft=this.query(".art-controls-left"),this.$controlsCenter=this.query(".art-controls-center"),this.$controlsRight=this.query(".art-controls-right"),this.$layer=this.query(".art-layers"),this.$loading=this.query(".art-loading"),this.$notice=this.query(".art-notice"),this.$noticeInner=this.query(".art-notice-inner"),this.$mask=this.query(".art-mask"),this.$state=this.query(".art-state"),this.$setting=this.query(".art-settings"),this.$info=this.query(".art-info"),this.$infoPanel=this.query(".art-info-panel"),this.$infoClose=this.query(".art-info-close"),this.$miniHeader=this.query(".art-mini-header"),this.$miniTitle=this.query(".art-mini-title"),this.$miniClose=this.query(".art-mini-close"),this.$contextmenu=this.query(".art-contextmenus"),e.backdrop&&((0,o.addClass)(this.$setting,"art-backdrop-filter"),(0,o.addClass)(this.$contextmenu,"art-backdrop-filter"),(0,o.addClass)(this.$info,"art-backdrop-filter")),o.isMobile&&(0,o.addClass)(this.$player,"art-mobile")}mobile(){this.$container.innerHTML='',this.$player=this.query(".art-video-player"),this.$video=this.query(".art-video")}destroy(e){e?(0,o.replaceElement)(this.$original,this.$container):(0,o.addClass)(this.$player,"art-destroy")}}r.default=a},{"./utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"3jKkj":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r);var a=e("../utils"),i=e("./zh-cn.json"),n=o.interopDefault(i),s=e("./zh-tw.json"),l=o.interopDefault(s),c=e("./pl.json"),p=o.interopDefault(c),u=e("./cs.json"),d=o.interopDefault(u),f=e("./es.json"),h=o.interopDefault(f),m=e("./fa.json"),g=o.interopDefault(m),y=e("./fr.json"),v=o.interopDefault(y),b=e("./id.json"),x=o.interopDefault(b),w=e("./ru.json"),j=o.interopDefault(w);r.default=class{constructor(e){this.art=e,this.languages={"zh-cn":n.default,"zh-tw":l.default,pl:p.default,cs:d.default,es:h.default,fa:g.default,fr:v.default,id:x.default,ru:j.default},this.update(e.option.i18n)}init(){const e=this.art.option.lang.toLowerCase();this.language=this.languages[e]||{}}get(e){return this.language[e]||e}update(e){this.languages=(0,a.mergeDeep)(this.languages,e),this.init()}}},{"../utils":"71aH7","./zh-cn.json":"lNQi5","./zh-tw.json":"eRpom","./pl.json":"iEpPa","./cs.json":"dBgp3","./es.json":"dNIrL","./fa.json":"7Plhe","./fr.json":"kGNjI","./id.json":"6MQTw","./ru.json":"7LASr","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],lNQi5:[function(e,t,r){t.exports=JSON.parse('{"Video Info":"统计信息","Close":"关闭","Video Load Failed":"加载失败","Volume":"音量","Play":"播放","Pause":"暂停","Rate":"速度","Mute":"静音","Video Flip":"画面翻转","Horizontal":"水平","Vertical":"垂直","Reconnect":"重新连接","Show Setting":"显示设置","Hide Setting":"隐藏设置","Screenshot":"截图","Play Speed":"播放速度","Aspect Ratio":"画面比例","Default":"默认","Normal":"正常","Open":"打开","Switch Video":"切换","Switch Subtitle":"切换字幕","Fullscreen":"全屏","Exit Fullscreen":"退出全屏","Web Fullscreen":"网页全屏","Exit Web Fullscreen":"退出网页全屏","Mini Player":"迷你播放器","PIP Mode":"开启画中画","Exit PIP Mode":"退出画中画","PIP Not Supported":"不支持画中画","Fullscreen Not Supported":"不支持全屏","Subtitle Offset":"字幕偏移","Last Seen":"上次看到","Jump Play":"跳转播放","AirPlay":"隔空播放","AirPlay Not Available":"隔空播放不可用"}')},{}],eRpom:[function(e,t,r){t.exports=JSON.parse('{"Video Info":"統計訊息","Close":"關閉","Video Load Failed":"載入失敗","Volume":"音量","Play":"播放","Pause":"暫停","Rate":"速度","Mute":"靜音","Video Flip":"畫面翻轉","Horizontal":"水平","Vertical":"垂直","Reconnect":"重新連接","Show Setting":"顯示设置","Hide Setting":"隱藏设置","Screenshot":"截圖","Play Speed":"播放速度","Aspect Ratio":"畫面比例","Default":"默認","Normal":"正常","Open":"打開","Switch Video":"切換","Switch Subtitle":"切換字幕","Fullscreen":"全屏","Exit Fullscreen":"退出全屏","Web Fullscreen":"網頁全屏","Exit Web Fullscreen":"退出網頁全屏","Mini Player":"迷你播放器","PIP Mode":"開啟畫中畫","Exit PIP Mode":"退出畫中畫","PIP Not Supported":"不支持畫中畫","Fullscreen Not Supported":"不支持全屏","Subtitle Offset":"字幕偏移","Last Seen":"上次看到","Jump Play":"跳轉播放","AirPlay":"隔空播放","AirPlay Not Available":"隔空播放不可用"}')},{}],iEpPa:[function(e,t,r){t.exports=JSON.parse('{"Video Info":"Informacje o wideo","Close":"Zamknij","Video Load Failed":"Błąd ładowania wideo","Volume":"Głośność","Play":"Odtwórz","Pause":"Wstrzymaj","Rate":"Oceń","Mute":"Wycisz","Video Flip":"Rotacja wideo","Horizontal":"Pozioma","Vertical":"Pionowa","Reconnect":"Połącz ponownie","Show Setting":"Pokaż ustawienia","Hide Setting":"Ukryj ustawienia","Screenshot":"Zrzut ekranu","Play Speed":"Prędkość odtwarzania","Aspect Ratio":"Współczynnik proporcji","Default":"Domyślny","Normal":"Normalny","Open":"Otwórz","Switch Video":"Przełącz wideo","Switch Subtitle":"Przełącz napisy","Fullscreen":"Pełny ekran","Exit Fullscreen":"Zamknij pełny ekran","Web Fullscreen":"Tryb pełnej strony","Exit Web Fullscreen":"Zamknij tryb pełnej strony","Mini Player":"Miniodtwarzacz","PIP Mode":"Tryb PiP","Exit PIP Mode":"Zamknij tryb PiP","PIP Not Supported":"Tryb PiP nieobsługiwany","Fullscreen Not Supported":"Pełny ekran nieobsługiwany","Subtitle Offset":"Przesunięcie napisów","Last Seen":"Ostatnio widziany","Jump Play":"Skocz do gry","AirPlay":"AirPlay","AirPlay Not Available":"AirPlay nie jest dostępny"}')},{}],dBgp3:[function(e,t,r){t.exports=JSON.parse('{"Video Info":"Info o videu","Close":"Zavřít","Video Load Failed":"Nahrání videa selhalo","Volume":"Hlasitost","Play":"Přehrát","Pause":"Pozastavit","Rate":"Hodnocení","Mute":"Ztlumit","Video Flip":"Otočit video","Horizontal":"Horizontálně","Vertical":"Vertikálně","Reconnect":"Opětovné připojení","Show Setting":"Zobrazit nastavení","Hide Setting":"Skrýt nastavení","Screenshot":"Snímek obrazovky","Play Speed":"Rychlost přehrávání","Aspect Ratio":"Poměr stran","Default":"Výchozí","Normal":"Normální","Open":"Otevřít","Switch Video":"Přepnout video","Switch Subtitle":"Přepnout titulky","Fullscreen":"Celá obrazovka","Exit Fullscreen":"Opustit režim celé obrazovky","Web Fullscreen":"Celá stránka","Exit Web Fullscreen":"Zavřít režim celé stránky","Mini Player":"Mini přehrávač","PIP Mode":"Režim PIP","Exit PIP Mode":"Opustit režim PIP","PIP Not Supported":"Režim PIP není podporován","Fullscreen Not Supported":"Režim celé obrazovky není podporován","Subtitle Offset":"Posun titulků","Last Seen":"Naposledy viděn","Jump Play":"Hra na skok","AirPlay":"AirPlay","AirPlay Not Available":"AirPlay není k dispozici"}')},{}],dNIrL:[function(e,t,r){t.exports=JSON.parse('{"Video Info":"Información del video","Close":"Cerrar","Video Load Failed":"Falló carga de video","Volume":"Volumen","Play":"Reproduciendo","Pause":"Pausa","Rate":"Velocidad","Mute":"Silencio","Video Flip":"Rotar video","Horizontal":"Horizontal","Vertical":"Vertical","Reconnect":"Reconectando","Show Setting":"Mostrar ajustes","Hide Setting":"Ocultar ajustes","Screenshot":"Captura de Pantalla","Play Speed":"Velocidad de reproducción","Aspect Ratio":"Relación de aspecto","Default":"Por defecto","Normal":"Normal","Open":"Abrir","Switch Video":"Cambiar video","Switch Subtitle":"Cambiar subtítulo","Fullscreen":"Pantalla completa","Exit Fullscreen":"Salir de Pantalla completa","Web Fullscreen":"Pantalla completa Web","Exit Web Fullscreen":"Salir de Pantalla completa","Mini Player":"Mini reproductor","PIP Mode":"Modo PiP","Exit PIP Mode":"Cerrar modo PiP","PIP Not Supported":"Modo PiP no compatible","Fullscreen Not Supported":"Pantalla completa no soportada","Subtitle Offset":"Ajuste subtítulo","Last Seen":"Visto última vez","Jump Play":"Saltar","AirPlay":"AirPlay","AirPlay Not Available":"AirPlay no disponible"}')},{}],"7Plhe":[function(e,t,r){t.exports=JSON.parse('{"Video Info":"اطلاعات ویدیو","Close":"بستن","Video Load Failed":"بارگذاری ناموفق","Play":"پخش","Volume":"میزان صدا","Pause":"توقف","Rate":"نرخ","Mute":"سکوت","Video Flip":"چرخش تصویر","Horizontal":"افقی","Vertical":"عمودی","Reconnect":"اتصال مجدد","Show Setting":"تنظیمات","Hide Setting":"بستن تنظیمات","Screenshot":"عکس از صفحه","Play Speed":"سرعت پخش","Aspect Ratio":"نسبت تصویر","Default":"حالت پیشفرض","Normal":" حالت عادی","Open":"بازکردن","Switch Video":"تغییر ویدیو","Switch Subtitle":"نغییر زیرنویس","Fullscreen":"تمام صفحه","Exit Fullscreen":"کوچک کردن","Web Fullscreen":"حالت تئاتر","Exit Web Fullscreen":"خروج از حالت تئاتر","Mini Player":"حالت پخش کوچک","PIP Mode":" مینی پلیر","Exit PIP Mode":"خروج از مینی پلیر","PIP Not Supported":"عدم پشتیبانی از مینی پلیر","Fullscreen Not Supported":"عدم پشتیبانی از حالت تمام صفحه","Subtitle Offset":"افست زیرنویس","Last Seen":"آخرین بازدید","Jump Play":"جامپ پلی","AirPlay":"ایر پلی","AirPlay Not Available":"عدم پشتیبانی از ایرپلی"}')},{}],kGNjI:[function(e,t,r){t.exports=JSON.parse('{"Video Info":"Informations de la vidéo","Close":"Fermer","Video Load Failed":"Téléchargement de la vidéo échoué","Volume":"Volume","Play":"Lire","Pause":"Pause","Rate":"Vitesse","Mute":"Muet","Video Flip":"Rotation de la vidéo","Horizontal":"Horizontal","Vertical":"Vertical","Reconnect":"Reconnexion","Show Setting":"Afficher les paramètres","Hide Setting":"Cacher les paramètres","Screenshot":"Capture d\'écran","Play Speed":"Vitesse de lecture","Aspect Ratio":"Rapport d\'aspect","Default":"Défaut","Normal":"Normal","Open":"Ouvrir","Switch Video":"Basculer la vidéo","Switch Subtitle":"Basculer le sous-titre","Fullscreen":"Plein écran","Exit Fullscreen":"Quitter le plein écran","Web Fullscreen":"Plein écran Web","Exit Web Fullscreen":"Quitter le plein écran Web","Mini Player":"Mini lecteur","PIP Mode":"Mode PiP","Exit PIP Mode":"Fermer le mode PiP","PIP Not Supported":"Mode PiP non supporté","Fullscreen Not Supported":"Plein écran non supporté","Subtitle Offset":"Réglage des sous-titres","Last Seen":"Dernière position","Jump Play":"Continuer","AirPlay":"AirPlay","AirPlay Not Available":"AirPlay non disponible"}')},{}],"6MQTw":[function(e,t,r){t.exports=JSON.parse('{"Video Info":"Informasi Video","Close":"Tutup","Video Load Failed":"Gagal Memuat Video","Volume":"Volume","Play":"Putar","Pause":"Jeda","Rate":"Kecepatan","Mute":"Senyap","Video Flip":"Memutar Video","Horizontal":"Horizontal","Vertical":"Vertikal","Reconnect":"Menyambung Kembali","Show Setting":"Tampilkan Pengaturan","Hide Setting":"Sembunyikan Pengaturan","Screenshot":"Tangkapan Layar","Play Speed":"Kecepatan Putar","Aspect Ratio":"Rasio Aspek","Default":"Default","Normal":"Normal","Open":"Buka","Switch Video":"Ganti Video","Switch Subtitle":"Ganti Subtitle","Fullscreen":"Layar Penuh","Exit Fullscreen":"Keluar dari Layar Penuh","Web Fullscreen":"Layar Penuh Web","Exit Web Fullscreen":"Keluar dari Layar Penuh Web","Mini Player":"Pemutar Mini","PIP Mode":"Mode PIP","Exit PIP Mode":"Keluar dari Mode PIP","PIP Not Supported":"PIP Tidak Didukung","Fullscreen Not Supported":"Layar Penuh Tidak Didukung","Subtitle Offset":"Pergeseran Subtitle","Last Seen":"Terakhir Dilihat","Jump Play":"Lompat Putar","AirPlay":"AirPlay","AirPlay Not Available":"AirPlay Tidak Tersedia"}')},{}],"7LASr":[function(e,t,r){t.exports=JSON.parse('{"Video Info":"Информация","Close":"Закрыть","Video Load Failed":"Ошибка загрузки видео","Volume":"Громкость","Play":"Играть","Pause":"Пауза","Rate":"Скорость","Mute":"Заглушить","Video Flip":"Развернуть видео","Horizontal":"Горизонтально","Vertical":"Вертикально","Reconnect":"Переподключенине","Show Setting":"Показать настройки","Hide Setting":"Скрыть настройки","Screenshot":"Скриншот","Play Speed":"Скорость воспроизведения","Aspect Ratio":"Соотношение сторон","Default":"По-умолчанию","Normal":"Нормальный","Open":"Открыть","Switch Video":"Переключить видео","Switch Subtitle":"Переключить субтитры","Fullscreen":"Полноэкранный режим","Exit Fullscreen":"Выход из полноэкранного режима","Web Fullscreen":"На все окно браузера","Exit Web Fullscreen":"Выход из режима полного окна","Mini Player":"Мини проигрыватель","PIP Mode":"Картинка в картинке","Exit PIP Mode":"Закрыть картинку в картинке","PIP Not Supported":"Картинка в картинке не поддерживается","Fullscreen Not Supported":"Полноэкранный режим не поддерживается","Subtitle Offset":"Настройка субтитров","Last Seen":"Последнее просмотренное","Jump Play":"Перейти","AirPlay":"AirPlay","AirPlay Not Available":"AirPlay недоступен"}')},{}],a90nx:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r);var a=e("./urlMix"),i=o.interopDefault(a),n=e("./attrMix"),s=o.interopDefault(n),l=e("./playMix"),c=o.interopDefault(l),p=e("./pauseMix"),u=o.interopDefault(p),d=e("./toggleMix"),f=o.interopDefault(d),h=e("./seekMix"),m=o.interopDefault(h),g=e("./volumeMix"),y=o.interopDefault(g),v=e("./currentTimeMix"),b=o.interopDefault(v),x=e("./durationMix"),w=o.interopDefault(x),j=e("./switchMix"),k=o.interopDefault(j),S=e("./playbackRateMix"),I=o.interopDefault(S),P=e("./aspectRatioMix"),C=o.interopDefault(P),$=e("./screenshotMix"),E=o.interopDefault($),T=e("./fullscreenMix"),M=o.interopDefault(T),F=e("./fullscreenWebMix"),A=o.interopDefault(F),H=e("./pipMix"),z=o.interopDefault(H),D=e("./loadedMix"),R=o.interopDefault(D),O=e("./playedMix"),L=o.interopDefault(O),V=e("./playingMix"),N=o.interopDefault(V),Y=e("./autoSizeMix"),_=o.interopDefault(Y),W=e("./rectMix"),B=o.interopDefault(W),q=e("./flipMix"),U=o.interopDefault(q),Z=e("./miniMix"),G=o.interopDefault(Z),K=e("./loopMix"),J=o.interopDefault(K),X=e("./posterMix"),Q=o.interopDefault(X),ee=e("./autoHeightMix"),te=o.interopDefault(ee),re=e("./themeMix"),oe=o.interopDefault(re),ae=e("./titleMix"),ie=o.interopDefault(ae),ne=e("./typeMix"),se=o.interopDefault(ne),le=e("./normalSizeMix"),ce=o.interopDefault(le),pe=e("./subtitleOffsetMix"),ue=o.interopDefault(pe),de=e("./airplayMix"),fe=o.interopDefault(de),he=e("./optionInit"),me=o.interopDefault(he),ge=e("./eventInit"),ye=o.interopDefault(ge);r.default=class{constructor(e){(0,i.default)(e),(0,s.default)(e),(0,c.default)(e),(0,u.default)(e),(0,f.default)(e),(0,m.default)(e),(0,y.default)(e),(0,b.default)(e),(0,w.default)(e),(0,k.default)(e),(0,I.default)(e),(0,C.default)(e),(0,E.default)(e),(0,M.default)(e),(0,A.default)(e),(0,z.default)(e),(0,R.default)(e),(0,L.default)(e),(0,N.default)(e),(0,_.default)(e),(0,B.default)(e),(0,U.default)(e),(0,G.default)(e),(0,J.default)(e),(0,Q.default)(e),(0,te.default)(e),(0,oe.default)(e),(0,ie.default)(e),(0,se.default)(e),(0,ce.default)(e),(0,ue.default)(e),(0,fe.default)(e),(0,ye.default)(e),(0,me.default)(e)}}},{"./urlMix":"kQoac","./attrMix":"deCma","./playMix":"fOJuP","./pauseMix":"fzHAy","./toggleMix":"cBHxQ","./seekMix":"koAPr","./volumeMix":"6eyuR","./currentTimeMix":"faaWv","./durationMix":"5y91K","./switchMix":"iceD8","./playbackRateMix":"keKwh","./aspectRatioMix":"jihET","./screenshotMix":"36kPY","./fullscreenMix":"2GYOJ","./fullscreenWebMix":"5aYAP","./pipMix":"7EnIB","./loadedMix":"3N9mP","./playedMix":"et96R","./playingMix":"9DzzM","./autoSizeMix":"i1LDY","./rectMix":"IqARI","./flipMix":"7E7Vs","./miniMix":"gpugx","./loopMix":"f1hVG","./posterMix":"1SuFS","./autoHeightMix":"8x4te","./themeMix":"2FqhO","./titleMix":"7Am53","./typeMix":"1fQQs","./normalSizeMix":"ePkBr","./subtitleOffsetMix":"6vlBV","./airplayMix":"eftqT","./optionInit":"fCWZK","./eventInit":"f8Lv3","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],kQoac:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{option:t,template:{$video:r}}=e;(0,o.def)(e,"url",{get:()=>r.currentSrc,async set(a){if(a){const i=t.type||(0,o.getExt)(a),n=t.customType[i];i&&n?(await(0,o.sleep)(),e.loading.show=!0,n.call(e,r,a,e)):(e.url&&e.url!==a&&e.once("video:canplay",(()=>{e.isReady&&e.emit("restart")})),r.src=a,e.option.url=a,e.emit("url",a))}else await(0,o.sleep)(),e.loading.show=!0}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],deCma:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{template:{$video:t}}=e;(0,o.def)(e,"attr",{value(e,r){if(void 0===r)return t[e];t[e]=r}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],fOJuP:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{i18n:t,notice:r,option:a,constructor:{instances:i},template:{$video:n}}=e;(0,o.def)(e,"play",{value:async function(){const o=await n.play();if(r.show=t.get("Play"),e.emit("play"),a.mutex)for(let t=0;te.playing?e.pause():e.play()})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],koAPr:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{notice:t}=e;(0,o.def)(e,"seek",{set(r){e.currentTime=r,e.emit("seek",e.currentTime),e.duration&&(t.show=`${(0,o.secondToTime)(e.currentTime)} / ${(0,o.secondToTime)(e.duration)}`)}}),(0,o.def)(e,"forward",{set(t){e.seek=e.currentTime+t}}),(0,o.def)(e,"backward",{set(t){e.seek=e.currentTime-t}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"6eyuR":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{template:{$video:t},i18n:r,notice:a,storage:i}=e;(0,o.def)(e,"volume",{get:()=>t.volume||0,set:e=>{t.volume=(0,o.clamp)(e,0,1),a.show=`${r.get("Volume")}: ${parseInt(100*t.volume,10)}`,0!==t.volume&&i.set("volume",t.volume)}}),(0,o.def)(e,"muted",{get:()=>t.muted,set:e=>{t.muted=e}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],faaWv:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{$video:t}=e.template;(0,o.def)(e,"currentTime",{get:()=>t.currentTime||0,set:r=>{r=parseFloat(r),Number.isNaN(r)||(t.currentTime=(0,o.clamp)(r,0,e.duration))}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"5y91K":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){(0,o.def)(e,"duration",{get:()=>{const{duration:t}=e.template.$video;return t===1/0?0:t||0}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],iceD8:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{i18n:t,option:r,notice:a}=e;function i(o,i,n){return new Promise((s=>{if(o===e.url)return s(o);const{playing:l}=e;e.pause(),URL.revokeObjectURL(e.url),e.url=o,e.once("video:canplay",(()=>{e.playbackRate=!1,e.aspectRatio=!1,e.flip="normal",e.autoSize=r.autoSize,e.currentTime=n,e.notice.show="",l&&e.play(),i&&(a.show=`${t.get("Switch Video")}: ${i}`),s(o)}))}))}(0,o.def)(e,"switchQuality",{value:(t,r)=>i(t,r,e.currentTime)}),(0,o.def)(e,"switchUrl",{value:(e,t)=>i(e,t,0)})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],keKwh:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{template:{$video:t},i18n:r,notice:a}=e;(0,o.def)(e,"playbackRate",{get:()=>t.playbackRate,set(o){if(o){if(o===t.playbackRate)return;t.playbackRate=o,a.show=`${r.get("Rate")}: ${1===o?r.get("Normal"):`${o}x`}`}else e.playbackRate=1}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],jihET:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{template:{$video:t,$player:r},i18n:a,notice:i}=e;(0,o.def)(e,"aspectRatio",{get:()=>r.dataset.aspectRatio||"default",set(n){if(n||(n="default"),"default"===n)(0,o.setStyle)(t,"width",null),(0,o.setStyle)(t,"height",null),(0,o.setStyle)(t,"padding",null),delete r.dataset.aspectRatio;else{const e=n.split(":").map(Number),{videoWidth:a,videoHeight:i}=t,{clientWidth:s,clientHeight:l}=r,c=a/i,p=e[0]/e[1];if(c>p){const e=p*i/a;(0,o.setStyle)(t,"width",100*e+"%"),(0,o.setStyle)(t,"height","100%"),(0,o.setStyle)(t,"padding",`0 ${(s-s*e)/2}px`)}else{const e=a/p/i;(0,o.setStyle)(t,"width","100%"),(0,o.setStyle)(t,"height",100*e+"%"),(0,o.setStyle)(t,"padding",(l-l*e)/2+"px 0")}r.dataset.aspectRatio=n}i.show=`${a.get("Aspect Ratio")}: ${"default"===n?a.get("Default"):n}`,e.emit("aspectRatio",n)}}),(0,o.def)(e,"aspectRatioReset",{set(t){if(t){const{aspectRatio:t}=e;e.aspectRatio=t}}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"36kPY":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{option:t,notice:r,template:{$video:a}}=e,i=(0,o.createElement)("canvas");(0,o.def)(e,"getDataURL",{value:()=>new Promise(((e,t)=>{try{i.width=a.videoWidth,i.height=a.videoHeight,i.getContext("2d").drawImage(a,0,0),e(i.toDataURL("image/png"))}catch(e){r.show=e,t(e)}}))}),(0,o.def)(e,"getBlobUrl",{value:()=>new Promise(((e,t)=>{try{i.width=a.videoWidth,i.height=a.videoHeight,i.getContext("2d").drawImage(a,0,0),i.toBlob((t=>{e(URL.createObjectURL(t))}))}catch(e){r.show=e,t(e)}}))}),(0,o.def)(e,"screenshot",{value:async()=>{const r=await e.getDataURL();return(0,o.download)(r,`${t.title||"artplayer"}_${(0,o.secondToTime)(a.currentTime)}.png`),e.emit("screenshot",r),r}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"2GYOJ":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r);var a=e("../libs/screenfull"),i=o.interopDefault(a),n=e("../utils");r.default=function(e){const{i18n:t,notice:r,template:{$video:o,$player:a}}=e;e.once("video:loadedmetadata",(()=>{i.default.isEnabled?(e=>{i.default.on("change",(()=>{e.emit("fullscreen",i.default.isFullscreen)})),(0,n.def)(e,"fullscreen",{get:()=>i.default.isFullscreen,async set(t){t?(e.normalSize="fullscreen",e.aspectRatioReset=!0,e.autoSize=!1,await i.default.request(a),(0,n.addClass)(a,"art-fullscreen"),e.emit("resize"),r.show=""):(e.aspectRatioReset=!0,e.autoSize=e.option.autoSize,await i.default.exit(),(0,n.removeClass)(a,"art-fullscreen"),e.emit("resize"),r.show="")}})})(e):document.fullscreenEnabled||o.webkitSupportsFullscreen?(e=>{(0,n.def)(e,"fullscreen",{get:()=>o.webkitDisplayingFullscreen,set(t){t?(e.normalSize="fullscreen",o.webkitEnterFullscreen(),e.emit("fullscreen",!0),r.show=""):(o.webkitExitFullscreen(),e.emit("fullscreen",!1),r.show="")}})})(e):(0,n.def)(e,"fullscreen",{get:()=>!1,set(){r.show=t.get("Fullscreen Not Supported")}}),(0,n.def)(e,"fullscreen",(0,n.get)(e,"fullscreen"))}))}},{"../libs/screenfull":"8v40z","../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"8v40z":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);const o=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],a=(()=>{if("undefined"==typeof document)return!1;const e=o[0],t={};for(const r of o){if(r[1]in document){for(const[o,a]of r.entries())t[e[o]]=a;return t}}return!1})(),i={change:a.fullscreenchange,error:a.fullscreenerror};let n={request:(e=document.documentElement,t)=>new Promise(((r,o)=>{const i=()=>{n.off("change",i),r()};n.on("change",i);const s=e[a.requestFullscreen](t);s instanceof Promise&&s.then(i).catch(o)})),exit:()=>new Promise(((e,t)=>{if(!n.isFullscreen)return void e();const r=()=>{n.off("change",r),e()};n.on("change",r);const o=document[a.exitFullscreen]();o instanceof Promise&&o.then(r).catch(t)})),toggle:(e,t)=>n.isFullscreen?n.exit():n.request(e,t),onchange(e){n.on("change",e)},onerror(e){n.on("error",e)},on(e,t){const r=i[e];r&&document.addEventListener(r,t,!1)},off(e,t){const r=i[e];r&&document.removeEventListener(r,t,!1)},raw:a};Object.defineProperties(n,{isFullscreen:{get:()=>Boolean(document[a.fullscreenElement])},element:{enumerable:!0,get:()=>document[a.fullscreenElement]},isEnabled:{enumerable:!0,get:()=>Boolean(document[a.fullscreenEnabled])}}),a||(n={isEnabled:!1}),r.default=n},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"5aYAP":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{notice:t,constructor:r,template:{$container:a,$player:i}}=e;(0,o.def)(e,"fullscreenWeb",{get:()=>(0,o.hasClass)(i,"art-fullscreen-web"),set(n){n?(r.FULLSCREEN_WEB_IN_BODY&&(0,o.append)(document.body,i),e.normalSize="fullscreenWeb",(0,o.addClass)(i,"art-fullscreen-web"),e.aspectRatioReset=!0,e.autoSize=!1,e.emit("resize"),e.emit("fullscreenWeb",!0),t.show=""):(r.FULLSCREEN_WEB_IN_BODY&&(0,o.append)(a,i),(0,o.removeClass)(i,"art-fullscreen-web"),e.aspectRatioReset=!0,e.autoSize=e.option.autoSize,e.emit("resize"),e.emit("fullscreenWeb",!1),t.show="")}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"7EnIB":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{i18n:t,notice:r,template:{$video:a}}=e;document.pictureInPictureEnabled?function(e){const{template:{$video:t},proxy:r,notice:a}=e;t.disablePictureInPicture=!1,(0,o.def)(e,"pip",{get:()=>document.pictureInPictureElement,set(r){r?(e.normalSize="pip",t.requestPictureInPicture().catch((e=>{throw a.show=e,e}))):document.exitPictureInPicture().catch((e=>{throw a.show=e,e}))}}),r(t,"enterpictureinpicture",(()=>{e.emit("pip",!0)})),r(t,"leavepictureinpicture",(()=>{e.emit("pip",!1)}))}(e):a.webkitSupportsPresentationMode?function(e){const{$video:t}=e.template;t.webkitSetPresentationMode("inline"),(0,o.def)(e,"pip",{get:()=>"picture-in-picture"===t.webkitPresentationMode,set(r){r?(e.normalSize="pip",t.webkitSetPresentationMode("picture-in-picture"),e.emit("pip",!0)):(t.webkitSetPresentationMode("inline"),e.emit("pip",!1))}})}(e):(0,o.def)(e,"pip",{get:()=>!1,set(){r.show=t.get("PIP Not Supported")}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"3N9mP":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{$video:t}=e.template;(0,o.def)(e,"loaded",{get:()=>e.loadedTime/t.duration}),(0,o.def)(e,"loadedTime",{get:()=>t.buffered.length?t.buffered.end(t.buffered.length-1):0})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],et96R:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){(0,o.def)(e,"played",{get:()=>e.currentTime/e.duration})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"9DzzM":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{$video:t}=e.template;(0,o.def)(e,"playing",{get:()=>!!(t.currentTime>0&&!t.paused&&!t.ended&&t.readyState>2)})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],i1LDY:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{$container:t,$player:r,$video:a}=e.template;(0,o.def)(e,"autoSize",{get:()=>(0,o.hasClass)(t,"art-auto-size"),set(i){if(i){const{videoWidth:i,videoHeight:n}=a,{width:s,height:l}=t.getBoundingClientRect(),c=i/n,p=s/l;if((0,o.addClass)(t,"art-auto-size"),p>c){const e=l*c/s*100;(0,o.setStyle)(r,"width",`${e}%`),(0,o.setStyle)(r,"height","100%")}else{const e=s/c/l*100;(0,o.setStyle)(r,"width","100%"),(0,o.setStyle)(r,"height",`${e}%`)}e.emit("autoSize",{width:e.width,height:e.height})}else(0,o.removeClass)(t,"art-auto-size"),(0,o.setStyle)(r,"width",null),(0,o.setStyle)(r,"height",null),e.emit("autoSize")}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],IqARI:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){(0,o.def)(e,"rect",{get:()=>e.template.$player.getBoundingClientRect()});const t=["bottom","height","left","right","top","width"];for(let r=0;re.rect[a]})}(0,o.def)(e,"x",{get:()=>e.left+window.pageXOffset}),(0,o.def)(e,"y",{get:()=>e.top+window.pageYOffset})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"7E7Vs":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{template:{$player:t},i18n:r,notice:a}=e;(0,o.def)(e,"flip",{get:()=>t.dataset.flip||"normal",set(i){i||(i="normal"),"normal"===i?delete t.dataset.flip:t.dataset.flip=i,a.show=`${r.get("Video Flip")}: ${r.get((0,o.capitalize)(i))}`,e.emit("flip",i)}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],gpugx:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{i18n:t,option:r,storage:a,proxy:i,template:{$player:n,$miniClose:s,$miniTitle:l,$miniHeader:c}}=e;let p=!1,u=0,d=0,f=0,h=0;i(c,"mousedown",(t=>{p=!0,u=t.pageX,d=t.pageY,f=e.left,h=e.top})),i(document,"mousemove",(e=>{if(p){(0,o.addClass)(n,"art-is-dragging");const t=h+e.pageY-d,r=f+e.pageX-u;(0,o.setStyle)(n,"top",`${t}px`),(0,o.setStyle)(n,"left",`${r}px`),a.set("top",t),a.set("left",r)}})),i(document,"mouseup",(()=>{p=!1,(0,o.removeClass)(n,"art-is-dragging")})),i(s,"click",(()=>{e.mini=!1,p=!1,(0,o.removeClass)(n,"art-is-dragging")})),(0,o.append)(l,r.title||t.get("Mini Player")),(0,o.def)(e,"mini",{get:()=>(0,o.hasClass)(n,"art-mini"),set(t){if(t){e.normalSize="mini",e.autoSize=!1,(0,o.addClass)(n,"art-mini");const t=a.get("top"),r=a.get("left");if(t&&r)(0,o.setStyle)(n,"top",`${t}px`),(0,o.setStyle)(n,"left",`${r}px`),(0,o.isInViewport)(c)||(a.del("top"),a.del("left"),e.mini=!0);else{const t=window.innerHeight-e.height-50,r=window.innerWidth-e.width-50;a.set("top",t),a.set("left",r),(0,o.setStyle)(n,"top",`${t}px`),(0,o.setStyle)(n,"left",`${r}px`)}e.aspectRatio=!1,e.playbackRate=!1,e.notice.show="",e.emit("mini",!0)}else(0,o.removeClass)(n,"art-mini"),(0,o.setStyle)(n,"top",null),(0,o.setStyle)(n,"left",null),e.aspectRatio=!1,e.playbackRate=!1,e.autoSize=r.autoSize,e.notice.show="",e.emit("mini",!1)}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],f1hVG:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){let t=[];(0,o.def)(e,"loop",{get:()=>t,set:r=>{if(Array.isArray(r)&&"number"==typeof r[0]&&"number"==typeof r[1]){const a=(0,o.clamp)(r[0],0,Math.min(r[1],e.duration)),i=(0,o.clamp)(r[1],a,e.duration);t=i-a>=1?[a,i]:[]}else t=[]}}),e.on("video:timeupdate",(()=>{t.length&&(e.currentTimet[1])&&(e.seek=t[0])}))}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"1SuFS":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{option:t,template:{$poster:r}}=e;(0,o.def)(e,"poster",{get:()=>t.poster,set(e){t.poster=e,(0,o.setStyle)(r,"backgroundImage",`url(${e})`)}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"8x4te":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{option:t,template:{$container:r,$video:a}}=e,i=r.style.height;(0,o.def)(e,"autoHeight",{get:()=>(0,o.hasClass)(r,"art-auto-height"),set(n){if(n){const{clientWidth:i}=r,{videoHeight:n,videoWidth:s}=a,l=n*(i/s);(0,o.setStyle)(r,"height",l+"px"),(0,o.addClass)(r,"art-auto-height"),e.autoSize=t.autoSize,e.emit("autoHeight",l)}else(0,o.setStyle)(r,"height",i),(0,o.removeClass)(r,"art-auto-height"),e.autoSize=t.autoSize,e.emit("autoHeight")}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"2FqhO":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{option:t,template:{$player:r}}=e;(0,o.def)(e,"theme",{get:()=>getComputedStyle(r).getPropertyValue("--theme"),set(e){t.theme=e,r.style.setProperty("--theme",e)}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"7Am53":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){(0,o.def)(e,"title",{get:()=>e.option.title,set(t){e.option.title=t}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"1fQQs":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){(0,o.def)(e,"type",{get:()=>e.option.type,set(t){e.option.type=t}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],ePkBr:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const t=["mini","pip","fullscreen","fullscreenWeb"];(0,o.def)(e,"normalSize",{get:()=>t.every((t=>!e[t])),set(r){t.filter((e=>e!==r)).forEach((t=>{e[t]&&(e[t]=!1)}))}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"6vlBV":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{clamp:t}=e.constructor.utils,{notice:r,template:a,i18n:i}=e;let n=0,s=[];e.on("subtitle:switch",(()=>{s=[]})),(0,o.def)(e,"subtitleOffset",{get:()=>n,set(o){if(a.$track&&a.$track.track){const l=Array.from(a.$track.track.cues);n=t(o,-5,5);for(let r=0;r{switch(e.availability){case"available":n=!0;break;case"not-available":n=!1}})):n=!1,(0,o.def)(e,"airplay",{value(){n?(i.webkitShowPlaybackTargetPicker(),e.emit("airplay")):r.show=t.get("AirPlay Not Available")}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],fCWZK:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{option:t,storage:r,template:{$video:a,$poster:i}}=e;Object.keys(t.moreVideoAttr).forEach((r=>{e.attr(r,t.moreVideoAttr[r])})),t.muted&&(e.muted=t.muted),t.volume&&(a.volume=(0,o.clamp)(t.volume,0,1));const n=r.get("volume");"number"==typeof n&&(a.volume=(0,o.clamp)(n,0,1)),t.poster&&(0,o.setStyle)(i,"backgroundImage",`url(${t.poster})`),t.autoplay&&(a.autoplay=t.autoplay),t.playsInline&&(a.playsInline=!0,a["webkit-playsinline"]=!0),t.theme&&(e.theme=t.theme),e.url=t.url}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],f8Lv3:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r);var a=e("../config"),i=o.interopDefault(a),n=e("../utils");r.default=function(e){const{i18n:t,notice:r,option:o,constructor:a,proxy:s,template:{$player:l,$video:c,$poster:p}}=e;let u=0;for(let t=0;t{e.emit(`video:${t.type}`,t)}));e.on("video:canplay",(()=>{u=0,e.loading.show=!1})),e.once("video:canplay",(()=>{e.loading.show=!1,e.controls.show=!0,e.mask.show=!0,e.isReady=!0,e.emit("ready")})),e.on("video:ended",(()=>{o.loop?(e.seek=0,e.play(),e.controls.show=!1,e.mask.show=!1):(e.controls.show=!0,e.mask.show=!0)})),e.on("video:error",(async i=>{u{e.autoSize=o.autoSize,n.isMobile&&(e.loading.show=!1,e.controls.show=!0,e.mask.show=!0)})),e.on("video:loadstart",(()=>{e.loading.show=!0,e.mask.show=!1,e.controls.show=!0})),e.on("video:pause",(()=>{e.controls.show=!0,e.mask.show=!0})),e.on("video:play",(()=>{e.mask.show=!1,(0,n.setStyle)(p,"display","none")})),e.on("video:playing",(()=>{e.mask.show=!1})),e.on("video:seeked",(()=>{e.loading.show=!1})),e.on("video:seeking",(()=>{e.loading.show=!0,e.mask.show=!1})),e.on("video:timeupdate",(()=>{e.mask.show=!1})),e.on("video:waiting",(()=>{e.loading.show=!0,e.mask.show=!1}))}},{"../config":"lyjeQ","../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"8Z0Uf":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r);var a=e("../utils"),i=e("../utils/component"),n=o.interopDefault(i),s=e("./fullscreen"),l=o.interopDefault(s),c=e("./fullscreenWeb"),p=o.interopDefault(c),u=e("./pip"),d=o.interopDefault(u),f=e("./playAndPause"),h=o.interopDefault(f),m=e("./progress"),g=o.interopDefault(m),y=e("./time"),v=o.interopDefault(y),b=e("./volume"),x=o.interopDefault(b),w=e("./setting"),j=o.interopDefault(w),k=e("./thumbnails"),S=o.interopDefault(k),I=e("./screenshot"),P=o.interopDefault(I),C=e("./quality"),$=o.interopDefault(C),E=e("./loop"),T=o.interopDefault(E),M=e("./airplay"),F=o.interopDefault(M);class A extends n.default{constructor(e){super(e),this.name="control";const{proxy:t,constructor:r,template:{$player:o}}=e;let i=Date.now();t(o,["click","mousemove","touchstart","touchmove"],(()=>{this.show=!0,(0,a.removeClass)(o,"art-hide-cursor"),(0,a.addClass)(o,"art-hover"),i=Date.now()})),e.on("video:timeupdate",(()=>{!e.isInput&&e.playing&&this.show&&Date.now()-i>=r.CONTROL_HIDE_TIME&&(this.show=!1,(0,a.addClass)(o,"art-hide-cursor"),(0,a.removeClass)(o,"art-hover"))})),this.init()}init(){const{option:e}=this.art;e.isLive||this.add((0,g.default)({name:"progress",position:"top",index:10})),!e.thumbnails.url||e.isLive||a.isMobile||this.add((0,S.default)({name:"thumbnails",position:"top",index:20})),this.add((0,T.default)({name:"loop",position:"top",index:30})),this.add((0,h.default)({name:"playAndPause",position:"left",index:10})),this.add((0,x.default)({name:"volume",position:"left",index:20})),e.isLive||this.add((0,v.default)({name:"time",position:"left",index:30})),e.quality.length&&this.add((0,$.default)({name:"quality",position:"right",index:10})),e.screenshot&&!a.isMobile&&this.add((0,P.default)({name:"screenshot",position:"right",index:20})),e.setting&&this.add((0,j.default)({name:"setting",position:"right",index:30})),e.pip&&this.add((0,d.default)({name:"pip",position:"right",index:40})),e.airplay&&window.WebKitPlaybackTargetAvailabilityEvent&&this.add((0,F.default)({name:"airplay",position:"right",index:50})),e.fullscreenWeb&&this.add((0,p.default)({name:"fullscreenWeb",position:"right",index:60})),e.fullscreen&&this.add((0,l.default)({name:"fullscreen",position:"right",index:70}));for(let t=0;tNumber(e.dataset.index)>=Number(o.dataset.index)));return p?p.insertAdjacentElement("beforebegin",o):(0,a.append)(this.$parent,o),t.html&&(0,a.append)(o,t.html),t.style&&(0,a.setStyles)(o,t.style),t.tooltip&&(0,a.tooltip)(o,t.tooltip),t.click&&this.art.events.proxy(o,"click",(e=>{e.preventDefault(),t.click.call(this.art,this,e)})),t.selector&&["left","right"].includes(t.position)&&this.selector(t,o),t.mounted&&t.mounted.call(this.art,o),(0,l.def)(this,r,{value:o}),o}selector(e,t){const{hover:r,proxy:o}=this.art.events;(0,a.addClass)(t,"art-control-selector");const i=(0,a.createElement)("div");(0,a.addClass)(i,"art-selector-value"),(0,a.append)(i,e.html),t.innerText="",(0,a.append)(t,i);const n=e.selector.map(((e,t)=>`${e.html}
`)).join(""),s=(0,a.createElement)("div");(0,a.addClass)(s,"art-selector-list"),(0,a.append)(s,n),(0,a.append)(t,s),this.art.option.backdrop&&(0,a.addClass)(s,"art-backdrop-filter");const l=()=>{const e=(0,a.getStyle)(t,"width")/2-(0,a.getStyle)(s,"width")/2;s.style.left=`${e}px`};r(t,l),o(s,"click",(async t=>{const r=(t.composedPath()||[]).find((e=>(0,a.hasClass)(e,"art-selector-item")));if(!r)return;(0,a.inverseClass)(r,"art-current");const o=Number(r.dataset.index),n=e.selector[o]||{};if(i.innerText=r.innerText,e.onSelect){const o=await e.onSelect.call(this.art,n,r,t);"string"!=typeof o&&"number"!=typeof o||(i.innerHTML=o)}l()}))}}},{"./dom":"bSNiV","option-validator":"bAWi2","../scheme":"AKEiO","./property":"5NSdr","./error":"hwmZz","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],c61Lj:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,tooltip:t.i18n.get("Fullscreen"),mounted:e=>{const{proxy:r,icons:a,i18n:i}=t,n=(0,o.append)(e,a.fullscreenOn),s=(0,o.append)(e,a.fullscreenOff);(0,o.setStyle)(s,"display","none"),r(e,"click",(()=>{t.fullscreen=!t.fullscreen})),t.on("fullscreen",(t=>{t?((0,o.tooltip)(e,i.get("Exit Fullscreen")),(0,o.setStyle)(n,"display","none"),(0,o.setStyle)(s,"display","inline-flex")):((0,o.tooltip)(e,i.get("Fullscreen")),(0,o.setStyle)(n,"display","inline-flex"),(0,o.setStyle)(s,"display","none"))}))}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"03jeB":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,tooltip:t.i18n.get("Web Fullscreen"),mounted:e=>{const{proxy:r,icons:a,i18n:i}=t,n=(0,o.append)(e,a.fullscreenWebOn),s=(0,o.append)(e,a.fullscreenWebOff);(0,o.setStyle)(s,"display","none"),r(e,"click",(()=>{t.fullscreenWeb=!t.fullscreenWeb})),t.on("fullscreenWeb",(t=>{t?((0,o.tooltip)(e,i.get("Exit Web Fullscreen")),(0,o.setStyle)(n,"display","none"),(0,o.setStyle)(s,"display","inline-flex")):((0,o.tooltip)(e,i.get("Web Fullscreen")),(0,o.setStyle)(n,"display","inline-flex"),(0,o.setStyle)(s,"display","none"))}))}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],u8l8e:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,tooltip:t.i18n.get("PIP Mode"),mounted:e=>{const{proxy:r,icons:a,i18n:i}=t;(0,o.append)(e,a.pip),r(e,"click",(()=>{t.pip=!t.pip})),t.on("pip",(t=>{(0,o.tooltip)(e,i.get(t?"Exit PIP Mode":"PIP Mode"))}))}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],ebXtb:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,mounted:e=>{const{proxy:r,icons:a,i18n:i}=t,n=(0,o.append)(e,a.play),s=(0,o.append)(e,a.pause);function l(){(0,o.setStyle)(n,"display","flex"),(0,o.setStyle)(s,"display","none")}function c(){(0,o.setStyle)(n,"display","none"),(0,o.setStyle)(s,"display","flex")}(0,o.tooltip)(n,i.get("Play")),(0,o.tooltip)(s,i.get("Pause")),r(n,"click",(()=>{t.play()})),r(s,"click",(()=>{t.pause()})),t.playing?c():l(),t.on("video:playing",(()=>{c()})),t.on("video:pause",(()=>{l()}))}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],bgoVP:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"getPosFromEvent",(()=>i)),o.export(r,"setCurrentTime",(()=>n));var a=e("../utils");function i(e,t){const{$progress:r}=e.template,{left:o}=r.getBoundingClientRect(),i=a.isMobile?t.touches[0].clientX:t.pageX,n=(0,a.clamp)(i-o,0,r.clientWidth),s=n/r.clientWidth*e.duration;return{second:s,time:(0,a.secondToTime)(s),width:n,percentage:(0,a.clamp)(n/r.clientWidth,0,1)}}function n(e,t){if(e.isRotate){const r=t.touches[0].clientY/e.height,o=r*e.duration;e.emit("setBar","played",r),e.seek=o}else{const{second:r,percentage:o}=i(e,t);e.emit("setBar","played",o),e.seek=r}}r.default=function(e){return t=>{const{icons:r,option:o,proxy:s}=t;return{...e,html:'',mounted:e=>{let l=!1;const c=(0,a.query)(".art-progress-loaded",e),p=(0,a.query)(".art-progress-played",e),u=(0,a.query)(".art-progress-highlight",e),d=(0,a.query)(".art-progress-indicator",e),f=(0,a.query)(".art-progress-tip",e),{PROGRESS_HEIGHT:h,INDICATOR_SIZE:m,INDICATOR_SIZE_ICON:g,INDICATOR_SIZE_MOBILE:y,INDICATOR_SIZE_MOBILE_ICON:v}=t.constructor;(0,a.setStyle)(e,"height",`${h}px`),(0,a.setStyle)(p,"backgroundColor","var(--theme)");let b=m;function x(e,t){"loaded"===e&&(0,a.setStyle)(c,"width",100*t+"%"),"played"===e&&((0,a.setStyle)(p,"width",100*t+"%"),(0,a.setStyle)(d,"left",`calc(${100*t}% - ${b/2}px)`))}r.indicator?(b=g,(0,a.append)(d,r.indicator)):(0,a.setStyles)(d,{backgroundColor:"var(--theme)"}),a.isMobile&&(b=y,r.indicator&&(b=v)),(0,a.setStyles)(d,{left:`-${b/2}px`,width:`${b}px`,height:`${b}px`}),t.on("video:loadedmetadata",(()=>{for(let e=0;e`)}})),x("loaded",t.loaded),t.on("setBar",((e,t)=>{x(e,t)})),t.on("video:progress",(()=>{x("loaded",t.loaded)})),t.on("video:timeupdate",(()=>{x("played",t.played)})),t.on("video:ended",(()=>{x("played",1)})),a.isMobile||(s(e,"click",(e=>{e.target!==d&&n(t,e)})),s(e,"mousemove",(r=>{(0,a.setStyle)(f,"display","block"),(0,a.includeFromEvent)(r,u)?function(r){const{width:o}=i(t,r),{text:n}=r.target.dataset;f.innerHTML=n;const s=f.clientWidth;o<=s/2?(0,a.setStyle)(f,"left",0):o>e.clientWidth-s/2?(0,a.setStyle)(f,"left",e.clientWidth-s+"px"):(0,a.setStyle)(f,"left",o-s/2+"px")}(r):function(r){const{width:o,time:n}=i(t,r);f.innerHTML=n;const s=f.clientWidth;o<=s/2?(0,a.setStyle)(f,"left",0):o>e.clientWidth-s/2?(0,a.setStyle)(f,"left",e.clientWidth-s+"px"):(0,a.setStyle)(f,"left",o-s/2+"px")}(r)})),s(e,"mouseleave",(()=>{(0,a.setStyle)(f,"display","none")})),s(e,"mousedown",(()=>{l=!0})),s(document,"mousemove",(e=>{if(l){const{second:r,percentage:o}=i(t,e);x("played",o),t.seek=r}})),s(document,"mouseup",(()=>{l&&(l=!1)})))}}}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],ikc2j:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,style:{cursor:"auto",marginLeft:"10px"},mounted:e=>{function r(){const r=`${(0,o.secondToTime)(t.currentTime)} / ${(0,o.secondToTime)(t.duration)}`;r!==e.innerText&&(e.innerText=r)}r();const a=["video:loadedmetadata","video:timeupdate","video:progress"];for(let e=0;e({...e,mounted:e=>{const{proxy:r,icons:a,i18n:i}=t;let n=!1;const s=t.constructor.VOLUME_PANEL_WIDTH,l=t.constructor.VOLUME_HANDLE_WIDTH,c=(0,o.append)(e,a.volume),p=(0,o.append)(e,a.volumeClose),u=(0,o.append)(e,''),d=(0,o.append)(u,'');function f(e){const{left:t}=u.getBoundingClientRect();return(0,o.clamp)(e.pageX-t-l/2,0,s-l/2)/(s-l)}function h(e=.7){if(t.muted||0===e)(0,o.setStyle)(c,"display","none"),(0,o.setStyle)(p,"display","flex"),(0,o.setStyle)(d,"left","0");else{const t=(s-l)*e;(0,o.setStyle)(c,"display","flex"),(0,o.setStyle)(p,"display","none"),(0,o.setStyle)(d,"left",`${t}px`)}}(0,o.tooltip)(c,i.get("Mute")),(0,o.setStyle)(p,"display","none"),o.isMobile&&(0,o.setStyle)(u,"display","none"),h(t.volume),t.on("video:volumechange",(()=>{h(t.volume)})),r(c,"click",(()=>{t.muted=!0})),r(p,"click",(()=>{t.muted=!1})),r(u,"click",(e=>{t.muted=!1,t.volume=f(e)})),r(d,"mousedown",(()=>{n=!0})),r(e,"mousemove",(e=>{n&&(t.muted=!1,t.volume=f(e))})),r(document,"mouseup",(()=>{n&&(n=!1)}))}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"03o9l":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,tooltip:t.i18n.get("Show Setting"),mounted:e=>{const{proxy:r,icons:a,i18n:i}=t;(0,o.append)(e,a.setting),r(e,"click",(()=>{t.setting.toggle=!0,t.setting.updateStyle()})),t.on("setting",(t=>{(0,o.tooltip)(e,i.get(t?"Hide Setting":"Show Setting"))}))}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],eCVx2:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils"),a=e("./progress");r.default=function(e){return t=>({...e,mounted:e=>{const{option:r,template:{$progress:i,$video:n},events:{proxy:s,loadImg:l}}=t;let c=null,p=!1,u=!1;s(i,"mousemove",(async s=>{if(!p){p=!0;const e=await l(r.thumbnails.url);c=e,u=!0}u&&((0,o.setStyle)(e,"display","block"),function(s){const{width:l}=(0,a.getPosFromEvent)(t,s),{url:p,number:u,column:d,width:f,height:h}=r.thumbnails,m=f||c.naturalWidth/d,g=h||m/(n.videoWidth/n.videoHeight),y=i.clientWidth/u,v=Math.floor(l/y),b=Math.ceil(v/d)-1,x=v%d||d-1;(0,o.setStyle)(e,"backgroundImage",`url(${p})`),(0,o.setStyle)(e,"height",`${g}px`),(0,o.setStyle)(e,"width",`${m}px`),(0,o.setStyle)(e,"backgroundPosition",`-${x*m}px -${b*g}px`),l<=m/2?(0,o.setStyle)(e,"left",0):l>i.clientWidth-m/2?(0,o.setStyle)(e,"left",i.clientWidth-m+"px"):(0,o.setStyle)(e,"left",l-m/2+"px")}(s))})),s(i,"mouseleave",(()=>{(0,o.setStyle)(e,"display","none")})),t.on("hover",(t=>{t||(0,o.setStyle)(e,"display","none")}))}})}},{"../utils":"71aH7","./progress":"bgoVP","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"4KCF5":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,tooltip:t.i18n.get("Screenshot"),mounted:e=>{const{proxy:r,icons:a}=t;(0,o.append)(e,a.screenshot),r(e,"click",(()=>{t.screenshot()}))}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],efgTY:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r),r.default=function(e){return t=>{const r=t.option.quality,o=r.find((e=>e.default))||r[0];return{...e,style:{marginRight:"10px"},html:o?o.html:"",selector:r,onSelect(e){t.switchQuality(e.url,e.html)}}}}},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"2hIff":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,mounted:e=>{const r=(0,o.append)(e,''),a=(0,o.append)(e,'');t.on("loop",(i=>{i&&i.length?((0,o.setStyle)(e,"display","block"),(0,o.setStyle)(r,"left",`calc(${i[0]/t.duration*100}% - ${r.clientWidth}px)`),(0,o.setStyle)(a,"left",i[1]/t.duration*100+"%")):(0,o.setStyle)(e,"display","none")}))}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"4IS2d":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,tooltip:t.i18n.get("AirPlay"),mounted:e=>{const{proxy:r,icons:a}=t;(0,o.append)(e,a.airplay),r(e,"click",(()=>t.airplay()))}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"2KYsr":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r);var a=e("../utils"),i=e("../utils/component"),n=o.interopDefault(i),s=e("./playbackRate"),l=o.interopDefault(s),c=e("./aspectRatio"),p=o.interopDefault(c),u=e("./flip"),d=o.interopDefault(u),f=e("./info"),h=o.interopDefault(f),m=e("./version"),g=o.interopDefault(m),y=e("./close"),v=o.interopDefault(y);class b extends n.default{constructor(e){super(e),this.name="contextmenu",this.$parent=e.template.$contextmenu,a.isMobile||this.init()}init(){const{option:e,proxy:t,template:{$player:r,$contextmenu:o}}=this.art;e.playbackRate&&this.add((0,l.default)({name:"playbackRate",index:10})),e.aspectRatio&&this.add((0,p.default)({name:"aspectRatio",index:20})),e.flip&&this.add((0,d.default)({name:"flip",index:30})),this.add((0,h.default)({name:"info",index:40})),this.add((0,g.default)({name:"version",index:50})),this.add((0,v.default)({name:"close",index:60}));for(let t=0;t{if(e.preventDefault(),!this.art.constructor.CONTEXTMENU)return;this.show=!0;const t=e.clientX,i=e.clientY,{height:n,width:s,left:l,top:c}=r.getBoundingClientRect(),{height:p,width:u}=o.getBoundingClientRect();let d=t-l,f=i-c;t+u>l+s&&(d=s-u),i+p>c+n&&(f=n-p),(0,a.setStyles)(o,{top:`${f}px`,left:`${d}px`})})),t(r,"click",(e=>{(0,a.includeFromEvent)(e,o)||(this.show=!1)})),this.art.on("blur",(()=>{this.show=!1}))}}r.default=b},{"../utils":"71aH7","../utils/component":"18nVI","./playbackRate":"69eLi","./aspectRatio":"lUefg","./flip":"kysiM","./info":"gqIgJ","./version":"kRU7C","./close":"jQ8Pm","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"69eLi":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>{const{i18n:r,constructor:{PLAYBACK_RATE:a}}=t,i=a.map((e=>`${1===e?r.get("Normal"):e}`)).join("");return{...e,html:`${r.get("Play Speed")}: ${i}`,click:(e,r)=>{const{value:o}=r.target.dataset;o&&(t.playbackRate=Number(o),e.show=!1)},mounted:e=>{const r=(0,o.query)('[data-value="1"]',e);r&&(0,o.inverseClass)(r,"art-current"),t.on("video:ratechange",(()=>{const r=(0,o.queryAll)("span",e).find((e=>Number(e.dataset.value)===t.playbackRate));r&&(0,o.inverseClass)(r,"art-current")}))}}}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],lUefg:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>{const{i18n:r,constructor:{ASPECT_RATIO:a}}=t,i=a.map((e=>`${"default"===e?r.get("Default"):e}`)).join("");return{...e,html:`${r.get("Aspect Ratio")}: ${i}`,click:(e,r)=>{const{value:o}=r.target.dataset;o&&(t.aspectRatio=o,e.show=!1)},mounted:e=>{const r=(0,o.query)('[data-value="default"]',e);r&&(0,o.inverseClass)(r,"art-current"),t.on("aspectRatio",(t=>{const r=(0,o.queryAll)("span",e).find((e=>e.dataset.value===t));r&&(0,o.inverseClass)(r,"art-current")}))}}}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],kysiM:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>{const{i18n:r,constructor:{FLIP:a}}=t,i=a.map((e=>`${r.get((0,o.capitalize)(e))}`)).join("");return{...e,html:`${r.get("Video Flip")}: ${i}`,click:(e,r)=>{const{value:o}=r.target.dataset;o&&(t.flip=o.toLowerCase(),e.show=!1)},mounted:e=>{const r=(0,o.query)('[data-value="normal"]',e);r&&(0,o.inverseClass)(r,"art-current"),t.on("flip",(t=>{const r=(0,o.queryAll)("span",e).find((e=>e.dataset.value===t));r&&(0,o.inverseClass)(r,"art-current")}))}}}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],gqIgJ:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r),r.default=function(e){return t=>({...e,html:t.i18n.get("Video Info"),click:e=>{t.info.show=!0,e.show=!1}})}},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],kRU7C:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r),r.default=function(e){return{...e,html:'ArtPlayer 5.0.0'}}},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],jQ8Pm:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r),r.default=function(e){return t=>({...e,html:t.i18n.get("Close"),click:e=>{e.show=!1}})}},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"02ajl":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r);var a=e("./utils"),i=e("./utils/component"),n=o.interopDefault(i);class s extends n.default{constructor(e){super(e),this.name="info",a.isMobile||this.init()}init(){const{proxy:e,constructor:t,template:{$infoPanel:r,$infoClose:o,$video:i}}=this.art;e(o,"click",(()=>{this.show=!1}));let n=null;const s=(0,a.queryAll)("[data-video]",r)||[];this.art.on("destroy",(()=>{clearTimeout(n)})),function e(){for(let e=0;enull,this.init(e.option.subtitle);let t=!1;e.on("video:timeupdate",(()=>{if(!this.url)return;const e=this.art.template.$video.webkitDisplayingFullscreen;"boolean"==typeof e&&e!==t&&(t=e,this.createTrack(e?"subtitles":"metadata",this.url))}))}get url(){return this.art.template.$track.src}set url(e){this.switch(e)}get textTrack(){return this.art.template.$video.textTracks[0]}get activeCue(){return this.textTrack.activeCues[0]}style(e,t){const{$subtitle:r}=this.art.template;return"object"==typeof e?(0,a.setStyles)(r,e):(0,a.setStyle)(r,e,t)}update(){const{$subtitle:e}=this.art.template;e.innerHTML="",this.activeCue&&(this.art.option.subtitle.escape?e.innerHTML=this.activeCue.text.split(/\r?\n/).map((e=>`${(0,a.escape)(e)}
`)).join(""):e.innerHTML=this.activeCue.text,this.art.emit("subtitleUpdate",this.activeCue.text))}async switch(e,t={}){const{i18n:r,notice:o,option:a}=this.art,i={...a.subtitle,...t,url:e},n=await this.init(i);return t.name&&(o.show=`${r.get("Switch Subtitle")}: ${t.name}`),n}createTrack(e,t){const{template:r,proxy:o}=this.art,{$video:i,$track:n}=r,s=(0,a.createElement)("track");s.default=!0,s.kind=e,s.src=t,s.track.mode="hidden",this.eventDestroy(),(0,a.remove)(n),(0,a.append)(i,s),r.$track=s,this.eventDestroy=o(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,a.getExt)(e.url)){case"srt":{const t=(0,a.srtToVtt)(r),o=e.onVttLoad(t);return(0,a.vttToBlob)(o)}case"ass":{const t=(0,a.assToVtt)(r),o=e.onVttLoad(t);return(0,a.vttToBlob)(o)}case"vtt":{const t=e.onVttLoad(r);return(0,a.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 o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r);var a=e("../utils/error"),i=e("./clickInit"),n=o.interopDefault(i),s=e("./hoverInit"),l=o.interopDefault(s),c=e("./mousemoveInit"),p=o.interopDefault(c),u=e("./resizeInit"),d=o.interopDefault(u),f=e("./gestureInit"),h=o.interopDefault(f),m=e("./viewInit"),g=o.interopDefault(m);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,n.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))}proxy(e,t,r,o={}){if(Array.isArray(t))return t.map((t=>this.proxy(e,t,r,o)));e.addEventListener(t,r,o);const a=()=>e.removeEventListener(t,r,o);return this.destroyEvents.push(a),a}hover(e,t,r){t&&this.proxy(e,"mouseenter",t),r&&this.proxy(e,"mouseleave",r)}loadImg(e){return new Promise(((t,r)=>{let o;if(e instanceof HTMLImageElement)o=e;else{if("string"!=typeof e)return r(new(0,a.ArtPlayerError)("Unable to get Image"));o=new Image,o.src=e}if(o.complete)return t(o);this.proxy(o,"load",(()=>t(o))),this.proxy(o,"error",(()=>r(new(0,a.ArtPlayerError)(`Failed to load Image: ${o.src}`))))}))}destroy(){for(let e=0;e{(0,o.includeFromEvent)(t,a)?(e.isInput="INPUT"===t.target.tagName,e.isFocus=!0,e.emit("focus")):(e.isInput=!1,e.isFocus=!1,e.emit("blur"))}));let n=0;t.proxy(i,"click",(()=>{const t=Date.now();t-n<=r.DB_CLICE_TIME?(e.emit("dblclick"),o.isMobile?e.isLock||e.toggle():e.fullscreen=!e.fullscreen):(e.emit("click"),o.isMobile||e.toggle()),n=t}))}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"4jWHi":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e,t){const{$player:r}=e.template;t.hover(r,(t=>{(0,o.addClass)(r,"art-hover"),e.emit("hover",!0,t)}),(t=>{(0,o.removeClass)(r,"art-hover"),e.emit("hover",!1,t)}))}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],bMF9b:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r),r.default=function(e,t){const{$player:r}=e.template;t.proxy(r,"mousemove",(t=>{e.emit("mousemove",t)}))}},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],eDXPO:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e,t){const{option:r}=e,a=(0,o.throttle)((()=>{e.normalSize&&(e.autoSize=r.autoSize),e.aspectRatioReset=!0,e.notice.show="",e.emit("resize")}),e.constructor.RESIZE_TIME);t.proxy(window,["orientationchange","resize"],(()=>{a()})),screen&&screen.orientation&&screen.orientation.onchange&&t.proxy(screen.orientation,"change",(()=>{a()}))}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"95GtS":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils"),a=e("../control/progress");r.default=function(e,t){if(o.isMobile&&!e.option.isLive){const{$video:r,$progress:i}=e.template;let n=null,s=!1,l=0,c=0,p=0;const u=t=>{if(1===t.touches.length&&!e.isLock){n===i&&(0,a.setCurrentTime)(e,t),s=!0;const{clientX:r,clientY:o}=t.touches[0];l=r,c=o,p=e.currentTime}},d=t=>{if(1===t.touches.length&&s&&e.duration){const{clientX:a,clientY:i}=t.touches[0],s=(0,o.clamp)((a-l)/e.width,-1,1),u=(0,o.clamp)((i-c)/e.height,-1,1),d=e.isRotate?u:s,f=n===r?e.constructor.TOUCH_MOVE_RATIO:1,h=(0,o.clamp)(p+e.duration*d*f,0,e.duration);e.seek=h,e.emit("setBar","played",(0,o.clamp)(h/e.duration,0,1)),e.notice.show=`${(0,o.secondToTime)(h)} / ${(0,o.secondToTime)(e.duration)}`}},f=()=>{s&&(l=0,c=0,p=0,s=!1,n=null)};t.proxy(i,"touchstart",(e=>{n=i,u(e)})),t.proxy(r,"touchstart",(e=>{n=r,u(e)})),t.proxy(r,"touchmove",d),t.proxy(i,"touchmove",d),t.proxy(document,"touchend",f)}}},{"../utils":"71aH7","../control/progress":"bgoVP","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],InUBx:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e,t){const{option:r,constructor:a,template:{$container:i}}=e,n=(0,o.throttle)((()=>{e.emit("view",(0,o.isInViewport)(i,a.SCROLL_GAP))}),a.SCROLL_TIME);t.proxy(window,"scroll",(()=>{n()})),e.on("view",(t=>{r.autoMini&&(e.mini=!t)}))}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"6NoFy":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("./utils");r.default=class{constructor(e){this.art=e,this.keys={},e.option.hotkey&&!o.isMobile&&this.init()}init(){const{proxy:e,constructor:t}=this.art;this.add(27,(()=>{this.art.fullscreenWeb&&(this.art.fullscreenWeb=!1)})),this.add(32,(()=>{this.art.toggle()})),this.add(37,(()=>{this.art.backward=t.SEEK_STEP})),this.add(38,(()=>{this.art.volume+=t.VOLUME_STEP})),this.add(39,(()=>{this.art.forward=t.SEEK_STEP})),this.add(40,(()=>{this.art.volume-=t.VOLUME_STEP})),e(window,"keydown",(e=>{if(this.art.isFocus){const t=document.activeElement.tagName.toUpperCase(),r=document.activeElement.getAttribute("contenteditable");if("INPUT"!==t&&"TEXTAREA"!==t&&""!==r&&"true"!==r){const t=this.keys[e.keyCode];if(t){e.preventDefault();for(let r=0;r{a.innerText="",(0,o.removeClass)(r,"art-notice-show")}),t.NOTICE_TIME)):(0,o.removeClass)(r,"art-notice-show")}}},{"./utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"5POkG":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r);var a=e("./utils"),i=e("./utils/component"),n=o.interopDefault(i);class s extends n.default{constructor(e){super(e),this.name="mask";const{template:t,icons:r,events:o}=e,i=(0,a.append)(t.$state,r.state),n=(0,a.append)(t.$state,r.error);(0,a.setStyle)(n,"display","none"),e.on("destroy",(()=>{(0,a.setStyle)(i,"display","none"),(0,a.setStyle)(n,"display",null)})),o.proxy(t.$state,"click",(()=>e.play()))}}r.default=s},{"./utils":"71aH7","./utils/component":"18nVI","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"6OeNg":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r);var a=e("../utils"),i=e("bundle-text:./loading.svg"),n=o.interopDefault(i),s=e("bundle-text:./state.svg"),l=o.interopDefault(s),c=e("bundle-text:./check.svg"),p=o.interopDefault(c),u=e("bundle-text:./play.svg"),d=o.interopDefault(u),f=e("bundle-text:./pause.svg"),h=o.interopDefault(f),m=e("bundle-text:./volume.svg"),g=o.interopDefault(m),y=e("bundle-text:./volume-close.svg"),v=o.interopDefault(y),b=e("bundle-text:./screenshot.svg"),x=o.interopDefault(b),w=e("bundle-text:./setting.svg"),j=o.interopDefault(w),k=e("bundle-text:./arrow-left.svg"),S=o.interopDefault(k),I=e("bundle-text:./arrow-right.svg"),P=o.interopDefault(I),C=e("bundle-text:./playback-rate.svg"),$=o.interopDefault(C),E=e("bundle-text:./aspect-ratio.svg"),T=o.interopDefault(E),M=e("bundle-text:./config.svg"),F=o.interopDefault(M),A=e("bundle-text:./pip.svg"),H=o.interopDefault(A),z=e("bundle-text:./lock.svg"),D=o.interopDefault(z),R=e("bundle-text:./unlock.svg"),O=o.interopDefault(R),L=e("bundle-text:./fullscreen-off.svg"),V=o.interopDefault(L),N=e("bundle-text:./fullscreen-on.svg"),Y=o.interopDefault(N),_=e("bundle-text:./fullscreen-web-off.svg"),W=o.interopDefault(_),B=e("bundle-text:./fullscreen-web-on.svg"),q=o.interopDefault(B),U=e("bundle-text:./switch-on.svg"),Z=o.interopDefault(U),G=e("bundle-text:./switch-off.svg"),K=o.interopDefault(G),J=e("bundle-text:./flip.svg"),X=o.interopDefault(J),Q=e("bundle-text:./error.svg"),ee=o.interopDefault(Q),te=e("bundle-text:./close.svg"),re=o.interopDefault(te),oe=e("bundle-text:./airplay.svg"),ae=o.interopDefault(oe);r.default=class{constructor(e){const t={loading:n.default,state:l.default,play:d.default,pause:h.default,check:p.default,volume:g.default,volumeClose:v.default,screenshot:x.default,setting:j.default,pip:H.default,arrowLeft:S.default,arrowRight:P.default,playbackRate:$.default,aspectRatio:T.default,config:F.default,lock:D.default,flip:X.default,unlock:O.default,fullscreenOff:V.default,fullscreenOn:Y.default,fullscreenWebOff:W.default,fullscreenWebOn:q.default,switchOn:Z.default,switchOff:K.default,error:ee.default,close:re.default,airplay:ae.default,...e.option.icons};Object.keys(t).forEach((e=>{(0,a.def)(this,e,{get:()=>{const r=(0,a.createElement)("i");return(0,a.addClass)(r,"art-icon"),(0,a.addClass)(r,`art-icon-${e}`),(0,a.append)(r,t[e]),r}})}))}}},{"../utils":"71aH7","bundle-text:./loading.svg":"7tDub","bundle-text:./state.svg":"1ElZc","bundle-text:./check.svg":"lmgoP","bundle-text:./play.svg":"lVWoQ","bundle-text:./pause.svg":"5Mnax","bundle-text:./volume.svg":"w3eIa","bundle-text:./volume-close.svg":"rHjo1","bundle-text:./screenshot.svg":"2KcqM","bundle-text:./setting.svg":"8rQMV","bundle-text:./arrow-left.svg":"kqGBE","bundle-text:./arrow-right.svg":"aFjpC","bundle-text:./playback-rate.svg":"lx7ZM","bundle-text:./aspect-ratio.svg":"2sEjf","bundle-text:./config.svg":"fQTgE","bundle-text:./pip.svg":"2CaxO","bundle-text:./lock.svg":"aCGnW","bundle-text:./unlock.svg":"bTrAV","bundle-text:./fullscreen-off.svg":"bA3p0","bundle-text:./fullscreen-on.svg":"fTuY8","bundle-text:./fullscreen-web-off.svg":"tvKf4","bundle-text:./fullscreen-web-on.svg":"1F1oB","bundle-text:./switch-on.svg":"7qNHs","bundle-text:./switch-off.svg":"28aV8","bundle-text:./flip.svg":"1uXI6","bundle-text:./error.svg":"9f4dh","bundle-text:./close.svg":"4nTtS","bundle-text:./airplay.svg":"cDPXC","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"7tDub":[function(e,t,r){t.exports=''},{}],"1ElZc":[function(e,t,r){t.exports=''},{}],lmgoP:[function(e,t,r){t.exports=''},{}],lVWoQ:[function(e,t,r){t.exports=''},{}],"5Mnax":[function(e,t,r){t.exports=''},{}],w3eIa:[function(e,t,r){t.exports=''},{}],rHjo1:[function(e,t,r){t.exports=''},{}],"2KcqM":[function(e,t,r){t.exports=''},{}],"8rQMV":[function(e,t,r){t.exports=''},{}],kqGBE:[function(e,t,r){t.exports=''},{}],aFjpC:[function(e,t,r){t.exports=''},{}],lx7ZM:[function(e,t,r){t.exports=''},{}],"2sEjf":[function(e,t,r){t.exports=''},{}],fQTgE:[function(e,t,r){t.exports=''},{}],"2CaxO":[function(e,t,r){t.exports=''},{}],aCGnW:[function(e,t,r){t.exports=''},{}],bTrAV:[function(e,t,r){t.exports=''},{}],bA3p0:[function(e,t,r){t.exports=''},{}],fTuY8:[function(e,t,r){t.exports=''},{}],tvKf4:[function(e,t,r){t.exports=''},{}],"1F1oB":[function(e,t,r){t.exports=''},{}],"7qNHs":[function(e,t,r){t.exports=''},{}],"28aV8":[function(e,t,r){t.exports=''},{}],"1uXI6":[function(e,t,r){t.exports=''},{}],"9f4dh":[function(e,t,r){t.exports=''},{}],"4nTtS":[function(e,t,r){t.exports=''},{}],cDPXC:[function(e,t,r){t.exports=''},{}],"3eYNH":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r);var a=e("./flip"),i=o.interopDefault(a),n=e("./aspectRatio"),s=o.interopDefault(n),l=e("./playbackRate"),c=o.interopDefault(l),p=e("./subtitleOffset"),u=o.interopDefault(p),d=e("../utils/component"),f=o.interopDefault(d),h=e("../utils");class m extends f.default{constructor(e){super(e);const{option:t,proxy:r,template:{$setting:o,$player:a}}=e;if(this.name="setting",this.$parent=o,this.option=[],this.events=[],this.cache=new Map,t.setting){t.playbackRate&&this.option.push((0,c.default)(e)),t.aspectRatio&&this.option.push((0,s.default)(e)),t.flip&&this.option.push((0,i.default)(e)),t.subtitleOffset&&this.option.push((0,u.default)(e));for(let e=0;e{this.show&&(this.show=!1,this.init(this.option))})),r(a,"click",(t=>{!this.show||(0,h.includeFromEvent)(t,e.controls.setting)||(0,h.includeFromEvent)(t,this.$parent)||(this.show=!1,this.init(this.option))}))}}static makeRecursion(e,t,r){for(let o=0;oe())),this.events=[],this.$parent.innerHTML="",this.option=m.makeRecursion(this.option),this.init(this.option),this.option}add(e){return this.option.push(e),this.update(),e}creatHeader(e){const{icons:t,proxy:r}=this.art,o=(0,h.createElement)("div");(0,h.addClass)(o,"art-setting-item"),(0,h.addClass)(o,"art-setting-item-back");const a=(0,h.append)(o,''),i=(0,h.createElement)("div");(0,h.addClass)(i,"art-setting-item-left-icon"),(0,h.append)(i,t.arrowLeft),(0,h.append)(a,i),(0,h.append)(a,e.$parentItem.html);const n=r(o,"click",(()=>this.init(e.$parentList)));return this.events.push(n),o}creatItem(e,t){const{icons:r,proxy:o}=this.art,a=(0,h.createElement)("div");(0,h.addClass)(a,"art-setting-item"),(0,h.isStringOrNumber)(t.name)&&(a.dataset.name=t.name),(0,h.isStringOrNumber)(t.value)&&(a.dataset.value=t.value);const i=(0,h.append)(a,''),n=(0,h.append)(a,''),s=(0,h.createElement)("div");switch((0,h.addClass)(s,"art-setting-item-left-icon"),e){case"switch":case"range":(0,h.append)(s,(0,h.isStringOrNumber)(t.icon)||t.icon instanceof Element?t.icon:r.config);break;case"selector":t.selector&&t.selector.length?(0,h.append)(s,(0,h.isStringOrNumber)(t.icon)||t.icon instanceof Element?t.icon:r.config):(0,h.append)(s,r.check)}(0,h.append)(i,s),t.$icon=s,(0,h.def)(t,"icon",{configurable:!0,get:()=>s.innerHTML,set(e){(0,h.isStringOrNumber)(e)&&(s.innerHTML=e)}});const l=(0,h.createElement)("div");(0,h.addClass)(l,"art-setting-item-left-text"),(0,h.append)(l,t.html||""),(0,h.append)(i,l),t.$html=l,(0,h.def)(t,"html",{configurable:!0,get:()=>l.innerHTML,set(e){(0,h.isStringOrNumber)(e)&&(l.innerHTML=e)}});const c=(0,h.createElement)("div");switch((0,h.addClass)(c,"art-setting-item-right-tooltip"),(0,h.append)(c,t.tooltip||""),(0,h.append)(n,c),t.$tooltip=c,(0,h.def)(t,"tooltip",{configurable:!0,get:()=>c.innerHTML,set(e){(0,h.isStringOrNumber)(e)&&(c.innerHTML=e)}}),e){case"switch":{const e=(0,h.createElement)("div");(0,h.addClass)(e,"art-setting-item-right-icon");const o=(0,h.append)(e,r.switchOn),a=(0,h.append)(e,r.switchOff);(0,h.setStyle)(t.switch?a:o,"display","none"),(0,h.append)(n,e),t.$switch=t.switch,(0,h.def)(t,"switch",{configurable:!0,get:()=>t.$switch,set(e){t.$switch=e,e?((0,h.setStyle)(a,"display","none"),(0,h.setStyle)(o,"display",null)):((0,h.setStyle)(a,"display",null),(0,h.setStyle)(o,"display","none"))}});break}case"range":{const e=(0,h.createElement)("div");(0,h.addClass)(e,"art-setting-item-right-icon");const r=(0,h.append)(e,'');r.value=t.range[0]||0,r.min=t.range[1]||0,r.max=t.range[2]||10,r.step=t.range[3]||1,(0,h.addClass)(r,"art-setting-range"),(0,h.append)(n,e),t.$range=r,(0,h.def)(t,"range",{configurable:!0,get:()=>r.valueAsNumber,set(e){r.value=Number(e)}})}break;case"selector":if(t.selector&&t.selector.length){const e=(0,h.createElement)("div");(0,h.addClass)(e,"art-setting-item-right-icon"),(0,h.append)(e,r.arrowRight),(0,h.append)(n,e)}}switch(e){case"switch":if(t.onSwitch){const e=o(a,"click",(async e=>{t.switch=await t.onSwitch.call(this.art,t,a,e)}));this.events.push(e)}break;case"range":if(t.$range){if(t.onRange){const e=o(t.$range,"change",(async e=>{t.tooltip=await t.onRange.call(this.art,t,a,e)}));this.events.push(e)}if(t.onChange){const e=o(t.$range,"input",(async e=>{t.tooltip=await t.onChange.call(this.art,t,a,e)}));this.events.push(e)}}break;case"selector":{const e=o(a,"click",(async e=>{if(t.selector&&t.selector.length)this.init(t.selector,t.width);else{(0,h.inverseClass)(a,"art-current");for(let e=0;ec?((0,h.setStyle)(a,"left","auto"),(0,h.setStyle)(a,"right","10px")):((0,h.setStyle)(a,"left",`${p}px`),(0,h.setStyle)(a,"right","auto"))}else(0,h.setStyle)(a,"left","auto"),(0,h.setStyle)(a,"right","10px")}init(e,t){const{constructor:r}=this.art;if(this.cache.has(e)){const t=this.cache.get(e);(0,h.inverseClass)(t,"art-current"),(0,h.setStyle)(this.$parent,"width",`${t.dataset.width}px`),(0,h.setStyle)(this.$parent,"height",`${t.dataset.height}px`),this.updateStyle(Number(t.dataset.width))}else{const o=(0,h.createElement)("div");(0,h.addClass)(o,"art-setting-panel"),o.dataset.width=t||r.SETTING_WIDTH,o.dataset.height=e.length*r.SETTING_ITEM_HEIGHT,e[0]&&e[0].$parentItem&&((0,h.append)(o,this.creatHeader(e[0])),o.dataset.height=Number(o.dataset.height)+r.SETTING_ITEM_HEIGHT);for(let t=0;te.dataset.value===a));i&&(0,o.inverseClass)(i,"art-current")}return{width:a,html:t.get("Video Flip"),tooltip:t.get((0,o.capitalize)(e.flip)),icon:r.flip,selector:i.map((r=>({value:r,default:r===e.flip,html:t.get((0,o.capitalize)(r))}))),onSelect:t=>(e.flip=t.value,t.value),mounted:(t,r)=>{n(t,r.$tooltip,e.flip),e.on("flip",(()=>{n(t,r.$tooltip,e.flip)}))}}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"84NBV":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{i18n:t,icons:r,constructor:{SETTING_ITEM_WIDTH:a,ASPECT_RATIO:i}}=e;function n(e){return"default"===e?t.get("Default"):e}function s(e,t,r){t&&(t.innerText=n(r));const a=(0,o.queryAll)(".art-setting-item",e).find((e=>e.dataset.value===r));a&&(0,o.inverseClass)(a,"art-current")}return{width:a,html:t.get("Aspect Ratio"),icon:r.aspectRatio,tooltip:n(e.aspectRatio),selector:i.map((t=>({value:t,default:t===e.aspectRatio,html:n(t)}))),onSelect:t=>(e.aspectRatio=t.value,t.value),mounted:(t,r)=>{s(t,r.$tooltip,e.aspectRatio),e.on("aspectRatio",(()=>{s(t,r.$tooltip,e.aspectRatio)}))}}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],aetWt:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{i18n:t,icons:r,constructor:{SETTING_ITEM_WIDTH:a,PLAYBACK_RATE:i}}=e;function n(e){return 1===e?t.get("Normal"):e}function s(e,t,r){t&&(t.innerText=n(r));const a=(0,o.queryAll)(".art-setting-item",e).find((e=>Number(e.dataset.value)===r));a&&(0,o.inverseClass)(a,"art-current")}return{width:a,html:t.get("Play Speed"),tooltip:n(e.playbackRate),icon:r.playbackRate,selector:i.map((t=>({value:t,default:t===e.playbackRate,html:n(t)}))),onSelect:t=>(e.playbackRate=t.value,t.value),mounted:(t,r)=>{s(t,r.$tooltip,e.playbackRate),e.on("video:ratechange",(()=>{s(t,r.$tooltip,e.playbackRate)}))}}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],fIBkO:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r),r.default=function(e){const{i18n:t,icons:r,constructor:o}=e;return{width:o.SETTING_ITEM_WIDTH,html:t.get("Subtitle Offset"),icon:r.subtitle,tooltip:"0s",range:[0,-5,5,.1],onChange:t=>(e.subtitleOffset=t.range,t.range+"s")}}},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"2aaJe":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);r.default=class{constructor(){this.name="artplayer_settings",this.settings={}}get(e){try{const t=JSON.parse(window.localStorage.getItem(this.name))||{};return e?t[e]:t}catch(t){return e?this.settings[e]:this.settings}}set(e,t){try{const r=Object.assign({},this.get(),{[e]:t});window.localStorage.setItem(this.name,JSON.stringify(r))}catch(r){this.settings[e]=t}}del(e){try{const t=this.get();delete t[e],window.localStorage.setItem(this.name,JSON.stringify(t))}catch(t){delete this.settings[e]}}clear(){try{window.localStorage.removeItem(this.name)}catch(e){this.settings={}}}}},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"8MTUM":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r);var a=e("../utils"),i=e("./miniProgressBar"),n=o.interopDefault(i),s=e("./autoOrientation"),l=o.interopDefault(s),c=e("./autoPlayback"),p=o.interopDefault(c),u=e("./fastForward"),d=o.interopDefault(u),f=e("./lock"),h=o.interopDefault(f);r.default=class{constructor(e){this.art=e,this.id=0;const{option:t}=e;t.miniProgressBar&&!t.isLive&&this.add(n.default),t.lock&&a.isMobile&&this.add(h.default),t.autoPlayback&&!t.isLive&&this.add(p.default),t.autoOrientation&&a.isMobile&&this.add(l.default),t.fastForward&&a.isMobile&&!t.isLive&&this.add(d.default);for(let e=0;e{e.layers.add({name:"miniProgressBar",mounted(t){e.on("destroy",(()=>{t.style.display="none"})),e.on("video:timeupdate",(()=>{t.style.width=100*e.played+"%"})),e.on("setBar",((e,r)=>{"played"===e&&(t.style.width=100*r+"%")}))}})})),{name:"miniProgressBar"}}},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],ePEg5:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{option:t,constructor:r,template:{$player:a,$video:i}}=e;return e.on("fullscreenWeb",(n=>{if(n){const{videoWidth:t,videoHeight:n}=i,{clientWidth:s,clientHeight:l}=document.documentElement;(t>n&&sl)&&setTimeout((()=>{(0,o.setStyle)(a,"width",`${l}px`),(0,o.setStyle)(a,"height",`${s}px`),(0,o.setStyle)(a,"transform-origin","0 0"),(0,o.setStyle)(a,"transform",`rotate(90deg) translate(0, -${s}px)`),(0,o.addClass)(a,"art-auto-orientation"),e.isRotate=!0,e.emit("resize")}),r.MOBILE_AUTO_ORIENTATION_TIME)}else(0,o.hasClass)(a,"art-auto-orientation")&&((0,o.setStyle)(a,"width",null),(0,o.setStyle)(a,"height",null),(0,o.setStyle)(a,"transform",null),(0,o.setStyle)(a,"transform-origin",null),(0,o.removeClass)(a,"art-auto-orientation"),e.isRotate=!1,e.aspectRatioReset=!0,e.autoSize=t.autoSize,e.notice.show="",e.emit("resize"))})),e.on("fullscreen",(async e=>{const t=screen.orientation.type;if(e){const{videoWidth:e,videoHeight:r}=i,{clientWidth:n,clientHeight:s}=document.documentElement;if(e>r&&ns){const e=t.startsWith("portrait")?"landscape":"portrait";await screen.orientation.lock(e),(0,o.addClass)(a,"art-auto-orientation-fullscreen")}}else(0,o.hasClass)(a,"art-auto-orientation-fullscreen")&&(await screen.orientation.lock(t),(0,o.removeClass)(a,"art-auto-orientation-fullscreen"))})),{name:"autoOrientation",get state(){return(0,o.hasClass)(a,"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 o=e("../utils");r.default=function(e){const{i18n:t,icons:r,storage:a,constructor:i,proxy:n,template:{$poster:s}}=e,l=e.layers.add({name:"autoPlayback",html:''}),c=(0,o.query)(".art-autoPlayback-last",l),p=(0,o.query)(".art-autoPlayback-jump",l),u=(0,o.query)(".art-autoPlayback-close",l);return e.on("video:timeupdate",(()=>{const t=a.get("times")||{},r=Object.keys(t);r.length>i.AUTO_PLAYBACK_MAX&&delete t[r[0]],t[e.option.id||e.option.url]=e.currentTime,a.set("times",t)})),e.on("ready",(()=>{const d=(a.get("times")||{})[e.option.id||e.option.url];d&&d>=i.AUTO_PLAYBACK_MIN&&((0,o.append)(u,r.close),(0,o.setStyle)(l,"display","flex"),c.innerText=`${t.get("Last Seen")} ${(0,o.secondToTime)(d)}`,p.innerText=t.get("Jump Play"),n(u,"click",(()=>{(0,o.setStyle)(l,"display","none")})),n(p,"click",(()=>{e.seek=d,e.play(),(0,o.setStyle)(s,"display","none"),(0,o.setStyle)(l,"display","none")})),e.once("video:timeupdate",(()=>{setTimeout((()=>{(0,o.setStyle)(l,"display","none")}),i.AUTO_PLAYBACK_TIMEOUT)})))})),{name:"autoPlayback",get times(){return a.get("times")||{}},clear:()=>a.del("times"),delete(e){const t=a.get("times")||{};return delete t[e],a.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 o=e("../utils");r.default=function(e){const{constructor:t,proxy:r,template:{$player:a,$video:i}}=e;let n=null,s=!1,l=1;const c=()=>{clearTimeout(n),s&&(s=!1,e.playbackRate=l,(0,o.removeClass)(a,"art-fast-forward"))};return r(i,"touchstart",(r=>{1===r.touches.length&&e.playing&&!e.isLock&&(n=setTimeout((()=>{s=!0,l=e.playbackRate,e.playbackRate=t.FAST_FORWARD_VALUE,(0,o.addClass)(a,"art-fast-forward")}),t.FAST_FORWARD_TIME))})),r(document,"touchmove",c),r(document,"touchend",c),{name:"fastForward",get state(){return(0,o.hasClass)(a,"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 o=e("../utils");r.default=function(e){const{layers:t,icons:r,template:{$player:a}}=e;return t.add({name:"lock",mounted(t){const a=(0,o.append)(t,r.lock),i=(0,o.append)(t,r.unlock);(0,o.setStyle)(a,"display","none"),e.on("lock",(e=>{e?((0,o.setStyle)(a,"display","inline-flex"),(0,o.setStyle)(i,"display","none")):((0,o.setStyle)(a,"display","none"),(0,o.setStyle)(i,"display","inline-flex"))}))},click(){(0,o.hasClass)(a,"art-lock")?((0,o.removeClass)(a,"art-lock"),this.isLock=!1,e.emit("lock",!1)):((0,o.addClass)(a,"art-lock"),this.isLock=!0,e.emit("lock",!0))}}),{name:"lock",get state(){return(0,o.hasClass)(a,"art-lock")}}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"7mil2":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r);var a=e("./config"),i=o.interopDefault(a),n=e("./utils");r.default=class{constructor(e){const{option:t,proxy:r,template:{$video:o}}=e;for(let t=0;t{e.emit(`video:${t.type}`,t)}));Object.keys(t.moreVideoAttr).forEach((e=>{o[e]=t.moreVideoAttr[e]})),o.controls=!0,t.muted&&(o.muted=t.muted),t.volume&&(o.volume=(0,n.clamp)(t.volume,0,1)),t.poster&&(o.poster=t.poster),t.autoplay&&(o.autoplay=t.autoplay),t.playsInline&&(o.playsInline=!0,o["webkit-playsinline"]=!0);const a=t.type||(0,n.getExt)(t.url),s=t.customType[a];a&&s?s(o,t.url,e):(o.src=t.url,e.emit("url",o.src))}}},{"./config":"lyjeQ","./utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}]},["5lTcX"],"5lTcX","parcelRequire4dc0");
\ No newline at end of file
diff --git a/packages/artplayer/dist/artplayer.legacy.js b/packages/artplayer/dist/artplayer.legacy.js
index f79eaf453..e11df20bf 100644
--- a/packages/artplayer/dist/artplayer.legacy.js
+++ b/packages/artplayer/dist/artplayer.legacy.js
@@ -1,7 +1,7 @@
/*!
- * artplayer.js v4.6.3
+ * artplayer.js v5.0.0
* Github: https://github.com/zhw2590582/ArtPlayer
* (c) 2017-2023 Harvey Zack
* Released under the MIT License.
*/
-!function(e,t,r,o,i){var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},n="function"==typeof a[o]&&a[o],s=n.cache||{},l="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function c(t,r){if(!s[t]){if(!e[t]){var i="function"==typeof a[o]&&a[o];if(!r&&i)return i(t,!0);if(n)return n(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 o=e[t][1][r];return null!=o?o: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=n,c.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(c,"root",{get:function(){return a[o]}}),a[o]=c;for(var p=0;pte));var i=e("bundle-text:./style/index.less"),a=o.interopDefault(i),n=e("option-validator"),s=o.interopDefault(n),l=e("./utils/emitter"),c=o.interopDefault(l),p=e("./utils"),u=e("./scheme"),d=o.interopDefault(u),f=e("./config"),h=o.interopDefault(f),m=e("./whitelist"),g=o.interopDefault(m),y=e("./template"),v=o.interopDefault(y),b=e("./i18n"),x=o.interopDefault(b),w=e("./player"),j=o.interopDefault(w),k=e("./control"),S=o.interopDefault(k),P=e("./contextmenu"),T=o.interopDefault(P),I=e("./info"),$=o.interopDefault(I),E=e("./subtitle"),M=o.interopDefault(E),L=e("./events"),F=o.interopDefault(L),C=e("./hotkey"),V=o.interopDefault(C),A=e("./layer"),D=o.interopDefault(A),z=e("./loading"),R=o.interopDefault(z),O=e("./notice"),N=o.interopDefault(O),H=e("./mask"),_=o.interopDefault(H),W=e("./icons"),q=o.interopDefault(W),B=e("./setting"),U=o.interopDefault(B),Y=e("./storage"),G=o.interopDefault(Y),Z=e("./plugins"),K=o.interopDefault(Z),J=e("./mobile"),X=o.interopDefault(J);let Q=0;const ee=[];class te extends c.default{static get instances(){return ee}static get version(){return"4.6.3"}static get env(){return"production"}static get build(){return"2023-02-24 21:42:18"}static get config(){return h.default}static get utils(){return p}static get scheme(){return d.default}static get Emitter(){return c.default}static get validator(){return s.default}static get kindOf(){return s.default.kindOf}static get html(){return v.default.html}static get option(){return{id:"",container:"#artplayer",url:"",poster:"",title:"",type:"",theme:"#f00",volume:.7,isLive:!1,muted:!1,autoplay:!1,autoSize:!1,autoMini:!1,loop:!1,flip:!1,playbackRate:!1,aspectRatio:!1,screenshot:!1,setting:!1,hotkey:!0,pip:!1,mutex:!0,backdrop:!0,fullscreen:!1,fullscreenWeb:!1,subtitleOffset:!1,miniProgressBar:!1,useSSR:!1,playsInline:!0,lock:!1,fastForward:!1,autoPlayback:!1,autoOrientation:!1,airplay:!1,layers:[],contextmenu:[],controls:[],settings:[],quality:[],highlight:[],plugins:[],whitelist:[],thumbnails:{url:"",number:60,column:10,width:0,height:0},subtitle:{url:"",type:"",style:{},escape:!0,encoding:"utf-8"},moreVideoAttr:{controls:!1,preload:p.isSafari?"auto":"metadata"},i18n:{},icons:{},customType:{},lang:navigator.language.toLowerCase()}}get proxy(){return this.events.proxy}get query(){return this.template.query}get video(){return this.template.$video}destroy(e=!0){this.events.destroy(),this.template.destroy(e),ee.splice(ee.indexOf(this),1),this.isDestroy=!0,this.emit("destroy")}constructor(e,t){super(),this.id=++Q;const r=p.mergeDeep(te.option,e);if(this.option=(0,s.default)(r,d.default),this.isLock=!1,this.isReady=!1,this.isFocus=!1,this.isInput=!1,this.isRotate=!1,this.isDestroy=!1,this.whitelist=new(0,g.default)(this),this.template=new(0,v.default)(this),this.events=new(0,F.default)(this),this.whitelist.state?(this.storage=new(0,G.default)(this),this.icons=new(0,q.default)(this),this.i18n=new(0,x.default)(this),this.notice=new(0,N.default)(this),this.player=new(0,j.default)(this),this.layers=new(0,D.default)(this),this.controls=new(0,S.default)(this),this.contextmenu=new(0,T.default)(this),this.subtitle=new(0,M.default)(this),this.info=new(0,$.default)(this),this.loading=new(0,R.default)(this),this.hotkey=new(0,V.default)(this),this.mask=new(0,_.default)(this),this.setting=new(0,U.default)(this),this.plugins=new(0,K.default)(this)):this.mobile=new(0,X.default)(this),"function"==typeof t&&this.on("ready",(()=>t.call(this,this))),te.DEBUG){const e=e=>console.log(`[ART.${this.id}] -> ${e}`);e("Version@"+te.version),e("Env@"+te.env),e("Build@"+te.build);for(let t=0;te("Event@"+t.type)))}ee.push(this)}}if(te.DEBUG=!1,te.CONTEXTMENU=!0,te.NOTICE_TIME=2e3,te.SETTING_WIDTH=250,te.SETTING_ITEM_WIDTH=200,te.SETTING_ITEM_HEIGHT=35,te.INDICATOR_SIZE=14,te.INDICATOR_SIZE_ICON=16,te.INDICATOR_SIZE_MOBILE=18,te.INDICATOR_SIZE_MOBILE_ICON=20,te.VOLUME_PANEL_WIDTH=60,te.VOLUME_HANDLE_WIDTH=12,te.RESIZE_TIME=500,te.SCROLL_TIME=200,te.SCROLL_GAP=50,te.AUTO_PLAYBACK_MAX=10,te.AUTO_PLAYBACK_MIN=5,te.AUTO_PLAYBACK_TIMEOUT=3e3,te.RECONNECT_TIME_MAX=5,te.RECONNECT_SLEEP_TIME=1e3,te.CONTROL_HIDE_TIME=3e3,te.DB_CLICE_TIME=300,te.MOBILE_AUTO_PLAYBACKRATE=3,te.MOBILE_AUTO_PLAYBACKRATE_TIME=1e3,te.MOBILE_AUTO_ORIENTATION_TIME=200,te.INFO_LOOP_TIME=1e3,te.FAST_FORWARD_VALUE=3,te.FAST_FORWARD_TIME=1e3,te.TOUCH_MOVE_RATIO=.5,te.VOLUME_STEP=.1,te.SEEK_STEP=5,te.PROGRESS_HEIGHT=6,te.PLAYBACK_RATE=[.5,.75,1,1.25,1.5,2],te.ASPECT_RATIO=["default","4:3","16:9"],te.FLIP=["normal","horizontal","vertical"],te.FULLSCREEN_WEB_IN_BODY=!1,"undefined"!=typeof document&&!document.getElementById("artplayer-style")){const e=p.createElement("style");e.id="artplayer-style",e.textContent=a.default,document.head.appendChild(e)}"undefined"!=typeof window&&(window.Artplayer=te),console.log(`%c ArtPlayer %c ${te.version} %c https://artplayer.org`,"color: #fff; background: #5f5f5f","color: #fff; background: #4bc729","")},{"bundle-text:./style/index.less":"6huYk","option-validator":"e1J0t","./utils/emitter":"fPpO7","./utils":"7drL4","./scheme":"1s2bZ","./config":"1shlC","./whitelist":"12Atb","./template":"44X6u","./i18n":"brIxD","./player":"iurL3","./control":"krUTp","./contextmenu":"XqyHm","./info":"fiMkm","./subtitle":"ekPC4","./events":"aoN05","./hotkey":"ba6C3","./layer":"3BGk5","./loading":"6LgqS","./notice":"e1V9b","./mask":"7Eyvg","./icons":"jccXh","./setting":"gBKqL","./storage":"71DyG","./plugins":"kWGSQ","./mobile":"lFrMF","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"6huYk":[function(e,t,r){t.exports='.art-video-player{z-index:20;width:100%;height:100%;zoom:1;color:#eee;text-align:left;direction:ltr;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:#0000;touch-action:manipulation;-ms-high-contrast-adjust:none;background-color:#000;outline:0;margin:0 auto;font-family:Roboto,Arial,Helvetica,sans-serif;font-size:14px;line-height:1.3;display:flex;position:relative}.art-video-player *,.art-video-player :before,.art-video-player :after{box-sizing:border-box;margin:0;padding:0}.art-video-player ::-webkit-scrollbar{width:5px;height:5px}.art-video-player ::-webkit-scrollbar-thumb{background-color:#666}.art-video-player ::-webkit-scrollbar-thumb:hover{background-color:#ccc}.art-video-player .art-icon{justify-content:center;align-items:center;line-height:1.5;display:inline-flex}.art-video-player .art-icon svg{fill:#fff}.art-video-player img{max-width:100%;vertical-align:top}@supports ((-webkit-backdrop-filter:initial)) or ((-webkit-backdrop-filter:initial)) or ((-webkit-backdrop-filter:initial) or (backdrop-filter:initial)){.art-video-player .art-backdrop-filter{-webkit-backdrop-filter:saturate(180%)blur(20px);-webkit-backdrop-filter:saturate(180%)blur(20px);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);background-color:#000000b3!important}}.art-video-player .art-video{z-index:10;width:100%;height:100%;cursor:pointer;background-color:#000;position:absolute;inset:0}.art-video-player .art-poster{z-index:11;width:100%;height:100%;-webkit-user-select:none;user-select:none;pointer-events:none;background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.art-video-player .art-subtitle{z-index:20;width:100%;text-align:center;color:#fff;pointer-events:none;text-shadow:1px 0 1px #000,0 1px 1px #000,-1px 0 1px #000,0 -1px 1px #000,1px 1px 1px #000,-1px -1px 1px #000,1px -1px 1px #000,-1px 1px 1px #000;padding:0 20px;font-size:20px;transition:bottom .2s;display:none;position:absolute;bottom:10px}.art-video-player .art-subtitle p{word-break:break-all;height:-moz-fit-content;height:-moz-fit-content;height:fit-content;margin:5px 0 0;line-height:1.2}.art-video-player.art-subtitle-show .art-subtitle{display:block}.art-video-player.art-control-show .art-subtitle{bottom:50px}.art-video-player .art-danmuku{z-index:30;width:100%;height:100%;pointer-events:none;position:absolute;inset:0;overflow:hidden}.art-video-player .art-layers{z-index:40;width:100%;height:100%;pointer-events:none;display:none;position:absolute;inset:0;overflow:hidden}.art-video-player .art-layers .art-layer{pointer-events:auto}.art-video-player.art-layer-show .art-layers{display:block}.art-video-player .art-mask{z-index:50;width:100%;height:100%;pointer-events:none;justify-content:center;align-items:center;display:none;position:absolute;inset:0;overflow:hidden}.art-video-player .art-mask .art-state{width:60px;height:60px;opacity:.85;cursor:pointer;pointer-events:auto;justify-content:center;align-items:center;display:flex;position:absolute;bottom:65px;right:30px}.art-video-player.art-mask-show .art-mask{display:flex}.art-video-player.art-mobile .art-state{position:static}.art-video-player .art-loading{z-index:70;width:100%;height:100%;pointer-events:none;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.art-video-player.art-loading-show .art-loading{display:flex}.art-video-player .art-bottom{z-index:60;height:100px;opacity:0;visibility:hidden;pointer-events:none;background-image:linear-gradient(#0000,#0006,#000);background-position:bottom;background-repeat:repeat-x;flex-direction:column;justify-content:space-between;padding:50px 10px 0;transition:all .2s ease-in-out;display:flex;position:absolute;bottom:0;left:0;right:0}.art-video-player .art-bottom .art-progress{z-index:0;pointer-events:auto;flex:1;position:relative}.art-video-player .art-bottom .art-progress .art-control-progress{height:4px;cursor:pointer;flex-direction:row;align-items:center;display:flex;position:relative}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner{height:50%;width:100%;background:#fff3;align-items:center;transition:all .2s;display:flex;position:relative}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-loaded{z-index:10;height:100%;width:0;background:#fff6;position:absolute;inset:0}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-played{z-index:20;height:100%;width:0;position:absolute;inset:0}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-highlight{z-index:30;height:100%;pointer-events:none;position:absolute;inset:0}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-highlight span{width:7px;height:100%;pointer-events:auto;background:#ffffff80;display:inline-block;position:absolute;top:0;left:0}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator{visibility:hidden;z-index:40;border-radius:50%;justify-content:center;align-items:center;transition:transform .1s ease-in-out;position:absolute;transform:scale(.1)}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator .art-icon{width:100%;height:100%;pointer-events:none;-webkit-user-select:none;user-select:none}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator:hover{transform:scale(1.2)!important}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-tip{z-index:50;height:20px;color:#fff;text-align:center;white-space:nowrap;background:#000000b3;border-radius:3px;padding:0 5px;font-size:12px;font-weight:700;line-height:20px;display:none;position:absolute;top:-25px;left:0}.art-video-player .art-bottom .art-progress .art-control-thumbnails{pointer-events:none;background-color:#000000b3;border-radius:3px;display:none;position:absolute;bottom:10px;left:0;box-shadow:0 1px 3px #0003,0 1px 2px -1px #0003}.art-video-player .art-bottom .art-progress .art-control-loop{width:100%;height:100%;pointer-events:none;display:none;position:absolute;inset:0}.art-video-player .art-bottom .art-progress .art-control-loop .art-loop-point{width:2px;height:8px;background:#ffffffbf;position:absolute;top:-2px;left:0}.art-video-player .art-bottom .art-controls{z-index:1;pointer-events:auto;height:45px;justify-content:space-between;align-items:center;display:flex;position:relative}.art-video-player .art-bottom .art-controls .art-controls-left,.art-video-player .art-bottom .art-controls .art-controls-right{display:flex}.art-video-player .art-bottom .art-controls .art-controls-center{height:100%;flex:1;justify-content:center;align-items:center;padding:0 10px;display:flex}.art-video-player .art-bottom .art-controls .art-controls-right{justify-content:flex-end}.art-video-player .art-bottom .art-controls .art-control{opacity:.75;min-height:36px;min-width:36px;text-align:center;cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;font-size:12px;line-height:1;transition:opacity .1s ease-in-out;display:flex}.art-video-player .art-bottom .art-controls .art-control .art-icon{float:left;height:36px;width:36px;justify-content:center;align-items:center;transition:transform .2s ease-in-out;display:flex;transform:scale(1)}.art-video-player .art-bottom .art-controls .art-control .art-icon:active{transform:scale(.85)}.art-video-player .art-bottom .art-controls .art-control:hover{opacity:1}.art-video-player .art-bottom .art-controls .art-control-volume .art-volume-panel{float:left;width:0;height:100%;transition:margin .2s cubic-bezier(.4,0,1,1),width .2s cubic-bezier(.4,0,1,1);position:relative;overflow:hidden}.art-video-player .art-bottom .art-controls .art-control-volume .art-volume-panel .art-volume-slider-handle{width:12px;height:12px;background:#fff;border-radius:12px;margin-top:-6px;position:absolute;top:50%;left:0}.art-video-player .art-bottom .art-controls .art-control-volume .art-volume-panel .art-volume-slider-handle:before{background:#fff;left:-54px}.art-video-player .art-bottom .art-controls .art-control-volume .art-volume-panel .art-volume-slider-handle:after{background:#fff3;left:6px}.art-video-player .art-bottom .art-controls .art-control-volume .art-volume-panel .art-volume-slider-handle:before,.art-video-player .art-bottom .art-controls .art-control-volume .art-volume-panel .art-volume-slider-handle:after{content:"";height:3px;width:60px;margin-top:-2px;display:block;position:absolute;top:50%}.art-video-player .art-bottom .art-controls .art-control-volume:hover .art-volume-panel{width:60px}.art-video-player .art-bottom .art-controls .art-control-quality{z-index:30;position:relative}.art-video-player .art-bottom .art-controls .art-control-quality .art-qualitys{width:100px;text-align:center;color:#fff;background:#000c;border-radius:3px;padding:5px 0;display:none;position:absolute;bottom:35px}.art-video-player .art-bottom .art-controls .art-control-quality .art-qualitys .art-quality-item{height:30px;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 0 2px #00000080;line-height:30px;overflow:hidden}.art-video-player .art-bottom .art-controls .art-control-quality .art-qualitys .art-quality-item:hover{background-color:#ffffff1a}.art-video-player .art-bottom .art-controls .art-control-quality:hover .art-qualitys{display:block}.art-video-player .art-bottom:hover .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator{visibility:visible;transform:scale(1)}.art-video-player.art-control-show .art-bottom,.art-video-player.art-hover .art-bottom{opacity:1;visibility:visible}.art-video-player.art-error .art-progress-indicator,.art-video-player.art-destroy .art-progress-indicator,.art-video-player.art-error .art-progress-tip,.art-video-player.art-destroy .art-progress-tip{display:none!important}.art-video-player.art-mobile .art-bottom{height:105px;padding:50px 7px 0}.art-video-player.art-mobile .art-bottom .art-controls{height:40px}.art-video-player.art-mobile .art-bottom .art-progress-indicator{visibility:visible!important;transform:scale(1)!important}.art-video-player .art-notice{z-index:80;width:100%;pointer-events:none;padding:10px;font-size:14px;display:none;position:absolute;top:0;left:0}.art-video-player .art-notice .art-notice-inner{color:#fff;background-color:#0009;border-radius:3px;padding:5px 10px;display:inline-block}.art-video-player.art-notice-show .art-notice{display:flex}.art-video-player .art-contextmenus{z-index:120;min-width:200px;background-color:#000000e6;border-radius:3px;flex-direction:column;padding:5px 0;display:none;position:absolute;top:10px;left:10px}.art-video-player .art-contextmenus .art-contextmenu{cursor:pointer;color:#fff;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 0 2px #00000080;border-bottom:1px solid #ffffff1a;padding:10px 15px;font-size:12px;display:block;overflow:hidden}.art-video-player .art-contextmenus .art-contextmenu a{color:#fff;text-decoration:none}.art-video-player .art-contextmenus .art-contextmenu span{padding:0 7px;display:inline-block}.art-video-player .art-contextmenus .art-contextmenu span:hover,.art-video-player .art-contextmenus .art-contextmenu span.art-current{color:var(--theme)}.art-video-player .art-contextmenus .art-contextmenu:hover{background-color:#ffffff1a}.art-video-player .art-contextmenus .art-contextmenu:last-child{border-bottom:none}.art-video-player.art-contextmenu-show .art-contextmenus{display:flex}.art-video-player .art-settings{z-index:90;height:auto;max-height:300px;background-color:#000000e6;border-radius:3px;font-size:13px;transition:all .2s;display:none;position:absolute;bottom:60px;left:0;overflow:auto}.art-video-player .art-settings .art-setting-panel{display:none}.art-video-player .art-settings .art-setting-panel.art-current{display:block}.art-video-player .art-settings .art-setting-panel .art-setting-item{height:35px;cursor:pointer;color:#fffc;justify-content:space-between;align-items:center;padding:0 5px;line-height:1;display:flex;overflow:hidden}.art-video-player .art-settings .art-setting-panel .art-setting-item:hover{color:#fff;background-color:#ffffff1a}.art-video-player .art-settings .art-setting-panel .art-setting-item.art-current{color:var(--theme)}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-icon{width:30px;height:30px;justify-content:center;align-items:center;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-icon-check{visibility:hidden;height:15px}.art-video-player .art-settings .art-setting-panel .art-setting-item.art-current .art-icon-check{visibility:visible}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-left{white-space:nowrap;align-items:center;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-left .art-setting-item-left-icon{height:24px;width:24px;justify-content:center;align-items:center;margin-right:10px;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right{align-items:center;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-item-right-tooltip{white-space:nowrap;color:#ffffff80;margin-right:5px;font-size:12px}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-item-right-icon{height:24px;justify-content:center;align-items:center;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-range{height:3px;width:80px;-webkit-appearance:none;appearance:none;background-color:#fff3;outline:none}.art-video-player .art-settings .art-setting-panel .art-setting-item-back{border-bottom:1px solid #ffffff1a}.art-video-player.art-setting-show .art-settings{display:block}.art-video-player.art-mobile .art-settings{max-height:200px}.art-video-player .art-info{z-index:100;width:350px;color:#fff;-webkit-font-smoothing:antialiased;background-color:#000000e6;flex-direction:column;padding:10px;font-family:Noto Sans CJK SC DemiLight,Roboto,Segoe UI,Tahoma,Arial,Helvetica,sans-serif;font-size:12px;display:none;position:absolute;top:10px;left:10px}.art-video-player .art-info .art-info-item{margin-bottom:5px;display:flex}.art-video-player .art-info .art-info-item .art-info-title{width:100px;text-align:right}.art-video-player .art-info .art-info-item .art-info-content{text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:all;user-select:all;flex:1;padding-left:5px;overflow:hidden}.art-video-player .art-info .art-info-item:last-child{margin-bottom:0}.art-video-player .art-info .art-info-close{cursor:pointer;position:absolute;top:5px;right:5px}.art-video-player.art-info-show .art-info{display:flex}.art-video-player.art-hide-cursor *{cursor:none!important}.art-video-player[data-aspect-ratio] video{box-sizing:content-box;object-fit:fill}.art-video-player.art-fullscreen-web{z-index:9999;width:100%;height:100%;position:fixed;inset:0}.art-video-player .art-mini-header{z-index:110;height:35px;color:#fff;opacity:0;visibility:hidden;background-color:#00000080;justify-content:space-between;align-items:center;line-height:35px;transition:all .2s ease-in-out;display:none;position:absolute;top:0;left:0;right:0}.art-video-player .art-mini-header .art-mini-title{text-overflow:ellipsis;white-space:nowrap;cursor:move;flex:1;padding:0 10px;overflow:hidden}.art-video-player .art-mini-header .art-mini-close{width:35px;text-align:center;cursor:pointer;font-size:22px}.art-video-player.art-is-dragging{opacity:.7}.art-video-player.art-mini{z-index:9999;width:400px;height:225px;position:fixed;box-shadow:0 2px 5px #00000029,0 3px 6px #0003}.art-video-player.art-mini .art-mini-header{-webkit-user-select:none;user-select:none;display:flex}.art-video-player.art-mini.art-hover .art-mini-header{opacity:1;visibility:visible}.art-video-player.art-mini .art-mask .art-state{position:static}.art-video-player.art-mini .art-contextmenu,.art-video-player.art-mini .art-bottom,.art-video-player.art-mini .art-danmu,.art-video-player.art-mini .art-info,.art-video-player.art-mini .art-layers,.art-video-player.art-mini .art-notice,.art-video-player.art-mini .art-settings,.art-video-player.art-mini .art-subtitle{display:none!important}.art-auto-size{justify-content:center;align-items:center;display:flex}.art-auto-size .art-video-player{transition:all .2s}.art-video-player[data-flip=horizontal] .art-video{transform:scaleX(-1)}.art-video-player[data-flip=vertical] .art-video{transform:scaleY(-1)}.art-video-player .art-layer-miniProgressBar{height:2px;background-color:var(--theme);display:block;position:absolute;bottom:0;left:0;right:0}.art-video-player .art-layer-lock{height:34px;width:34px;color:#fff;background-color:#00000080;border-radius:50%;justify-content:center;align-items:center;display:none;position:absolute;top:calc(50% - 17px);left:15px}.art-video-player .art-layer-autoPlayback{background-color:#000c;border-radius:3px;align-items:center;padding:10px;line-height:1;display:none;position:absolute;bottom:60px;left:20px}.art-video-player .art-layer-autoPlayback .art-autoPlayback-close{cursor:pointer;align-items:center;margin-right:10px;display:flex}.art-video-player .art-layer-autoPlayback .art-autoPlayback-close svg{width:15px;height:15px;fill:var(--theme)}.art-video-player .art-layer-autoPlayback .art-autoPlayback-last{margin-right:10px}.art-video-player .art-layer-autoPlayback .art-autoPlayback-jump{color:var(--theme);cursor:pointer}.art-video-player.art-lock .art-bottom{display:none!important}.art-video-player.art-lock .art-subtitle{bottom:10px!important}.art-video-player.art-lock .art-layer-miniProgressBar{display:block!important}.art-video-player.art-control-show .art-layer-miniProgressBar{display:none}.art-video-player.art-control-show .art-layer-lock{display:flex}.art-video-player .art-control-selector{position:relative}.art-video-player .art-control-selector .art-selector-list{min-width:100px;max-width:200px;max-height:200px;text-align:center;color:#fff;background-color:#000c;border-radius:3px;padding:5px 0;display:none;position:absolute;bottom:35px;overflow:auto}.art-video-player .art-control-selector .art-selector-list .art-selector-item{height:30px;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 0 2px #00000080;padding:0 5px;line-height:30px;overflow:hidden}.art-video-player .art-control-selector .art-selector-list .art-selector-item:hover{background-color:#ffffff1a}.art-video-player .art-control-selector .art-selector-list .art-selector-item:hover,.art-video-player .art-control-selector .art-selector-list .art-selector-item.art-current{color:var(--theme)}.art-video-player .art-control-selector:hover .art-selector-list{display:block}[class*=hint--]{font-style:normal;display:inline-block;position:relative}[class*=hint--]:before,[class*=hint--]:after{visibility:hidden;opacity:0;z-index:1000000;pointer-events:none;transition:all .3s;position:absolute;transform:translate(0,0)}[class*=hint--]:hover:before,[class*=hint--]:hover:after{visibility:visible;opacity:1;transition-delay:.1s}[class*=hint--]:before{content:"";z-index:1000001;background:0 0;border:6px solid #0000;position:absolute}[class*=hint--]:after{color:#fff;white-space:nowrap;background:#000;padding:8px 10px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;line-height:12px}[class*=hint--][aria-label]:after{content:attr(aria-label)}[class*=hint--][data-hint]:after{content:attr(data-hint)}[aria-label=""]:before,[aria-label=""]:after,[data-hint=""]:before,[data-hint=""]:after{display:none!important}.hint--top-left:before,.hint--top-right:before,.hint--top:before{border-top-color:#000}.hint--bottom-left:before,.hint--bottom-right:before,.hint--bottom:before{border-bottom-color:#000}.hint--left:before{border-left-color:#000}.hint--right:before{border-right-color:#000}.hint--top:before{margin-bottom:-11px}.hint--top:before,.hint--top:after{bottom:100%;left:50%}.hint--top:before{left:calc(50% - 6px)}.hint--top:after{transform:translate(-50%)}.hint--top:hover:before{transform:translateY(-8px)}.hint--top:hover:after{transform:translate(-50%)translateY(-8px)}.hint--bottom:before{margin-top:-11px}.hint--bottom:before,.hint--bottom:after{top:100%;left:50%}.hint--bottom:before{left:calc(50% - 6px)}.hint--bottom:after{transform:translate(-50%)}.hint--bottom:hover:before{transform:translateY(8px)}.hint--bottom:hover:after{transform:translate(-50%)translateY(8px)}.hint--right:before{margin-bottom:-6px;margin-left:-11px}.hint--right:after{margin-bottom:-14px}.hint--right:before,.hint--right:after{bottom:50%;left:100%}.hint--right:hover:before,.hint--right:hover:after{transform:translate(8px)}.hint--left:before{margin-bottom:-6px;margin-right:-11px}.hint--left:after{margin-bottom:-14px}.hint--left:before,.hint--left:after{bottom:50%;right:100%}.hint--left:hover:before,.hint--left:hover:after{transform:translate(-8px)}.hint--top-left:before{margin-bottom:-11px}.hint--top-left:before,.hint--top-left:after{bottom:100%;left:50%}.hint--top-left:before{left:calc(50% - 6px)}.hint--top-left:after{margin-left:12px;transform:translate(-100%)}.hint--top-left:hover:before{transform:translateY(-8px)}.hint--top-left:hover:after{transform:translate(-100%)translateY(-8px)}.hint--top-right:before{margin-bottom:-11px}.hint--top-right:before,.hint--top-right:after{bottom:100%;left:50%}.hint--top-right:before{left:calc(50% - 6px)}.hint--top-right:after{margin-left:-12px;transform:translate(0)}.hint--top-right:hover:before,.hint--top-right:hover:after{transform:translateY(-8px)}.hint--bottom-left:before{margin-top:-11px}.hint--bottom-left:before,.hint--bottom-left:after{top:100%;left:50%}.hint--bottom-left:before{left:calc(50% - 6px)}.hint--bottom-left:after{margin-left:12px;transform:translate(-100%)}.hint--bottom-left:hover:before{transform:translateY(8px)}.hint--bottom-left:hover:after{transform:translate(-100%)translateY(8px)}.hint--bottom-right:before{margin-top:-11px}.hint--bottom-right:before,.hint--bottom-right:after{top:100%;left:50%}.hint--bottom-right:before{left:calc(50% - 6px)}.hint--bottom-right:after{margin-left:-12px;transform:translate(0)}.hint--bottom-right:hover:before,.hint--bottom-right:hover:after{transform:translateY(8px)}.hint--small:after,.hint--medium:after,.hint--large:after{white-space:normal;word-wrap:break-word;line-height:1.4em}.hint--small:after{width:80px}.hint--medium:after{width:150px}.hint--large:after{width:300px}[class*=hint--]:after{text-shadow:0 -1px #000;box-shadow:4px 4px 8px #0000004d}.hint--error:after{text-shadow:0 -1px #592726;background-color:#b34e4d}.hint--error.hint--top-left:before,.hint--error.hint--top-right:before,.hint--error.hint--top:before{border-top-color:#b34e4d}.hint--error.hint--bottom-left:before,.hint--error.hint--bottom-right:before,.hint--error.hint--bottom:before{border-bottom-color:#b34e4d}.hint--error.hint--left:before{border-left-color:#b34e4d}.hint--error.hint--right:before{border-right-color:#b34e4d}.hint--warning:after{text-shadow:0 -1px #6c5328;background-color:#c09854}.hint--warning.hint--top-left:before,.hint--warning.hint--top-right:before,.hint--warning.hint--top:before{border-top-color:#c09854}.hint--warning.hint--bottom-left:before,.hint--warning.hint--bottom-right:before,.hint--warning.hint--bottom:before{border-bottom-color:#c09854}.hint--warning.hint--left:before{border-left-color:#c09854}.hint--warning.hint--right:before{border-right-color:#c09854}.hint--info:after{text-shadow:0 -1px #1a3c4d;background-color:#3986ac}.hint--info.hint--top-left:before,.hint--info.hint--top-right:before,.hint--info.hint--top:before{border-top-color:#3986ac}.hint--info.hint--bottom-left:before,.hint--info.hint--bottom-right:before,.hint--info.hint--bottom:before{border-bottom-color:#3986ac}.hint--info.hint--left:before{border-left-color:#3986ac}.hint--info.hint--right:before{border-right-color:#3986ac}.hint--success:after{text-shadow:0 -1px #1a321a;background-color:#458746}.hint--success.hint--top-left:before,.hint--success.hint--top-right:before,.hint--success.hint--top:before{border-top-color:#458746}.hint--success.hint--bottom-left:before,.hint--success.hint--bottom-right:before,.hint--success.hint--bottom:before{border-bottom-color:#458746}.hint--success.hint--left:before{border-left-color:#458746}.hint--success.hint--right:before{border-right-color:#458746}.hint--always:after,.hint--always:before{opacity:1;visibility:visible}.hint--always.hint--top:before{transform:translateY(-8px)}.hint--always.hint--top:after{transform:translate(-50%)translateY(-8px)}.hint--always.hint--top-left:before{transform:translateY(-8px)}.hint--always.hint--top-left:after{transform:translate(-100%)translateY(-8px)}.hint--always.hint--top-right:before,.hint--always.hint--top-right:after{transform:translateY(-8px)}.hint--always.hint--bottom:before{transform:translateY(8px)}.hint--always.hint--bottom:after{transform:translate(-50%)translateY(8px)}.hint--always.hint--bottom-left:before{transform:translateY(8px)}.hint--always.hint--bottom-left:after{transform:translate(-100%)translateY(8px)}.hint--always.hint--bottom-right:before,.hint--always.hint--bottom-right:after{transform:translateY(8px)}.hint--always.hint--left:before,.hint--always.hint--left:after{transform:translate(-8px)}.hint--always.hint--right:before,.hint--always.hint--right:after{transform:translate(8px)}.hint--rounded:after{border-radius:4px}.hint--no-animate:before,.hint--no-animate:after{transition-duration:0s}.hint--bounce:before,.hint--bounce:after{-webkit-transition:opacity .3s,visibility .3s,-webkit-transform .3s cubic-bezier(.71,1.7,.77,1.24);-moz-transition:opacity .3s,visibility .3s,-moz-transform .3s cubic-bezier(.71,1.7,.77,1.24);transition:opacity .3s,visibility .3s,transform .3s cubic-bezier(.71,1.7,.77,1.24)}.hint--no-shadow:before,.hint--no-shadow:after{text-shadow:initial;box-shadow:initial}.hint--no-arrow:before{display:none}'},{}],e1J0t:[function(e,t,r){t.exports=function(){"use strict";function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(t)}var t=Object.prototype.toString,r=function(r){if(void 0===r)return"undefined";if(null===r)return"null";var i=e(r);if("boolean"===i)return"boolean";if("string"===i)return"string";if("number"===i)return"number";if("symbol"===i)return"symbol";if("function"===i)return function(e){return"GeneratorFunction"===o(e)}(r)?"generatorfunction":"function";if(function(e){return Array.isArray?Array.isArray(e):e instanceof Array}(r))return"array";if(function(e){return!(!e.constructor||"function"!=typeof e.constructor.isBuffer)&&e.constructor.isBuffer(e)}(r))return"buffer";if(function(e){try{if("number"==typeof e.length&&"function"==typeof e.callee)return!0}catch(e){if(-1!==e.message.indexOf("callee"))return!0}return!1}(r))return"arguments";if(function(e){return e instanceof Date||"function"==typeof e.toDateString&&"function"==typeof e.getDate&&"function"==typeof e.setDate}(r))return"date";if(function(e){return e instanceof Error||"string"==typeof e.message&&e.constructor&&"number"==typeof e.constructor.stackTraceLimit}(r))return"error";if(function(e){return e instanceof RegExp||"string"==typeof e.flags&&"boolean"==typeof e.ignoreCase&&"boolean"==typeof e.multiline&&"boolean"==typeof e.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(e){return"function"==typeof e.throw&&"function"==typeof e.return&&"function"==typeof e.next}(r))return"generator";switch(i=t.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 i.slice(8,-1).toLowerCase().replace(/\s/g,"")};function o(e){return e.constructor?e.constructor.name:null}function i(e,t){var o=2i));class i{on(e,t,r){const o=this.e||(this.e={});return(o[e]||(o[e]=[])).push({fn:t,ctx:r}),this}once(e,t,r){const o=this;function i(...a){o.off(e,i),t.apply(r,a)}return i._=t,this.on(e,i,r)}emit(e,...t){const r=((this.e||(this.e={}))[e]||[]).slice();for(let e=0;ea)),o.export(r,"queryAll",(()=>n)),o.export(r,"addClass",(()=>s)),o.export(r,"removeClass",(()=>l)),o.export(r,"hasClass",(()=>c)),o.export(r,"append",(()=>p)),o.export(r,"remove",(()=>u)),o.export(r,"setStyle",(()=>d)),o.export(r,"setStyles",(()=>f)),o.export(r,"getStyle",(()=>h)),o.export(r,"sublings",(()=>m)),o.export(r,"inverseClass",(()=>g)),o.export(r,"tooltip",(()=>y)),o.export(r,"isInViewport",(()=>v)),o.export(r,"includeFromEvent",(()=>b)),o.export(r,"replaceElement",(()=>x)),o.export(r,"createElement",(()=>w));var i=e("./compatibility");function a(e,t=document){return t.querySelector(e)}function n(e,t=document){return Array.from(t.querySelectorAll(e))}function s(e,t){return e.classList.add(t)}function l(e,t){return e.classList.remove(t)}function c(e,t){return e.classList.contains(t)}function p(e,t){return t instanceof Element?e.appendChild(t):e.insertAdjacentHTML("beforeend",String(t)),e.lastElementChild||e.lastChild}function u(e){return e.parentNode.removeChild(e)}function d(e,t,r){return e.style[t]=r,e}function f(e,t){return Object.keys(t).forEach((r=>{d(e,r,t[r])})),e}function h(e,t,r=!0){const o=window.getComputedStyle(e,null).getPropertyValue(t);return r?parseFloat(o):o}function m(e){return Array.from(e.parentElement.children).filter((t=>t!==e))}function g(e,t){m(e).forEach((e=>l(e,t))),s(e,t)}function y(e,t,r="top"){i.isMobile||(e.setAttribute("aria-label",t),s(e,"hint--rounded"),s(e,`hint--${r}`))}function v(e,t=0){const r=e.getBoundingClientRect(),o=window.innerHeight||document.documentElement.clientHeight,i=window.innerWidth||document.documentElement.clientWidth,a=r.top-t<=o&&r.top+r.height+t>=0,n=r.left-t<=i+t&&r.left+r.width+t>=0;return a&&n}function b(e,t){return e.composedPath&&e.composedPath().indexOf(t)>-1}function x(e,t){return t.parentNode.replaceChild(e,t),e}function w(e){return document.createElement(e)}},{"./compatibility":"2lSEt","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"2lSEt":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"userAgent",(()=>i)),o.export(r,"isMobile",(()=>a)),o.export(r,"isSafari",(()=>n)),o.export(r,"isWechat",(()=>s)),o.export(r,"isIE",(()=>l)),o.export(r,"isAndroid",(()=>c)),o.export(r,"isIOS",(()=>p));const i="undefined"!=typeof window?window.navigator.userAgent:"",a=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(i),n=/^((?!chrome|android).)*safari/i.test(i),s=/MicroMessenger/i.test(i),l=/MSIE|Trident/i.test(i),c=/android/i.test(i),p=/iPad|iPhone|iPod/i.test(i)&&!window.MSStream},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],aPfiL:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"ArtPlayerError",(()=>i)),o.export(r,"errorHandle",(()=>a));class i extends Error{constructor(e,t){super(e),"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,t||this.constructor),this.name="ArtPlayerError"}}function a(e,t){if(!e)throw new i(t);return e}},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],l4cLJ:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e){return"WEBVTT \r\n\r\n".concat((t=e,t.replace(/(\d\d:\d\d:\d\d)[,.](\d+)/g,((e,t,r)=>{let o=r.slice(0,3);return 1===r.length&&(o=r+"00"),2===r.length&&(o=r+"0"),`${t},${o}`}))).replace(/\{\\([ibu])\}/g,"$1>").replace(/\{\\([ibu])1\}/g,"<$1>").replace(/\{([ibu])\}/g,"<$1>").replace(/\{\/([ibu])\}/g,"$1>").replace(/(\d\d:\d\d:\d\d),(\d\d\d)/g,"$1.$2").replace(/{[\s\S]*?}/g,"").concat("\r\n\r\n"));var t}function a(e){return URL.createObjectURL(new Blob([e],{type:"text/vtt"}))}function n(e){const t=new RegExp("Dialogue:\\s\\d,(\\d+:\\d\\d:\\d\\d.\\d\\d),(\\d+:\\d\\d:\\d\\d.\\d\\d),([^,]*),([^,]*),(?:[^,]*,){4}([\\s\\S]*)$","i");function r(e=""){return e.split(/[:.]/).map(((e,t,r)=>{if(t===r.length-1){if(1===e.length)return`.${e}00`;if(2===e.length)return`.${e}0`}else if(1===e.length)return(0===t?"0":":0")+e;return 0===t?e:t===r.length-1?`.${e}`:`:${e}`})).join("")}return`WEBVTT\n\n${e.split(/\r?\n/).map((e=>{const o=e.match(t);return o?{start:r(o[1].trim()),end:r(o[2].trim()),text:o[5].replace(/{[\s\S]*?}/g,"").replace(/(\\N)/g,"\n").trim().split(/\r?\n/).map((e=>e.trim())).join("\n")}:null})).filter((e=>e)).map(((e,t)=>e?`${t+1}\n${e.start} --\x3e ${e.end}\n${e.text}`:"")).filter((e=>e.trim())).join("\n\n")}`}o.defineInteropFlag(r),o.export(r,"srtToVtt",(()=>i)),o.export(r,"vttToBlob",(()=>a)),o.export(r,"assToVtt",(()=>n))},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"53Vt6":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e){return e.includes("?")?i(e.split("?")[0]):e.includes("#")?i(e.split("#")[0]):e.trim().toLowerCase().split(".").pop()}function a(e,t){const r=document.createElement("a");r.style.display="none",r.href=e,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r)}o.defineInteropFlag(r),o.export(r,"getExt",(()=>i)),o.export(r,"download",(()=>a))},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],lLZes:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"def",(()=>i)),o.export(r,"has",(()=>n)),o.export(r,"get",(()=>s)),o.export(r,"mergeDeep",(()=>l));const i=Object.defineProperty,{hasOwnProperty:a}=Object.prototype;function n(e,t){return a.call(e,t)}function s(e,t){return Object.getOwnPropertyDescriptor(e,t)}function l(...e){const t=e=>e&&"object"==typeof e&&!Array.isArray(e);return e.reduce(((e,r)=>(Object.keys(r).forEach((o=>{const i=e[o],a=r[o];Array.isArray(i)&&Array.isArray(a)?e[o]=i.concat(...a):!t(i)||!t(a)||a instanceof Element?e[o]=a:e[o]=l(i,a)})),e)),{})}},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"8JF40":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e=0){return new Promise((t=>setTimeout(t,e)))}function a(e,t,r){let o;function i(...i){clearTimeout(o),o=setTimeout((function(){o=null,e.apply(r,i)}),t)}return i.clearTimeout=function(){clearTimeout(o)},i}function n(e,t){let r,o,i=!1;return function a(...n){if(i)return r=n,void(o=this);i=!0,e.apply(this,n),setTimeout((()=>{i=!1,r&&(a.apply(o,r),r=null,o=null)}),t)}}o.defineInteropFlag(r),o.export(r,"sleep",(()=>i)),o.export(r,"debounce",(()=>a)),o.export(r,"throttle",(()=>n))},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"2yQzS":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e,t,r){return Math.max(Math.min(e,Math.max(t,r)),Math.min(t,r))}function a(e){return e.charAt(0).toUpperCase()+e.slice(1)}function n(e){return["string","number"].includes(typeof e)}function s(e){const t=Math.floor(e/3600),r=Math.floor((e-3600*t)/60),o=Math.floor(e-3600*t-60*r);return(t>0?[t,r,o]:[r,o]).map((e=>e<10?`0${e}`:String(e))).join(":")}function l(e){return e.replace(/[&<>'"]/g,(e=>({"&":"&","<":"<",">":">","'":"'",'"':"""}[e]||e)))}o.defineInteropFlag(r),o.export(r,"clamp",(()=>i)),o.export(r,"capitalize",(()=>a)),o.export(r,"isStringOrNumber",(()=>n)),o.export(r,"secondToTime",(()=>s)),o.export(r,"escape",(()=>l))},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"1s2bZ":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"ComponentOption",(()=>d));var i=e("../utils");const a="array",n="boolean",s="string",l="number",c="object",p="function";function u(e,t,r){return(0,i.errorHandle)(t===s||t===l||e instanceof Element,`${r.join(".")} require '${s}' or 'Element' type`)}const d={html:u,disable:`?${n}`,name:`?${s}`,index:`?${l}`,style:`?${c}`,click:`?${p}`,mounted:`?${p}`,tooltip:`?${s}|${l}`,width:`?${l}`,selector:`?${a}`,onSelect:`?${p}`,switch:`?${n}`,onSwitch:`?${p}`,range:`?${a}`,onRange:`?${p}`,onChange:`?${p}`};r.default={id:s,container:u,url:s,poster:s,title:s,type:s,theme:s,lang:s,volume:l,isLive:n,muted:n,autoplay:n,autoSize:n,autoMini:n,loop:n,flip:n,playbackRate:n,aspectRatio:n,screenshot:n,setting:n,hotkey:n,pip:n,mutex:n,backdrop:n,fullscreen:n,fullscreenWeb:n,subtitleOffset:n,miniProgressBar:n,useSSR:n,playsInline:n,lock:n,fastForward:n,autoPlayback:n,autoOrientation:n,airplay:n,plugins:[p],whitelist:[`${s}|${p}|regexp`],layers:[d],contextmenu:[d],settings:[d],controls:[{...d,position:(e,t,r)=>{const o=["top","left","right"];return(0,i.errorHandle)(o.includes(e),`${r.join(".")} only accept ${o.toString()} as parameters`)}}],quality:[{default:`?${n}`,html:s,url:s}],highlight:[{time:l,text:s}],thumbnails:{url:s,number:l,column:l,width:l,height:l},subtitle:{url:s,type:s,style:c,escape:n,encoding:s},moreVideoAttr:c,i18n:c,icons:c,customType:c}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"1shlC":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r),r.default={propertys:["audioTracks","autoplay","buffered","controller","controls","crossOrigin","currentSrc","currentTime","defaultMuted","defaultPlaybackRate","duration","ended","error","loop","mediaGroup","muted","networkState","paused","playbackRate","played","preload","readyState","seekable","seeking","src","startDate","textTracks","videoTracks","volume"],methods:["addTextTrack","canPlayType","load","play","pause"],events:["abort","canplay","canplaythrough","durationchange","emptied","ended","error","loadeddata","loadedmetadata","loadstart","pause","play","playing","progress","ratechange","seeked","seeking","stalled","suspend","timeupdate","volumechange","waiting"],prototypes:["width","height","videoWidth","videoHeight","poster","webkitDecodedFrameCount","webkitDroppedFrameCount","playsInline","webkitSupportsFullscreen","webkitDisplayingFullscreen","onenterpictureinpicture","onleavepictureinpicture","disablePictureInPicture","cancelVideoFrameCallback","requestVideoFrameCallback","getVideoPlaybackQuality","requestPictureInPicture","webkitEnterFullScreen","webkitEnterFullscreen","webkitExitFullScreen","webkitExitFullscreen"]}},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"12Atb":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",(()=>a));var i=e("./utils");class a{get state(){const{option:e,constructor:{kindOf:t}}=this.art;return!i.isMobile||!e.whitelist.length||e.whitelist.some((e=>{switch(t(e)){case"string":return"*"===e||i.userAgent.indexOf(e)>-1;case"function":return e(i.userAgent);case"regexp":return e.test(i.userAgent);default:return!1}}))}constructor(e){this.art=e}}},{"./utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"44X6u":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",(()=>a));var i=e("./utils");class a{static get html(){return''}query(e){return(0,i.query)(e,this.$container)}desktop(){const{option:e}=this.art;e.useSSR||(this.$container.innerHTML=a.html),this.$player=this.query(".art-video-player"),this.$video=this.query(".art-video"),this.$track=this.query("track"),this.$poster=this.query(".art-poster"),this.$subtitle=this.query(".art-subtitle"),this.$danmuku=this.query(".art-danmuku"),this.$bottom=this.query(".art-bottom"),this.$progress=this.query(".art-progress"),this.$controls=this.query(".art-controls"),this.$controlsLeft=this.query(".art-controls-left"),this.$controlsCenter=this.query(".art-controls-center"),this.$controlsRight=this.query(".art-controls-right"),this.$layer=this.query(".art-layers"),this.$loading=this.query(".art-loading"),this.$notice=this.query(".art-notice"),this.$noticeInner=this.query(".art-notice-inner"),this.$mask=this.query(".art-mask"),this.$state=this.query(".art-state"),this.$setting=this.query(".art-settings"),this.$info=this.query(".art-info"),this.$infoPanel=this.query(".art-info-panel"),this.$infoClose=this.query(".art-info-close"),this.$miniHeader=this.query(".art-mini-header"),this.$miniTitle=this.query(".art-mini-title"),this.$miniClose=this.query(".art-mini-close"),this.$contextmenu=this.query(".art-contextmenus"),e.backdrop&&((0,i.addClass)(this.$setting,"art-backdrop-filter"),(0,i.addClass)(this.$contextmenu,"art-backdrop-filter"),(0,i.addClass)(this.$info,"art-backdrop-filter")),i.isMobile&&(0,i.addClass)(this.$player,"art-mobile")}mobile(){this.$container.innerHTML='',this.$player=this.query(".art-video-player"),this.$video=this.query(".art-video")}destroy(e){e?(0,i.replaceElement)(this.$original,this.$container):(0,i.addClass)(this.$player,"art-destroy")}constructor(e){this.art=e;const{option:t,constructor:r,whitelist:o}=e;t.container instanceof Element?this.$container=t.container:(this.$container=(0,i.query)(t.container),(0,i.errorHandle)(this.$container,`No container element found by ${t.container}`));const a=this.$container.tagName.toLowerCase();(0,i.errorHandle)("div"===a,`Unsupported container element type, only support 'div' but got '${a}'`),(0,i.errorHandle)(r.instances.every((e=>e.template.$container!==this.$container)),"Cannot mount multiple instances on the same dom element"),this.query=this.query.bind(this),this.$container.dataset.artId=e.id,this.$original=this.$container.cloneNode(!0),o.state?this.desktop():this.mobile()}}},{"./utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],brIxD:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",(()=>w));var i=e("../utils"),a=e("./zh-cn.json"),n=o.interopDefault(a),s=e("./zh-tw.json"),l=o.interopDefault(s),c=e("./pl.json"),p=o.interopDefault(c),u=e("./cs.json"),d=o.interopDefault(u),f=e("./es.json"),h=o.interopDefault(f),m=e("./fa.json"),g=o.interopDefault(m),y=e("./fr.json"),v=o.interopDefault(y),b=e("./id.json"),x=o.interopDefault(b);class w{init(){const e=this.art.option.lang.toLowerCase();this.language=this.languages[e]||{}}get(e){return this.language[e]||e}update(e){this.languages=(0,i.mergeDeep)(this.languages,e),this.init()}constructor(e){this.art=e,this.languages={"zh-cn":n.default,"zh-tw":l.default,pl:p.default,cs:d.default,es:h.default,fa:g.default,fr:v.default,id:x.default},this.update(e.option.i18n)}}},{"../utils":"7drL4","./zh-cn.json":"aIXkw","./zh-tw.json":"1Segn","./pl.json":"kVsW6","./cs.json":"hsGmi","./es.json":"asiZS","./fa.json":"jxjmf","./fr.json":"5HXy9","./id.json":"gjULl","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],aIXkw:[function(e,t,r){t.exports=JSON.parse('{"Video Info":"统计信息","Close":"关闭","Video Load Failed":"加载失败","Volume":"音量","Play":"播放","Pause":"暂停","Rate":"速度","Mute":"静音","Video Flip":"画面翻转","Horizontal":"水平","Vertical":"垂直","Reconnect":"重新连接","Show Setting":"显示设置","Hide Setting":"隐藏设置","Screenshot":"截图","Play Speed":"播放速度","Aspect Ratio":"画面比例","Default":"默认","Normal":"正常","Open":"打开","Switch Video":"切换","Switch Subtitle":"切换字幕","Fullscreen":"全屏","Exit Fullscreen":"退出全屏","Web Fullscreen":"网页全屏","Exit Web Fullscreen":"退出网页全屏","Mini Player":"迷你播放器","PIP Mode":"开启画中画","Exit PIP Mode":"退出画中画","PIP Not Supported":"不支持画中画","Fullscreen Not Supported":"不支持全屏","Subtitle Offset":"字幕偏移","Last Seen":"上次看到","Jump Play":"跳转播放","AirPlay":"隔空播放","AirPlay Not Available":"隔空播放不可用"}')},{}],"1Segn":[function(e,t,r){t.exports=JSON.parse('{"Video Info":"統計訊息","Close":"關閉","Video Load Failed":"載入失敗","Volume":"音量","Play":"播放","Pause":"暫停","Rate":"速度","Mute":"靜音","Video Flip":"畫面翻轉","Horizontal":"水平","Vertical":"垂直","Reconnect":"重新連接","Show Setting":"顯示设置","Hide Setting":"隱藏设置","Screenshot":"截圖","Play Speed":"播放速度","Aspect Ratio":"畫面比例","Default":"默認","Normal":"正常","Open":"打開","Switch Video":"切換","Switch Subtitle":"切換字幕","Fullscreen":"全屏","Exit Fullscreen":"退出全屏","Web Fullscreen":"網頁全屏","Exit Web Fullscreen":"退出網頁全屏","Mini Player":"迷你播放器","PIP Mode":"開啟畫中畫","Exit PIP Mode":"退出畫中畫","PIP Not Supported":"不支持畫中畫","Fullscreen Not Supported":"不支持全屏","Subtitle Offset":"字幕偏移","Last Seen":"上次看到","Jump Play":"跳轉播放","AirPlay":"隔空播放","AirPlay Not Available":"隔空播放不可用"}')},{}],kVsW6:[function(e,t,r){t.exports=JSON.parse('{"Video Info":"Informacje o wideo","Close":"Zamknij","Video Load Failed":"Błąd ładowania wideo","Volume":"Głośność","Play":"Odtwórz","Pause":"Wstrzymaj","Rate":"Oceń","Mute":"Wycisz","Video Flip":"Rotacja wideo","Horizontal":"Pozioma","Vertical":"Pionowa","Reconnect":"Połącz ponownie","Show Setting":"Pokaż ustawienia","Hide Setting":"Ukryj ustawienia","Screenshot":"Zrzut ekranu","Play Speed":"Prędkość odtwarzania","Aspect Ratio":"Współczynnik proporcji","Default":"Domyślny","Normal":"Normalny","Open":"Otwórz","Switch Video":"Przełącz wideo","Switch Subtitle":"Przełącz napisy","Fullscreen":"Pełny ekran","Exit Fullscreen":"Zamknij pełny ekran","Web Fullscreen":"Tryb pełnej strony","Exit Web Fullscreen":"Zamknij tryb pełnej strony","Mini Player":"Miniodtwarzacz","PIP Mode":"Tryb PiP","Exit PIP Mode":"Zamknij tryb PiP","PIP Not Supported":"Tryb PiP nieobsługiwany","Fullscreen Not Supported":"Pełny ekran nieobsługiwany","Subtitle Offset":"Przesunięcie napisów","Last Seen":"Ostatnio widziany","Jump Play":"Skocz do gry","AirPlay":"AirPlay","AirPlay Not Available":"AirPlay nie jest dostępny"}')},{}],hsGmi:[function(e,t,r){t.exports=JSON.parse('{"Video Info":"Info o videu","Close":"Zavřít","Video Load Failed":"Nahrání videa selhalo","Volume":"Hlasitost","Play":"Přehrát","Pause":"Pozastavit","Rate":"Hodnocení","Mute":"Ztlumit","Video Flip":"Otočit video","Horizontal":"Horizontálně","Vertical":"Vertikálně","Reconnect":"Opětovné připojení","Show Setting":"Zobrazit nastavení","Hide Setting":"Skrýt nastavení","Screenshot":"Snímek obrazovky","Play Speed":"Rychlost přehrávání","Aspect Ratio":"Poměr stran","Default":"Výchozí","Normal":"Normální","Open":"Otevřít","Switch Video":"Přepnout video","Switch Subtitle":"Přepnout titulky","Fullscreen":"Celá obrazovka","Exit Fullscreen":"Opustit režim celé obrazovky","Web Fullscreen":"Celá stránka","Exit Web Fullscreen":"Zavřít režim celé stránky","Mini Player":"Mini přehrávač","PIP Mode":"Režim PIP","Exit PIP Mode":"Opustit režim PIP","PIP Not Supported":"Režim PIP není podporován","Fullscreen Not Supported":"Režim celé obrazovky není podporován","Subtitle Offset":"Posun titulků","Last Seen":"Naposledy viděn","Jump Play":"Hra na skok","AirPlay":"AirPlay","AirPlay Not Available":"AirPlay není k dispozici"}')},{}],asiZS:[function(e,t,r){t.exports=JSON.parse('{"Video Info":"Información del video","Close":"Cerrar","Video Load Failed":"Falló carga de video","Volume":"Volumen","Play":"Reproduciendo","Pause":"Pausa","Rate":"Velocidad","Mute":"Silencio","Video Flip":"Rotar video","Horizontal":"Horizontal","Vertical":"Vertical","Reconnect":"Reconectando","Show Setting":"Mostrar ajustes","Hide Setting":"Ocultar ajustes","Screenshot":"Captura de Pantalla","Play Speed":"Velocidad de reproducción","Aspect Ratio":"Relación de aspecto","Default":"Por defecto","Normal":"Normal","Open":"Abrir","Switch Video":"Cambiar video","Switch Subtitle":"Cambiar subtítulo","Fullscreen":"Pantalla completa","Exit Fullscreen":"Salir de Pantalla completa","Web Fullscreen":"Pantalla completa Web","Exit Web Fullscreen":"Salir de Pantalla completa","Mini Player":"Mini reproductor","PIP Mode":"Modo PiP","Exit PIP Mode":"Cerrar modo PiP","PIP Not Supported":"Modo PiP no compatible","Fullscreen Not Supported":"Pantalla completa no soportada","Subtitle Offset":"Ajuste subtítulo","Last Seen":"Visto última vez","Jump Play":"Saltar","AirPlay":"AirPlay","AirPlay Not Available":"AirPlay no disponible"}')},{}],jxjmf:[function(e,t,r){t.exports=JSON.parse('{"Video Info":"اطلاعات ویدیو","Close":"بستن","Video Load Failed":"بارگذاری ناموفق","Play":"پخش","Volume":"میزان صدا","Pause":"توقف","Rate":"نرخ","Mute":"سکوت","Video Flip":"چرخش تصویر","Horizontal":"افقی","Vertical":"عمودی","Reconnect":"اتصال مجدد","Show Setting":"تنظیمات","Hide Setting":"بستن تنظیمات","Screenshot":"عکس از صفحه","Play Speed":"سرعت پخش","Aspect Ratio":"نسبت تصویر","Default":"حالت پیشفرض","Normal":" حالت عادی","Open":"بازکردن","Switch Video":"تغییر ویدیو","Switch Subtitle":"نغییر زیرنویس","Fullscreen":"تمام صفحه","Exit Fullscreen":"کوچک کردن","Web Fullscreen":"حالت تئاتر","Exit Web Fullscreen":"خروج از حالت تئاتر","Mini Player":"حالت پخش کوچک","PIP Mode":" مینی پلیر","Exit PIP Mode":"خروج از مینی پلیر","PIP Not Supported":"عدم پشتیبانی از مینی پلیر","Fullscreen Not Supported":"عدم پشتیبانی از حالت تمام صفحه","Subtitle Offset":"افست زیرنویس","Last Seen":"آخرین بازدید","Jump Play":"جامپ پلی","AirPlay":"ایر پلی","AirPlay Not Available":"عدم پشتیبانی از ایرپلی"}')},{}],"5HXy9":[function(e,t,r){t.exports=JSON.parse('{"Video Info":"Informations de la vidéo","Close":"Fermer","Video Load Failed":"Téléchargement de la vidéo échoué","Volume":"Volume","Play":"Lire","Pause":"Pause","Rate":"Vitesse","Mute":"Muet","Video Flip":"Rotation de la vidéo","Horizontal":"Horizontal","Vertical":"Vertical","Reconnect":"Reconnexion","Show Setting":"Afficher les paramètres","Hide Setting":"Cacher les paramètres","Screenshot":"Capture d\'écran","Play Speed":"Vitesse de lecture","Aspect Ratio":"Rapport d\'aspect","Default":"Défaut","Normal":"Normal","Open":"Ouvrir","Switch Video":"Basculer la vidéo","Switch Subtitle":"Basculer le sous-titre","Fullscreen":"Plein écran","Exit Fullscreen":"Quitter le plein écran","Web Fullscreen":"Plein écran Web","Exit Web Fullscreen":"Quitter le plein écran Web","Mini Player":"Mini lecteur","PIP Mode":"Mode PiP","Exit PIP Mode":"Fermer le mode PiP","PIP Not Supported":"Mode PiP non supporté","Fullscreen Not Supported":"Plein écran non supporté","Subtitle Offset":"Réglage des sous-titres","Last Seen":"Dernière position","Jump Play":"Continuer","AirPlay":"AirPlay","AirPlay Not Available":"AirPlay non disponible"}')},{}],gjULl:[function(e,t,r){t.exports=JSON.parse('{"Video Info":"Informasi Video","Close":"Tutup","Video Load Failed":"Gagal Memuat Video","Volume":"Volume","Play":"Putar","Pause":"Jeda","Rate":"Kecepatan","Mute":"Senyap","Video Flip":"Memutar Video","Horizontal":"Horizontal","Vertical":"Vertikal","Reconnect":"Menyambung Kembali","Show Setting":"Tampilkan Pengaturan","Hide Setting":"Sembunyikan Pengaturan","Screenshot":"Tangkapan Layar","Play Speed":"Kecepatan Putar","Aspect Ratio":"Rasio Aspek","Default":"Default","Normal":"Normal","Open":"Buka","Switch Video":"Ganti Video","Switch Subtitle":"Ganti Subtitle","Fullscreen":"Layar Penuh","Exit Fullscreen":"Keluar dari Layar Penuh","Web Fullscreen":"Layar Penuh Web","Exit Web Fullscreen":"Keluar dari Layar Penuh Web","Mini Player":"Pemutar Mini","PIP Mode":"Mode PIP","Exit PIP Mode":"Keluar dari Mode PIP","PIP Not Supported":"PIP Tidak Didukung","Fullscreen Not Supported":"Layar Penuh Tidak Didukung","Subtitle Offset":"Pergeseran Subtitle","Last Seen":"Terakhir Dilihat","Jump Play":"Lompat Putar","AirPlay":"AirPlay","AirPlay Not Available":"AirPlay Tidak Tersedia"}')},{}],iurL3:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",(()=>ve));var i=e("./urlMix"),a=o.interopDefault(i),n=e("./attrMix"),s=o.interopDefault(n),l=e("./playMix"),c=o.interopDefault(l),p=e("./pauseMix"),u=o.interopDefault(p),d=e("./toggleMix"),f=o.interopDefault(d),h=e("./seekMix"),m=o.interopDefault(h),g=e("./volumeMix"),y=o.interopDefault(g),v=e("./currentTimeMix"),b=o.interopDefault(v),x=e("./durationMix"),w=o.interopDefault(x),j=e("./switchMix"),k=o.interopDefault(j),S=e("./playbackRateMix"),P=o.interopDefault(S),T=e("./aspectRatioMix"),I=o.interopDefault(T),$=e("./screenshotMix"),E=o.interopDefault($),M=e("./fullscreenMix"),L=o.interopDefault(M),F=e("./fullscreenWebMix"),C=o.interopDefault(F),V=e("./pipMix"),A=o.interopDefault(V),D=e("./loadedMix"),z=o.interopDefault(D),R=e("./playedMix"),O=o.interopDefault(R),N=e("./playingMix"),H=o.interopDefault(N),_=e("./autoSizeMix"),W=o.interopDefault(_),q=e("./rectMix"),B=o.interopDefault(q),U=e("./flipMix"),Y=o.interopDefault(U),G=e("./miniMix"),Z=o.interopDefault(G),K=e("./loopMix"),J=o.interopDefault(K),X=e("./posterMix"),Q=o.interopDefault(X),ee=e("./autoHeightMix"),te=o.interopDefault(ee),re=e("./themeMix"),oe=o.interopDefault(re),ie=e("./titleMix"),ae=o.interopDefault(ie),ne=e("./typeMix"),se=o.interopDefault(ne),le=e("./normalSizeMix"),ce=o.interopDefault(le),pe=e("./subtitleOffsetMix"),ue=o.interopDefault(pe),de=e("./airplayMix"),fe=o.interopDefault(de),he=e("./optionInit"),me=o.interopDefault(he),ge=e("./eventInit"),ye=o.interopDefault(ge);class ve{constructor(e){(0,a.default)(e),(0,s.default)(e),(0,c.default)(e),(0,u.default)(e),(0,f.default)(e),(0,m.default)(e),(0,y.default)(e),(0,b.default)(e),(0,w.default)(e),(0,k.default)(e),(0,P.default)(e),(0,I.default)(e),(0,E.default)(e),(0,L.default)(e),(0,C.default)(e),(0,A.default)(e),(0,z.default)(e),(0,O.default)(e),(0,H.default)(e),(0,W.default)(e),(0,B.default)(e),(0,Y.default)(e),(0,Z.default)(e),(0,J.default)(e),(0,Q.default)(e),(0,te.default)(e),(0,oe.default)(e),(0,ae.default)(e),(0,se.default)(e),(0,ce.default)(e),(0,ue.default)(e),(0,fe.default)(e),(0,ye.default)(e),(0,me.default)(e)}}},{"./urlMix":"4df8r","./attrMix":"8yJRD","./playMix":"kcbYx","./pauseMix":"k4Qa2","./toggleMix":"eubK3","./seekMix":"a3ccu","./volumeMix":"eZDDi","./currentTimeMix":"g2p9u","./durationMix":"fVWng","./switchMix":"fPwKz","./playbackRateMix":"5bAAP","./aspectRatioMix":"jdXVQ","./screenshotMix":"jvCvi","./fullscreenMix":"64ezs","./fullscreenWebMix":"jAgkC","./pipMix":"hX3WW","./loadedMix":"haZ44","./playedMix":"bJJD2","./playingMix":"b9QOv","./autoSizeMix":"6wkLS","./rectMix":"aPMtq","./flipMix":"fjHTo","./miniMix":"dNW08","./loopMix":"hU7SH","./posterMix":"j5OaI","./autoHeightMix":"edb1A","./themeMix":"aLnna","./titleMix":"5WuSd","./typeMix":"jFGSq","./normalSizeMix":"lAdFL","./subtitleOffsetMix":"ahPb2","./airplayMix":"7KN5Z","./optionInit":"kH278","./eventInit":"5cgWT","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"4df8r":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{option:t,template:{$video:r}}=e;(0,o.def)(e,"url",{get:()=>r.currentSrc,async set(i){if(i){const a=t.type||(0,o.getExt)(i),n=t.customType[a];a&&n?(await(0,o.sleep)(),e.loading.show=!0,n.call(e,r,i,e)):(e.url&&e.url!==i&&e.once("video:canplay",(()=>{e.isReady&&e.emit("restart")})),r.src=i,e.option.url=i,e.emit("url",i))}else await(0,o.sleep)(),e.loading.show=!0}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"8yJRD":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{template:{$video:t}}=e;(0,o.def)(e,"attr",{value(e,r){if(void 0===r)return t[e];t[e]=r}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],kcbYx:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{i18n:t,notice:r,option:i,constructor:{instances:a},template:{$video:n}}=e;(0,o.def)(e,"play",{value:async function(){const o=await n.play();if(r.show=t.get("Play"),e.emit("play"),i.mutex)for(let t=0;te.playing?e.pause():e.play()})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],a3ccu:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{notice:t}=e;(0,o.def)(e,"seek",{set(r){e.currentTime=r,e.emit("seek",e.currentTime),e.duration&&(t.show=`${(0,o.secondToTime)(e.currentTime)} / ${(0,o.secondToTime)(e.duration)}`)}}),(0,o.def)(e,"forward",{set(t){e.seek=e.currentTime+t}}),(0,o.def)(e,"backward",{set(t){e.seek=e.currentTime-t}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],eZDDi:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{template:{$video:t},i18n:r,notice:i,storage:a}=e;(0,o.def)(e,"volume",{get:()=>t.volume||0,set:e=>{t.volume=(0,o.clamp)(e,0,1),i.show=`${r.get("Volume")}: ${parseInt(100*t.volume,10)}`,0!==t.volume&&a.set("volume",t.volume)}}),(0,o.def)(e,"muted",{get:()=>t.muted,set:e=>{t.muted=e}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],g2p9u:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{$video:t}=e.template;(0,o.def)(e,"currentTime",{get:()=>t.currentTime||0,set:r=>{r=parseFloat(r),Number.isNaN(r)||(t.currentTime=(0,o.clamp)(r,0,e.duration))}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],fVWng:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){(0,o.def)(e,"duration",{get:()=>{const{duration:t}=e.template.$video;return t===1/0?0:t||0}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],fPwKz:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{i18n:t,option:r,notice:i}=e;function a(o,a,n){return new Promise((s=>{if(o===e.url)return s(o);const{playing:l}=e;e.pause(),URL.revokeObjectURL(e.url),e.url=o,e.once("video:canplay",(()=>{e.playbackRate=!1,e.aspectRatio=!1,e.flip="normal",e.autoSize=r.autoSize,e.currentTime=n,e.notice.show="",l&&e.play(),a&&(i.show=`${t.get("Switch Video")}: ${a}`),s(o)}))}))}(0,o.def)(e,"switchQuality",{value:(t,r)=>a(t,r,e.currentTime)}),(0,o.def)(e,"switchUrl",{value:(e,t)=>a(e,t,0)})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"5bAAP":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{template:{$video:t},i18n:r,notice:i}=e;(0,o.def)(e,"playbackRate",{get:()=>t.playbackRate,set(o){if(o){if(o===t.playbackRate)return;t.playbackRate=o,i.show=`${r.get("Rate")}: ${1===o?r.get("Normal"):`${o}x`}`}else e.playbackRate=1}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],jdXVQ:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{template:{$video:t,$player:r},i18n:i,notice:a}=e;(0,o.def)(e,"aspectRatio",{get:()=>r.dataset.aspectRatio||"default",set(n){if(n||(n="default"),"default"===n)(0,o.setStyle)(t,"width",null),(0,o.setStyle)(t,"height",null),(0,o.setStyle)(t,"padding",null),delete r.dataset.aspectRatio;else{const e=n.split(":").map(Number),{videoWidth:i,videoHeight:a}=t,{clientWidth:s,clientHeight:l}=r,c=i/a,p=e[0]/e[1];if(c>p){const e=p*a/i;(0,o.setStyle)(t,"width",100*e+"%"),(0,o.setStyle)(t,"height","100%"),(0,o.setStyle)(t,"padding",`0 ${(s-s*e)/2}px`)}else{const e=i/p/a;(0,o.setStyle)(t,"width","100%"),(0,o.setStyle)(t,"height",100*e+"%"),(0,o.setStyle)(t,"padding",(l-l*e)/2+"px 0")}r.dataset.aspectRatio=n}a.show=`${i.get("Aspect Ratio")}: ${"default"===n?i.get("Default"):n}`,e.emit("aspectRatio",n)}}),(0,o.def)(e,"aspectRatioReset",{set(t){if(t){const{aspectRatio:t}=e;e.aspectRatio=t}}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],jvCvi:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{option:t,notice:r,template:{$video:i}}=e,a=(0,o.createElement)("canvas");(0,o.def)(e,"getDataURL",{value:()=>new Promise(((e,t)=>{try{a.width=i.videoWidth,a.height=i.videoHeight,a.getContext("2d").drawImage(i,0,0),e(a.toDataURL("image/png"))}catch(e){r.show=e,t(e)}}))}),(0,o.def)(e,"getBlobUrl",{value:()=>new Promise(((e,t)=>{try{a.width=i.videoWidth,a.height=i.videoHeight,a.getContext("2d").drawImage(i,0,0),a.toBlob((t=>{e(URL.createObjectURL(t))}))}catch(e){r.show=e,t(e)}}))}),(0,o.def)(e,"screenshot",{value:async()=>{const r=await e.getDataURL();return(0,o.download)(r,`${t.title||"artplayer"}_${(0,o.secondToTime)(i.currentTime)}.png`),e.emit("screenshot",r),r}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"64ezs":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r);var i=e("../libs/screenfull"),a=o.interopDefault(i),n=e("../utils");r.default=function(e){const{i18n:t,notice:r,template:{$video:o,$player:i}}=e;e.once("video:loadedmetadata",(()=>{a.default.isEnabled?(e=>{a.default.on("change",(()=>{e.emit("fullscreen",a.default.isFullscreen)})),(0,n.def)(e,"fullscreen",{get:()=>a.default.isFullscreen,async set(t){t?(e.normalSize="fullscreen",e.aspectRatioReset=!0,e.autoSize=!1,await a.default.request(i),(0,n.addClass)(i,"art-fullscreen"),e.emit("resize"),r.show=""):(e.aspectRatioReset=!0,e.autoSize=e.option.autoSize,await a.default.exit(),(0,n.removeClass)(i,"art-fullscreen"),e.emit("resize"),r.show="")}})})(e):document.fullscreenEnabled||o.webkitSupportsFullscreen?(e=>{(0,n.def)(e,"fullscreen",{get:()=>o.webkitDisplayingFullscreen,set(t){t?(e.normalSize="fullscreen",o.webkitEnterFullscreen(),e.emit("fullscreen",!0),r.show=""):(o.webkitExitFullscreen(),e.emit("fullscreen",!1),r.show="")}})})(e):(0,n.def)(e,"fullscreen",{get:()=>!1,set(){r.show=t.get("Fullscreen Not Supported")}}),(0,n.def)(e,"fullscreen",(0,n.get)(e,"fullscreen"))}))}},{"../libs/screenfull":"gWvOv","../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],gWvOv:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);const o=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],i=(()=>{if("undefined"==typeof document)return!1;const e=o[0],t={};for(const r of o){if(r[1]in document){for(const[o,i]of r.entries())t[e[o]]=i;return t}}return!1})(),a={change:i.fullscreenchange,error:i.fullscreenerror};let n={request:(e=document.documentElement,t)=>new Promise(((r,o)=>{const a=()=>{n.off("change",a),r()};n.on("change",a);const s=e[i.requestFullscreen](t);s instanceof Promise&&s.then(a).catch(o)})),exit:()=>new Promise(((e,t)=>{if(!n.isFullscreen)return void e();const r=()=>{n.off("change",r),e()};n.on("change",r);const o=document[i.exitFullscreen]();o instanceof Promise&&o.then(r).catch(t)})),toggle:(e,t)=>n.isFullscreen?n.exit():n.request(e,t),onchange(e){n.on("change",e)},onerror(e){n.on("error",e)},on(e,t){const r=a[e];r&&document.addEventListener(r,t,!1)},off(e,t){const r=a[e];r&&document.removeEventListener(r,t,!1)},raw:i};Object.defineProperties(n,{isFullscreen:{get:()=>Boolean(document[i.fullscreenElement])},element:{enumerable:!0,get:()=>document[i.fullscreenElement]},isEnabled:{enumerable:!0,get:()=>Boolean(document[i.fullscreenEnabled])}}),i||(n={isEnabled:!1}),r.default=n},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],jAgkC:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{notice:t,constructor:r,template:{$container:i,$player:a}}=e;(0,o.def)(e,"fullscreenWeb",{get:()=>(0,o.hasClass)(a,"art-fullscreen-web"),set(n){n?(r.FULLSCREEN_WEB_IN_BODY&&(0,o.append)(document.body,a),e.normalSize="fullscreenWeb",(0,o.addClass)(a,"art-fullscreen-web"),e.aspectRatioReset=!0,e.autoSize=!1,e.emit("resize"),e.emit("fullscreenWeb",!0),t.show=""):(r.FULLSCREEN_WEB_IN_BODY&&(0,o.append)(i,a),(0,o.removeClass)(a,"art-fullscreen-web"),e.aspectRatioReset=!0,e.autoSize=e.option.autoSize,e.emit("resize"),e.emit("fullscreenWeb",!1),t.show="")}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],hX3WW:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{i18n:t,notice:r,template:{$video:i}}=e;document.pictureInPictureEnabled?function(e){const{template:{$video:t},proxy:r,notice:i}=e;t.disablePictureInPicture=!1,(0,o.def)(e,"pip",{get:()=>document.pictureInPictureElement,set(r){r?(e.normalSize="pip",t.requestPictureInPicture().catch((e=>{throw i.show=e,e}))):document.exitPictureInPicture().catch((e=>{throw i.show=e,e}))}}),r(t,"enterpictureinpicture",(()=>{e.emit("pip",!0)})),r(t,"leavepictureinpicture",(()=>{e.emit("pip",!1)}))}(e):i.webkitSupportsPresentationMode?function(e){const{$video:t}=e.template;t.webkitSetPresentationMode("inline"),(0,o.def)(e,"pip",{get:()=>"picture-in-picture"===t.webkitPresentationMode,set(r){r?(e.normalSize="pip",t.webkitSetPresentationMode("picture-in-picture"),e.emit("pip",!0)):(t.webkitSetPresentationMode("inline"),e.emit("pip",!1))}})}(e):(0,o.def)(e,"pip",{get:()=>!1,set(){r.show=t.get("PIP Not Supported")}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],haZ44:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{$video:t}=e.template;(0,o.def)(e,"loaded",{get:()=>e.loadedTime/t.duration}),(0,o.def)(e,"loadedTime",{get:()=>t.buffered.length?t.buffered.end(t.buffered.length-1):0})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],bJJD2:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){(0,o.def)(e,"played",{get:()=>e.currentTime/e.duration})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],b9QOv:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{$video:t}=e.template;(0,o.def)(e,"playing",{get:()=>!!(t.currentTime>0&&!t.paused&&!t.ended&&t.readyState>2)})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"6wkLS":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{$container:t,$player:r,$video:i}=e.template;(0,o.def)(e,"autoSize",{get:()=>(0,o.hasClass)(t,"art-auto-size"),set(a){if(a){const{videoWidth:a,videoHeight:n}=i,{width:s,height:l}=t.getBoundingClientRect(),c=a/n,p=s/l;if((0,o.addClass)(t,"art-auto-size"),p>c){const e=l*c/s*100;(0,o.setStyle)(r,"width",`${e}%`),(0,o.setStyle)(r,"height","100%")}else{const e=s/c/l*100;(0,o.setStyle)(r,"width","100%"),(0,o.setStyle)(r,"height",`${e}%`)}e.emit("autoSize",{width:e.width,height:e.height})}else(0,o.removeClass)(t,"art-auto-size"),(0,o.setStyle)(r,"width",null),(0,o.setStyle)(r,"height",null),e.emit("autoSize")}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],aPMtq:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){(0,o.def)(e,"rect",{get:()=>e.template.$player.getBoundingClientRect()});const t=["bottom","height","left","right","top","width"];for(let r=0;re.rect[i]})}(0,o.def)(e,"x",{get:()=>e.left+window.pageXOffset}),(0,o.def)(e,"y",{get:()=>e.top+window.pageYOffset})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],fjHTo:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{template:{$player:t},i18n:r,notice:i}=e;(0,o.def)(e,"flip",{get:()=>t.dataset.flip||"normal",set(a){a||(a="normal"),"normal"===a?delete t.dataset.flip:t.dataset.flip=a,i.show=`${r.get("Video Flip")}: ${r.get((0,o.capitalize)(a))}`,e.emit("flip",a)}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],dNW08:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{i18n:t,option:r,storage:i,proxy:a,template:{$player:n,$miniClose:s,$miniTitle:l,$miniHeader:c}}=e;let p=!1,u=0,d=0,f=0,h=0;a(c,"mousedown",(t=>{p=!0,u=t.pageX,d=t.pageY,f=e.left,h=e.top})),a(document,"mousemove",(e=>{if(p){(0,o.addClass)(n,"art-is-dragging");const t=h+e.pageY-d,r=f+e.pageX-u;(0,o.setStyle)(n,"top",`${t}px`),(0,o.setStyle)(n,"left",`${r}px`),i.set("top",t),i.set("left",r)}})),a(document,"mouseup",(()=>{p=!1,(0,o.removeClass)(n,"art-is-dragging")})),a(s,"click",(()=>{e.mini=!1,p=!1,(0,o.removeClass)(n,"art-is-dragging")})),(0,o.append)(l,r.title||t.get("Mini Player")),(0,o.def)(e,"mini",{get:()=>(0,o.hasClass)(n,"art-mini"),set(t){if(t){e.normalSize="mini",e.autoSize=!1,(0,o.addClass)(n,"art-mini");const t=i.get("top"),r=i.get("left");if(t&&r)(0,o.setStyle)(n,"top",`${t}px`),(0,o.setStyle)(n,"left",`${r}px`),(0,o.isInViewport)(c)||(i.del("top"),i.del("left"),e.mini=!0);else{const t=window.innerHeight-e.height-50,r=window.innerWidth-e.width-50;i.set("top",t),i.set("left",r),(0,o.setStyle)(n,"top",`${t}px`),(0,o.setStyle)(n,"left",`${r}px`)}e.aspectRatio=!1,e.playbackRate=!1,e.notice.show="",e.emit("mini",!0)}else(0,o.removeClass)(n,"art-mini"),(0,o.setStyle)(n,"top",null),(0,o.setStyle)(n,"left",null),e.aspectRatio=!1,e.playbackRate=!1,e.autoSize=r.autoSize,e.notice.show="",e.emit("mini",!1)}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],hU7SH:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){let t=[];(0,o.def)(e,"loop",{get:()=>t,set:r=>{if(Array.isArray(r)&&"number"==typeof r[0]&&"number"==typeof r[1]){const i=(0,o.clamp)(r[0],0,Math.min(r[1],e.duration)),a=(0,o.clamp)(r[1],i,e.duration);t=a-i>=1?[i,a]:[]}else t=[]}}),e.on("video:timeupdate",(()=>{t.length&&(e.currentTimet[1])&&(e.seek=t[0])}))}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],j5OaI:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{option:t,template:{$poster:r}}=e;(0,o.def)(e,"poster",{get:()=>t.poster,set(e){t.poster=e,(0,o.setStyle)(r,"backgroundImage",`url(${e})`)}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],edb1A:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{option:t,template:{$container:r,$video:i}}=e,a=r.style.height;(0,o.def)(e,"autoHeight",{get:()=>(0,o.hasClass)(r,"art-auto-height"),set(n){if(n){const{clientWidth:a}=r,{videoHeight:n,videoWidth:s}=i,l=n*(a/s);(0,o.setStyle)(r,"height",l+"px"),(0,o.addClass)(r,"art-auto-height"),e.autoSize=t.autoSize,e.emit("autoHeight",l)}else(0,o.setStyle)(r,"height",a),(0,o.removeClass)(r,"art-auto-height"),e.autoSize=t.autoSize,e.emit("autoHeight")}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],aLnna:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{option:t,template:{$player:r}}=e;(0,o.def)(e,"theme",{get:()=>getComputedStyle(r).getPropertyValue("--theme"),set(e){t.theme=e,r.style.setProperty("--theme",e)}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"5WuSd":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){(0,o.def)(e,"title",{get:()=>e.option.title,set(t){e.option.title=t}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],jFGSq:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){(0,o.def)(e,"type",{get:()=>e.option.type,set(t){e.option.type=t}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],lAdFL:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const t=["mini","pip","fullscreen","fullscreenWeb"];(0,o.def)(e,"normalSize",{get:()=>t.every((t=>!e[t])),set(r){t.filter((e=>e!==r)).forEach((t=>{e[t]&&(e[t]=!1)}))}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],ahPb2:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{clamp:t}=e.constructor.utils,{notice:r,template:i,i18n:a}=e;let n=0,s=[];e.on("subtitle:switch",(()=>{s=[]})),(0,o.def)(e,"subtitleOffset",{get:()=>n,set(o){if(i.$track&&i.$track.track){const l=Array.from(i.$track.track.cues);n=t(o,-5,5);for(let r=0;r{switch(e.availability){case"available":n=!0;break;case"not-available":n=!1}})):n=!1,(0,o.def)(e,"airplay",{value(){n?(a.webkitShowPlaybackTargetPicker(),e.emit("airplay")):r.show=t.get("AirPlay Not Available")}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],kH278:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{option:t,storage:r,template:{$video:i,$poster:a}}=e;Object.keys(t.moreVideoAttr).forEach((r=>{e.attr(r,t.moreVideoAttr[r])})),t.muted&&(e.muted=t.muted),t.volume&&(i.volume=(0,o.clamp)(t.volume,0,1));const n=r.get("volume");"number"==typeof n&&(i.volume=(0,o.clamp)(n,0,1)),t.poster&&(0,o.setStyle)(a,"backgroundImage",`url(${t.poster})`),t.autoplay&&(i.autoplay=t.autoplay),t.playsInline&&(i.playsInline=!0,i["webkit-playsinline"]=!0),t.theme&&(e.theme=t.theme),e.url=t.url}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"5cgWT":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r);var i=e("../config"),a=o.interopDefault(i),n=e("../utils");r.default=function(e){const{i18n:t,notice:r,option:o,constructor:i,proxy:s,template:{$player:l,$video:c,$poster:p}}=e;let u=0;for(let t=0;t{e.emit(`video:${t.type}`,t)}));e.on("video:canplay",(()=>{u=0,e.loading.show=!1})),e.once("video:canplay",(()=>{e.loading.show=!1,e.controls.show=!0,e.mask.show=!0,e.isReady=!0,e.emit("ready")})),e.on("video:ended",(()=>{o.loop?(e.seek=0,e.play(),e.controls.show=!1,e.mask.show=!1):(e.controls.show=!0,e.mask.show=!0)})),e.on("video:error",(async a=>{u{e.autoSize=o.autoSize,n.isMobile&&(e.loading.show=!1,e.controls.show=!0,e.mask.show=!0)})),e.on("video:loadstart",(()=>{e.loading.show=!0,e.mask.show=!1,e.controls.show=!0})),e.on("video:pause",(()=>{e.controls.show=!0,e.mask.show=!0})),e.on("video:play",(()=>{e.mask.show=!1,(0,n.setStyle)(p,"display","none")})),e.on("video:playing",(()=>{e.mask.show=!1})),e.on("video:seeked",(()=>{e.loading.show=!1})),e.on("video:seeking",(()=>{e.loading.show=!0,e.mask.show=!1})),e.on("video:timeupdate",(()=>{e.mask.show=!1})),e.on("video:waiting",(()=>{e.loading.show=!0,e.mask.show=!1}))}},{"../config":"1shlC","../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],krUTp:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",(()=>C));var i=e("../utils"),a=e("../utils/component"),n=o.interopDefault(a),s=e("./fullscreen"),l=o.interopDefault(s),c=e("./fullscreenWeb"),p=o.interopDefault(c),u=e("./pip"),d=o.interopDefault(u),f=e("./playAndPause"),h=o.interopDefault(f),m=e("./progress"),g=o.interopDefault(m),y=e("./time"),v=o.interopDefault(y),b=e("./volume"),x=o.interopDefault(b),w=e("./setting"),j=o.interopDefault(w),k=e("./thumbnails"),S=o.interopDefault(k),P=e("./screenshot"),T=o.interopDefault(P),I=e("./quality"),$=o.interopDefault(I),E=e("./loop"),M=o.interopDefault(E),L=e("./airplay"),F=o.interopDefault(L);class C extends n.default{init(){const{option:e}=this.art;e.isLive||this.add((0,g.default)({name:"progress",position:"top",index:10})),!e.thumbnails.url||e.isLive||i.isMobile||this.add((0,S.default)({name:"thumbnails",position:"top",index:20})),this.add((0,M.default)({name:"loop",position:"top",index:30})),this.add((0,h.default)({name:"playAndPause",position:"left",index:10})),this.add((0,x.default)({name:"volume",position:"left",index:20})),e.isLive||this.add((0,v.default)({name:"time",position:"left",index:30})),e.quality.length&&this.add((0,$.default)({name:"quality",position:"right",index:10})),e.screenshot&&!i.isMobile&&this.add((0,T.default)({name:"screenshot",position:"right",index:20})),e.setting&&this.add((0,j.default)({name:"setting",position:"right",index:30})),e.pip&&this.add((0,d.default)({name:"pip",position:"right",index:40})),e.airplay&&window.WebKitPlaybackTargetAvailabilityEvent&&this.add((0,F.default)({name:"airplay",position:"right",index:50})),e.fullscreenWeb&&this.add((0,p.default)({name:"fullscreenWeb",position:"right",index:60})),e.fullscreen&&this.add((0,l.default)({name:"fullscreen",position:"right",index:70}));for(let t=0;t{this.show=!0,(0,i.removeClass)(o,"art-hide-cursor"),(0,i.addClass)(o,"art-hover"),a=Date.now()})),e.on("video:timeupdate",(()=>{!e.isInput&&e.playing&&this.show&&Date.now()-a>=r.CONTROL_HIDE_TIME&&(this.show=!1,(0,i.addClass)(o,"art-hide-cursor"),(0,i.removeClass)(o,"art-hover"))})),this.init()}}},{"../utils":"7drL4","../utils/component":"gEwXu","./fullscreen":"aphct","./fullscreenWeb":"86CsN","./pip":"8EbkL","./playAndPause":"juUdj","./progress":"3g6RZ","./time":"9BztV","./volume":"8ZEFD","./setting":"4Dw5D","./thumbnails":"k0DvK","./screenshot":"bRP5Y","./quality":"jW8r3","./loop":"eJYjN","./airplay":"eFnNY","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],gEwXu:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",(()=>p));var i=e("./dom"),a=e("option-validator"),n=o.interopDefault(a),s=e("../scheme"),l=e("./property"),c=e("./error");class p{get show(){return(0,i.hasClass)(this.art.template.$player,`art-${this.name}-show`)}set show(e){const{$player:t}=this.art.template,r=`art-${this.name}-show`;e?(0,i.addClass)(t,r):(0,i.removeClass)(t,r),this.art.emit(this.name,e)}set toggle(e){e&&(this.show=!this.show)}add(e){const t="function"==typeof e?e(this.art):e;if(t.html=t.html||"",(0,n.default)(t,s.ComponentOption),!this.$parent||!this.name||t.disable)return;const r=t.name||`${this.name}${this.id}`;(0,c.errorHandle)(!(0,l.has)(this,r),`Cannot add an existing name [${r}] to the [${this.name}]`),this.id+=1;const o=(0,i.createElement)("div");(0,i.addClass)(o,`art-${this.name}`),(0,i.addClass)(o,`art-${this.name}-${r}`);const a=Array.from(this.$parent.children);o.dataset.index=t.index||this.id;const p=a.find((e=>Number(e.dataset.index)>=Number(o.dataset.index)));return p?p.insertAdjacentElement("beforebegin",o):(0,i.append)(this.$parent,o),t.html&&(0,i.append)(o,t.html),t.style&&(0,i.setStyles)(o,t.style),t.tooltip&&(0,i.tooltip)(o,t.tooltip),t.click&&this.art.events.proxy(o,"click",(e=>{e.preventDefault(),t.click.call(this.art,this,e)})),t.selector&&["left","right"].includes(t.position)&&this.selector(t,o),t.mounted&&t.mounted.call(this.art,o),(0,l.def)(this,r,{value:o}),o}selector(e,t){const{hover:r,proxy:o}=this.art.events;(0,i.addClass)(t,"art-control-selector");const a=(0,i.createElement)("div");(0,i.addClass)(a,"art-selector-value"),(0,i.append)(a,e.html),t.innerText="",(0,i.append)(t,a);const n=e.selector.map(((e,t)=>`${e.html}
`)).join(""),s=(0,i.createElement)("div");(0,i.addClass)(s,"art-selector-list"),(0,i.append)(s,n),(0,i.append)(t,s),this.art.option.backdrop&&(0,i.addClass)(s,"art-backdrop-filter");const l=()=>{const e=(0,i.getStyle)(t,"width")/2-(0,i.getStyle)(s,"width")/2;s.style.left=`${e}px`};r(t,l),o(s,"click",(async t=>{const r=(t.composedPath()||[]).find((e=>(0,i.hasClass)(e,"art-selector-item")));if(!r)return;(0,i.inverseClass)(r,"art-current");const o=Number(r.dataset.index),n=e.selector[o]||{};if(a.innerText=r.innerText,e.onSelect){const o=await e.onSelect.call(this.art,n,r,t);"string"!=typeof o&&"number"!=typeof o||(a.innerHTML=o)}l()}))}constructor(e){this.id=0,this.art=e,this.add=this.add.bind(this)}}},{"./dom":"iqocb","option-validator":"e1J0t","../scheme":"1s2bZ","./property":"lLZes","./error":"aPfiL","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],aphct:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,tooltip:t.i18n.get("Fullscreen"),mounted:e=>{const{proxy:r,icons:i,i18n:a}=t,n=(0,o.append)(e,i.fullscreenOn),s=(0,o.append)(e,i.fullscreenOff);(0,o.setStyle)(s,"display","none"),r(e,"click",(()=>{t.fullscreen=!t.fullscreen})),t.on("fullscreen",(t=>{t?((0,o.tooltip)(e,a.get("Exit Fullscreen")),(0,o.setStyle)(n,"display","none"),(0,o.setStyle)(s,"display","inline-flex")):((0,o.tooltip)(e,a.get("Fullscreen")),(0,o.setStyle)(n,"display","inline-flex"),(0,o.setStyle)(s,"display","none"))}))}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"86CsN":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,tooltip:t.i18n.get("Web Fullscreen"),mounted:e=>{const{proxy:r,icons:i,i18n:a}=t,n=(0,o.append)(e,i.fullscreenWebOn),s=(0,o.append)(e,i.fullscreenWebOff);(0,o.setStyle)(s,"display","none"),r(e,"click",(()=>{t.fullscreenWeb=!t.fullscreenWeb})),t.on("fullscreenWeb",(t=>{t?((0,o.tooltip)(e,a.get("Exit Web Fullscreen")),(0,o.setStyle)(n,"display","none"),(0,o.setStyle)(s,"display","inline-flex")):((0,o.tooltip)(e,a.get("Web Fullscreen")),(0,o.setStyle)(n,"display","inline-flex"),(0,o.setStyle)(s,"display","none"))}))}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"8EbkL":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,tooltip:t.i18n.get("PIP Mode"),mounted:e=>{const{proxy:r,icons:i,i18n:a}=t;(0,o.append)(e,i.pip),r(e,"click",(()=>{t.pip=!t.pip})),t.on("pip",(t=>{(0,o.tooltip)(e,a.get(t?"Exit PIP Mode":"PIP Mode"))}))}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],juUdj:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,mounted:e=>{const{proxy:r,icons:i,i18n:a}=t,n=(0,o.append)(e,i.play),s=(0,o.append)(e,i.pause);function l(){(0,o.setStyle)(n,"display","flex"),(0,o.setStyle)(s,"display","none")}function c(){(0,o.setStyle)(n,"display","none"),(0,o.setStyle)(s,"display","flex")}(0,o.tooltip)(n,a.get("Play")),(0,o.tooltip)(s,a.get("Pause")),r(n,"click",(()=>{t.play()})),r(s,"click",(()=>{t.pause()})),t.playing?c():l(),t.on("video:playing",(()=>{c()})),t.on("video:pause",(()=>{l()}))}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"3g6RZ":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"getPosFromEvent",(()=>a)),o.export(r,"setCurrentTime",(()=>n));var i=e("../utils");function a(e,t){const{$progress:r}=e.template,{left:o}=r.getBoundingClientRect(),a=i.isMobile?t.touches[0].clientX:t.pageX,n=(0,i.clamp)(a-o,0,r.clientWidth),s=n/r.clientWidth*e.duration;return{second:s,time:(0,i.secondToTime)(s),width:n,percentage:(0,i.clamp)(n/r.clientWidth,0,1)}}function n(e,t){if(e.isRotate){const r=t.touches[0].clientY/e.height,o=r*e.duration;e.emit("setBar","played",r),e.seek=o}else{const{second:r,percentage:o}=a(e,t);e.emit("setBar","played",o),e.seek=r}}r.default=function(e){return t=>{const{icons:r,option:o,proxy:s}=t;return{...e,html:'',mounted:e=>{let l=!1;const c=(0,i.query)(".art-progress-loaded",e),p=(0,i.query)(".art-progress-played",e),u=(0,i.query)(".art-progress-highlight",e),d=(0,i.query)(".art-progress-indicator",e),f=(0,i.query)(".art-progress-tip",e),{PROGRESS_HEIGHT:h,INDICATOR_SIZE:m,INDICATOR_SIZE_ICON:g,INDICATOR_SIZE_MOBILE:y,INDICATOR_SIZE_MOBILE_ICON:v}=t.constructor;(0,i.setStyle)(e,"height",`${h}px`),(0,i.setStyle)(p,"backgroundColor","var(--theme)");let b=m;function x(e,t){"loaded"===e&&(0,i.setStyle)(c,"width",100*t+"%"),"played"===e&&((0,i.setStyle)(p,"width",100*t+"%"),(0,i.setStyle)(d,"left",`calc(${100*t}% - ${b/2}px)`))}r.indicator?(b=g,(0,i.append)(d,r.indicator)):(0,i.setStyles)(d,{backgroundColor:"var(--theme)"}),i.isMobile&&(b=y,r.indicator&&(b=v)),(0,i.setStyles)(d,{left:`-${b/2}px`,width:`${b}px`,height:`${b}px`}),t.on("video:loadedmetadata",(()=>{for(let e=0;e`)}})),x("loaded",t.loaded),t.on("setBar",((e,t)=>{x(e,t)})),t.on("video:progress",(()=>{x("loaded",t.loaded)})),t.on("video:timeupdate",(()=>{x("played",t.played)})),t.on("video:ended",(()=>{x("played",1)})),i.isMobile||(s(e,"click",(e=>{e.target!==d&&n(t,e)})),s(e,"mousemove",(r=>{(0,i.setStyle)(f,"display","block"),(0,i.includeFromEvent)(r,u)?function(r){const{width:o}=a(t,r),{text:n}=r.target.dataset;f.innerHTML=n;const s=f.clientWidth;o<=s/2?(0,i.setStyle)(f,"left",0):o>e.clientWidth-s/2?(0,i.setStyle)(f,"left",e.clientWidth-s+"px"):(0,i.setStyle)(f,"left",o-s/2+"px")}(r):function(r){const{width:o,time:n}=a(t,r);f.innerHTML=n;const s=f.clientWidth;o<=s/2?(0,i.setStyle)(f,"left",0):o>e.clientWidth-s/2?(0,i.setStyle)(f,"left",e.clientWidth-s+"px"):(0,i.setStyle)(f,"left",o-s/2+"px")}(r)})),s(e,"mouseleave",(()=>{(0,i.setStyle)(f,"display","none")})),s(e,"mousedown",(()=>{l=!0})),s(document,"mousemove",(e=>{if(l){const{second:r,percentage:o}=a(t,e);x("played",o),t.seek=r}})),s(document,"mouseup",(()=>{l&&(l=!1)})))}}}}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"9BztV":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,style:{cursor:"auto",marginLeft:"10px"},mounted:e=>{function r(){const r=`${(0,o.secondToTime)(t.currentTime)} / ${(0,o.secondToTime)(t.duration)}`;r!==e.innerText&&(e.innerText=r)}r();const i=["video:loadedmetadata","video:timeupdate","video:progress"];for(let e=0;e({...e,mounted:e=>{const{proxy:r,icons:i,i18n:a}=t;let n=!1;const s=t.constructor.VOLUME_PANEL_WIDTH,l=t.constructor.VOLUME_HANDLE_WIDTH,c=(0,o.append)(e,i.volume),p=(0,o.append)(e,i.volumeClose),u=(0,o.append)(e,''),d=(0,o.append)(u,'');function f(e){const{left:t}=u.getBoundingClientRect();return(0,o.clamp)(e.pageX-t-l/2,0,s-l/2)/(s-l)}function h(e=.7){if(t.muted||0===e)(0,o.setStyle)(c,"display","none"),(0,o.setStyle)(p,"display","flex"),(0,o.setStyle)(d,"left","0");else{const t=(s-l)*e;(0,o.setStyle)(c,"display","flex"),(0,o.setStyle)(p,"display","none"),(0,o.setStyle)(d,"left",`${t}px`)}}(0,o.tooltip)(c,a.get("Mute")),(0,o.setStyle)(p,"display","none"),o.isMobile&&(0,o.setStyle)(u,"display","none"),h(t.volume),t.on("video:volumechange",(()=>{h(t.volume)})),r(c,"click",(()=>{t.muted=!0})),r(p,"click",(()=>{t.muted=!1})),r(u,"click",(e=>{t.muted=!1,t.volume=f(e)})),r(d,"mousedown",(()=>{n=!0})),r(e,"mousemove",(e=>{n&&(t.muted=!1,t.volume=f(e))})),r(document,"mouseup",(()=>{n&&(n=!1)}))}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"4Dw5D":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,tooltip:t.i18n.get("Show Setting"),mounted:e=>{const{proxy:r,icons:i,i18n:a}=t;(0,o.append)(e,i.setting),r(e,"click",(()=>{t.setting.toggle=!0,t.setting.updateStyle()})),t.on("setting",(t=>{(0,o.tooltip)(e,a.get(t?"Hide Setting":"Show Setting"))}))}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],k0DvK:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils"),i=e("./progress");r.default=function(e){return t=>({...e,mounted:e=>{const{option:r,template:{$progress:a,$video:n},events:{proxy:s,loadImg:l}}=t;let c=null,p=!1,u=!1;s(a,"mousemove",(async s=>{if(!p){p=!0;const e=await l(r.thumbnails.url);c=e,u=!0}u&&((0,o.setStyle)(e,"display","block"),function(s){const{width:l}=(0,i.getPosFromEvent)(t,s),{url:p,number:u,column:d,width:f,height:h}=r.thumbnails,m=f||c.naturalWidth/d,g=h||m/(n.videoWidth/n.videoHeight),y=a.clientWidth/u,v=Math.floor(l/y),b=Math.ceil(v/d)-1,x=v%d||d-1;(0,o.setStyle)(e,"backgroundImage",`url(${p})`),(0,o.setStyle)(e,"height",`${g}px`),(0,o.setStyle)(e,"width",`${m}px`),(0,o.setStyle)(e,"backgroundPosition",`-${x*m}px -${b*g}px`),l<=m/2?(0,o.setStyle)(e,"left",0):l>a.clientWidth-m/2?(0,o.setStyle)(e,"left",a.clientWidth-m+"px"):(0,o.setStyle)(e,"left",l-m/2+"px")}(s))})),s(a,"mouseleave",(()=>{(0,o.setStyle)(e,"display","none")})),t.on("hover",(t=>{t||(0,o.setStyle)(e,"display","none")}))}})}},{"../utils":"7drL4","./progress":"3g6RZ","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],bRP5Y:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,tooltip:t.i18n.get("Screenshot"),mounted:e=>{const{proxy:r,icons:i}=t;(0,o.append)(e,i.screenshot),r(e,"click",(()=>{t.screenshot()}))}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],jW8r3:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r),r.default=function(e){return t=>{const r=t.option.quality,o=r.find((e=>e.default))||r[0];return{...e,style:{marginRight:"10px"},html:o?o.html:"",selector:r,onSelect(e){t.switchQuality(e.url,e.html)}}}}},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],eJYjN:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,mounted:e=>{const r=(0,o.append)(e,''),i=(0,o.append)(e,'');t.on("loop",(a=>{a&&a.length?((0,o.setStyle)(e,"display","block"),(0,o.setStyle)(r,"left",`calc(${a[0]/t.duration*100}% - ${r.clientWidth}px)`),(0,o.setStyle)(i,"left",a[1]/t.duration*100+"%")):(0,o.setStyle)(e,"display","none")}))}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],eFnNY:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,tooltip:t.i18n.get("AirPlay"),mounted:e=>{const{proxy:r,icons:i}=t;(0,o.append)(e,i.airplay),r(e,"click",(()=>t.airplay()))}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],XqyHm:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",(()=>b));var i=e("../utils"),a=e("../utils/component"),n=o.interopDefault(a),s=e("./playbackRate"),l=o.interopDefault(s),c=e("./aspectRatio"),p=o.interopDefault(c),u=e("./flip"),d=o.interopDefault(u),f=e("./info"),h=o.interopDefault(f),m=e("./version"),g=o.interopDefault(m),y=e("./close"),v=o.interopDefault(y);class b extends n.default{init(){const{option:e,proxy:t,template:{$player:r,$contextmenu:o}}=this.art;e.playbackRate&&this.add((0,l.default)({name:"playbackRate",index:10})),e.aspectRatio&&this.add((0,p.default)({name:"aspectRatio",index:20})),e.flip&&this.add((0,d.default)({name:"flip",index:30})),this.add((0,h.default)({name:"info",index:40})),this.add((0,g.default)({name:"version",index:50})),this.add((0,v.default)({name:"close",index:60}));for(let t=0;t{if(e.preventDefault(),!this.art.constructor.CONTEXTMENU)return;this.show=!0;const t=e.clientX,a=e.clientY,{height:n,width:s,left:l,top:c}=r.getBoundingClientRect(),{height:p,width:u}=o.getBoundingClientRect();let d=t-l,f=a-c;t+u>l+s&&(d=s-u),a+p>c+n&&(f=n-p),(0,i.setStyles)(o,{top:`${f}px`,left:`${d}px`})})),t(r,"click",(e=>{(0,i.includeFromEvent)(e,o)||(this.show=!1)})),this.art.on("blur",(()=>{this.show=!1}))}constructor(e){super(e),this.name="contextmenu",this.$parent=e.template.$contextmenu,i.isMobile||this.init()}}},{"../utils":"7drL4","../utils/component":"gEwXu","./playbackRate":"8vD6h","./aspectRatio":"lOf6Q","./flip":"9d8Kb","./info":"96FcY","./version":"2IeXY","./close":"8mYqj","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"8vD6h":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>{const{i18n:r,constructor:{PLAYBACK_RATE:i}}=t;return{...e,html:`${r.get("Play Speed")}:\n ${i.map((e=>`${1===e?r.get("Normal"):e}`)).join("")}\n `,click:(e,r)=>{const{value:o}=r.target.dataset;o&&(t.playbackRate=Number(o),e.show=!1)},mounted:e=>{const r=(0,o.query)('[data-value="1"]',e);r&&(0,o.inverseClass)(r,"art-current"),t.on("video:ratechange",(()=>{const r=(0,o.queryAll)("span",e).find((e=>Number(e.dataset.value)===t.playbackRate));r&&(0,o.inverseClass)(r,"art-current")}))}}}}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],lOf6Q:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>{const{i18n:r,constructor:{ASPECT_RATIO:i}}=t;return{...e,html:`${r.get("Aspect Ratio")}:\n ${i.map((e=>`${"default"===e?r.get("Default"):e}`)).join("")}\n `,click:(e,r)=>{const{value:o}=r.target.dataset;o&&(t.aspectRatio=o,e.show=!1)},mounted:e=>{const r=(0,o.query)('[data-value="default"]',e);r&&(0,o.inverseClass)(r,"art-current"),t.on("aspectRatio",(t=>{const r=(0,o.queryAll)("span",e).find((e=>e.dataset.value===t));r&&(0,o.inverseClass)(r,"art-current")}))}}}}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"9d8Kb":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>{const{i18n:r,constructor:{FLIP:i}}=t;return{...e,html:`${r.get("Video Flip")}:\n ${i.map((e=>`${r.get((0,o.capitalize)(e))}`)).join("")}\n `,click:(e,r)=>{const{value:o}=r.target.dataset;o&&(t.flip=o.toLowerCase(),e.show=!1)},mounted:e=>{const r=(0,o.query)('[data-value="normal"]',e);r&&(0,o.inverseClass)(r,"art-current"),t.on("flip",(t=>{const r=(0,o.queryAll)("span",e).find((e=>e.dataset.value===t));r&&(0,o.inverseClass)(r,"art-current")}))}}}}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"96FcY":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r),r.default=function(e){return t=>({...e,html:t.i18n.get("Video Info"),click:e=>{t.info.show=!0,e.show=!1}})}},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"2IeXY":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r),r.default=function(e){return{...e,html:'ArtPlayer 4.6.3'}}},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"8mYqj":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r),r.default=function(e){return t=>({...e,html:t.i18n.get("Close"),click:e=>{e.show=!1}})}},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],fiMkm:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",(()=>s));var i=e("./utils"),a=e("./utils/component"),n=o.interopDefault(a);class s extends n.default{init(){const{proxy:e,constructor:t,template:{$infoPanel:r,$infoClose:o,$video:a}}=this.art;e(o,"click",(()=>{this.show=!1}));let n=null;const s=(0,i.queryAll)("[data-video]",r)||[];this.art.on("destroy",(()=>{clearTimeout(n)})),function e(){for(let e=0;eu));var i=e("./utils"),a=e("./utils/component"),n=o.interopDefault(a),s=e("option-validator"),l=o.interopDefault(s),c=e("./scheme"),p=o.interopDefault(c);class u extends n.default{get url(){return this.art.template.$track.src}set url(e){this.switch(e)}get textTrack(){return this.art.template.$video.textTracks[0]}get activeCue(){return this.textTrack.activeCues[0]}style(e,t){const{$subtitle:r}=this.art.template;return"object"==typeof e?(0,i.setStyles)(r,e):(0,i.setStyle)(r,e,t)}update(){const{$subtitle:e}=this.art.template;e.innerHTML="",this.activeCue&&(this.art.option.subtitle.escape?e.innerHTML=this.activeCue.text.split(/\r?\n/).map((e=>`${(0,i.escape)(e)}
`)).join(""):e.innerHTML=this.activeCue.text,this.art.emit("subtitleUpdate",this.activeCue.text))}async switch(e,t={}){const{i18n:r,notice:o,option:i}=this.art,a={...i.subtitle,...t,url:e},n=await this.init(a);return t.name&&(o.show=`${r.get("Switch Subtitle")}: ${t.name}`),n}createTrack(e,t){const{template:r,proxy:o}=this.art,{$video:a,$track:n}=r,s=(0,i.createElement)("track");s.default=!0,s.kind=e,s.src=t,s.track.mode="hidden",this.eventDestroy(),(0,i.remove)(n),(0,i.append)(a,s),r.$track=s,this.eventDestroy=o(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,i.getExt)(e.url)){case"srt":return(0,i.vttToBlob)((0,i.srtToVtt)(r));case"ass":return(0,i.vttToBlob)((0,i.assToVtt)(r));case"vtt":return(0,i.vttToBlob)(r);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}))}constructor(e){super(e),this.name="subtitle",this.eventDestroy=()=>null,this.init(e.option.subtitle);let t=!1;e.on("video:timeupdate",(()=>{if(!this.url)return;const e=this.art.template.$video.webkitDisplayingFullscreen;"boolean"==typeof e&&e!==t&&(t=e,this.createTrack(e?"subtitles":"metadata",this.url))}))}}},{"./utils":"7drL4","./utils/component":"gEwXu","option-validator":"e1J0t","./scheme":"1s2bZ","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],aoN05:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",(()=>y));var i=e("../utils/error"),a=e("./clickInit"),n=o.interopDefault(a),s=e("./hoverInit"),l=o.interopDefault(s),c=e("./mousemoveInit"),p=o.interopDefault(c),u=e("./resizeInit"),d=o.interopDefault(u),f=e("./gestureInit"),h=o.interopDefault(f),m=e("./viewInit"),g=o.interopDefault(m);class y{proxy(e,t,r,o={}){if(Array.isArray(t))return t.map((t=>this.proxy(e,t,r,o)));e.addEventListener(t,r,o);const i=()=>e.removeEventListener(t,r,o);return this.destroyEvents.push(i),i}hover(e,t,r){t&&this.proxy(e,"mouseenter",t),r&&this.proxy(e,"mouseleave",r)}loadImg(e){return new Promise(((t,r)=>{let o;if(e instanceof HTMLImageElement)o=e;else{if("string"!=typeof e)return r(new(0,i.ArtPlayerError)("Unable to get Image"));o=new Image,o.src=e}if(o.complete)return t(o);this.proxy(o,"load",(()=>t(o))),this.proxy(o,"error",(()=>r(new(0,i.ArtPlayerError)(`Failed to load Image: ${o.src}`))))}))}destroy(){for(let e=0;e{(0,o.includeFromEvent)(t,i)?(e.isInput="INPUT"===t.target.tagName,e.isFocus=!0,e.emit("focus")):(e.isInput=!1,e.isFocus=!1,e.emit("blur"))}));let n=0;t.proxy(a,"click",(()=>{const t=Date.now();t-n<=r.DB_CLICE_TIME?(e.emit("dblclick"),o.isMobile?e.isLock||e.toggle():e.fullscreen=!e.fullscreen):(e.emit("click"),o.isMobile||e.toggle()),n=t}))}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],kRkOi:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e,t){const{$player:r}=e.template;t.hover(r,(t=>{(0,o.addClass)(r,"art-hover"),e.emit("hover",!0,t)}),(t=>{(0,o.removeClass)(r,"art-hover"),e.emit("hover",!1,t)}))}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],fQSIu:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r),r.default=function(e,t){const{$player:r}=e.template;t.proxy(r,"mousemove",(t=>{e.emit("mousemove",t)}))}},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],fcoK8:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e,t){const{option:r}=e,i=(0,o.throttle)((()=>{e.normalSize&&(e.autoSize=r.autoSize),e.aspectRatioReset=!0,e.notice.show="",e.emit("resize")}),e.constructor.RESIZE_TIME);t.proxy(window,["orientationchange","resize"],(()=>{i()})),screen&&screen.orientation&&screen.orientation.onchange&&t.proxy(screen.orientation,"change",(()=>{i()}))}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],jgnYa:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils"),i=e("../control/progress");r.default=function(e,t){if(o.isMobile&&!e.option.isLive){const{$video:r,$progress:a}=e.template;let n=null,s=!1,l=0,c=0,p=0;const u=t=>{if(1===t.touches.length&&!e.isLock){n===a&&(0,i.setCurrentTime)(e,t),s=!0;const{clientX:r,clientY:o}=t.touches[0];l=r,c=o,p=e.currentTime}},d=t=>{if(1===t.touches.length&&s&&e.duration){const{clientX:i,clientY:a}=t.touches[0],s=(0,o.clamp)((i-l)/e.width,-1,1),u=(0,o.clamp)((a-c)/e.height,-1,1),d=e.isRotate?u:s,f=n===r?e.constructor.TOUCH_MOVE_RATIO:1,h=(0,o.clamp)(p+e.duration*d*f,0,e.duration);e.seek=h,e.emit("setBar","played",(0,o.clamp)(h/e.duration,0,1)),e.notice.show=`${(0,o.secondToTime)(h)} / ${(0,o.secondToTime)(e.duration)}`}},f=()=>{s&&(l=0,c=0,p=0,s=!1,n=null)};t.proxy(a,"touchstart",(e=>{n=a,u(e)})),t.proxy(r,"touchstart",(e=>{n=r,u(e)})),t.proxy(r,"touchmove",d),t.proxy(a,"touchmove",d),t.proxy(document,"touchend",f)}}},{"../utils":"7drL4","../control/progress":"3g6RZ","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],k09YH:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e,t){const{option:r,constructor:i,template:{$container:a}}=e,n=(0,o.throttle)((()=>{e.emit("view",(0,o.isInViewport)(a,i.SCROLL_GAP))}),i.SCROLL_TIME);t.proxy(window,"scroll",(()=>{n()})),e.on("view",(t=>{r.autoMini&&(e.mini=!t)}))}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],ba6C3:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",(()=>a));var i=e("./utils");class a{init(){const{proxy:e,constructor:t}=this.art;this.add(27,(()=>{this.art.fullscreenWeb&&(this.art.fullscreenWeb=!1)})),this.add(32,(()=>{this.art.toggle()})),this.add(37,(()=>{this.art.backward=t.SEEK_STEP})),this.add(38,(()=>{this.art.volume+=t.VOLUME_STEP})),this.add(39,(()=>{this.art.forward=t.SEEK_STEP})),this.add(40,(()=>{this.art.volume-=t.VOLUME_STEP})),e(window,"keydown",(e=>{if(this.art.isFocus){const t=document.activeElement.tagName.toUpperCase(),r=document.activeElement.getAttribute("contenteditable");if("INPUT"!==t&&"TEXTAREA"!==t&&""!==r&&"true"!==r){const t=this.keys[e.keyCode];if(t){e.preventDefault();for(let r=0;rn));var i=e("./utils/component"),a=o.interopDefault(i);class n extends a.default{constructor(e){super(e);const{option:t,template:{$layer:r}}=e;this.name="layer",this.$parent=r;for(let e=0;es));var i=e("./utils"),a=e("./utils/component"),n=o.interopDefault(a);class s extends n.default{constructor(e){super(e),this.name="loading",(0,i.append)(e.template.$loading,e.icons.loading)}}},{"./utils":"7drL4","./utils/component":"gEwXu","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],e1V9b:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",(()=>a));var i=e("./utils");class a{set show(e){const{constructor:t,template:{$player:r,$noticeInner:o}}=this.art;e?(o.innerText=e instanceof Error?e.message.trim():e,(0,i.addClass)(r,"art-notice-show"),clearTimeout(this.timer),this.timer=setTimeout((()=>{o.innerText="",(0,i.removeClass)(r,"art-notice-show")}),t.NOTICE_TIME)):(0,i.removeClass)(r,"art-notice-show")}constructor(e){this.art=e,this.timer=null}}},{"./utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"7Eyvg":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",(()=>s));var i=e("./utils"),a=e("./utils/component"),n=o.interopDefault(a);class s extends n.default{constructor(e){super(e),this.name="mask";const{template:t,icons:r,events:o}=e,a=(0,i.append)(t.$state,r.state),n=(0,i.append)(t.$state,r.error);(0,i.setStyle)(n,"display","none"),e.on("destroy",(()=>{(0,i.setStyle)(a,"display","none"),(0,i.setStyle)(n,"display",null)})),o.proxy(t.$state,"click",(()=>e.play()))}}},{"./utils":"7drL4","./utils/component":"gEwXu","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],jccXh:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",(()=>ae));var i=e("../utils"),a=e("bundle-text:./loading.svg"),n=o.interopDefault(a),s=e("bundle-text:./state.svg"),l=o.interopDefault(s),c=e("bundle-text:./check.svg"),p=o.interopDefault(c),u=e("bundle-text:./play.svg"),d=o.interopDefault(u),f=e("bundle-text:./pause.svg"),h=o.interopDefault(f),m=e("bundle-text:./volume.svg"),g=o.interopDefault(m),y=e("bundle-text:./volume-close.svg"),v=o.interopDefault(y),b=e("bundle-text:./screenshot.svg"),x=o.interopDefault(b),w=e("bundle-text:./setting.svg"),j=o.interopDefault(w),k=e("bundle-text:./arrow-left.svg"),S=o.interopDefault(k),P=e("bundle-text:./arrow-right.svg"),T=o.interopDefault(P),I=e("bundle-text:./playback-rate.svg"),$=o.interopDefault(I),E=e("bundle-text:./aspect-ratio.svg"),M=o.interopDefault(E),L=e("bundle-text:./config.svg"),F=o.interopDefault(L),C=e("bundle-text:./pip.svg"),V=o.interopDefault(C),A=e("bundle-text:./lock.svg"),D=o.interopDefault(A),z=e("bundle-text:./unlock.svg"),R=o.interopDefault(z),O=e("bundle-text:./fullscreen-off.svg"),N=o.interopDefault(O),H=e("bundle-text:./fullscreen-on.svg"),_=o.interopDefault(H),W=e("bundle-text:./fullscreen-web-off.svg"),q=o.interopDefault(W),B=e("bundle-text:./fullscreen-web-on.svg"),U=o.interopDefault(B),Y=e("bundle-text:./switch-on.svg"),G=o.interopDefault(Y),Z=e("bundle-text:./switch-off.svg"),K=o.interopDefault(Z),J=e("bundle-text:./flip.svg"),X=o.interopDefault(J),Q=e("bundle-text:./error.svg"),ee=o.interopDefault(Q),te=e("bundle-text:./close.svg"),re=o.interopDefault(te),oe=e("bundle-text:./airplay.svg"),ie=o.interopDefault(oe);class ae{constructor(e){const t={loading:n.default,state:l.default,play:d.default,pause:h.default,check:p.default,volume:g.default,volumeClose:v.default,screenshot:x.default,setting:j.default,pip:V.default,arrowLeft:S.default,arrowRight:T.default,playbackRate:$.default,aspectRatio:M.default,config:F.default,lock:D.default,flip:X.default,unlock:R.default,fullscreenOff:N.default,fullscreenOn:_.default,fullscreenWebOff:q.default,fullscreenWebOn:U.default,switchOn:G.default,switchOff:K.default,error:ee.default,close:re.default,airplay:ie.default,...e.option.icons};Object.keys(t).forEach((e=>{(0,i.def)(this,e,{get:()=>{const r=(0,i.createElement)("i");return(0,i.addClass)(r,"art-icon"),(0,i.addClass)(r,`art-icon-${e}`),(0,i.append)(r,t[e]),r}})}))}}},{"../utils":"7drL4","bundle-text:./loading.svg":"cI8s8","bundle-text:./state.svg":"hAK1t","bundle-text:./check.svg":"kQjLS","bundle-text:./play.svg":"4LhQx","bundle-text:./pause.svg":"iyFjq","bundle-text:./volume.svg":"lVGXj","bundle-text:./volume-close.svg":"5FfiQ","bundle-text:./screenshot.svg":"acOxs","bundle-text:./setting.svg":"7n7eT","bundle-text:./arrow-left.svg":"4KKm3","bundle-text:./arrow-right.svg":"12rWG","bundle-text:./playback-rate.svg":"crwm6","bundle-text:./aspect-ratio.svg":"aEBuh","bundle-text:./config.svg":"8LTtW","bundle-text:./pip.svg":"irWdG","bundle-text:./lock.svg":"26moK","bundle-text:./unlock.svg":"b6ygV","bundle-text:./fullscreen-off.svg":"105zd","bundle-text:./fullscreen-on.svg":"fSuWv","bundle-text:./fullscreen-web-off.svg":"jfsCv","bundle-text:./fullscreen-web-on.svg":"3P2GA","bundle-text:./switch-on.svg":"gyApI","bundle-text:./switch-off.svg":"7ccNg","bundle-text:./flip.svg":"fALt8","bundle-text:./error.svg":"dBF3H","bundle-text:./close.svg":"v2ERQ","bundle-text:./airplay.svg":"eClOS","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],cI8s8:[function(e,t,r){t.exports=''},{}],hAK1t:[function(e,t,r){t.exports=''},{}],kQjLS:[function(e,t,r){t.exports=''},{}],"4LhQx":[function(e,t,r){t.exports=''},{}],iyFjq:[function(e,t,r){t.exports=''},{}],lVGXj:[function(e,t,r){t.exports=''},{}],"5FfiQ":[function(e,t,r){t.exports=''},{}],acOxs:[function(e,t,r){t.exports=''},{}],"7n7eT":[function(e,t,r){t.exports=''},{}],"4KKm3":[function(e,t,r){t.exports=''},{}],"12rWG":[function(e,t,r){t.exports=''},{}],crwm6:[function(e,t,r){t.exports=''},{}],aEBuh:[function(e,t,r){t.exports=''},{}],"8LTtW":[function(e,t,r){t.exports=''},{}],irWdG:[function(e,t,r){t.exports=''},{}],"26moK":[function(e,t,r){t.exports=''},{}],b6ygV:[function(e,t,r){t.exports=''},{}],"105zd":[function(e,t,r){t.exports=''},{}],fSuWv:[function(e,t,r){t.exports=''},{}],jfsCv:[function(e,t,r){t.exports=''},{}],"3P2GA":[function(e,t,r){t.exports=''},{}],gyApI:[function(e,t,r){t.exports=''},{}],"7ccNg":[function(e,t,r){t.exports=''},{}],fALt8:[function(e,t,r){t.exports=''},{}],dBF3H:[function(e,t,r){t.exports=''},{}],v2ERQ:[function(e,t,r){t.exports=''},{}],eClOS:[function(e,t,r){t.exports=''},{}],gBKqL:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",(()=>m));var i=e("./flip"),a=o.interopDefault(i),n=e("./aspectRatio"),s=o.interopDefault(n),l=e("./playbackRate"),c=o.interopDefault(l),p=e("./subtitleOffset"),u=o.interopDefault(p),d=e("../utils/component"),f=o.interopDefault(d),h=e("../utils");class m extends f.default{static makeRecursion(e,t,r){for(let o=0;oe())),this.events=[],this.$parent.innerHTML="",this.option=m.makeRecursion(this.option),this.init(this.option),this.option}add(e){return this.option.push(e),this.update(),e}creatHeader(e){const{icons:t,proxy:r}=this.art,o=(0,h.createElement)("div");(0,h.addClass)(o,"art-setting-item"),(0,h.addClass)(o,"art-setting-item-back");const i=(0,h.append)(o,''),a=(0,h.createElement)("div");(0,h.addClass)(a,"art-setting-item-left-icon"),(0,h.append)(a,t.arrowLeft),(0,h.append)(i,a),(0,h.append)(i,e.$parentItem.html);const n=r(o,"click",(()=>this.init(e.$parentList)));return this.events.push(n),o}creatItem(e,t){const{icons:r,proxy:o}=this.art,i=(0,h.createElement)("div");(0,h.addClass)(i,"art-setting-item"),(0,h.isStringOrNumber)(t.name)&&(i.dataset.name=t.name),(0,h.isStringOrNumber)(t.value)&&(i.dataset.value=t.value);const a=(0,h.append)(i,''),n=(0,h.append)(i,''),s=(0,h.createElement)("div");switch((0,h.addClass)(s,"art-setting-item-left-icon"),e){case"switch":case"range":(0,h.append)(s,(0,h.isStringOrNumber)(t.icon)||t.icon instanceof Element?t.icon:r.config);break;case"selector":t.selector&&t.selector.length?(0,h.append)(s,(0,h.isStringOrNumber)(t.icon)||t.icon instanceof Element?t.icon:r.config):(0,h.append)(s,r.check)}(0,h.append)(a,s),t.$icon=s,(0,h.def)(t,"icon",{configurable:!0,get:()=>s.innerHTML,set(e){(0,h.isStringOrNumber)(e)&&(s.innerHTML=e)}});const l=(0,h.createElement)("div");(0,h.addClass)(l,"art-setting-item-left-text"),(0,h.append)(l,t.html||""),(0,h.append)(a,l),t.$html=l,(0,h.def)(t,"html",{configurable:!0,get:()=>l.innerHTML,set(e){(0,h.isStringOrNumber)(e)&&(l.innerHTML=e)}});const c=(0,h.createElement)("div");switch((0,h.addClass)(c,"art-setting-item-right-tooltip"),(0,h.append)(c,t.tooltip||""),(0,h.append)(n,c),t.$tooltip=c,(0,h.def)(t,"tooltip",{configurable:!0,get:()=>c.innerHTML,set(e){(0,h.isStringOrNumber)(e)&&(c.innerHTML=e)}}),e){case"switch":{const e=(0,h.createElement)("div");(0,h.addClass)(e,"art-setting-item-right-icon");const o=(0,h.append)(e,r.switchOn),i=(0,h.append)(e,r.switchOff);(0,h.setStyle)(t.switch?i:o,"display","none"),(0,h.append)(n,e),t.$switch=t.switch,(0,h.def)(t,"switch",{configurable:!0,get:()=>t.$switch,set(e){t.$switch=e,e?((0,h.setStyle)(i,"display","none"),(0,h.setStyle)(o,"display",null)):((0,h.setStyle)(i,"display",null),(0,h.setStyle)(o,"display","none"))}});break}case"range":{const e=(0,h.createElement)("div");(0,h.addClass)(e,"art-setting-item-right-icon");const r=(0,h.append)(e,'');r.value=t.range[0]||0,r.min=t.range[1]||0,r.max=t.range[2]||10,r.step=t.range[3]||1,(0,h.addClass)(r,"art-setting-range"),(0,h.append)(n,e),t.$range=r,(0,h.def)(t,"range",{configurable:!0,get:()=>r.valueAsNumber,set(e){r.value=Number(e)}})}break;case"selector":if(t.selector&&t.selector.length){const e=(0,h.createElement)("div");(0,h.addClass)(e,"art-setting-item-right-icon"),(0,h.append)(e,r.arrowRight),(0,h.append)(n,e)}}switch(e){case"switch":if(t.onSwitch){const e=o(i,"click",(async e=>{t.switch=await t.onSwitch.call(this.art,t,i,e)}));this.events.push(e)}break;case"range":if(t.$range){if(t.onRange){const e=o(t.$range,"change",(async e=>{t.tooltip=await t.onRange.call(this.art,t,i,e)}));this.events.push(e)}if(t.onChange){const e=o(t.$range,"input",(async e=>{t.tooltip=await t.onChange.call(this.art,t,i,e)}));this.events.push(e)}}break;case"selector":{const e=o(i,"click",(async e=>{if(t.selector&&t.selector.length)this.init(t.selector,t.width);else{(0,h.inverseClass)(i,"art-current");for(let e=0;ec?((0,h.setStyle)(i,"left","auto"),(0,h.setStyle)(i,"right","10px")):((0,h.setStyle)(i,"left",`${p}px`),(0,h.setStyle)(i,"right","auto"))}else(0,h.setStyle)(i,"left","auto"),(0,h.setStyle)(i,"right","10px")}init(e,t){const{constructor:r}=this.art;if(this.cache.has(e)){const t=this.cache.get(e);(0,h.inverseClass)(t,"art-current"),(0,h.setStyle)(this.$parent,"width",`${t.dataset.width}px`),(0,h.setStyle)(this.$parent,"height",`${t.dataset.height}px`),this.updateStyle(Number(t.dataset.width))}else{const o=(0,h.createElement)("div");(0,h.addClass)(o,"art-setting-panel"),o.dataset.width=t||r.SETTING_WIDTH,o.dataset.height=e.length*r.SETTING_ITEM_HEIGHT,e[0]&&e[0].$parentItem&&((0,h.append)(o,this.creatHeader(e[0])),o.dataset.height=Number(o.dataset.height)+r.SETTING_ITEM_HEIGHT);for(let t=0;t{this.show&&(this.show=!1,this.init(this.option))})),r(i,"click",(t=>{!this.show||(0,h.includeFromEvent)(t,e.controls.setting)||(0,h.includeFromEvent)(t,this.$parent)||(this.show=!1,this.init(this.option))}))}}}},{"./flip":"jJJjW","./aspectRatio":"46lOt","./playbackRate":"kHkmx","./subtitleOffset":"1GQ3B","../utils/component":"gEwXu","../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],jJJjW:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{i18n:t,icons:r,constructor:{SETTING_ITEM_WIDTH:i,FLIP:a}}=e;function n(e,r,i){r&&(r.innerText=t.get((0,o.capitalize)(i)));const a=(0,o.queryAll)(".art-setting-item",e).find((e=>e.dataset.value===i));a&&(0,o.inverseClass)(a,"art-current")}return{width:i,html:t.get("Video Flip"),tooltip:t.get((0,o.capitalize)(e.flip)),icon:r.flip,selector:a.map((r=>({value:r,default:r===e.flip,html:t.get((0,o.capitalize)(r))}))),onSelect:t=>(e.flip=t.value,t.value),mounted:(t,r)=>{n(t,r.$tooltip,e.flip),e.on("flip",(()=>{n(t,r.$tooltip,e.flip)}))}}}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"46lOt":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{i18n:t,icons:r,constructor:{SETTING_ITEM_WIDTH:i,ASPECT_RATIO:a}}=e;function n(e){return"default"===e?t.get("Default"):e}function s(e,t,r){t&&(t.innerText=n(r));const i=(0,o.queryAll)(".art-setting-item",e).find((e=>e.dataset.value===r));i&&(0,o.inverseClass)(i,"art-current")}return{width:i,html:t.get("Aspect Ratio"),icon:r.aspectRatio,tooltip:n(e.aspectRatio),selector:a.map((t=>({value:t,default:t===e.aspectRatio,html:n(t)}))),onSelect:t=>(e.aspectRatio=t.value,t.value),mounted:(t,r)=>{s(t,r.$tooltip,e.aspectRatio),e.on("aspectRatio",(()=>{s(t,r.$tooltip,e.aspectRatio)}))}}}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],kHkmx:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{i18n:t,icons:r,constructor:{SETTING_ITEM_WIDTH:i,PLAYBACK_RATE:a}}=e;function n(e){return 1===e?t.get("Normal"):e}function s(e,t,r){t&&(t.innerText=n(r));const i=(0,o.queryAll)(".art-setting-item",e).find((e=>Number(e.dataset.value)===r));i&&(0,o.inverseClass)(i,"art-current")}return{width:i,html:t.get("Play Speed"),tooltip:n(e.playbackRate),icon:r.playbackRate,selector:a.map((t=>({value:t,default:t===e.playbackRate,html:n(t)}))),onSelect:t=>(e.playbackRate=t.value,t.value),mounted:(t,r)=>{s(t,r.$tooltip,e.playbackRate),e.on("video:ratechange",(()=>{s(t,r.$tooltip,e.playbackRate)}))}}}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"1GQ3B":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r),r.default=function(e){const{i18n:t,icons:r,constructor:o}=e;return{width:o.SETTING_ITEM_WIDTH,html:t.get("Subtitle Offset"),icon:r.subtitle,tooltip:"0s",range:[0,-5,5,.1],onChange:t=>(e.subtitleOffset=t.range,t.range+"s")}}},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"71DyG":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",(()=>i));class i{get(e){try{const t=JSON.parse(window.localStorage.getItem(this.name))||{};return e?t[e]:t}catch(t){return e?this.settings[e]:this.settings}}set(e,t){try{const r=Object.assign({},this.get(),{[e]:t});window.localStorage.setItem(this.name,JSON.stringify(r))}catch(r){this.settings[e]=t}}del(e){try{const t=this.get();delete t[e],window.localStorage.setItem(this.name,JSON.stringify(t))}catch(t){delete this.settings[e]}}clear(){try{window.localStorage.removeItem(this.name)}catch(e){this.settings={}}}constructor(){this.name="artplayer_settings",this.settings={}}}},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],kWGSQ:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",(()=>m));var i=e("../utils"),a=e("./miniProgressBar"),n=o.interopDefault(a),s=e("./autoOrientation"),l=o.interopDefault(s),c=e("./autoPlayback"),p=o.interopDefault(c),u=e("./fastForward"),d=o.interopDefault(u),f=e("./lock"),h=o.interopDefault(f);class m{add(e){this.id+=1;const t=e.call(this.art,this.art),r=t&&t.name||e.name||`plugin${this.id}`;return(0,i.errorHandle)(!(0,i.has)(this,r),`Cannot add a plugin that already has the same name: ${r}`),(0,i.def)(this,r,{value:t}),this}constructor(e){this.art=e,this.id=0;const{option:t}=e;t.miniProgressBar&&!t.isLive&&this.add(n.default),t.lock&&i.isMobile&&this.add(h.default),t.autoPlayback&&!t.isLive&&this.add(p.default),t.autoOrientation&&i.isMobile&&this.add(l.default),t.fastForward&&i.isMobile&&!t.isLive&&this.add(d.default);for(let e=0;e{e.layers.add({name:"miniProgressBar",mounted(t){e.on("destroy",(()=>{t.style.display="none"})),e.on("video:timeupdate",(()=>{t.style.width=100*e.played+"%"})),e.on("setBar",((e,r)=>{"played"===e&&(t.style.width=100*r+"%")}))}})})),{name:"miniProgressBar"}}},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"5Cp1r":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{option:t,constructor:r,template:{$player:i,$video:a}}=e;return e.on("fullscreenWeb",(n=>{if(n){const{videoWidth:t,videoHeight:n}=a,{clientWidth:s,clientHeight:l}=document.documentElement;(t>n&&sl)&&setTimeout((()=>{(0,o.setStyle)(i,"width",`${l}px`),(0,o.setStyle)(i,"height",`${s}px`),(0,o.setStyle)(i,"transform-origin","0 0"),(0,o.setStyle)(i,"transform",`rotate(90deg) translate(0, -${s}px)`),(0,o.addClass)(i,"art-auto-orientation"),e.isRotate=!0,e.emit("resize")}),r.MOBILE_AUTO_ORIENTATION_TIME)}else(0,o.hasClass)(i,"art-auto-orientation")&&((0,o.setStyle)(i,"width",null),(0,o.setStyle)(i,"height",null),(0,o.setStyle)(i,"transform",null),(0,o.setStyle)(i,"transform-origin",null),(0,o.removeClass)(i,"art-auto-orientation"),e.isRotate=!1,e.aspectRatioReset=!0,e.autoSize=t.autoSize,e.notice.show="",e.emit("resize"))})),e.on("fullscreen",(async e=>{const t=screen.orientation.type;if(e){const{videoWidth:e,videoHeight:r}=a,{clientWidth:n,clientHeight:s}=document.documentElement;if(e>r&&ns){const e=t.startsWith("portrait")?"landscape":"portrait";await screen.orientation.lock(e),(0,o.addClass)(i,"art-auto-orientation-fullscreen")}}else(0,o.hasClass)(i,"art-auto-orientation-fullscreen")&&(await screen.orientation.lock(t),(0,o.removeClass)(i,"art-auto-orientation-fullscreen"))})),{name:"autoOrientation",get state(){return(0,o.hasClass)(i,"art-auto-orientation")}}}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],l9En2:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{i18n:t,icons:r,storage:i,constructor:a,proxy:n,template:{$poster:s}}=e,l=e.layers.add({name:"autoPlayback",html:''}),c=(0,o.query)(".art-autoPlayback-last",l),p=(0,o.query)(".art-autoPlayback-jump",l),u=(0,o.query)(".art-autoPlayback-close",l);return e.on("video:timeupdate",(()=>{const t=i.get("times")||{},r=Object.keys(t);r.length>a.AUTO_PLAYBACK_MAX&&delete t[r[0]],t[e.option.id||e.option.url]=e.currentTime,i.set("times",t)})),e.on("ready",(()=>{const d=(i.get("times")||{})[e.option.id||e.option.url];d&&d>=a.AUTO_PLAYBACK_MIN&&((0,o.append)(u,r.close),(0,o.setStyle)(l,"display","flex"),c.innerText=`${t.get("Last Seen")} ${(0,o.secondToTime)(d)}`,p.innerText=t.get("Jump Play"),n(u,"click",(()=>{(0,o.setStyle)(l,"display","none")})),n(p,"click",(()=>{e.seek=d,e.play(),(0,o.setStyle)(s,"display","none"),(0,o.setStyle)(l,"display","none")})),e.once("video:timeupdate",(()=>{setTimeout((()=>{(0,o.setStyle)(l,"display","none")}),a.AUTO_PLAYBACK_TIMEOUT)})))})),{name:"autoPlayback",get times(){return i.get("times")||{}},clear:()=>i.del("times"),delete(e){const t=i.get("times")||{};return delete t[e],i.set("times",t),t}}}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"67viW":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{constructor:t,proxy:r,template:{$player:i,$video:a}}=e;let n=null,s=!1,l=1;const c=()=>{clearTimeout(n),s&&(s=!1,e.playbackRate=l,(0,o.removeClass)(i,"art-fast-forward"))};return r(a,"touchstart",(r=>{1===r.touches.length&&e.playing&&!e.isLock&&(n=setTimeout((()=>{s=!0,l=e.playbackRate,e.playbackRate=t.FAST_FORWARD_VALUE,(0,o.addClass)(i,"art-fast-forward")}),t.FAST_FORWARD_TIME))})),r(document,"touchmove",c),r(document,"touchend",c),{name:"fastForward",get state(){return(0,o.hasClass)(i,"art-fast-forward")}}}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],dJnlB:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{layers:t,icons:r,template:{$player:i}}=e;return t.add({name:"lock",mounted(t){const i=(0,o.append)(t,r.lock),a=(0,o.append)(t,r.unlock);(0,o.setStyle)(i,"display","none"),e.on("lock",(e=>{e?((0,o.setStyle)(i,"display","inline-flex"),(0,o.setStyle)(a,"display","none")):((0,o.setStyle)(i,"display","none"),(0,o.setStyle)(a,"display","inline-flex"))}))},click(){(0,o.hasClass)(i,"art-lock")?((0,o.removeClass)(i,"art-lock"),this.isLock=!1,e.emit("lock",!1)):((0,o.addClass)(i,"art-lock"),this.isLock=!0,e.emit("lock",!0))}}),{name:"lock",get state(){return(0,o.hasClass)(i,"art-lock")}}}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],lFrMF:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",(()=>s));var i=e("./config"),a=o.interopDefault(i),n=e("./utils");class s{constructor(e){const{option:t,proxy:r,template:{$video:o}}=e;for(let t=0;t{e.emit(`video:${t.type}`,t)}));Object.keys(t.moreVideoAttr).forEach((e=>{o[e]=t.moreVideoAttr[e]})),o.controls=!0,t.muted&&(o.muted=t.muted),t.volume&&(o.volume=(0,n.clamp)(t.volume,0,1)),t.poster&&(o.poster=t.poster),t.autoplay&&(o.autoplay=t.autoplay),t.playsInline&&(o.playsInline=!0,o["webkit-playsinline"]=!0);const i=t.type||(0,n.getExt)(t.url),s=t.customType[i];i&&s?s(o,t.url,e):(o.src=t.url,e.emit("url",o.src))}}},{"./config":"1shlC","./utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}]},["4GL94"],"4GL94","parcelRequire4dc0");
\ No newline at end of file
+!function(e,t,r,o,i){var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},n="function"==typeof a[o]&&a[o],s=n.cache||{},l="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function c(t,r){if(!s[t]){if(!e[t]){var i="function"==typeof a[o]&&a[o];if(!r&&i)return i(t,!0);if(n)return n(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 o=e[t][1][r];return null!=o?o: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=n,c.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(c,"root",{get:function(){return a[o]}}),a[o]=c;for(var p=0;pte));var i=e("bundle-text:./style/index.less"),a=o.interopDefault(i),n=e("option-validator"),s=o.interopDefault(n),l=e("./utils/emitter"),c=o.interopDefault(l),p=e("./utils"),u=e("./scheme"),d=o.interopDefault(u),f=e("./config"),h=o.interopDefault(f),m=e("./whitelist"),g=o.interopDefault(m),y=e("./template"),v=o.interopDefault(y),b=e("./i18n"),x=o.interopDefault(b),w=e("./player"),j=o.interopDefault(w),k=e("./control"),S=o.interopDefault(k),P=e("./contextmenu"),T=o.interopDefault(P),I=e("./info"),$=o.interopDefault(I),E=e("./subtitle"),M=o.interopDefault(E),L=e("./events"),F=o.interopDefault(L),V=e("./hotkey"),C=o.interopDefault(V),A=e("./layer"),D=o.interopDefault(A),z=e("./loading"),R=o.interopDefault(z),O=e("./notice"),N=o.interopDefault(O),H=e("./mask"),_=o.interopDefault(H),W=e("./icons"),q=o.interopDefault(W),B=e("./setting"),U=o.interopDefault(B),Y=e("./storage"),G=o.interopDefault(Y),Z=e("./plugins"),J=o.interopDefault(Z),K=e("./mobile"),X=o.interopDefault(K);let Q=0;const ee=[];class te extends c.default{static get instances(){return ee}static get version(){return"5.0.0"}static get env(){return"production"}static get build(){return"2023-04-15 16:39:02"}static get config(){return h.default}static get utils(){return p}static get scheme(){return d.default}static get Emitter(){return c.default}static get validator(){return s.default}static get kindOf(){return s.default.kindOf}static get html(){return v.default.html}static get option(){return{id:"",container:"#artplayer",url:"",poster:"",title:"",type:"",theme:"#f00",volume:.7,isLive:!1,muted:!1,autoplay:!1,autoSize:!1,autoMini:!1,loop:!1,flip:!1,playbackRate:!1,aspectRatio:!1,screenshot:!1,setting:!1,hotkey:!0,pip:!1,mutex:!0,backdrop:!0,fullscreen:!1,fullscreenWeb:!1,subtitleOffset:!1,miniProgressBar:!1,useSSR:!1,playsInline:!0,lock:!1,fastForward:!1,autoPlayback:!1,autoOrientation:!1,airplay:!1,layers:[],contextmenu:[],controls:[],settings:[],quality:[],highlight:[],plugins:[],whitelist:[],thumbnails:{url:"",number:60,column:10,width:0,height:0},subtitle:{url:"",type:"",style:{},escape:!0,encoding:"utf-8",onVttLoad:e=>e},moreVideoAttr:{controls:!1,preload:p.isSafari?"auto":"metadata"},i18n:{},icons:{},customType:{},lang:navigator.language.toLowerCase()}}get proxy(){return this.events.proxy}get query(){return this.template.query}get video(){return this.template.$video}destroy(e=!0){this.events.destroy(),this.template.destroy(e),ee.splice(ee.indexOf(this),1),this.isDestroy=!0,this.emit("destroy")}constructor(e,t){super(),this.id=++Q;const r=p.mergeDeep(te.option,e);if(this.option=(0,s.default)(r,d.default),this.isLock=!1,this.isReady=!1,this.isFocus=!1,this.isInput=!1,this.isRotate=!1,this.isDestroy=!1,this.whitelist=new(0,g.default)(this),this.template=new(0,v.default)(this),this.events=new(0,F.default)(this),this.whitelist.state?(this.storage=new(0,G.default)(this),this.icons=new(0,q.default)(this),this.i18n=new(0,x.default)(this),this.notice=new(0,N.default)(this),this.player=new(0,j.default)(this),this.layers=new(0,D.default)(this),this.controls=new(0,S.default)(this),this.contextmenu=new(0,T.default)(this),this.subtitle=new(0,M.default)(this),this.info=new(0,$.default)(this),this.loading=new(0,R.default)(this),this.hotkey=new(0,C.default)(this),this.mask=new(0,_.default)(this),this.setting=new(0,U.default)(this),this.plugins=new(0,J.default)(this)):this.mobile=new(0,X.default)(this),"function"==typeof t&&this.on("ready",(()=>t.call(this,this))),te.DEBUG){const e=e=>console.log(`[ART.${this.id}] -> ${e}`);e("Version@"+te.version),e("Env@"+te.env),e("Build@"+te.build);for(let t=0;te("Event@"+t.type)))}ee.push(this)}}if(te.DEBUG=!1,te.CONTEXTMENU=!0,te.NOTICE_TIME=2e3,te.SETTING_WIDTH=250,te.SETTING_ITEM_WIDTH=200,te.SETTING_ITEM_HEIGHT=35,te.INDICATOR_SIZE=14,te.INDICATOR_SIZE_ICON=16,te.INDICATOR_SIZE_MOBILE=18,te.INDICATOR_SIZE_MOBILE_ICON=20,te.VOLUME_PANEL_WIDTH=60,te.VOLUME_HANDLE_WIDTH=12,te.RESIZE_TIME=500,te.SCROLL_TIME=200,te.SCROLL_GAP=50,te.AUTO_PLAYBACK_MAX=10,te.AUTO_PLAYBACK_MIN=5,te.AUTO_PLAYBACK_TIMEOUT=3e3,te.RECONNECT_TIME_MAX=5,te.RECONNECT_SLEEP_TIME=1e3,te.CONTROL_HIDE_TIME=3e3,te.DB_CLICE_TIME=300,te.MOBILE_AUTO_PLAYBACKRATE=3,te.MOBILE_AUTO_PLAYBACKRATE_TIME=1e3,te.MOBILE_AUTO_ORIENTATION_TIME=200,te.INFO_LOOP_TIME=1e3,te.FAST_FORWARD_VALUE=3,te.FAST_FORWARD_TIME=1e3,te.TOUCH_MOVE_RATIO=.5,te.VOLUME_STEP=.1,te.SEEK_STEP=5,te.PROGRESS_HEIGHT=6,te.PLAYBACK_RATE=[.5,.75,1,1.25,1.5,2],te.ASPECT_RATIO=["default","4:3","16:9"],te.FLIP=["normal","horizontal","vertical"],te.FULLSCREEN_WEB_IN_BODY=!1,"undefined"!=typeof document&&!document.getElementById("artplayer-style")){const e=p.createElement("style");e.id="artplayer-style",e.textContent=a.default,document.head.appendChild(e)}"undefined"!=typeof window&&(window.Artplayer=te),console.log(`%c ArtPlayer %c ${te.version} %c https://artplayer.org`,"color: #fff; background: #5f5f5f","color: #fff; background: #4bc729","")},{"bundle-text:./style/index.less":"6huYk","option-validator":"e1J0t","./utils/emitter":"fPpO7","./utils":"7drL4","./scheme":"1s2bZ","./config":"1shlC","./whitelist":"12Atb","./template":"44X6u","./i18n":"brIxD","./player":"iurL3","./control":"krUTp","./contextmenu":"XqyHm","./info":"fiMkm","./subtitle":"ekPC4","./events":"aoN05","./hotkey":"ba6C3","./layer":"3BGk5","./loading":"6LgqS","./notice":"e1V9b","./mask":"7Eyvg","./icons":"jccXh","./setting":"gBKqL","./storage":"71DyG","./plugins":"kWGSQ","./mobile":"lFrMF","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"6huYk":[function(e,t,r){t.exports='.art-video-player{z-index:20;width:100%;height:100%;zoom:1;color:#eee;text-align:left;direction:ltr;-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:#0000;-ms-touch-action:manipulation;touch-action:manipulation;-ms-high-contrast-adjust:none;background-color:#000;outline:0;margin:0 auto;font-family:Roboto,Arial,Helvetica,sans-serif;font-size:14px;line-height:1.3;position:relative}.art-video-player *,.art-video-player :before,.art-video-player :after{box-sizing:border-box;margin:0;padding:0}.art-video-player ::-webkit-scrollbar{width:5px;height:5px}.art-video-player ::-webkit-scrollbar-thumb{background-color:#666}.art-video-player ::-webkit-scrollbar-thumb:hover{background-color:#ccc}.art-video-player .art-icon{justify-content:center;align-items:center;line-height:1.5;display:inline-flex}.art-video-player img{max-width:100%;vertical-align:top}.art-video-player svg{fill:#fff}@supports ((-webkit-backdrop-filter:initial)) or ((-webkit-backdrop-filter:initial)) or ((-webkit-backdrop-filter:initial) or (backdrop-filter:initial)){.art-video-player .art-backdrop-filter{-webkit-backdrop-filter:saturate(180%)blur(20px);-webkit-backdrop-filter:saturate(180%)blur(20px);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);background-color:#000000b3!important}}.art-video-player .art-video{z-index:10;width:100%;height:100%;cursor:pointer;background-color:#000;position:absolute;inset:0}.art-video-player .art-poster{z-index:11;width:100%;height:100%;-webkit-user-select:none;user-select:none;pointer-events:none;background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.art-video-player .art-subtitle{z-index:20;width:100%;text-align:center;color:#fff;pointer-events:none;text-shadow:1px 0 1px #000,0 1px 1px #000,-1px 0 1px #000,0 -1px 1px #000,1px 1px 1px #000,-1px -1px 1px #000,1px -1px 1px #000,-1px 1px 1px #000;padding:0 20px;font-size:20px;transition:bottom .2s;display:none;position:absolute;bottom:10px}.art-video-player .art-subtitle p{word-break:break-all;height:-moz-fit-content;height:-moz-fit-content;height:fit-content;margin:5px 0 0;line-height:1.2}.art-video-player.art-subtitle-show .art-subtitle{display:block}.art-video-player.art-control-show .art-subtitle{bottom:50px}.art-video-player .art-danmuku{z-index:30;width:100%;height:100%;pointer-events:none;position:absolute;inset:0;overflow:hidden}.art-video-player .art-layers{z-index:40;width:100%;height:100%;pointer-events:none;display:none;position:absolute;inset:0;overflow:hidden}.art-video-player .art-layers .art-layer{pointer-events:auto}.art-video-player.art-layer-show .art-layers{display:block}.art-video-player .art-mask{z-index:50;width:100%;height:100%;pointer-events:none;justify-content:center;align-items:center;display:none;position:absolute;inset:0;overflow:hidden}.art-video-player .art-mask .art-state{width:60px;height:60px;opacity:.85;cursor:pointer;pointer-events:auto;justify-content:center;align-items:center;display:flex;position:absolute;bottom:65px;right:30px}.art-video-player.art-mask-show .art-mask{display:flex}.art-video-player.art-mobile .art-state{position:static}.art-video-player .art-loading{z-index:70;width:100%;height:100%;pointer-events:none;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.art-video-player.art-loading-show .art-loading{display:flex}.art-video-player .art-bottom{z-index:60;height:100px;opacity:0;visibility:hidden;pointer-events:none;background-image:linear-gradient(#0000,#0006,#000);background-position:bottom;background-repeat:repeat-x;flex-direction:column;justify-content:space-between;padding:50px 10px 0;transition:all .2s ease-in-out;display:flex;position:absolute;bottom:0;left:0;right:0}.art-video-player .art-bottom .art-progress{z-index:0;pointer-events:auto;flex:1;position:relative}.art-video-player .art-bottom .art-progress .art-control-progress{height:4px;cursor:pointer;flex-direction:row;align-items:center;display:flex;position:relative}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner{height:50%;width:100%;background:#fff3;align-items:center;transition:all .2s;display:flex;position:relative}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-loaded{z-index:10;height:100%;width:0;background:#fff6;position:absolute;inset:0}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-played{z-index:20;height:100%;width:0;position:absolute;inset:0}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-highlight{z-index:30;height:100%;pointer-events:none;position:absolute;inset:0}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-highlight span{width:7px;height:100%;pointer-events:auto;background:#ffffff80;display:inline-block;position:absolute;top:0;left:0}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator{visibility:hidden;z-index:40;border-radius:50%;justify-content:center;align-items:center;transition:transform .1s ease-in-out;position:absolute;transform:scale(.1)}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator .art-icon{width:100%;height:100%;pointer-events:none;-webkit-user-select:none;user-select:none}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator:hover{transform:scale(1.2)!important}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-tip{z-index:50;height:20px;color:#fff;text-align:center;white-space:nowrap;background:#000000b3;border-radius:3px;padding:0 5px;font-size:12px;font-weight:700;line-height:20px;display:none;position:absolute;top:-25px;left:0}.art-video-player .art-bottom .art-progress .art-control-thumbnails{pointer-events:none;background-color:#000000b3;border-radius:3px;display:none;position:absolute;bottom:10px;left:0;box-shadow:0 1px 3px #0003,0 1px 2px -1px #0003}.art-video-player .art-bottom .art-progress .art-control-loop{width:100%;height:100%;pointer-events:none;display:none;position:absolute;inset:0}.art-video-player .art-bottom .art-progress .art-control-loop .art-loop-point{width:2px;height:8px;background:#ffffffbf;position:absolute;top:-2px;left:0}.art-video-player .art-bottom .art-controls{z-index:1;pointer-events:auto;height:45px;justify-content:space-between;align-items:center;display:flex;position:relative}.art-video-player .art-bottom .art-controls .art-controls-left,.art-video-player .art-bottom .art-controls .art-controls-right{display:flex}.art-video-player .art-bottom .art-controls .art-controls-center{height:100%;flex:1;justify-content:center;align-items:center;padding:0 10px;display:flex}.art-video-player .art-bottom .art-controls .art-controls-right{justify-content:flex-end}.art-video-player .art-bottom .art-controls .art-control{opacity:.75;min-height:36px;min-width:36px;text-align:center;cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;font-size:12px;line-height:1;transition:opacity .1s ease-in-out;display:flex}.art-video-player .art-bottom .art-controls .art-control .art-icon{float:left;height:36px;width:36px;justify-content:center;align-items:center;transition:transform .2s ease-in-out;display:flex;transform:scale(1)}.art-video-player .art-bottom .art-controls .art-control .art-icon:active{transform:scale(.85)}.art-video-player .art-bottom .art-controls .art-control:hover{opacity:1}.art-video-player .art-bottom .art-controls .art-control-volume .art-volume-panel{float:left;width:0;height:100%;transition:margin .2s cubic-bezier(.4,0,1,1),width .2s cubic-bezier(.4,0,1,1);position:relative;overflow:hidden}.art-video-player .art-bottom .art-controls .art-control-volume .art-volume-panel .art-volume-slider-handle{width:12px;height:12px;background:#fff;border-radius:12px;margin-top:-6px;position:absolute;top:50%;left:0}.art-video-player .art-bottom .art-controls .art-control-volume .art-volume-panel .art-volume-slider-handle:before{background:#fff;left:-54px}.art-video-player .art-bottom .art-controls .art-control-volume .art-volume-panel .art-volume-slider-handle:after{background:#fff3;left:6px}.art-video-player .art-bottom .art-controls .art-control-volume .art-volume-panel .art-volume-slider-handle:before,.art-video-player .art-bottom .art-controls .art-control-volume .art-volume-panel .art-volume-slider-handle:after{content:"";height:3px;width:60px;margin-top:-2px;display:block;position:absolute;top:50%}.art-video-player .art-bottom .art-controls .art-control-volume:hover .art-volume-panel{width:60px}.art-video-player .art-bottom .art-controls .art-control-quality{z-index:30;position:relative}.art-video-player .art-bottom .art-controls .art-control-quality .art-qualitys{width:100px;text-align:center;color:#fff;background:#000c;border-radius:3px;padding:5px 0;display:none;position:absolute;bottom:35px}.art-video-player .art-bottom .art-controls .art-control-quality .art-qualitys .art-quality-item{height:30px;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 0 2px #00000080;line-height:30px;overflow:hidden}.art-video-player .art-bottom .art-controls .art-control-quality .art-qualitys .art-quality-item:hover{background-color:#ffffff1a}.art-video-player .art-bottom .art-controls .art-control-quality:hover .art-qualitys{display:block}.art-video-player .art-bottom:hover .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator{visibility:visible;transform:scale(1)}.art-video-player.art-control-show .art-bottom,.art-video-player.art-hover .art-bottom{opacity:1;visibility:visible}.art-video-player.art-error .art-progress-indicator,.art-video-player.art-destroy .art-progress-indicator,.art-video-player.art-error .art-progress-tip,.art-video-player.art-destroy .art-progress-tip{display:none!important}.art-video-player.art-mobile .art-bottom{height:105px;padding:50px 7px 0}.art-video-player.art-mobile .art-bottom .art-controls{height:40px}.art-video-player.art-mobile .art-bottom .art-progress-indicator{visibility:visible!important;transform:scale(1)!important}.art-video-player .art-notice{z-index:80;width:100%;pointer-events:none;padding:10px;font-size:14px;display:none;position:absolute;top:0;left:0}.art-video-player .art-notice .art-notice-inner{color:#fff;background-color:#0009;border-radius:3px;padding:5px 10px;display:inline-block}.art-video-player.art-notice-show .art-notice{display:flex}.art-video-player .art-contextmenus{z-index:120;min-width:200px;background-color:#000000e6;border-radius:3px;flex-direction:column;padding:5px 0;display:none;position:absolute;top:10px;left:10px}.art-video-player .art-contextmenus .art-contextmenu{cursor:pointer;color:#fff;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 0 2px #00000080;border-bottom:1px solid #ffffff1a;padding:10px 15px;font-size:12px;display:block;overflow:hidden}.art-video-player .art-contextmenus .art-contextmenu a{color:#fff;text-decoration:none}.art-video-player .art-contextmenus .art-contextmenu span{padding:0 7px;display:inline-block}.art-video-player .art-contextmenus .art-contextmenu span:hover,.art-video-player .art-contextmenus .art-contextmenu span.art-current{color:var(--theme)}.art-video-player .art-contextmenus .art-contextmenu:hover{background-color:#ffffff1a}.art-video-player .art-contextmenus .art-contextmenu:last-child{border-bottom:none}.art-video-player.art-contextmenu-show .art-contextmenus{display:flex}.art-video-player .art-settings{z-index:90;height:auto;max-height:300px;background-color:#000000e6;border-radius:3px;font-size:13px;transition:all .2s;display:none;position:absolute;bottom:60px;left:0;overflow:auto}.art-video-player .art-settings .art-setting-panel{display:none}.art-video-player .art-settings .art-setting-panel.art-current{display:block}.art-video-player .art-settings .art-setting-panel .art-setting-item{height:35px;cursor:pointer;color:#fffc;justify-content:space-between;align-items:center;padding:0 5px;line-height:1;display:flex;overflow:hidden}.art-video-player .art-settings .art-setting-panel .art-setting-item:hover{color:#fff;background-color:#ffffff1a}.art-video-player .art-settings .art-setting-panel .art-setting-item.art-current{color:var(--theme)}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-icon{width:30px;height:30px;justify-content:center;align-items:center;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-icon-check{visibility:hidden;height:15px}.art-video-player .art-settings .art-setting-panel .art-setting-item.art-current .art-icon-check{visibility:visible}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-left{white-space:nowrap;align-items:center;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-left .art-setting-item-left-icon{height:24px;width:24px;justify-content:center;align-items:center;margin-right:10px;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right{align-items:center;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-item-right-tooltip{white-space:nowrap;color:#ffffff80;margin-right:5px;font-size:12px}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-item-right-icon{height:24px;justify-content:center;align-items:center;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-range{height:3px;width:80px;-webkit-appearance:none;appearance:none;background-color:#fff3;outline:none}.art-video-player .art-settings .art-setting-panel .art-setting-item-back{border-bottom:1px solid #ffffff1a}.art-video-player.art-setting-show .art-settings{display:block}.art-video-player.art-mobile .art-settings{max-height:200px}.art-video-player .art-info{z-index:100;width:350px;color:#fff;-webkit-font-smoothing:antialiased;background-color:#000000e6;flex-direction:column;padding:10px;font-family:Noto Sans CJK SC DemiLight,Roboto,Segoe UI,Tahoma,Arial,Helvetica,sans-serif;font-size:12px;display:none;position:absolute;top:10px;left:10px}.art-video-player .art-info .art-info-item{margin-bottom:5px;display:flex}.art-video-player .art-info .art-info-item .art-info-title{width:100px;text-align:right}.art-video-player .art-info .art-info-item .art-info-content{text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:all;user-select:all;flex:1;padding-left:5px;overflow:hidden}.art-video-player .art-info .art-info-item:last-child{margin-bottom:0}.art-video-player .art-info .art-info-close{cursor:pointer;position:absolute;top:5px;right:5px}.art-video-player.art-info-show .art-info{display:flex}.art-video-player.art-hide-cursor *{cursor:none!important}.art-video-player[data-aspect-ratio] video{box-sizing:content-box;object-fit:fill}.art-video-player.art-fullscreen-web{z-index:9999;width:100%;height:100%;position:fixed;inset:0}.art-video-player .art-mini-header{z-index:110;height:35px;color:#fff;opacity:0;visibility:hidden;background-color:#00000080;justify-content:space-between;align-items:center;line-height:35px;transition:all .2s ease-in-out;display:none;position:absolute;top:0;left:0;right:0}.art-video-player .art-mini-header .art-mini-title{text-overflow:ellipsis;white-space:nowrap;cursor:move;flex:1;padding:0 10px;overflow:hidden}.art-video-player .art-mini-header .art-mini-close{width:35px;text-align:center;cursor:pointer;font-size:22px}.art-video-player.art-is-dragging{opacity:.7}.art-video-player.art-mini{z-index:9999;width:400px;height:225px;position:fixed;box-shadow:0 2px 5px #00000029,0 3px 6px #0003}.art-video-player.art-mini .art-mini-header{-webkit-user-select:none;user-select:none;display:flex}.art-video-player.art-mini.art-hover .art-mini-header{opacity:1;visibility:visible}.art-video-player.art-mini .art-mask .art-state{position:static}.art-video-player.art-mini .art-contextmenu,.art-video-player.art-mini .art-bottom,.art-video-player.art-mini .art-danmu,.art-video-player.art-mini .art-info,.art-video-player.art-mini .art-layers,.art-video-player.art-mini .art-notice,.art-video-player.art-mini .art-settings,.art-video-player.art-mini .art-subtitle{display:none!important}.art-auto-size{justify-content:center;align-items:center;display:flex}.art-auto-size .art-video-player{transition:all .2s}.art-video-player[data-flip=horizontal] .art-video{transform:scaleX(-1)}.art-video-player[data-flip=vertical] .art-video{transform:scaleY(-1)}.art-video-player .art-layer-miniProgressBar{height:2px;background-color:var(--theme);display:block;position:absolute;bottom:0;left:0;right:0}.art-video-player .art-layer-lock{height:34px;width:34px;color:#fff;background-color:#00000080;border-radius:50%;justify-content:center;align-items:center;display:none;position:absolute;top:calc(50% - 17px);left:15px}.art-video-player .art-layer-autoPlayback{background-color:#000c;border-radius:3px;align-items:center;padding:10px;line-height:1;display:none;position:absolute;bottom:60px;left:20px}.art-video-player .art-layer-autoPlayback .art-autoPlayback-close{cursor:pointer;align-items:center;margin-right:10px;display:flex}.art-video-player .art-layer-autoPlayback .art-autoPlayback-close svg{width:15px;height:15px;fill:var(--theme)}.art-video-player .art-layer-autoPlayback .art-autoPlayback-last{margin-right:10px}.art-video-player .art-layer-autoPlayback .art-autoPlayback-jump{color:var(--theme);cursor:pointer}.art-video-player.art-lock .art-bottom{display:none!important}.art-video-player.art-lock .art-subtitle{bottom:10px!important}.art-video-player.art-lock .art-layer-miniProgressBar{display:block!important}.art-video-player.art-control-show .art-layer-miniProgressBar{display:none}.art-video-player.art-control-show .art-layer-lock{display:flex}.art-video-player .art-control-selector{position:relative}.art-video-player .art-control-selector .art-selector-list{min-width:100px;max-width:200px;max-height:200px;text-align:center;color:#fff;background-color:#000c;border-radius:3px;padding:5px 0;display:none;position:absolute;bottom:35px;overflow:auto}.art-video-player .art-control-selector .art-selector-list .art-selector-item{height:30px;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 0 2px #00000080;padding:0 5px;line-height:30px;overflow:hidden}.art-video-player .art-control-selector .art-selector-list .art-selector-item:hover{background-color:#ffffff1a}.art-video-player .art-control-selector .art-selector-list .art-selector-item:hover,.art-video-player .art-control-selector .art-selector-list .art-selector-item.art-current{color:var(--theme)}.art-video-player .art-control-selector:hover .art-selector-list{display:block}[class*=hint--]{font-style:normal;display:inline-block;position:relative}[class*=hint--]:before,[class*=hint--]:after{visibility:hidden;opacity:0;z-index:1000000;pointer-events:none;transition:all .3s;position:absolute;transform:translate(0,0)}[class*=hint--]:hover:before,[class*=hint--]:hover:after{visibility:visible;opacity:1;transition-delay:.1s}[class*=hint--]:before{content:"";z-index:1000001;background:0 0;border:6px solid #0000;position:absolute}[class*=hint--]:after{color:#fff;white-space:nowrap;background:#000;padding:8px 10px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;line-height:12px}[class*=hint--][aria-label]:after{content:attr(aria-label)}[class*=hint--][data-hint]:after{content:attr(data-hint)}[aria-label=""]:before,[aria-label=""]:after,[data-hint=""]:before,[data-hint=""]:after{display:none!important}.hint--top-left:before,.hint--top-right:before,.hint--top:before{border-top-color:#000}.hint--bottom-left:before,.hint--bottom-right:before,.hint--bottom:before{border-bottom-color:#000}.hint--left:before{border-left-color:#000}.hint--right:before{border-right-color:#000}.hint--top:before{margin-bottom:-11px}.hint--top:before,.hint--top:after{bottom:100%;left:50%}.hint--top:before{left:calc(50% - 6px)}.hint--top:after{transform:translate(-50%)}.hint--top:hover:before{transform:translateY(-8px)}.hint--top:hover:after{transform:translate(-50%)translateY(-8px)}.hint--bottom:before{margin-top:-11px}.hint--bottom:before,.hint--bottom:after{top:100%;left:50%}.hint--bottom:before{left:calc(50% - 6px)}.hint--bottom:after{transform:translate(-50%)}.hint--bottom:hover:before{transform:translateY(8px)}.hint--bottom:hover:after{transform:translate(-50%)translateY(8px)}.hint--right:before{margin-bottom:-6px;margin-left:-11px}.hint--right:after{margin-bottom:-14px}.hint--right:before,.hint--right:after{bottom:50%;left:100%}.hint--right:hover:before,.hint--right:hover:after{transform:translate(8px)}.hint--left:before{margin-bottom:-6px;margin-right:-11px}.hint--left:after{margin-bottom:-14px}.hint--left:before,.hint--left:after{bottom:50%;right:100%}.hint--left:hover:before,.hint--left:hover:after{transform:translate(-8px)}.hint--top-left:before{margin-bottom:-11px}.hint--top-left:before,.hint--top-left:after{bottom:100%;left:50%}.hint--top-left:before{left:calc(50% - 6px)}.hint--top-left:after{margin-left:12px;transform:translate(-100%)}.hint--top-left:hover:before{transform:translateY(-8px)}.hint--top-left:hover:after{transform:translate(-100%)translateY(-8px)}.hint--top-right:before{margin-bottom:-11px}.hint--top-right:before,.hint--top-right:after{bottom:100%;left:50%}.hint--top-right:before{left:calc(50% - 6px)}.hint--top-right:after{margin-left:-12px;transform:translate(0)}.hint--top-right:hover:before,.hint--top-right:hover:after{transform:translateY(-8px)}.hint--bottom-left:before{margin-top:-11px}.hint--bottom-left:before,.hint--bottom-left:after{top:100%;left:50%}.hint--bottom-left:before{left:calc(50% - 6px)}.hint--bottom-left:after{margin-left:12px;transform:translate(-100%)}.hint--bottom-left:hover:before{transform:translateY(8px)}.hint--bottom-left:hover:after{transform:translate(-100%)translateY(8px)}.hint--bottom-right:before{margin-top:-11px}.hint--bottom-right:before,.hint--bottom-right:after{top:100%;left:50%}.hint--bottom-right:before{left:calc(50% - 6px)}.hint--bottom-right:after{margin-left:-12px;transform:translate(0)}.hint--bottom-right:hover:before,.hint--bottom-right:hover:after{transform:translateY(8px)}.hint--small:after,.hint--medium:after,.hint--large:after{white-space:normal;word-wrap:break-word;line-height:1.4em}.hint--small:after{width:80px}.hint--medium:after{width:150px}.hint--large:after{width:300px}[class*=hint--]:after{text-shadow:0 -1px #000;box-shadow:4px 4px 8px #0000004d}.hint--error:after{text-shadow:0 -1px #592726;background-color:#b34e4d}.hint--error.hint--top-left:before,.hint--error.hint--top-right:before,.hint--error.hint--top:before{border-top-color:#b34e4d}.hint--error.hint--bottom-left:before,.hint--error.hint--bottom-right:before,.hint--error.hint--bottom:before{border-bottom-color:#b34e4d}.hint--error.hint--left:before{border-left-color:#b34e4d}.hint--error.hint--right:before{border-right-color:#b34e4d}.hint--warning:after{text-shadow:0 -1px #6c5328;background-color:#c09854}.hint--warning.hint--top-left:before,.hint--warning.hint--top-right:before,.hint--warning.hint--top:before{border-top-color:#c09854}.hint--warning.hint--bottom-left:before,.hint--warning.hint--bottom-right:before,.hint--warning.hint--bottom:before{border-bottom-color:#c09854}.hint--warning.hint--left:before{border-left-color:#c09854}.hint--warning.hint--right:before{border-right-color:#c09854}.hint--info:after{text-shadow:0 -1px #1a3c4d;background-color:#3986ac}.hint--info.hint--top-left:before,.hint--info.hint--top-right:before,.hint--info.hint--top:before{border-top-color:#3986ac}.hint--info.hint--bottom-left:before,.hint--info.hint--bottom-right:before,.hint--info.hint--bottom:before{border-bottom-color:#3986ac}.hint--info.hint--left:before{border-left-color:#3986ac}.hint--info.hint--right:before{border-right-color:#3986ac}.hint--success:after{text-shadow:0 -1px #1a321a;background-color:#458746}.hint--success.hint--top-left:before,.hint--success.hint--top-right:before,.hint--success.hint--top:before{border-top-color:#458746}.hint--success.hint--bottom-left:before,.hint--success.hint--bottom-right:before,.hint--success.hint--bottom:before{border-bottom-color:#458746}.hint--success.hint--left:before{border-left-color:#458746}.hint--success.hint--right:before{border-right-color:#458746}.hint--always:after,.hint--always:before{opacity:1;visibility:visible}.hint--always.hint--top:before{transform:translateY(-8px)}.hint--always.hint--top:after{transform:translate(-50%)translateY(-8px)}.hint--always.hint--top-left:before{transform:translateY(-8px)}.hint--always.hint--top-left:after{transform:translate(-100%)translateY(-8px)}.hint--always.hint--top-right:before,.hint--always.hint--top-right:after{transform:translateY(-8px)}.hint--always.hint--bottom:before{transform:translateY(8px)}.hint--always.hint--bottom:after{transform:translate(-50%)translateY(8px)}.hint--always.hint--bottom-left:before{transform:translateY(8px)}.hint--always.hint--bottom-left:after{transform:translate(-100%)translateY(8px)}.hint--always.hint--bottom-right:before,.hint--always.hint--bottom-right:after{transform:translateY(8px)}.hint--always.hint--left:before,.hint--always.hint--left:after{transform:translate(-8px)}.hint--always.hint--right:before,.hint--always.hint--right:after{transform:translate(8px)}.hint--rounded:after{border-radius:4px}.hint--no-animate:before,.hint--no-animate:after{transition-duration:0s}.hint--bounce:before,.hint--bounce:after{-webkit-transition:opacity .3s,visibility .3s,-webkit-transform .3s cubic-bezier(.71,1.7,.77,1.24);-moz-transition:opacity .3s,visibility .3s,-moz-transform .3s cubic-bezier(.71,1.7,.77,1.24);transition:opacity .3s,visibility .3s,transform .3s cubic-bezier(.71,1.7,.77,1.24)}.hint--no-shadow:before,.hint--no-shadow:after{text-shadow:initial;box-shadow:initial}.hint--no-arrow:before{display:none}'},{}],e1J0t:[function(e,t,r){t.exports=function(){"use strict";function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(t)}var t=Object.prototype.toString,r=function(r){if(void 0===r)return"undefined";if(null===r)return"null";var i=e(r);if("boolean"===i)return"boolean";if("string"===i)return"string";if("number"===i)return"number";if("symbol"===i)return"symbol";if("function"===i)return function(e){return"GeneratorFunction"===o(e)}(r)?"generatorfunction":"function";if(function(e){return Array.isArray?Array.isArray(e):e instanceof Array}(r))return"array";if(function(e){return!(!e.constructor||"function"!=typeof e.constructor.isBuffer)&&e.constructor.isBuffer(e)}(r))return"buffer";if(function(e){try{if("number"==typeof e.length&&"function"==typeof e.callee)return!0}catch(e){if(-1!==e.message.indexOf("callee"))return!0}return!1}(r))return"arguments";if(function(e){return e instanceof Date||"function"==typeof e.toDateString&&"function"==typeof e.getDate&&"function"==typeof e.setDate}(r))return"date";if(function(e){return e instanceof Error||"string"==typeof e.message&&e.constructor&&"number"==typeof e.constructor.stackTraceLimit}(r))return"error";if(function(e){return e instanceof RegExp||"string"==typeof e.flags&&"boolean"==typeof e.ignoreCase&&"boolean"==typeof e.multiline&&"boolean"==typeof e.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(e){return"function"==typeof e.throw&&"function"==typeof e.return&&"function"==typeof e.next}(r))return"generator";switch(i=t.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 i.slice(8,-1).toLowerCase().replace(/\s/g,"")};function o(e){return e.constructor?e.constructor.name:null}function i(e,t){var o=2i));class i{on(e,t,r){const o=this.e||(this.e={});return(o[e]||(o[e]=[])).push({fn:t,ctx:r}),this}once(e,t,r){const o=this;function i(...a){o.off(e,i),t.apply(r,a)}return i._=t,this.on(e,i,r)}emit(e,...t){const r=((this.e||(this.e={}))[e]||[]).slice();for(let e=0;ea)),o.export(r,"queryAll",(()=>n)),o.export(r,"addClass",(()=>s)),o.export(r,"removeClass",(()=>l)),o.export(r,"hasClass",(()=>c)),o.export(r,"append",(()=>p)),o.export(r,"remove",(()=>u)),o.export(r,"setStyle",(()=>d)),o.export(r,"setStyles",(()=>f)),o.export(r,"getStyle",(()=>h)),o.export(r,"sublings",(()=>m)),o.export(r,"inverseClass",(()=>g)),o.export(r,"tooltip",(()=>y)),o.export(r,"isInViewport",(()=>v)),o.export(r,"includeFromEvent",(()=>b)),o.export(r,"replaceElement",(()=>x)),o.export(r,"createElement",(()=>w));var i=e("./compatibility");function a(e,t=document){return t.querySelector(e)}function n(e,t=document){return Array.from(t.querySelectorAll(e))}function s(e,t){return e.classList.add(t)}function l(e,t){return e.classList.remove(t)}function c(e,t){return e.classList.contains(t)}function p(e,t){return t instanceof Element?e.appendChild(t):e.insertAdjacentHTML("beforeend",String(t)),e.lastElementChild||e.lastChild}function u(e){return e.parentNode.removeChild(e)}function d(e,t,r){return e.style[t]=r,e}function f(e,t){return Object.keys(t).forEach((r=>{d(e,r,t[r])})),e}function h(e,t,r=!0){const o=window.getComputedStyle(e,null).getPropertyValue(t);return r?parseFloat(o):o}function m(e){return Array.from(e.parentElement.children).filter((t=>t!==e))}function g(e,t){m(e).forEach((e=>l(e,t))),s(e,t)}function y(e,t,r="top"){i.isMobile||(e.setAttribute("aria-label",t),s(e,"hint--rounded"),s(e,`hint--${r}`))}function v(e,t=0){const r=e.getBoundingClientRect(),o=window.innerHeight||document.documentElement.clientHeight,i=window.innerWidth||document.documentElement.clientWidth,a=r.top-t<=o&&r.top+r.height+t>=0,n=r.left-t<=i+t&&r.left+r.width+t>=0;return a&&n}function b(e,t){return e.composedPath&&e.composedPath().indexOf(t)>-1}function x(e,t){return t.parentNode.replaceChild(e,t),e}function w(e){return document.createElement(e)}},{"./compatibility":"2lSEt","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"2lSEt":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"userAgent",(()=>i)),o.export(r,"isMobile",(()=>a)),o.export(r,"isSafari",(()=>n)),o.export(r,"isWechat",(()=>s)),o.export(r,"isIE",(()=>l)),o.export(r,"isAndroid",(()=>c)),o.export(r,"isIOS",(()=>p));const i="undefined"!=typeof window?window.navigator.userAgent:"",a=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(i),n=/^((?!chrome|android).)*safari/i.test(i),s=/MicroMessenger/i.test(i),l=/MSIE|Trident/i.test(i),c=/android/i.test(i),p=/iPad|iPhone|iPod/i.test(i)&&!window.MSStream},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],aPfiL:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"ArtPlayerError",(()=>i)),o.export(r,"errorHandle",(()=>a));class i extends Error{constructor(e,t){super(e),"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,t||this.constructor),this.name="ArtPlayerError"}}function a(e,t){if(!e)throw new i(t);return e}},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],l4cLJ:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e){return"WEBVTT \r\n\r\n".concat((t=e,t.replace(/(\d\d:\d\d:\d\d)[,.](\d+)/g,((e,t,r)=>{let o=r.slice(0,3);return 1===r.length&&(o=r+"00"),2===r.length&&(o=r+"0"),`${t},${o}`}))).replace(/\{\\([ibu])\}/g,"$1>").replace(/\{\\([ibu])1\}/g,"<$1>").replace(/\{([ibu])\}/g,"<$1>").replace(/\{\/([ibu])\}/g,"$1>").replace(/(\d\d:\d\d:\d\d),(\d\d\d)/g,"$1.$2").replace(/{[\s\S]*?}/g,"").concat("\r\n\r\n"));var t}function a(e){return URL.createObjectURL(new Blob([e],{type:"text/vtt"}))}function n(e){const t=new RegExp("Dialogue:\\s\\d,(\\d+:\\d\\d:\\d\\d.\\d\\d),(\\d+:\\d\\d:\\d\\d.\\d\\d),([^,]*),([^,]*),(?:[^,]*,){4}([\\s\\S]*)$","i");function r(e=""){return e.split(/[:.]/).map(((e,t,r)=>{if(t===r.length-1){if(1===e.length)return`.${e}00`;if(2===e.length)return`.${e}0`}else if(1===e.length)return(0===t?"0":":0")+e;return 0===t?e:t===r.length-1?`.${e}`:`:${e}`})).join("")}return`WEBVTT\n\n${e.split(/\r?\n/).map((e=>{const o=e.match(t);return o?{start:r(o[1].trim()),end:r(o[2].trim()),text:o[5].replace(/{[\s\S]*?}/g,"").replace(/(\\N)/g,"\n").trim().split(/\r?\n/).map((e=>e.trim())).join("\n")}:null})).filter((e=>e)).map(((e,t)=>e?`${t+1}\n${e.start} --\x3e ${e.end}\n${e.text}`:"")).filter((e=>e.trim())).join("\n\n")}`}o.defineInteropFlag(r),o.export(r,"srtToVtt",(()=>i)),o.export(r,"vttToBlob",(()=>a)),o.export(r,"assToVtt",(()=>n))},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"53Vt6":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e){return e.includes("?")?i(e.split("?")[0]):e.includes("#")?i(e.split("#")[0]):e.trim().toLowerCase().split(".").pop()}function a(e,t){const r=document.createElement("a");r.style.display="none",r.href=e,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r)}o.defineInteropFlag(r),o.export(r,"getExt",(()=>i)),o.export(r,"download",(()=>a))},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],lLZes:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"def",(()=>i)),o.export(r,"has",(()=>n)),o.export(r,"get",(()=>s)),o.export(r,"mergeDeep",(()=>l));const i=Object.defineProperty,{hasOwnProperty:a}=Object.prototype;function n(e,t){return a.call(e,t)}function s(e,t){return Object.getOwnPropertyDescriptor(e,t)}function l(...e){const t=e=>e&&"object"==typeof e&&!Array.isArray(e);return e.reduce(((e,r)=>(Object.keys(r).forEach((o=>{const i=e[o],a=r[o];Array.isArray(i)&&Array.isArray(a)?e[o]=i.concat(...a):!t(i)||!t(a)||a instanceof Element?e[o]=a:e[o]=l(i,a)})),e)),{})}},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"8JF40":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e=0){return new Promise((t=>setTimeout(t,e)))}function a(e,t,r){let o;function i(...i){clearTimeout(o),o=setTimeout((function(){o=null,e.apply(r,i)}),t)}return i.clearTimeout=function(){clearTimeout(o)},i}function n(e,t){let r,o,i=!1;return function a(...n){if(i)return r=n,void(o=this);i=!0,e.apply(this,n),setTimeout((()=>{i=!1,r&&(a.apply(o,r),r=null,o=null)}),t)}}o.defineInteropFlag(r),o.export(r,"sleep",(()=>i)),o.export(r,"debounce",(()=>a)),o.export(r,"throttle",(()=>n))},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"2yQzS":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e,t,r){return Math.max(Math.min(e,Math.max(t,r)),Math.min(t,r))}function a(e){return e.charAt(0).toUpperCase()+e.slice(1)}function n(e){return["string","number"].includes(typeof e)}function s(e){const t=Math.floor(e/3600),r=Math.floor((e-3600*t)/60),o=Math.floor(e-3600*t-60*r);return(t>0?[t,r,o]:[r,o]).map((e=>e<10?`0${e}`:String(e))).join(":")}function l(e){return e.replace(/[&<>'"]/g,(e=>({"&":"&","<":"<",">":">","'":"'",'"':"""}[e]||e)))}o.defineInteropFlag(r),o.export(r,"clamp",(()=>i)),o.export(r,"capitalize",(()=>a)),o.export(r,"isStringOrNumber",(()=>n)),o.export(r,"secondToTime",(()=>s)),o.export(r,"escape",(()=>l))},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"1s2bZ":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"ComponentOption",(()=>d));var i=e("../utils");const a="array",n="boolean",s="string",l="number",c="object",p="function";function u(e,t,r){return(0,i.errorHandle)(t===s||t===l||e instanceof Element,`${r.join(".")} require '${s}' or 'Element' type`)}const d={html:u,disable:`?${n}`,name:`?${s}`,index:`?${l}`,style:`?${c}`,click:`?${p}`,mounted:`?${p}`,tooltip:`?${s}|${l}`,width:`?${l}`,selector:`?${a}`,onSelect:`?${p}`,switch:`?${n}`,onSwitch:`?${p}`,range:`?${a}`,onRange:`?${p}`,onChange:`?${p}`};r.default={id:s,container:u,url:s,poster:s,title:s,type:s,theme:s,lang:s,volume:l,isLive:n,muted:n,autoplay:n,autoSize:n,autoMini:n,loop:n,flip:n,playbackRate:n,aspectRatio:n,screenshot:n,setting:n,hotkey:n,pip:n,mutex:n,backdrop:n,fullscreen:n,fullscreenWeb:n,subtitleOffset:n,miniProgressBar:n,useSSR:n,playsInline:n,lock:n,fastForward:n,autoPlayback:n,autoOrientation:n,airplay:n,plugins:[p],whitelist:[`${s}|${p}|regexp`],layers:[d],contextmenu:[d],settings:[d],controls:[{...d,position:(e,t,r)=>{const o=["top","left","right"];return(0,i.errorHandle)(o.includes(e),`${r.join(".")} only accept ${o.toString()} as parameters`)}}],quality:[{default:`?${n}`,html:s,url:s}],highlight:[{time:l,text:s}],thumbnails:{url:s,number:l,column:l,width:l,height:l},subtitle:{url:s,type:s,style:c,escape:n,encoding:s,onVttLoad:p},moreVideoAttr:c,i18n:c,icons:c,customType:c}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"1shlC":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r),r.default={propertys:["audioTracks","autoplay","buffered","controller","controls","crossOrigin","currentSrc","currentTime","defaultMuted","defaultPlaybackRate","duration","ended","error","loop","mediaGroup","muted","networkState","paused","playbackRate","played","preload","readyState","seekable","seeking","src","startDate","textTracks","videoTracks","volume"],methods:["addTextTrack","canPlayType","load","play","pause"],events:["abort","canplay","canplaythrough","durationchange","emptied","ended","error","loadeddata","loadedmetadata","loadstart","pause","play","playing","progress","ratechange","seeked","seeking","stalled","suspend","timeupdate","volumechange","waiting"],prototypes:["width","height","videoWidth","videoHeight","poster","webkitDecodedFrameCount","webkitDroppedFrameCount","playsInline","webkitSupportsFullscreen","webkitDisplayingFullscreen","onenterpictureinpicture","onleavepictureinpicture","disablePictureInPicture","cancelVideoFrameCallback","requestVideoFrameCallback","getVideoPlaybackQuality","requestPictureInPicture","webkitEnterFullScreen","webkitEnterFullscreen","webkitExitFullScreen","webkitExitFullscreen"]}},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"12Atb":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",(()=>a));var i=e("./utils");class a{get state(){const{option:e,constructor:{kindOf:t}}=this.art;return!i.isMobile||!e.whitelist.length||e.whitelist.some((e=>{switch(t(e)){case"string":return"*"===e||i.userAgent.indexOf(e)>-1;case"function":return e(i.userAgent);case"regexp":return e.test(i.userAgent);default:return!1}}))}constructor(e){this.art=e}}},{"./utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"44X6u":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",(()=>a));var i=e("./utils");class a{static get html(){return''}query(e){return(0,i.query)(e,this.$container)}desktop(){const{option:e}=this.art;e.useSSR||(this.$container.innerHTML=a.html),this.$player=this.query(".art-video-player"),this.$video=this.query(".art-video"),this.$track=this.query("track"),this.$poster=this.query(".art-poster"),this.$subtitle=this.query(".art-subtitle"),this.$danmuku=this.query(".art-danmuku"),this.$bottom=this.query(".art-bottom"),this.$progress=this.query(".art-progress"),this.$controls=this.query(".art-controls"),this.$controlsLeft=this.query(".art-controls-left"),this.$controlsCenter=this.query(".art-controls-center"),this.$controlsRight=this.query(".art-controls-right"),this.$layer=this.query(".art-layers"),this.$loading=this.query(".art-loading"),this.$notice=this.query(".art-notice"),this.$noticeInner=this.query(".art-notice-inner"),this.$mask=this.query(".art-mask"),this.$state=this.query(".art-state"),this.$setting=this.query(".art-settings"),this.$info=this.query(".art-info"),this.$infoPanel=this.query(".art-info-panel"),this.$infoClose=this.query(".art-info-close"),this.$miniHeader=this.query(".art-mini-header"),this.$miniTitle=this.query(".art-mini-title"),this.$miniClose=this.query(".art-mini-close"),this.$contextmenu=this.query(".art-contextmenus"),e.backdrop&&((0,i.addClass)(this.$setting,"art-backdrop-filter"),(0,i.addClass)(this.$contextmenu,"art-backdrop-filter"),(0,i.addClass)(this.$info,"art-backdrop-filter")),i.isMobile&&(0,i.addClass)(this.$player,"art-mobile")}mobile(){this.$container.innerHTML='',this.$player=this.query(".art-video-player"),this.$video=this.query(".art-video")}destroy(e){e?(0,i.replaceElement)(this.$original,this.$container):(0,i.addClass)(this.$player,"art-destroy")}constructor(e){this.art=e;const{option:t,constructor:r,whitelist:o}=e;t.container instanceof Element?this.$container=t.container:(this.$container=(0,i.query)(t.container),(0,i.errorHandle)(this.$container,`No container element found by ${t.container}`));const a=this.$container.tagName.toLowerCase();(0,i.errorHandle)("div"===a,`Unsupported container element type, only support 'div' but got '${a}'`),(0,i.errorHandle)(r.instances.every((e=>e.template.$container!==this.$container)),"Cannot mount multiple instances on the same dom element"),this.query=this.query.bind(this),this.$container.dataset.artId=e.id,this.$original=this.$container.cloneNode(!0),o.state?this.desktop():this.mobile()}}},{"./utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],brIxD:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",(()=>k));var i=e("../utils"),a=e("./zh-cn.json"),n=o.interopDefault(a),s=e("./zh-tw.json"),l=o.interopDefault(s),c=e("./pl.json"),p=o.interopDefault(c),u=e("./cs.json"),d=o.interopDefault(u),f=e("./es.json"),h=o.interopDefault(f),m=e("./fa.json"),g=o.interopDefault(m),y=e("./fr.json"),v=o.interopDefault(y),b=e("./id.json"),x=o.interopDefault(b),w=e("./ru.json"),j=o.interopDefault(w);class k{init(){const e=this.art.option.lang.toLowerCase();this.language=this.languages[e]||{}}get(e){return this.language[e]||e}update(e){this.languages=(0,i.mergeDeep)(this.languages,e),this.init()}constructor(e){this.art=e,this.languages={"zh-cn":n.default,"zh-tw":l.default,pl:p.default,cs:d.default,es:h.default,fa:g.default,fr:v.default,id:x.default,ru:j.default},this.update(e.option.i18n)}}},{"../utils":"7drL4","./zh-cn.json":"aIXkw","./zh-tw.json":"1Segn","./pl.json":"kVsW6","./cs.json":"hsGmi","./es.json":"asiZS","./fa.json":"jxjmf","./fr.json":"5HXy9","./id.json":"gjULl","./ru.json":"hSqTW","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],aIXkw:[function(e,t,r){t.exports=JSON.parse('{"Video Info":"统计信息","Close":"关闭","Video Load Failed":"加载失败","Volume":"音量","Play":"播放","Pause":"暂停","Rate":"速度","Mute":"静音","Video Flip":"画面翻转","Horizontal":"水平","Vertical":"垂直","Reconnect":"重新连接","Show Setting":"显示设置","Hide Setting":"隐藏设置","Screenshot":"截图","Play Speed":"播放速度","Aspect Ratio":"画面比例","Default":"默认","Normal":"正常","Open":"打开","Switch Video":"切换","Switch Subtitle":"切换字幕","Fullscreen":"全屏","Exit Fullscreen":"退出全屏","Web Fullscreen":"网页全屏","Exit Web Fullscreen":"退出网页全屏","Mini Player":"迷你播放器","PIP Mode":"开启画中画","Exit PIP Mode":"退出画中画","PIP Not Supported":"不支持画中画","Fullscreen Not Supported":"不支持全屏","Subtitle Offset":"字幕偏移","Last Seen":"上次看到","Jump Play":"跳转播放","AirPlay":"隔空播放","AirPlay Not Available":"隔空播放不可用"}')},{}],"1Segn":[function(e,t,r){t.exports=JSON.parse('{"Video Info":"統計訊息","Close":"關閉","Video Load Failed":"載入失敗","Volume":"音量","Play":"播放","Pause":"暫停","Rate":"速度","Mute":"靜音","Video Flip":"畫面翻轉","Horizontal":"水平","Vertical":"垂直","Reconnect":"重新連接","Show Setting":"顯示设置","Hide Setting":"隱藏设置","Screenshot":"截圖","Play Speed":"播放速度","Aspect Ratio":"畫面比例","Default":"默認","Normal":"正常","Open":"打開","Switch Video":"切換","Switch Subtitle":"切換字幕","Fullscreen":"全屏","Exit Fullscreen":"退出全屏","Web Fullscreen":"網頁全屏","Exit Web Fullscreen":"退出網頁全屏","Mini Player":"迷你播放器","PIP Mode":"開啟畫中畫","Exit PIP Mode":"退出畫中畫","PIP Not Supported":"不支持畫中畫","Fullscreen Not Supported":"不支持全屏","Subtitle Offset":"字幕偏移","Last Seen":"上次看到","Jump Play":"跳轉播放","AirPlay":"隔空播放","AirPlay Not Available":"隔空播放不可用"}')},{}],kVsW6:[function(e,t,r){t.exports=JSON.parse('{"Video Info":"Informacje o wideo","Close":"Zamknij","Video Load Failed":"Błąd ładowania wideo","Volume":"Głośność","Play":"Odtwórz","Pause":"Wstrzymaj","Rate":"Oceń","Mute":"Wycisz","Video Flip":"Rotacja wideo","Horizontal":"Pozioma","Vertical":"Pionowa","Reconnect":"Połącz ponownie","Show Setting":"Pokaż ustawienia","Hide Setting":"Ukryj ustawienia","Screenshot":"Zrzut ekranu","Play Speed":"Prędkość odtwarzania","Aspect Ratio":"Współczynnik proporcji","Default":"Domyślny","Normal":"Normalny","Open":"Otwórz","Switch Video":"Przełącz wideo","Switch Subtitle":"Przełącz napisy","Fullscreen":"Pełny ekran","Exit Fullscreen":"Zamknij pełny ekran","Web Fullscreen":"Tryb pełnej strony","Exit Web Fullscreen":"Zamknij tryb pełnej strony","Mini Player":"Miniodtwarzacz","PIP Mode":"Tryb PiP","Exit PIP Mode":"Zamknij tryb PiP","PIP Not Supported":"Tryb PiP nieobsługiwany","Fullscreen Not Supported":"Pełny ekran nieobsługiwany","Subtitle Offset":"Przesunięcie napisów","Last Seen":"Ostatnio widziany","Jump Play":"Skocz do gry","AirPlay":"AirPlay","AirPlay Not Available":"AirPlay nie jest dostępny"}')},{}],hsGmi:[function(e,t,r){t.exports=JSON.parse('{"Video Info":"Info o videu","Close":"Zavřít","Video Load Failed":"Nahrání videa selhalo","Volume":"Hlasitost","Play":"Přehrát","Pause":"Pozastavit","Rate":"Hodnocení","Mute":"Ztlumit","Video Flip":"Otočit video","Horizontal":"Horizontálně","Vertical":"Vertikálně","Reconnect":"Opětovné připojení","Show Setting":"Zobrazit nastavení","Hide Setting":"Skrýt nastavení","Screenshot":"Snímek obrazovky","Play Speed":"Rychlost přehrávání","Aspect Ratio":"Poměr stran","Default":"Výchozí","Normal":"Normální","Open":"Otevřít","Switch Video":"Přepnout video","Switch Subtitle":"Přepnout titulky","Fullscreen":"Celá obrazovka","Exit Fullscreen":"Opustit režim celé obrazovky","Web Fullscreen":"Celá stránka","Exit Web Fullscreen":"Zavřít režim celé stránky","Mini Player":"Mini přehrávač","PIP Mode":"Režim PIP","Exit PIP Mode":"Opustit režim PIP","PIP Not Supported":"Režim PIP není podporován","Fullscreen Not Supported":"Režim celé obrazovky není podporován","Subtitle Offset":"Posun titulků","Last Seen":"Naposledy viděn","Jump Play":"Hra na skok","AirPlay":"AirPlay","AirPlay Not Available":"AirPlay není k dispozici"}')},{}],asiZS:[function(e,t,r){t.exports=JSON.parse('{"Video Info":"Información del video","Close":"Cerrar","Video Load Failed":"Falló carga de video","Volume":"Volumen","Play":"Reproduciendo","Pause":"Pausa","Rate":"Velocidad","Mute":"Silencio","Video Flip":"Rotar video","Horizontal":"Horizontal","Vertical":"Vertical","Reconnect":"Reconectando","Show Setting":"Mostrar ajustes","Hide Setting":"Ocultar ajustes","Screenshot":"Captura de Pantalla","Play Speed":"Velocidad de reproducción","Aspect Ratio":"Relación de aspecto","Default":"Por defecto","Normal":"Normal","Open":"Abrir","Switch Video":"Cambiar video","Switch Subtitle":"Cambiar subtítulo","Fullscreen":"Pantalla completa","Exit Fullscreen":"Salir de Pantalla completa","Web Fullscreen":"Pantalla completa Web","Exit Web Fullscreen":"Salir de Pantalla completa","Mini Player":"Mini reproductor","PIP Mode":"Modo PiP","Exit PIP Mode":"Cerrar modo PiP","PIP Not Supported":"Modo PiP no compatible","Fullscreen Not Supported":"Pantalla completa no soportada","Subtitle Offset":"Ajuste subtítulo","Last Seen":"Visto última vez","Jump Play":"Saltar","AirPlay":"AirPlay","AirPlay Not Available":"AirPlay no disponible"}')},{}],jxjmf:[function(e,t,r){t.exports=JSON.parse('{"Video Info":"اطلاعات ویدیو","Close":"بستن","Video Load Failed":"بارگذاری ناموفق","Play":"پخش","Volume":"میزان صدا","Pause":"توقف","Rate":"نرخ","Mute":"سکوت","Video Flip":"چرخش تصویر","Horizontal":"افقی","Vertical":"عمودی","Reconnect":"اتصال مجدد","Show Setting":"تنظیمات","Hide Setting":"بستن تنظیمات","Screenshot":"عکس از صفحه","Play Speed":"سرعت پخش","Aspect Ratio":"نسبت تصویر","Default":"حالت پیشفرض","Normal":" حالت عادی","Open":"بازکردن","Switch Video":"تغییر ویدیو","Switch Subtitle":"نغییر زیرنویس","Fullscreen":"تمام صفحه","Exit Fullscreen":"کوچک کردن","Web Fullscreen":"حالت تئاتر","Exit Web Fullscreen":"خروج از حالت تئاتر","Mini Player":"حالت پخش کوچک","PIP Mode":" مینی پلیر","Exit PIP Mode":"خروج از مینی پلیر","PIP Not Supported":"عدم پشتیبانی از مینی پلیر","Fullscreen Not Supported":"عدم پشتیبانی از حالت تمام صفحه","Subtitle Offset":"افست زیرنویس","Last Seen":"آخرین بازدید","Jump Play":"جامپ پلی","AirPlay":"ایر پلی","AirPlay Not Available":"عدم پشتیبانی از ایرپلی"}')},{}],"5HXy9":[function(e,t,r){t.exports=JSON.parse('{"Video Info":"Informations de la vidéo","Close":"Fermer","Video Load Failed":"Téléchargement de la vidéo échoué","Volume":"Volume","Play":"Lire","Pause":"Pause","Rate":"Vitesse","Mute":"Muet","Video Flip":"Rotation de la vidéo","Horizontal":"Horizontal","Vertical":"Vertical","Reconnect":"Reconnexion","Show Setting":"Afficher les paramètres","Hide Setting":"Cacher les paramètres","Screenshot":"Capture d\'écran","Play Speed":"Vitesse de lecture","Aspect Ratio":"Rapport d\'aspect","Default":"Défaut","Normal":"Normal","Open":"Ouvrir","Switch Video":"Basculer la vidéo","Switch Subtitle":"Basculer le sous-titre","Fullscreen":"Plein écran","Exit Fullscreen":"Quitter le plein écran","Web Fullscreen":"Plein écran Web","Exit Web Fullscreen":"Quitter le plein écran Web","Mini Player":"Mini lecteur","PIP Mode":"Mode PiP","Exit PIP Mode":"Fermer le mode PiP","PIP Not Supported":"Mode PiP non supporté","Fullscreen Not Supported":"Plein écran non supporté","Subtitle Offset":"Réglage des sous-titres","Last Seen":"Dernière position","Jump Play":"Continuer","AirPlay":"AirPlay","AirPlay Not Available":"AirPlay non disponible"}')},{}],gjULl:[function(e,t,r){t.exports=JSON.parse('{"Video Info":"Informasi Video","Close":"Tutup","Video Load Failed":"Gagal Memuat Video","Volume":"Volume","Play":"Putar","Pause":"Jeda","Rate":"Kecepatan","Mute":"Senyap","Video Flip":"Memutar Video","Horizontal":"Horizontal","Vertical":"Vertikal","Reconnect":"Menyambung Kembali","Show Setting":"Tampilkan Pengaturan","Hide Setting":"Sembunyikan Pengaturan","Screenshot":"Tangkapan Layar","Play Speed":"Kecepatan Putar","Aspect Ratio":"Rasio Aspek","Default":"Default","Normal":"Normal","Open":"Buka","Switch Video":"Ganti Video","Switch Subtitle":"Ganti Subtitle","Fullscreen":"Layar Penuh","Exit Fullscreen":"Keluar dari Layar Penuh","Web Fullscreen":"Layar Penuh Web","Exit Web Fullscreen":"Keluar dari Layar Penuh Web","Mini Player":"Pemutar Mini","PIP Mode":"Mode PIP","Exit PIP Mode":"Keluar dari Mode PIP","PIP Not Supported":"PIP Tidak Didukung","Fullscreen Not Supported":"Layar Penuh Tidak Didukung","Subtitle Offset":"Pergeseran Subtitle","Last Seen":"Terakhir Dilihat","Jump Play":"Lompat Putar","AirPlay":"AirPlay","AirPlay Not Available":"AirPlay Tidak Tersedia"}')},{}],hSqTW:[function(e,t,r){t.exports=JSON.parse('{"Video Info":"Информация","Close":"Закрыть","Video Load Failed":"Ошибка загрузки видео","Volume":"Громкость","Play":"Играть","Pause":"Пауза","Rate":"Скорость","Mute":"Заглушить","Video Flip":"Развернуть видео","Horizontal":"Горизонтально","Vertical":"Вертикально","Reconnect":"Переподключенине","Show Setting":"Показать настройки","Hide Setting":"Скрыть настройки","Screenshot":"Скриншот","Play Speed":"Скорость воспроизведения","Aspect Ratio":"Соотношение сторон","Default":"По-умолчанию","Normal":"Нормальный","Open":"Открыть","Switch Video":"Переключить видео","Switch Subtitle":"Переключить субтитры","Fullscreen":"Полноэкранный режим","Exit Fullscreen":"Выход из полноэкранного режима","Web Fullscreen":"На все окно браузера","Exit Web Fullscreen":"Выход из режима полного окна","Mini Player":"Мини проигрыватель","PIP Mode":"Картинка в картинке","Exit PIP Mode":"Закрыть картинку в картинке","PIP Not Supported":"Картинка в картинке не поддерживается","Fullscreen Not Supported":"Полноэкранный режим не поддерживается","Subtitle Offset":"Настройка субтитров","Last Seen":"Последнее просмотренное","Jump Play":"Перейти","AirPlay":"AirPlay","AirPlay Not Available":"AirPlay недоступен"}')},{}],iurL3:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",(()=>ve));var i=e("./urlMix"),a=o.interopDefault(i),n=e("./attrMix"),s=o.interopDefault(n),l=e("./playMix"),c=o.interopDefault(l),p=e("./pauseMix"),u=o.interopDefault(p),d=e("./toggleMix"),f=o.interopDefault(d),h=e("./seekMix"),m=o.interopDefault(h),g=e("./volumeMix"),y=o.interopDefault(g),v=e("./currentTimeMix"),b=o.interopDefault(v),x=e("./durationMix"),w=o.interopDefault(x),j=e("./switchMix"),k=o.interopDefault(j),S=e("./playbackRateMix"),P=o.interopDefault(S),T=e("./aspectRatioMix"),I=o.interopDefault(T),$=e("./screenshotMix"),E=o.interopDefault($),M=e("./fullscreenMix"),L=o.interopDefault(M),F=e("./fullscreenWebMix"),V=o.interopDefault(F),C=e("./pipMix"),A=o.interopDefault(C),D=e("./loadedMix"),z=o.interopDefault(D),R=e("./playedMix"),O=o.interopDefault(R),N=e("./playingMix"),H=o.interopDefault(N),_=e("./autoSizeMix"),W=o.interopDefault(_),q=e("./rectMix"),B=o.interopDefault(q),U=e("./flipMix"),Y=o.interopDefault(U),G=e("./miniMix"),Z=o.interopDefault(G),J=e("./loopMix"),K=o.interopDefault(J),X=e("./posterMix"),Q=o.interopDefault(X),ee=e("./autoHeightMix"),te=o.interopDefault(ee),re=e("./themeMix"),oe=o.interopDefault(re),ie=e("./titleMix"),ae=o.interopDefault(ie),ne=e("./typeMix"),se=o.interopDefault(ne),le=e("./normalSizeMix"),ce=o.interopDefault(le),pe=e("./subtitleOffsetMix"),ue=o.interopDefault(pe),de=e("./airplayMix"),fe=o.interopDefault(de),he=e("./optionInit"),me=o.interopDefault(he),ge=e("./eventInit"),ye=o.interopDefault(ge);class ve{constructor(e){(0,a.default)(e),(0,s.default)(e),(0,c.default)(e),(0,u.default)(e),(0,f.default)(e),(0,m.default)(e),(0,y.default)(e),(0,b.default)(e),(0,w.default)(e),(0,k.default)(e),(0,P.default)(e),(0,I.default)(e),(0,E.default)(e),(0,L.default)(e),(0,V.default)(e),(0,A.default)(e),(0,z.default)(e),(0,O.default)(e),(0,H.default)(e),(0,W.default)(e),(0,B.default)(e),(0,Y.default)(e),(0,Z.default)(e),(0,K.default)(e),(0,Q.default)(e),(0,te.default)(e),(0,oe.default)(e),(0,ae.default)(e),(0,se.default)(e),(0,ce.default)(e),(0,ue.default)(e),(0,fe.default)(e),(0,ye.default)(e),(0,me.default)(e)}}},{"./urlMix":"4df8r","./attrMix":"8yJRD","./playMix":"kcbYx","./pauseMix":"k4Qa2","./toggleMix":"eubK3","./seekMix":"a3ccu","./volumeMix":"eZDDi","./currentTimeMix":"g2p9u","./durationMix":"fVWng","./switchMix":"fPwKz","./playbackRateMix":"5bAAP","./aspectRatioMix":"jdXVQ","./screenshotMix":"jvCvi","./fullscreenMix":"64ezs","./fullscreenWebMix":"jAgkC","./pipMix":"hX3WW","./loadedMix":"haZ44","./playedMix":"bJJD2","./playingMix":"b9QOv","./autoSizeMix":"6wkLS","./rectMix":"aPMtq","./flipMix":"fjHTo","./miniMix":"dNW08","./loopMix":"hU7SH","./posterMix":"j5OaI","./autoHeightMix":"edb1A","./themeMix":"aLnna","./titleMix":"5WuSd","./typeMix":"jFGSq","./normalSizeMix":"lAdFL","./subtitleOffsetMix":"ahPb2","./airplayMix":"7KN5Z","./optionInit":"kH278","./eventInit":"5cgWT","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"4df8r":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{option:t,template:{$video:r}}=e;(0,o.def)(e,"url",{get:()=>r.currentSrc,async set(i){if(i){const a=t.type||(0,o.getExt)(i),n=t.customType[a];a&&n?(await(0,o.sleep)(),e.loading.show=!0,n.call(e,r,i,e)):(e.url&&e.url!==i&&e.once("video:canplay",(()=>{e.isReady&&e.emit("restart")})),r.src=i,e.option.url=i,e.emit("url",i))}else await(0,o.sleep)(),e.loading.show=!0}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"8yJRD":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{template:{$video:t}}=e;(0,o.def)(e,"attr",{value(e,r){if(void 0===r)return t[e];t[e]=r}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],kcbYx:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{i18n:t,notice:r,option:i,constructor:{instances:a},template:{$video:n}}=e;(0,o.def)(e,"play",{value:async function(){const o=await n.play();if(r.show=t.get("Play"),e.emit("play"),i.mutex)for(let t=0;te.playing?e.pause():e.play()})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],a3ccu:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{notice:t}=e;(0,o.def)(e,"seek",{set(r){e.currentTime=r,e.emit("seek",e.currentTime),e.duration&&(t.show=`${(0,o.secondToTime)(e.currentTime)} / ${(0,o.secondToTime)(e.duration)}`)}}),(0,o.def)(e,"forward",{set(t){e.seek=e.currentTime+t}}),(0,o.def)(e,"backward",{set(t){e.seek=e.currentTime-t}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],eZDDi:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{template:{$video:t},i18n:r,notice:i,storage:a}=e;(0,o.def)(e,"volume",{get:()=>t.volume||0,set:e=>{t.volume=(0,o.clamp)(e,0,1),i.show=`${r.get("Volume")}: ${parseInt(100*t.volume,10)}`,0!==t.volume&&a.set("volume",t.volume)}}),(0,o.def)(e,"muted",{get:()=>t.muted,set:e=>{t.muted=e}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],g2p9u:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{$video:t}=e.template;(0,o.def)(e,"currentTime",{get:()=>t.currentTime||0,set:r=>{r=parseFloat(r),Number.isNaN(r)||(t.currentTime=(0,o.clamp)(r,0,e.duration))}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],fVWng:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){(0,o.def)(e,"duration",{get:()=>{const{duration:t}=e.template.$video;return t===1/0?0:t||0}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],fPwKz:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{i18n:t,option:r,notice:i}=e;function a(o,a,n){return new Promise((s=>{if(o===e.url)return s(o);const{playing:l}=e;e.pause(),URL.revokeObjectURL(e.url),e.url=o,e.once("video:canplay",(()=>{e.playbackRate=!1,e.aspectRatio=!1,e.flip="normal",e.autoSize=r.autoSize,e.currentTime=n,e.notice.show="",l&&e.play(),a&&(i.show=`${t.get("Switch Video")}: ${a}`),s(o)}))}))}(0,o.def)(e,"switchQuality",{value:(t,r)=>a(t,r,e.currentTime)}),(0,o.def)(e,"switchUrl",{value:(e,t)=>a(e,t,0)})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"5bAAP":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{template:{$video:t},i18n:r,notice:i}=e;(0,o.def)(e,"playbackRate",{get:()=>t.playbackRate,set(o){if(o){if(o===t.playbackRate)return;t.playbackRate=o,i.show=`${r.get("Rate")}: ${1===o?r.get("Normal"):`${o}x`}`}else e.playbackRate=1}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],jdXVQ:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{template:{$video:t,$player:r},i18n:i,notice:a}=e;(0,o.def)(e,"aspectRatio",{get:()=>r.dataset.aspectRatio||"default",set(n){if(n||(n="default"),"default"===n)(0,o.setStyle)(t,"width",null),(0,o.setStyle)(t,"height",null),(0,o.setStyle)(t,"padding",null),delete r.dataset.aspectRatio;else{const e=n.split(":").map(Number),{videoWidth:i,videoHeight:a}=t,{clientWidth:s,clientHeight:l}=r,c=i/a,p=e[0]/e[1];if(c>p){const e=p*a/i;(0,o.setStyle)(t,"width",100*e+"%"),(0,o.setStyle)(t,"height","100%"),(0,o.setStyle)(t,"padding",`0 ${(s-s*e)/2}px`)}else{const e=i/p/a;(0,o.setStyle)(t,"width","100%"),(0,o.setStyle)(t,"height",100*e+"%"),(0,o.setStyle)(t,"padding",(l-l*e)/2+"px 0")}r.dataset.aspectRatio=n}a.show=`${i.get("Aspect Ratio")}: ${"default"===n?i.get("Default"):n}`,e.emit("aspectRatio",n)}}),(0,o.def)(e,"aspectRatioReset",{set(t){if(t){const{aspectRatio:t}=e;e.aspectRatio=t}}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],jvCvi:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{option:t,notice:r,template:{$video:i}}=e,a=(0,o.createElement)("canvas");(0,o.def)(e,"getDataURL",{value:()=>new Promise(((e,t)=>{try{a.width=i.videoWidth,a.height=i.videoHeight,a.getContext("2d").drawImage(i,0,0),e(a.toDataURL("image/png"))}catch(e){r.show=e,t(e)}}))}),(0,o.def)(e,"getBlobUrl",{value:()=>new Promise(((e,t)=>{try{a.width=i.videoWidth,a.height=i.videoHeight,a.getContext("2d").drawImage(i,0,0),a.toBlob((t=>{e(URL.createObjectURL(t))}))}catch(e){r.show=e,t(e)}}))}),(0,o.def)(e,"screenshot",{value:async()=>{const r=await e.getDataURL();return(0,o.download)(r,`${t.title||"artplayer"}_${(0,o.secondToTime)(i.currentTime)}.png`),e.emit("screenshot",r),r}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"64ezs":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r);var i=e("../libs/screenfull"),a=o.interopDefault(i),n=e("../utils");r.default=function(e){const{i18n:t,notice:r,template:{$video:o,$player:i}}=e;e.once("video:loadedmetadata",(()=>{a.default.isEnabled?(e=>{a.default.on("change",(()=>{e.emit("fullscreen",a.default.isFullscreen)})),(0,n.def)(e,"fullscreen",{get:()=>a.default.isFullscreen,async set(t){t?(e.normalSize="fullscreen",e.aspectRatioReset=!0,e.autoSize=!1,await a.default.request(i),(0,n.addClass)(i,"art-fullscreen"),e.emit("resize"),r.show=""):(e.aspectRatioReset=!0,e.autoSize=e.option.autoSize,await a.default.exit(),(0,n.removeClass)(i,"art-fullscreen"),e.emit("resize"),r.show="")}})})(e):document.fullscreenEnabled||o.webkitSupportsFullscreen?(e=>{(0,n.def)(e,"fullscreen",{get:()=>o.webkitDisplayingFullscreen,set(t){t?(e.normalSize="fullscreen",o.webkitEnterFullscreen(),e.emit("fullscreen",!0),r.show=""):(o.webkitExitFullscreen(),e.emit("fullscreen",!1),r.show="")}})})(e):(0,n.def)(e,"fullscreen",{get:()=>!1,set(){r.show=t.get("Fullscreen Not Supported")}}),(0,n.def)(e,"fullscreen",(0,n.get)(e,"fullscreen"))}))}},{"../libs/screenfull":"gWvOv","../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],gWvOv:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);const o=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],i=(()=>{if("undefined"==typeof document)return!1;const e=o[0],t={};for(const r of o){if(r[1]in document){for(const[o,i]of r.entries())t[e[o]]=i;return t}}return!1})(),a={change:i.fullscreenchange,error:i.fullscreenerror};let n={request:(e=document.documentElement,t)=>new Promise(((r,o)=>{const a=()=>{n.off("change",a),r()};n.on("change",a);const s=e[i.requestFullscreen](t);s instanceof Promise&&s.then(a).catch(o)})),exit:()=>new Promise(((e,t)=>{if(!n.isFullscreen)return void e();const r=()=>{n.off("change",r),e()};n.on("change",r);const o=document[i.exitFullscreen]();o instanceof Promise&&o.then(r).catch(t)})),toggle:(e,t)=>n.isFullscreen?n.exit():n.request(e,t),onchange(e){n.on("change",e)},onerror(e){n.on("error",e)},on(e,t){const r=a[e];r&&document.addEventListener(r,t,!1)},off(e,t){const r=a[e];r&&document.removeEventListener(r,t,!1)},raw:i};Object.defineProperties(n,{isFullscreen:{get:()=>Boolean(document[i.fullscreenElement])},element:{enumerable:!0,get:()=>document[i.fullscreenElement]},isEnabled:{enumerable:!0,get:()=>Boolean(document[i.fullscreenEnabled])}}),i||(n={isEnabled:!1}),r.default=n},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],jAgkC:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{notice:t,constructor:r,template:{$container:i,$player:a}}=e;(0,o.def)(e,"fullscreenWeb",{get:()=>(0,o.hasClass)(a,"art-fullscreen-web"),set(n){n?(r.FULLSCREEN_WEB_IN_BODY&&(0,o.append)(document.body,a),e.normalSize="fullscreenWeb",(0,o.addClass)(a,"art-fullscreen-web"),e.aspectRatioReset=!0,e.autoSize=!1,e.emit("resize"),e.emit("fullscreenWeb",!0),t.show=""):(r.FULLSCREEN_WEB_IN_BODY&&(0,o.append)(i,a),(0,o.removeClass)(a,"art-fullscreen-web"),e.aspectRatioReset=!0,e.autoSize=e.option.autoSize,e.emit("resize"),e.emit("fullscreenWeb",!1),t.show="")}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],hX3WW:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{i18n:t,notice:r,template:{$video:i}}=e;document.pictureInPictureEnabled?function(e){const{template:{$video:t},proxy:r,notice:i}=e;t.disablePictureInPicture=!1,(0,o.def)(e,"pip",{get:()=>document.pictureInPictureElement,set(r){r?(e.normalSize="pip",t.requestPictureInPicture().catch((e=>{throw i.show=e,e}))):document.exitPictureInPicture().catch((e=>{throw i.show=e,e}))}}),r(t,"enterpictureinpicture",(()=>{e.emit("pip",!0)})),r(t,"leavepictureinpicture",(()=>{e.emit("pip",!1)}))}(e):i.webkitSupportsPresentationMode?function(e){const{$video:t}=e.template;t.webkitSetPresentationMode("inline"),(0,o.def)(e,"pip",{get:()=>"picture-in-picture"===t.webkitPresentationMode,set(r){r?(e.normalSize="pip",t.webkitSetPresentationMode("picture-in-picture"),e.emit("pip",!0)):(t.webkitSetPresentationMode("inline"),e.emit("pip",!1))}})}(e):(0,o.def)(e,"pip",{get:()=>!1,set(){r.show=t.get("PIP Not Supported")}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],haZ44:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{$video:t}=e.template;(0,o.def)(e,"loaded",{get:()=>e.loadedTime/t.duration}),(0,o.def)(e,"loadedTime",{get:()=>t.buffered.length?t.buffered.end(t.buffered.length-1):0})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],bJJD2:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){(0,o.def)(e,"played",{get:()=>e.currentTime/e.duration})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],b9QOv:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{$video:t}=e.template;(0,o.def)(e,"playing",{get:()=>!!(t.currentTime>0&&!t.paused&&!t.ended&&t.readyState>2)})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"6wkLS":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{$container:t,$player:r,$video:i}=e.template;(0,o.def)(e,"autoSize",{get:()=>(0,o.hasClass)(t,"art-auto-size"),set(a){if(a){const{videoWidth:a,videoHeight:n}=i,{width:s,height:l}=t.getBoundingClientRect(),c=a/n,p=s/l;if((0,o.addClass)(t,"art-auto-size"),p>c){const e=l*c/s*100;(0,o.setStyle)(r,"width",`${e}%`),(0,o.setStyle)(r,"height","100%")}else{const e=s/c/l*100;(0,o.setStyle)(r,"width","100%"),(0,o.setStyle)(r,"height",`${e}%`)}e.emit("autoSize",{width:e.width,height:e.height})}else(0,o.removeClass)(t,"art-auto-size"),(0,o.setStyle)(r,"width",null),(0,o.setStyle)(r,"height",null),e.emit("autoSize")}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],aPMtq:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){(0,o.def)(e,"rect",{get:()=>e.template.$player.getBoundingClientRect()});const t=["bottom","height","left","right","top","width"];for(let r=0;re.rect[i]})}(0,o.def)(e,"x",{get:()=>e.left+window.pageXOffset}),(0,o.def)(e,"y",{get:()=>e.top+window.pageYOffset})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],fjHTo:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{template:{$player:t},i18n:r,notice:i}=e;(0,o.def)(e,"flip",{get:()=>t.dataset.flip||"normal",set(a){a||(a="normal"),"normal"===a?delete t.dataset.flip:t.dataset.flip=a,i.show=`${r.get("Video Flip")}: ${r.get((0,o.capitalize)(a))}`,e.emit("flip",a)}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],dNW08:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{i18n:t,option:r,storage:i,proxy:a,template:{$player:n,$miniClose:s,$miniTitle:l,$miniHeader:c}}=e;let p=!1,u=0,d=0,f=0,h=0;a(c,"mousedown",(t=>{p=!0,u=t.pageX,d=t.pageY,f=e.left,h=e.top})),a(document,"mousemove",(e=>{if(p){(0,o.addClass)(n,"art-is-dragging");const t=h+e.pageY-d,r=f+e.pageX-u;(0,o.setStyle)(n,"top",`${t}px`),(0,o.setStyle)(n,"left",`${r}px`),i.set("top",t),i.set("left",r)}})),a(document,"mouseup",(()=>{p=!1,(0,o.removeClass)(n,"art-is-dragging")})),a(s,"click",(()=>{e.mini=!1,p=!1,(0,o.removeClass)(n,"art-is-dragging")})),(0,o.append)(l,r.title||t.get("Mini Player")),(0,o.def)(e,"mini",{get:()=>(0,o.hasClass)(n,"art-mini"),set(t){if(t){e.normalSize="mini",e.autoSize=!1,(0,o.addClass)(n,"art-mini");const t=i.get("top"),r=i.get("left");if(t&&r)(0,o.setStyle)(n,"top",`${t}px`),(0,o.setStyle)(n,"left",`${r}px`),(0,o.isInViewport)(c)||(i.del("top"),i.del("left"),e.mini=!0);else{const t=window.innerHeight-e.height-50,r=window.innerWidth-e.width-50;i.set("top",t),i.set("left",r),(0,o.setStyle)(n,"top",`${t}px`),(0,o.setStyle)(n,"left",`${r}px`)}e.aspectRatio=!1,e.playbackRate=!1,e.notice.show="",e.emit("mini",!0)}else(0,o.removeClass)(n,"art-mini"),(0,o.setStyle)(n,"top",null),(0,o.setStyle)(n,"left",null),e.aspectRatio=!1,e.playbackRate=!1,e.autoSize=r.autoSize,e.notice.show="",e.emit("mini",!1)}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],hU7SH:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){let t=[];(0,o.def)(e,"loop",{get:()=>t,set:r=>{if(Array.isArray(r)&&"number"==typeof r[0]&&"number"==typeof r[1]){const i=(0,o.clamp)(r[0],0,Math.min(r[1],e.duration)),a=(0,o.clamp)(r[1],i,e.duration);t=a-i>=1?[i,a]:[]}else t=[]}}),e.on("video:timeupdate",(()=>{t.length&&(e.currentTimet[1])&&(e.seek=t[0])}))}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],j5OaI:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{option:t,template:{$poster:r}}=e;(0,o.def)(e,"poster",{get:()=>t.poster,set(e){t.poster=e,(0,o.setStyle)(r,"backgroundImage",`url(${e})`)}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],edb1A:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{option:t,template:{$container:r,$video:i}}=e,a=r.style.height;(0,o.def)(e,"autoHeight",{get:()=>(0,o.hasClass)(r,"art-auto-height"),set(n){if(n){const{clientWidth:a}=r,{videoHeight:n,videoWidth:s}=i,l=n*(a/s);(0,o.setStyle)(r,"height",l+"px"),(0,o.addClass)(r,"art-auto-height"),e.autoSize=t.autoSize,e.emit("autoHeight",l)}else(0,o.setStyle)(r,"height",a),(0,o.removeClass)(r,"art-auto-height"),e.autoSize=t.autoSize,e.emit("autoHeight")}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],aLnna:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{option:t,template:{$player:r}}=e;(0,o.def)(e,"theme",{get:()=>getComputedStyle(r).getPropertyValue("--theme"),set(e){t.theme=e,r.style.setProperty("--theme",e)}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"5WuSd":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){(0,o.def)(e,"title",{get:()=>e.option.title,set(t){e.option.title=t}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],jFGSq:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){(0,o.def)(e,"type",{get:()=>e.option.type,set(t){e.option.type=t}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],lAdFL:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const t=["mini","pip","fullscreen","fullscreenWeb"];(0,o.def)(e,"normalSize",{get:()=>t.every((t=>!e[t])),set(r){t.filter((e=>e!==r)).forEach((t=>{e[t]&&(e[t]=!1)}))}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],ahPb2:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{clamp:t}=e.constructor.utils,{notice:r,template:i,i18n:a}=e;let n=0,s=[];e.on("subtitle:switch",(()=>{s=[]})),(0,o.def)(e,"subtitleOffset",{get:()=>n,set(o){if(i.$track&&i.$track.track){const l=Array.from(i.$track.track.cues);n=t(o,-5,5);for(let r=0;r{switch(e.availability){case"available":n=!0;break;case"not-available":n=!1}})):n=!1,(0,o.def)(e,"airplay",{value(){n?(a.webkitShowPlaybackTargetPicker(),e.emit("airplay")):r.show=t.get("AirPlay Not Available")}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],kH278:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{option:t,storage:r,template:{$video:i,$poster:a}}=e;Object.keys(t.moreVideoAttr).forEach((r=>{e.attr(r,t.moreVideoAttr[r])})),t.muted&&(e.muted=t.muted),t.volume&&(i.volume=(0,o.clamp)(t.volume,0,1));const n=r.get("volume");"number"==typeof n&&(i.volume=(0,o.clamp)(n,0,1)),t.poster&&(0,o.setStyle)(a,"backgroundImage",`url(${t.poster})`),t.autoplay&&(i.autoplay=t.autoplay),t.playsInline&&(i.playsInline=!0,i["webkit-playsinline"]=!0),t.theme&&(e.theme=t.theme),e.url=t.url}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"5cgWT":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r);var i=e("../config"),a=o.interopDefault(i),n=e("../utils");r.default=function(e){const{i18n:t,notice:r,option:o,constructor:i,proxy:s,template:{$player:l,$video:c,$poster:p}}=e;let u=0;for(let t=0;t{e.emit(`video:${t.type}`,t)}));e.on("video:canplay",(()=>{u=0,e.loading.show=!1})),e.once("video:canplay",(()=>{e.loading.show=!1,e.controls.show=!0,e.mask.show=!0,e.isReady=!0,e.emit("ready")})),e.on("video:ended",(()=>{o.loop?(e.seek=0,e.play(),e.controls.show=!1,e.mask.show=!1):(e.controls.show=!0,e.mask.show=!0)})),e.on("video:error",(async a=>{u{e.autoSize=o.autoSize,n.isMobile&&(e.loading.show=!1,e.controls.show=!0,e.mask.show=!0)})),e.on("video:loadstart",(()=>{e.loading.show=!0,e.mask.show=!1,e.controls.show=!0})),e.on("video:pause",(()=>{e.controls.show=!0,e.mask.show=!0})),e.on("video:play",(()=>{e.mask.show=!1,(0,n.setStyle)(p,"display","none")})),e.on("video:playing",(()=>{e.mask.show=!1})),e.on("video:seeked",(()=>{e.loading.show=!1})),e.on("video:seeking",(()=>{e.loading.show=!0,e.mask.show=!1})),e.on("video:timeupdate",(()=>{e.mask.show=!1})),e.on("video:waiting",(()=>{e.loading.show=!0,e.mask.show=!1}))}},{"../config":"1shlC","../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],krUTp:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",(()=>V));var i=e("../utils"),a=e("../utils/component"),n=o.interopDefault(a),s=e("./fullscreen"),l=o.interopDefault(s),c=e("./fullscreenWeb"),p=o.interopDefault(c),u=e("./pip"),d=o.interopDefault(u),f=e("./playAndPause"),h=o.interopDefault(f),m=e("./progress"),g=o.interopDefault(m),y=e("./time"),v=o.interopDefault(y),b=e("./volume"),x=o.interopDefault(b),w=e("./setting"),j=o.interopDefault(w),k=e("./thumbnails"),S=o.interopDefault(k),P=e("./screenshot"),T=o.interopDefault(P),I=e("./quality"),$=o.interopDefault(I),E=e("./loop"),M=o.interopDefault(E),L=e("./airplay"),F=o.interopDefault(L);class V extends n.default{init(){const{option:e}=this.art;e.isLive||this.add((0,g.default)({name:"progress",position:"top",index:10})),!e.thumbnails.url||e.isLive||i.isMobile||this.add((0,S.default)({name:"thumbnails",position:"top",index:20})),this.add((0,M.default)({name:"loop",position:"top",index:30})),this.add((0,h.default)({name:"playAndPause",position:"left",index:10})),this.add((0,x.default)({name:"volume",position:"left",index:20})),e.isLive||this.add((0,v.default)({name:"time",position:"left",index:30})),e.quality.length&&this.add((0,$.default)({name:"quality",position:"right",index:10})),e.screenshot&&!i.isMobile&&this.add((0,T.default)({name:"screenshot",position:"right",index:20})),e.setting&&this.add((0,j.default)({name:"setting",position:"right",index:30})),e.pip&&this.add((0,d.default)({name:"pip",position:"right",index:40})),e.airplay&&window.WebKitPlaybackTargetAvailabilityEvent&&this.add((0,F.default)({name:"airplay",position:"right",index:50})),e.fullscreenWeb&&this.add((0,p.default)({name:"fullscreenWeb",position:"right",index:60})),e.fullscreen&&this.add((0,l.default)({name:"fullscreen",position:"right",index:70}));for(let t=0;t{this.show=!0,(0,i.removeClass)(o,"art-hide-cursor"),(0,i.addClass)(o,"art-hover"),a=Date.now()})),e.on("video:timeupdate",(()=>{!e.isInput&&e.playing&&this.show&&Date.now()-a>=r.CONTROL_HIDE_TIME&&(this.show=!1,(0,i.addClass)(o,"art-hide-cursor"),(0,i.removeClass)(o,"art-hover"))})),this.init()}}},{"../utils":"7drL4","../utils/component":"gEwXu","./fullscreen":"aphct","./fullscreenWeb":"86CsN","./pip":"8EbkL","./playAndPause":"juUdj","./progress":"3g6RZ","./time":"9BztV","./volume":"8ZEFD","./setting":"4Dw5D","./thumbnails":"k0DvK","./screenshot":"bRP5Y","./quality":"jW8r3","./loop":"eJYjN","./airplay":"eFnNY","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],gEwXu:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",(()=>p));var i=e("./dom"),a=e("option-validator"),n=o.interopDefault(a),s=e("../scheme"),l=e("./property"),c=e("./error");class p{get show(){return(0,i.hasClass)(this.art.template.$player,`art-${this.name}-show`)}set show(e){const{$player:t}=this.art.template,r=`art-${this.name}-show`;e?(0,i.addClass)(t,r):(0,i.removeClass)(t,r),this.art.emit(this.name,e)}set toggle(e){e&&(this.show=!this.show)}add(e){const t="function"==typeof e?e(this.art):e;if(t.html=t.html||"",(0,n.default)(t,s.ComponentOption),!this.$parent||!this.name||t.disable)return;const r=t.name||`${this.name}${this.id}`;(0,c.errorHandle)(!(0,l.has)(this,r),`Cannot add an existing name [${r}] to the [${this.name}]`),this.id+=1;const o=(0,i.createElement)("div");(0,i.addClass)(o,`art-${this.name}`),(0,i.addClass)(o,`art-${this.name}-${r}`);const a=Array.from(this.$parent.children);o.dataset.index=t.index||this.id;const p=a.find((e=>Number(e.dataset.index)>=Number(o.dataset.index)));return p?p.insertAdjacentElement("beforebegin",o):(0,i.append)(this.$parent,o),t.html&&(0,i.append)(o,t.html),t.style&&(0,i.setStyles)(o,t.style),t.tooltip&&(0,i.tooltip)(o,t.tooltip),t.click&&this.art.events.proxy(o,"click",(e=>{e.preventDefault(),t.click.call(this.art,this,e)})),t.selector&&["left","right"].includes(t.position)&&this.selector(t,o),t.mounted&&t.mounted.call(this.art,o),(0,l.def)(this,r,{value:o}),o}selector(e,t){const{hover:r,proxy:o}=this.art.events;(0,i.addClass)(t,"art-control-selector");const a=(0,i.createElement)("div");(0,i.addClass)(a,"art-selector-value"),(0,i.append)(a,e.html),t.innerText="",(0,i.append)(t,a);const n=e.selector.map(((e,t)=>`${e.html}
`)).join(""),s=(0,i.createElement)("div");(0,i.addClass)(s,"art-selector-list"),(0,i.append)(s,n),(0,i.append)(t,s),this.art.option.backdrop&&(0,i.addClass)(s,"art-backdrop-filter");const l=()=>{const e=(0,i.getStyle)(t,"width")/2-(0,i.getStyle)(s,"width")/2;s.style.left=`${e}px`};r(t,l),o(s,"click",(async t=>{const r=(t.composedPath()||[]).find((e=>(0,i.hasClass)(e,"art-selector-item")));if(!r)return;(0,i.inverseClass)(r,"art-current");const o=Number(r.dataset.index),n=e.selector[o]||{};if(a.innerText=r.innerText,e.onSelect){const o=await e.onSelect.call(this.art,n,r,t);"string"!=typeof o&&"number"!=typeof o||(a.innerHTML=o)}l()}))}constructor(e){this.id=0,this.art=e,this.add=this.add.bind(this)}}},{"./dom":"iqocb","option-validator":"e1J0t","../scheme":"1s2bZ","./property":"lLZes","./error":"aPfiL","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],aphct:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,tooltip:t.i18n.get("Fullscreen"),mounted:e=>{const{proxy:r,icons:i,i18n:a}=t,n=(0,o.append)(e,i.fullscreenOn),s=(0,o.append)(e,i.fullscreenOff);(0,o.setStyle)(s,"display","none"),r(e,"click",(()=>{t.fullscreen=!t.fullscreen})),t.on("fullscreen",(t=>{t?((0,o.tooltip)(e,a.get("Exit Fullscreen")),(0,o.setStyle)(n,"display","none"),(0,o.setStyle)(s,"display","inline-flex")):((0,o.tooltip)(e,a.get("Fullscreen")),(0,o.setStyle)(n,"display","inline-flex"),(0,o.setStyle)(s,"display","none"))}))}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"86CsN":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,tooltip:t.i18n.get("Web Fullscreen"),mounted:e=>{const{proxy:r,icons:i,i18n:a}=t,n=(0,o.append)(e,i.fullscreenWebOn),s=(0,o.append)(e,i.fullscreenWebOff);(0,o.setStyle)(s,"display","none"),r(e,"click",(()=>{t.fullscreenWeb=!t.fullscreenWeb})),t.on("fullscreenWeb",(t=>{t?((0,o.tooltip)(e,a.get("Exit Web Fullscreen")),(0,o.setStyle)(n,"display","none"),(0,o.setStyle)(s,"display","inline-flex")):((0,o.tooltip)(e,a.get("Web Fullscreen")),(0,o.setStyle)(n,"display","inline-flex"),(0,o.setStyle)(s,"display","none"))}))}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"8EbkL":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,tooltip:t.i18n.get("PIP Mode"),mounted:e=>{const{proxy:r,icons:i,i18n:a}=t;(0,o.append)(e,i.pip),r(e,"click",(()=>{t.pip=!t.pip})),t.on("pip",(t=>{(0,o.tooltip)(e,a.get(t?"Exit PIP Mode":"PIP Mode"))}))}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],juUdj:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,mounted:e=>{const{proxy:r,icons:i,i18n:a}=t,n=(0,o.append)(e,i.play),s=(0,o.append)(e,i.pause);function l(){(0,o.setStyle)(n,"display","flex"),(0,o.setStyle)(s,"display","none")}function c(){(0,o.setStyle)(n,"display","none"),(0,o.setStyle)(s,"display","flex")}(0,o.tooltip)(n,a.get("Play")),(0,o.tooltip)(s,a.get("Pause")),r(n,"click",(()=>{t.play()})),r(s,"click",(()=>{t.pause()})),t.playing?c():l(),t.on("video:playing",(()=>{c()})),t.on("video:pause",(()=>{l()}))}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"3g6RZ":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"getPosFromEvent",(()=>a)),o.export(r,"setCurrentTime",(()=>n));var i=e("../utils");function a(e,t){const{$progress:r}=e.template,{left:o}=r.getBoundingClientRect(),a=i.isMobile?t.touches[0].clientX:t.pageX,n=(0,i.clamp)(a-o,0,r.clientWidth),s=n/r.clientWidth*e.duration;return{second:s,time:(0,i.secondToTime)(s),width:n,percentage:(0,i.clamp)(n/r.clientWidth,0,1)}}function n(e,t){if(e.isRotate){const r=t.touches[0].clientY/e.height,o=r*e.duration;e.emit("setBar","played",r),e.seek=o}else{const{second:r,percentage:o}=a(e,t);e.emit("setBar","played",o),e.seek=r}}r.default=function(e){return t=>{const{icons:r,option:o,proxy:s}=t;return{...e,html:'',mounted:e=>{let l=!1;const c=(0,i.query)(".art-progress-loaded",e),p=(0,i.query)(".art-progress-played",e),u=(0,i.query)(".art-progress-highlight",e),d=(0,i.query)(".art-progress-indicator",e),f=(0,i.query)(".art-progress-tip",e),{PROGRESS_HEIGHT:h,INDICATOR_SIZE:m,INDICATOR_SIZE_ICON:g,INDICATOR_SIZE_MOBILE:y,INDICATOR_SIZE_MOBILE_ICON:v}=t.constructor;(0,i.setStyle)(e,"height",`${h}px`),(0,i.setStyle)(p,"backgroundColor","var(--theme)");let b=m;function x(e,t){"loaded"===e&&(0,i.setStyle)(c,"width",100*t+"%"),"played"===e&&((0,i.setStyle)(p,"width",100*t+"%"),(0,i.setStyle)(d,"left",`calc(${100*t}% - ${b/2}px)`))}r.indicator?(b=g,(0,i.append)(d,r.indicator)):(0,i.setStyles)(d,{backgroundColor:"var(--theme)"}),i.isMobile&&(b=y,r.indicator&&(b=v)),(0,i.setStyles)(d,{left:`-${b/2}px`,width:`${b}px`,height:`${b}px`}),t.on("video:loadedmetadata",(()=>{for(let e=0;e`)}})),x("loaded",t.loaded),t.on("setBar",((e,t)=>{x(e,t)})),t.on("video:progress",(()=>{x("loaded",t.loaded)})),t.on("video:timeupdate",(()=>{x("played",t.played)})),t.on("video:ended",(()=>{x("played",1)})),i.isMobile||(s(e,"click",(e=>{e.target!==d&&n(t,e)})),s(e,"mousemove",(r=>{(0,i.setStyle)(f,"display","block"),(0,i.includeFromEvent)(r,u)?function(r){const{width:o}=a(t,r),{text:n}=r.target.dataset;f.innerHTML=n;const s=f.clientWidth;o<=s/2?(0,i.setStyle)(f,"left",0):o>e.clientWidth-s/2?(0,i.setStyle)(f,"left",e.clientWidth-s+"px"):(0,i.setStyle)(f,"left",o-s/2+"px")}(r):function(r){const{width:o,time:n}=a(t,r);f.innerHTML=n;const s=f.clientWidth;o<=s/2?(0,i.setStyle)(f,"left",0):o>e.clientWidth-s/2?(0,i.setStyle)(f,"left",e.clientWidth-s+"px"):(0,i.setStyle)(f,"left",o-s/2+"px")}(r)})),s(e,"mouseleave",(()=>{(0,i.setStyle)(f,"display","none")})),s(e,"mousedown",(()=>{l=!0})),s(document,"mousemove",(e=>{if(l){const{second:r,percentage:o}=a(t,e);x("played",o),t.seek=r}})),s(document,"mouseup",(()=>{l&&(l=!1)})))}}}}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"9BztV":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,style:{cursor:"auto",marginLeft:"10px"},mounted:e=>{function r(){const r=`${(0,o.secondToTime)(t.currentTime)} / ${(0,o.secondToTime)(t.duration)}`;r!==e.innerText&&(e.innerText=r)}r();const i=["video:loadedmetadata","video:timeupdate","video:progress"];for(let e=0;e({...e,mounted:e=>{const{proxy:r,icons:i,i18n:a}=t;let n=!1;const s=t.constructor.VOLUME_PANEL_WIDTH,l=t.constructor.VOLUME_HANDLE_WIDTH,c=(0,o.append)(e,i.volume),p=(0,o.append)(e,i.volumeClose),u=(0,o.append)(e,''),d=(0,o.append)(u,'');function f(e){const{left:t}=u.getBoundingClientRect();return(0,o.clamp)(e.pageX-t-l/2,0,s-l/2)/(s-l)}function h(e=.7){if(t.muted||0===e)(0,o.setStyle)(c,"display","none"),(0,o.setStyle)(p,"display","flex"),(0,o.setStyle)(d,"left","0");else{const t=(s-l)*e;(0,o.setStyle)(c,"display","flex"),(0,o.setStyle)(p,"display","none"),(0,o.setStyle)(d,"left",`${t}px`)}}(0,o.tooltip)(c,a.get("Mute")),(0,o.setStyle)(p,"display","none"),o.isMobile&&(0,o.setStyle)(u,"display","none"),h(t.volume),t.on("video:volumechange",(()=>{h(t.volume)})),r(c,"click",(()=>{t.muted=!0})),r(p,"click",(()=>{t.muted=!1})),r(u,"click",(e=>{t.muted=!1,t.volume=f(e)})),r(d,"mousedown",(()=>{n=!0})),r(e,"mousemove",(e=>{n&&(t.muted=!1,t.volume=f(e))})),r(document,"mouseup",(()=>{n&&(n=!1)}))}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"4Dw5D":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,tooltip:t.i18n.get("Show Setting"),mounted:e=>{const{proxy:r,icons:i,i18n:a}=t;(0,o.append)(e,i.setting),r(e,"click",(()=>{t.setting.toggle=!0,t.setting.updateStyle()})),t.on("setting",(t=>{(0,o.tooltip)(e,a.get(t?"Hide Setting":"Show Setting"))}))}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],k0DvK:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils"),i=e("./progress");r.default=function(e){return t=>({...e,mounted:e=>{const{option:r,template:{$progress:a,$video:n},events:{proxy:s,loadImg:l}}=t;let c=null,p=!1,u=!1;s(a,"mousemove",(async s=>{if(!p){p=!0;const e=await l(r.thumbnails.url);c=e,u=!0}u&&((0,o.setStyle)(e,"display","block"),function(s){const{width:l}=(0,i.getPosFromEvent)(t,s),{url:p,number:u,column:d,width:f,height:h}=r.thumbnails,m=f||c.naturalWidth/d,g=h||m/(n.videoWidth/n.videoHeight),y=a.clientWidth/u,v=Math.floor(l/y),b=Math.ceil(v/d)-1,x=v%d||d-1;(0,o.setStyle)(e,"backgroundImage",`url(${p})`),(0,o.setStyle)(e,"height",`${g}px`),(0,o.setStyle)(e,"width",`${m}px`),(0,o.setStyle)(e,"backgroundPosition",`-${x*m}px -${b*g}px`),l<=m/2?(0,o.setStyle)(e,"left",0):l>a.clientWidth-m/2?(0,o.setStyle)(e,"left",a.clientWidth-m+"px"):(0,o.setStyle)(e,"left",l-m/2+"px")}(s))})),s(a,"mouseleave",(()=>{(0,o.setStyle)(e,"display","none")})),t.on("hover",(t=>{t||(0,o.setStyle)(e,"display","none")}))}})}},{"../utils":"7drL4","./progress":"3g6RZ","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],bRP5Y:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,tooltip:t.i18n.get("Screenshot"),mounted:e=>{const{proxy:r,icons:i}=t;(0,o.append)(e,i.screenshot),r(e,"click",(()=>{t.screenshot()}))}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],jW8r3:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r),r.default=function(e){return t=>{const r=t.option.quality,o=r.find((e=>e.default))||r[0];return{...e,style:{marginRight:"10px"},html:o?o.html:"",selector:r,onSelect(e){t.switchQuality(e.url,e.html)}}}}},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],eJYjN:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,mounted:e=>{const r=(0,o.append)(e,''),i=(0,o.append)(e,'');t.on("loop",(a=>{a&&a.length?((0,o.setStyle)(e,"display","block"),(0,o.setStyle)(r,"left",`calc(${a[0]/t.duration*100}% - ${r.clientWidth}px)`),(0,o.setStyle)(i,"left",a[1]/t.duration*100+"%")):(0,o.setStyle)(e,"display","none")}))}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],eFnNY:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>({...e,tooltip:t.i18n.get("AirPlay"),mounted:e=>{const{proxy:r,icons:i}=t;(0,o.append)(e,i.airplay),r(e,"click",(()=>t.airplay()))}})}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],XqyHm:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",(()=>b));var i=e("../utils"),a=e("../utils/component"),n=o.interopDefault(a),s=e("./playbackRate"),l=o.interopDefault(s),c=e("./aspectRatio"),p=o.interopDefault(c),u=e("./flip"),d=o.interopDefault(u),f=e("./info"),h=o.interopDefault(f),m=e("./version"),g=o.interopDefault(m),y=e("./close"),v=o.interopDefault(y);class b extends n.default{init(){const{option:e,proxy:t,template:{$player:r,$contextmenu:o}}=this.art;e.playbackRate&&this.add((0,l.default)({name:"playbackRate",index:10})),e.aspectRatio&&this.add((0,p.default)({name:"aspectRatio",index:20})),e.flip&&this.add((0,d.default)({name:"flip",index:30})),this.add((0,h.default)({name:"info",index:40})),this.add((0,g.default)({name:"version",index:50})),this.add((0,v.default)({name:"close",index:60}));for(let t=0;t{if(e.preventDefault(),!this.art.constructor.CONTEXTMENU)return;this.show=!0;const t=e.clientX,a=e.clientY,{height:n,width:s,left:l,top:c}=r.getBoundingClientRect(),{height:p,width:u}=o.getBoundingClientRect();let d=t-l,f=a-c;t+u>l+s&&(d=s-u),a+p>c+n&&(f=n-p),(0,i.setStyles)(o,{top:`${f}px`,left:`${d}px`})})),t(r,"click",(e=>{(0,i.includeFromEvent)(e,o)||(this.show=!1)})),this.art.on("blur",(()=>{this.show=!1}))}constructor(e){super(e),this.name="contextmenu",this.$parent=e.template.$contextmenu,i.isMobile||this.init()}}},{"../utils":"7drL4","../utils/component":"gEwXu","./playbackRate":"8vD6h","./aspectRatio":"lOf6Q","./flip":"9d8Kb","./info":"96FcY","./version":"2IeXY","./close":"8mYqj","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"8vD6h":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>{const{i18n:r,constructor:{PLAYBACK_RATE:i}}=t,a=i.map((e=>`${1===e?r.get("Normal"):e}`)).join("");return{...e,html:`${r.get("Play Speed")}: ${a}`,click:(e,r)=>{const{value:o}=r.target.dataset;o&&(t.playbackRate=Number(o),e.show=!1)},mounted:e=>{const r=(0,o.query)('[data-value="1"]',e);r&&(0,o.inverseClass)(r,"art-current"),t.on("video:ratechange",(()=>{const r=(0,o.queryAll)("span",e).find((e=>Number(e.dataset.value)===t.playbackRate));r&&(0,o.inverseClass)(r,"art-current")}))}}}}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],lOf6Q:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>{const{i18n:r,constructor:{ASPECT_RATIO:i}}=t,a=i.map((e=>`${"default"===e?r.get("Default"):e}`)).join("");return{...e,html:`${r.get("Aspect Ratio")}: ${a}`,click:(e,r)=>{const{value:o}=r.target.dataset;o&&(t.aspectRatio=o,e.show=!1)},mounted:e=>{const r=(0,o.query)('[data-value="default"]',e);r&&(0,o.inverseClass)(r,"art-current"),t.on("aspectRatio",(t=>{const r=(0,o.queryAll)("span",e).find((e=>e.dataset.value===t));r&&(0,o.inverseClass)(r,"art-current")}))}}}}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"9d8Kb":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){return t=>{const{i18n:r,constructor:{FLIP:i}}=t,a=i.map((e=>`${r.get((0,o.capitalize)(e))}`)).join("");return{...e,html:`${r.get("Video Flip")}: ${a}`,click:(e,r)=>{const{value:o}=r.target.dataset;o&&(t.flip=o.toLowerCase(),e.show=!1)},mounted:e=>{const r=(0,o.query)('[data-value="normal"]',e);r&&(0,o.inverseClass)(r,"art-current"),t.on("flip",(t=>{const r=(0,o.queryAll)("span",e).find((e=>e.dataset.value===t));r&&(0,o.inverseClass)(r,"art-current")}))}}}}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"96FcY":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r),r.default=function(e){return t=>({...e,html:t.i18n.get("Video Info"),click:e=>{t.info.show=!0,e.show=!1}})}},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"2IeXY":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r),r.default=function(e){return{...e,html:'ArtPlayer 5.0.0'}}},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"8mYqj":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r),r.default=function(e){return t=>({...e,html:t.i18n.get("Close"),click:e=>{e.show=!1}})}},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],fiMkm:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",(()=>s));var i=e("./utils"),a=e("./utils/component"),n=o.interopDefault(a);class s extends n.default{init(){const{proxy:e,constructor:t,template:{$infoPanel:r,$infoClose:o,$video:a}}=this.art;e(o,"click",(()=>{this.show=!1}));let n=null;const s=(0,i.queryAll)("[data-video]",r)||[];this.art.on("destroy",(()=>{clearTimeout(n)})),function e(){for(let e=0;eu));var i=e("./utils"),a=e("./utils/component"),n=o.interopDefault(a),s=e("option-validator"),l=o.interopDefault(s),c=e("./scheme"),p=o.interopDefault(c);class u extends n.default{get url(){return this.art.template.$track.src}set url(e){this.switch(e)}get textTrack(){return this.art.template.$video.textTracks[0]}get activeCue(){return this.textTrack.activeCues[0]}style(e,t){const{$subtitle:r}=this.art.template;return"object"==typeof e?(0,i.setStyles)(r,e):(0,i.setStyle)(r,e,t)}update(){const{$subtitle:e}=this.art.template;e.innerHTML="",this.activeCue&&(this.art.option.subtitle.escape?e.innerHTML=this.activeCue.text.split(/\r?\n/).map((e=>`${(0,i.escape)(e)}
`)).join(""):e.innerHTML=this.activeCue.text,this.art.emit("subtitleUpdate",this.activeCue.text))}async switch(e,t={}){const{i18n:r,notice:o,option:i}=this.art,a={...i.subtitle,...t,url:e},n=await this.init(a);return t.name&&(o.show=`${r.get("Switch Subtitle")}: ${t.name}`),n}createTrack(e,t){const{template:r,proxy:o}=this.art,{$video:a,$track:n}=r,s=(0,i.createElement)("track");s.default=!0,s.kind=e,s.src=t,s.track.mode="hidden",this.eventDestroy(),(0,i.remove)(n),(0,i.append)(a,s),r.$track=s,this.eventDestroy=o(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,i.getExt)(e.url)){case"srt":{const t=(0,i.srtToVtt)(r),o=e.onVttLoad(t);return(0,i.vttToBlob)(o)}case"ass":{const t=(0,i.assToVtt)(r),o=e.onVttLoad(t);return(0,i.vttToBlob)(o)}case"vtt":{const t=e.onVttLoad(r);return(0,i.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}))}constructor(e){super(e),this.name="subtitle",this.eventDestroy=()=>null,this.init(e.option.subtitle);let t=!1;e.on("video:timeupdate",(()=>{if(!this.url)return;const e=this.art.template.$video.webkitDisplayingFullscreen;"boolean"==typeof e&&e!==t&&(t=e,this.createTrack(e?"subtitles":"metadata",this.url))}))}}},{"./utils":"7drL4","./utils/component":"gEwXu","option-validator":"e1J0t","./scheme":"1s2bZ","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],aoN05:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",(()=>y));var i=e("../utils/error"),a=e("./clickInit"),n=o.interopDefault(a),s=e("./hoverInit"),l=o.interopDefault(s),c=e("./mousemoveInit"),p=o.interopDefault(c),u=e("./resizeInit"),d=o.interopDefault(u),f=e("./gestureInit"),h=o.interopDefault(f),m=e("./viewInit"),g=o.interopDefault(m);class y{proxy(e,t,r,o={}){if(Array.isArray(t))return t.map((t=>this.proxy(e,t,r,o)));e.addEventListener(t,r,o);const i=()=>e.removeEventListener(t,r,o);return this.destroyEvents.push(i),i}hover(e,t,r){t&&this.proxy(e,"mouseenter",t),r&&this.proxy(e,"mouseleave",r)}loadImg(e){return new Promise(((t,r)=>{let o;if(e instanceof HTMLImageElement)o=e;else{if("string"!=typeof e)return r(new(0,i.ArtPlayerError)("Unable to get Image"));o=new Image,o.src=e}if(o.complete)return t(o);this.proxy(o,"load",(()=>t(o))),this.proxy(o,"error",(()=>r(new(0,i.ArtPlayerError)(`Failed to load Image: ${o.src}`))))}))}destroy(){for(let e=0;e{(0,o.includeFromEvent)(t,i)?(e.isInput="INPUT"===t.target.tagName,e.isFocus=!0,e.emit("focus")):(e.isInput=!1,e.isFocus=!1,e.emit("blur"))}));let n=0;t.proxy(a,"click",(()=>{const t=Date.now();t-n<=r.DB_CLICE_TIME?(e.emit("dblclick"),o.isMobile?e.isLock||e.toggle():e.fullscreen=!e.fullscreen):(e.emit("click"),o.isMobile||e.toggle()),n=t}))}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],kRkOi:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e,t){const{$player:r}=e.template;t.hover(r,(t=>{(0,o.addClass)(r,"art-hover"),e.emit("hover",!0,t)}),(t=>{(0,o.removeClass)(r,"art-hover"),e.emit("hover",!1,t)}))}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],fQSIu:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r),r.default=function(e,t){const{$player:r}=e.template;t.proxy(r,"mousemove",(t=>{e.emit("mousemove",t)}))}},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],fcoK8:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e,t){const{option:r}=e,i=(0,o.throttle)((()=>{e.normalSize&&(e.autoSize=r.autoSize),e.aspectRatioReset=!0,e.notice.show="",e.emit("resize")}),e.constructor.RESIZE_TIME);t.proxy(window,["orientationchange","resize"],(()=>{i()})),screen&&screen.orientation&&screen.orientation.onchange&&t.proxy(screen.orientation,"change",(()=>{i()}))}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],jgnYa:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils"),i=e("../control/progress");r.default=function(e,t){if(o.isMobile&&!e.option.isLive){const{$video:r,$progress:a}=e.template;let n=null,s=!1,l=0,c=0,p=0;const u=t=>{if(1===t.touches.length&&!e.isLock){n===a&&(0,i.setCurrentTime)(e,t),s=!0;const{clientX:r,clientY:o}=t.touches[0];l=r,c=o,p=e.currentTime}},d=t=>{if(1===t.touches.length&&s&&e.duration){const{clientX:i,clientY:a}=t.touches[0],s=(0,o.clamp)((i-l)/e.width,-1,1),u=(0,o.clamp)((a-c)/e.height,-1,1),d=e.isRotate?u:s,f=n===r?e.constructor.TOUCH_MOVE_RATIO:1,h=(0,o.clamp)(p+e.duration*d*f,0,e.duration);e.seek=h,e.emit("setBar","played",(0,o.clamp)(h/e.duration,0,1)),e.notice.show=`${(0,o.secondToTime)(h)} / ${(0,o.secondToTime)(e.duration)}`}},f=()=>{s&&(l=0,c=0,p=0,s=!1,n=null)};t.proxy(a,"touchstart",(e=>{n=a,u(e)})),t.proxy(r,"touchstart",(e=>{n=r,u(e)})),t.proxy(r,"touchmove",d),t.proxy(a,"touchmove",d),t.proxy(document,"touchend",f)}}},{"../utils":"7drL4","../control/progress":"3g6RZ","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],k09YH:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e,t){const{option:r,constructor:i,template:{$container:a}}=e,n=(0,o.throttle)((()=>{e.emit("view",(0,o.isInViewport)(a,i.SCROLL_GAP))}),i.SCROLL_TIME);t.proxy(window,"scroll",(()=>{n()})),e.on("view",(t=>{r.autoMini&&(e.mini=!t)}))}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],ba6C3:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",(()=>a));var i=e("./utils");class a{init(){const{proxy:e,constructor:t}=this.art;this.add(27,(()=>{this.art.fullscreenWeb&&(this.art.fullscreenWeb=!1)})),this.add(32,(()=>{this.art.toggle()})),this.add(37,(()=>{this.art.backward=t.SEEK_STEP})),this.add(38,(()=>{this.art.volume+=t.VOLUME_STEP})),this.add(39,(()=>{this.art.forward=t.SEEK_STEP})),this.add(40,(()=>{this.art.volume-=t.VOLUME_STEP})),e(window,"keydown",(e=>{if(this.art.isFocus){const t=document.activeElement.tagName.toUpperCase(),r=document.activeElement.getAttribute("contenteditable");if("INPUT"!==t&&"TEXTAREA"!==t&&""!==r&&"true"!==r){const t=this.keys[e.keyCode];if(t){e.preventDefault();for(let r=0;rn));var i=e("./utils/component"),a=o.interopDefault(i);class n extends a.default{constructor(e){super(e);const{option:t,template:{$layer:r}}=e;this.name="layer",this.$parent=r;for(let e=0;es));var i=e("./utils"),a=e("./utils/component"),n=o.interopDefault(a);class s extends n.default{constructor(e){super(e),this.name="loading",(0,i.append)(e.template.$loading,e.icons.loading)}}},{"./utils":"7drL4","./utils/component":"gEwXu","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],e1V9b:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",(()=>a));var i=e("./utils");class a{set show(e){const{constructor:t,template:{$player:r,$noticeInner:o}}=this.art;e?(o.innerText=e instanceof Error?e.message.trim():e,(0,i.addClass)(r,"art-notice-show"),clearTimeout(this.timer),this.timer=setTimeout((()=>{o.innerText="",(0,i.removeClass)(r,"art-notice-show")}),t.NOTICE_TIME)):(0,i.removeClass)(r,"art-notice-show")}constructor(e){this.art=e,this.timer=null}}},{"./utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"7Eyvg":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",(()=>s));var i=e("./utils"),a=e("./utils/component"),n=o.interopDefault(a);class s extends n.default{constructor(e){super(e),this.name="mask";const{template:t,icons:r,events:o}=e,a=(0,i.append)(t.$state,r.state),n=(0,i.append)(t.$state,r.error);(0,i.setStyle)(n,"display","none"),e.on("destroy",(()=>{(0,i.setStyle)(a,"display","none"),(0,i.setStyle)(n,"display",null)})),o.proxy(t.$state,"click",(()=>e.play()))}}},{"./utils":"7drL4","./utils/component":"gEwXu","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],jccXh:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",(()=>ae));var i=e("../utils"),a=e("bundle-text:./loading.svg"),n=o.interopDefault(a),s=e("bundle-text:./state.svg"),l=o.interopDefault(s),c=e("bundle-text:./check.svg"),p=o.interopDefault(c),u=e("bundle-text:./play.svg"),d=o.interopDefault(u),f=e("bundle-text:./pause.svg"),h=o.interopDefault(f),m=e("bundle-text:./volume.svg"),g=o.interopDefault(m),y=e("bundle-text:./volume-close.svg"),v=o.interopDefault(y),b=e("bundle-text:./screenshot.svg"),x=o.interopDefault(b),w=e("bundle-text:./setting.svg"),j=o.interopDefault(w),k=e("bundle-text:./arrow-left.svg"),S=o.interopDefault(k),P=e("bundle-text:./arrow-right.svg"),T=o.interopDefault(P),I=e("bundle-text:./playback-rate.svg"),$=o.interopDefault(I),E=e("bundle-text:./aspect-ratio.svg"),M=o.interopDefault(E),L=e("bundle-text:./config.svg"),F=o.interopDefault(L),V=e("bundle-text:./pip.svg"),C=o.interopDefault(V),A=e("bundle-text:./lock.svg"),D=o.interopDefault(A),z=e("bundle-text:./unlock.svg"),R=o.interopDefault(z),O=e("bundle-text:./fullscreen-off.svg"),N=o.interopDefault(O),H=e("bundle-text:./fullscreen-on.svg"),_=o.interopDefault(H),W=e("bundle-text:./fullscreen-web-off.svg"),q=o.interopDefault(W),B=e("bundle-text:./fullscreen-web-on.svg"),U=o.interopDefault(B),Y=e("bundle-text:./switch-on.svg"),G=o.interopDefault(Y),Z=e("bundle-text:./switch-off.svg"),J=o.interopDefault(Z),K=e("bundle-text:./flip.svg"),X=o.interopDefault(K),Q=e("bundle-text:./error.svg"),ee=o.interopDefault(Q),te=e("bundle-text:./close.svg"),re=o.interopDefault(te),oe=e("bundle-text:./airplay.svg"),ie=o.interopDefault(oe);class ae{constructor(e){const t={loading:n.default,state:l.default,play:d.default,pause:h.default,check:p.default,volume:g.default,volumeClose:v.default,screenshot:x.default,setting:j.default,pip:C.default,arrowLeft:S.default,arrowRight:T.default,playbackRate:$.default,aspectRatio:M.default,config:F.default,lock:D.default,flip:X.default,unlock:R.default,fullscreenOff:N.default,fullscreenOn:_.default,fullscreenWebOff:q.default,fullscreenWebOn:U.default,switchOn:G.default,switchOff:J.default,error:ee.default,close:re.default,airplay:ie.default,...e.option.icons};Object.keys(t).forEach((e=>{(0,i.def)(this,e,{get:()=>{const r=(0,i.createElement)("i");return(0,i.addClass)(r,"art-icon"),(0,i.addClass)(r,`art-icon-${e}`),(0,i.append)(r,t[e]),r}})}))}}},{"../utils":"7drL4","bundle-text:./loading.svg":"cI8s8","bundle-text:./state.svg":"hAK1t","bundle-text:./check.svg":"kQjLS","bundle-text:./play.svg":"4LhQx","bundle-text:./pause.svg":"iyFjq","bundle-text:./volume.svg":"lVGXj","bundle-text:./volume-close.svg":"5FfiQ","bundle-text:./screenshot.svg":"acOxs","bundle-text:./setting.svg":"7n7eT","bundle-text:./arrow-left.svg":"4KKm3","bundle-text:./arrow-right.svg":"12rWG","bundle-text:./playback-rate.svg":"crwm6","bundle-text:./aspect-ratio.svg":"aEBuh","bundle-text:./config.svg":"8LTtW","bundle-text:./pip.svg":"irWdG","bundle-text:./lock.svg":"26moK","bundle-text:./unlock.svg":"b6ygV","bundle-text:./fullscreen-off.svg":"105zd","bundle-text:./fullscreen-on.svg":"fSuWv","bundle-text:./fullscreen-web-off.svg":"jfsCv","bundle-text:./fullscreen-web-on.svg":"3P2GA","bundle-text:./switch-on.svg":"gyApI","bundle-text:./switch-off.svg":"7ccNg","bundle-text:./flip.svg":"fALt8","bundle-text:./error.svg":"dBF3H","bundle-text:./close.svg":"v2ERQ","bundle-text:./airplay.svg":"eClOS","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],cI8s8:[function(e,t,r){t.exports=''},{}],hAK1t:[function(e,t,r){t.exports=''},{}],kQjLS:[function(e,t,r){t.exports=''},{}],"4LhQx":[function(e,t,r){t.exports=''},{}],iyFjq:[function(e,t,r){t.exports=''},{}],lVGXj:[function(e,t,r){t.exports=''},{}],"5FfiQ":[function(e,t,r){t.exports=''},{}],acOxs:[function(e,t,r){t.exports=''},{}],"7n7eT":[function(e,t,r){t.exports=''},{}],"4KKm3":[function(e,t,r){t.exports=''},{}],"12rWG":[function(e,t,r){t.exports=''},{}],crwm6:[function(e,t,r){t.exports=''},{}],aEBuh:[function(e,t,r){t.exports=''},{}],"8LTtW":[function(e,t,r){t.exports=''},{}],irWdG:[function(e,t,r){t.exports=''},{}],"26moK":[function(e,t,r){t.exports=''},{}],b6ygV:[function(e,t,r){t.exports=''},{}],"105zd":[function(e,t,r){t.exports=''},{}],fSuWv:[function(e,t,r){t.exports=''},{}],jfsCv:[function(e,t,r){t.exports=''},{}],"3P2GA":[function(e,t,r){t.exports=''},{}],gyApI:[function(e,t,r){t.exports=''},{}],"7ccNg":[function(e,t,r){t.exports=''},{}],fALt8:[function(e,t,r){t.exports=''},{}],dBF3H:[function(e,t,r){t.exports=''},{}],v2ERQ:[function(e,t,r){t.exports=''},{}],eClOS:[function(e,t,r){t.exports=''},{}],gBKqL:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",(()=>m));var i=e("./flip"),a=o.interopDefault(i),n=e("./aspectRatio"),s=o.interopDefault(n),l=e("./playbackRate"),c=o.interopDefault(l),p=e("./subtitleOffset"),u=o.interopDefault(p),d=e("../utils/component"),f=o.interopDefault(d),h=e("../utils");class m extends f.default{static makeRecursion(e,t,r){for(let o=0;oe())),this.events=[],this.$parent.innerHTML="",this.option=m.makeRecursion(this.option),this.init(this.option),this.option}add(e){return this.option.push(e),this.update(),e}creatHeader(e){const{icons:t,proxy:r}=this.art,o=(0,h.createElement)("div");(0,h.addClass)(o,"art-setting-item"),(0,h.addClass)(o,"art-setting-item-back");const i=(0,h.append)(o,''),a=(0,h.createElement)("div");(0,h.addClass)(a,"art-setting-item-left-icon"),(0,h.append)(a,t.arrowLeft),(0,h.append)(i,a),(0,h.append)(i,e.$parentItem.html);const n=r(o,"click",(()=>this.init(e.$parentList)));return this.events.push(n),o}creatItem(e,t){const{icons:r,proxy:o}=this.art,i=(0,h.createElement)("div");(0,h.addClass)(i,"art-setting-item"),(0,h.isStringOrNumber)(t.name)&&(i.dataset.name=t.name),(0,h.isStringOrNumber)(t.value)&&(i.dataset.value=t.value);const a=(0,h.append)(i,''),n=(0,h.append)(i,''),s=(0,h.createElement)("div");switch((0,h.addClass)(s,"art-setting-item-left-icon"),e){case"switch":case"range":(0,h.append)(s,(0,h.isStringOrNumber)(t.icon)||t.icon instanceof Element?t.icon:r.config);break;case"selector":t.selector&&t.selector.length?(0,h.append)(s,(0,h.isStringOrNumber)(t.icon)||t.icon instanceof Element?t.icon:r.config):(0,h.append)(s,r.check)}(0,h.append)(a,s),t.$icon=s,(0,h.def)(t,"icon",{configurable:!0,get:()=>s.innerHTML,set(e){(0,h.isStringOrNumber)(e)&&(s.innerHTML=e)}});const l=(0,h.createElement)("div");(0,h.addClass)(l,"art-setting-item-left-text"),(0,h.append)(l,t.html||""),(0,h.append)(a,l),t.$html=l,(0,h.def)(t,"html",{configurable:!0,get:()=>l.innerHTML,set(e){(0,h.isStringOrNumber)(e)&&(l.innerHTML=e)}});const c=(0,h.createElement)("div");switch((0,h.addClass)(c,"art-setting-item-right-tooltip"),(0,h.append)(c,t.tooltip||""),(0,h.append)(n,c),t.$tooltip=c,(0,h.def)(t,"tooltip",{configurable:!0,get:()=>c.innerHTML,set(e){(0,h.isStringOrNumber)(e)&&(c.innerHTML=e)}}),e){case"switch":{const e=(0,h.createElement)("div");(0,h.addClass)(e,"art-setting-item-right-icon");const o=(0,h.append)(e,r.switchOn),i=(0,h.append)(e,r.switchOff);(0,h.setStyle)(t.switch?i:o,"display","none"),(0,h.append)(n,e),t.$switch=t.switch,(0,h.def)(t,"switch",{configurable:!0,get:()=>t.$switch,set(e){t.$switch=e,e?((0,h.setStyle)(i,"display","none"),(0,h.setStyle)(o,"display",null)):((0,h.setStyle)(i,"display",null),(0,h.setStyle)(o,"display","none"))}});break}case"range":{const e=(0,h.createElement)("div");(0,h.addClass)(e,"art-setting-item-right-icon");const r=(0,h.append)(e,'');r.value=t.range[0]||0,r.min=t.range[1]||0,r.max=t.range[2]||10,r.step=t.range[3]||1,(0,h.addClass)(r,"art-setting-range"),(0,h.append)(n,e),t.$range=r,(0,h.def)(t,"range",{configurable:!0,get:()=>r.valueAsNumber,set(e){r.value=Number(e)}})}break;case"selector":if(t.selector&&t.selector.length){const e=(0,h.createElement)("div");(0,h.addClass)(e,"art-setting-item-right-icon"),(0,h.append)(e,r.arrowRight),(0,h.append)(n,e)}}switch(e){case"switch":if(t.onSwitch){const e=o(i,"click",(async e=>{t.switch=await t.onSwitch.call(this.art,t,i,e)}));this.events.push(e)}break;case"range":if(t.$range){if(t.onRange){const e=o(t.$range,"change",(async e=>{t.tooltip=await t.onRange.call(this.art,t,i,e)}));this.events.push(e)}if(t.onChange){const e=o(t.$range,"input",(async e=>{t.tooltip=await t.onChange.call(this.art,t,i,e)}));this.events.push(e)}}break;case"selector":{const e=o(i,"click",(async e=>{if(t.selector&&t.selector.length)this.init(t.selector,t.width);else{(0,h.inverseClass)(i,"art-current");for(let e=0;ec?((0,h.setStyle)(i,"left","auto"),(0,h.setStyle)(i,"right","10px")):((0,h.setStyle)(i,"left",`${p}px`),(0,h.setStyle)(i,"right","auto"))}else(0,h.setStyle)(i,"left","auto"),(0,h.setStyle)(i,"right","10px")}init(e,t){const{constructor:r}=this.art;if(this.cache.has(e)){const t=this.cache.get(e);(0,h.inverseClass)(t,"art-current"),(0,h.setStyle)(this.$parent,"width",`${t.dataset.width}px`),(0,h.setStyle)(this.$parent,"height",`${t.dataset.height}px`),this.updateStyle(Number(t.dataset.width))}else{const o=(0,h.createElement)("div");(0,h.addClass)(o,"art-setting-panel"),o.dataset.width=t||r.SETTING_WIDTH,o.dataset.height=e.length*r.SETTING_ITEM_HEIGHT,e[0]&&e[0].$parentItem&&((0,h.append)(o,this.creatHeader(e[0])),o.dataset.height=Number(o.dataset.height)+r.SETTING_ITEM_HEIGHT);for(let t=0;t{this.show&&(this.show=!1,this.init(this.option))})),r(i,"click",(t=>{!this.show||(0,h.includeFromEvent)(t,e.controls.setting)||(0,h.includeFromEvent)(t,this.$parent)||(this.show=!1,this.init(this.option))}))}}}},{"./flip":"jJJjW","./aspectRatio":"46lOt","./playbackRate":"kHkmx","./subtitleOffset":"1GQ3B","../utils/component":"gEwXu","../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],jJJjW:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{i18n:t,icons:r,constructor:{SETTING_ITEM_WIDTH:i,FLIP:a}}=e;function n(e,r,i){r&&(r.innerText=t.get((0,o.capitalize)(i)));const a=(0,o.queryAll)(".art-setting-item",e).find((e=>e.dataset.value===i));a&&(0,o.inverseClass)(a,"art-current")}return{width:i,html:t.get("Video Flip"),tooltip:t.get((0,o.capitalize)(e.flip)),icon:r.flip,selector:a.map((r=>({value:r,default:r===e.flip,html:t.get((0,o.capitalize)(r))}))),onSelect:t=>(e.flip=t.value,t.value),mounted:(t,r)=>{n(t,r.$tooltip,e.flip),e.on("flip",(()=>{n(t,r.$tooltip,e.flip)}))}}}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"46lOt":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{i18n:t,icons:r,constructor:{SETTING_ITEM_WIDTH:i,ASPECT_RATIO:a}}=e;function n(e){return"default"===e?t.get("Default"):e}function s(e,t,r){t&&(t.innerText=n(r));const i=(0,o.queryAll)(".art-setting-item",e).find((e=>e.dataset.value===r));i&&(0,o.inverseClass)(i,"art-current")}return{width:i,html:t.get("Aspect Ratio"),icon:r.aspectRatio,tooltip:n(e.aspectRatio),selector:a.map((t=>({value:t,default:t===e.aspectRatio,html:n(t)}))),onSelect:t=>(e.aspectRatio=t.value,t.value),mounted:(t,r)=>{s(t,r.$tooltip,e.aspectRatio),e.on("aspectRatio",(()=>{s(t,r.$tooltip,e.aspectRatio)}))}}}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],kHkmx:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{i18n:t,icons:r,constructor:{SETTING_ITEM_WIDTH:i,PLAYBACK_RATE:a}}=e;function n(e){return 1===e?t.get("Normal"):e}function s(e,t,r){t&&(t.innerText=n(r));const i=(0,o.queryAll)(".art-setting-item",e).find((e=>Number(e.dataset.value)===r));i&&(0,o.inverseClass)(i,"art-current")}return{width:i,html:t.get("Play Speed"),tooltip:n(e.playbackRate),icon:r.playbackRate,selector:a.map((t=>({value:t,default:t===e.playbackRate,html:n(t)}))),onSelect:t=>(e.playbackRate=t.value,t.value),mounted:(t,r)=>{s(t,r.$tooltip,e.playbackRate),e.on("video:ratechange",(()=>{s(t,r.$tooltip,e.playbackRate)}))}}}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"1GQ3B":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r),r.default=function(e){const{i18n:t,icons:r,constructor:o}=e;return{width:o.SETTING_ITEM_WIDTH,html:t.get("Subtitle Offset"),icon:r.subtitle,tooltip:"0s",range:[0,-5,5,.1],onChange:t=>(e.subtitleOffset=t.range,t.range+"s")}}},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"71DyG":[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",(()=>i));class i{get(e){try{const t=JSON.parse(window.localStorage.getItem(this.name))||{};return e?t[e]:t}catch(t){return e?this.settings[e]:this.settings}}set(e,t){try{const r=Object.assign({},this.get(),{[e]:t});window.localStorage.setItem(this.name,JSON.stringify(r))}catch(r){this.settings[e]=t}}del(e){try{const t=this.get();delete t[e],window.localStorage.setItem(this.name,JSON.stringify(t))}catch(t){delete this.settings[e]}}clear(){try{window.localStorage.removeItem(this.name)}catch(e){this.settings={}}}constructor(){this.name="artplayer_settings",this.settings={}}}},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],kWGSQ:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",(()=>m));var i=e("../utils"),a=e("./miniProgressBar"),n=o.interopDefault(a),s=e("./autoOrientation"),l=o.interopDefault(s),c=e("./autoPlayback"),p=o.interopDefault(c),u=e("./fastForward"),d=o.interopDefault(u),f=e("./lock"),h=o.interopDefault(f);class m{add(e){this.id+=1;const t=e.call(this.art,this.art),r=t&&t.name||e.name||`plugin${this.id}`;return(0,i.errorHandle)(!(0,i.has)(this,r),`Cannot add a plugin that already has the same name: ${r}`),(0,i.def)(this,r,{value:t}),this}constructor(e){this.art=e,this.id=0;const{option:t}=e;t.miniProgressBar&&!t.isLive&&this.add(n.default),t.lock&&i.isMobile&&this.add(h.default),t.autoPlayback&&!t.isLive&&this.add(p.default),t.autoOrientation&&i.isMobile&&this.add(l.default),t.fastForward&&i.isMobile&&!t.isLive&&this.add(d.default);for(let e=0;e{e.layers.add({name:"miniProgressBar",mounted(t){e.on("destroy",(()=>{t.style.display="none"})),e.on("video:timeupdate",(()=>{t.style.width=100*e.played+"%"})),e.on("setBar",((e,r)=>{"played"===e&&(t.style.width=100*r+"%")}))}})})),{name:"miniProgressBar"}}},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"5Cp1r":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{option:t,constructor:r,template:{$player:i,$video:a}}=e;return e.on("fullscreenWeb",(n=>{if(n){const{videoWidth:t,videoHeight:n}=a,{clientWidth:s,clientHeight:l}=document.documentElement;(t>n&&sl)&&setTimeout((()=>{(0,o.setStyle)(i,"width",`${l}px`),(0,o.setStyle)(i,"height",`${s}px`),(0,o.setStyle)(i,"transform-origin","0 0"),(0,o.setStyle)(i,"transform",`rotate(90deg) translate(0, -${s}px)`),(0,o.addClass)(i,"art-auto-orientation"),e.isRotate=!0,e.emit("resize")}),r.MOBILE_AUTO_ORIENTATION_TIME)}else(0,o.hasClass)(i,"art-auto-orientation")&&((0,o.setStyle)(i,"width",null),(0,o.setStyle)(i,"height",null),(0,o.setStyle)(i,"transform",null),(0,o.setStyle)(i,"transform-origin",null),(0,o.removeClass)(i,"art-auto-orientation"),e.isRotate=!1,e.aspectRatioReset=!0,e.autoSize=t.autoSize,e.notice.show="",e.emit("resize"))})),e.on("fullscreen",(async e=>{const t=screen.orientation.type;if(e){const{videoWidth:e,videoHeight:r}=a,{clientWidth:n,clientHeight:s}=document.documentElement;if(e>r&&ns){const e=t.startsWith("portrait")?"landscape":"portrait";await screen.orientation.lock(e),(0,o.addClass)(i,"art-auto-orientation-fullscreen")}}else(0,o.hasClass)(i,"art-auto-orientation-fullscreen")&&(await screen.orientation.lock(t),(0,o.removeClass)(i,"art-auto-orientation-fullscreen"))})),{name:"autoOrientation",get state(){return(0,o.hasClass)(i,"art-auto-orientation")}}}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],l9En2:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{i18n:t,icons:r,storage:i,constructor:a,proxy:n,template:{$poster:s}}=e,l=e.layers.add({name:"autoPlayback",html:''}),c=(0,o.query)(".art-autoPlayback-last",l),p=(0,o.query)(".art-autoPlayback-jump",l),u=(0,o.query)(".art-autoPlayback-close",l);return e.on("video:timeupdate",(()=>{const t=i.get("times")||{},r=Object.keys(t);r.length>a.AUTO_PLAYBACK_MAX&&delete t[r[0]],t[e.option.id||e.option.url]=e.currentTime,i.set("times",t)})),e.on("ready",(()=>{const d=(i.get("times")||{})[e.option.id||e.option.url];d&&d>=a.AUTO_PLAYBACK_MIN&&((0,o.append)(u,r.close),(0,o.setStyle)(l,"display","flex"),c.innerText=`${t.get("Last Seen")} ${(0,o.secondToTime)(d)}`,p.innerText=t.get("Jump Play"),n(u,"click",(()=>{(0,o.setStyle)(l,"display","none")})),n(p,"click",(()=>{e.seek=d,e.play(),(0,o.setStyle)(s,"display","none"),(0,o.setStyle)(l,"display","none")})),e.once("video:timeupdate",(()=>{setTimeout((()=>{(0,o.setStyle)(l,"display","none")}),a.AUTO_PLAYBACK_TIMEOUT)})))})),{name:"autoPlayback",get times(){return i.get("times")||{}},clear:()=>i.del("times"),delete(e){const t=i.get("times")||{};return delete t[e],i.set("times",t),t}}}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"67viW":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{constructor:t,proxy:r,template:{$player:i,$video:a}}=e;let n=null,s=!1,l=1;const c=()=>{clearTimeout(n),s&&(s=!1,e.playbackRate=l,(0,o.removeClass)(i,"art-fast-forward"))};return r(a,"touchstart",(r=>{1===r.touches.length&&e.playing&&!e.isLock&&(n=setTimeout((()=>{s=!0,l=e.playbackRate,e.playbackRate=t.FAST_FORWARD_VALUE,(0,o.addClass)(i,"art-fast-forward")}),t.FAST_FORWARD_TIME))})),r(document,"touchmove",c),r(document,"touchend",c),{name:"fastForward",get state(){return(0,o.hasClass)(i,"art-fast-forward")}}}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],dJnlB:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var o=e("../utils");r.default=function(e){const{layers:t,icons:r,template:{$player:i}}=e;return t.add({name:"lock",mounted(t){const i=(0,o.append)(t,r.lock),a=(0,o.append)(t,r.unlock);(0,o.setStyle)(i,"display","none"),e.on("lock",(e=>{e?((0,o.setStyle)(i,"display","inline-flex"),(0,o.setStyle)(a,"display","none")):((0,o.setStyle)(i,"display","none"),(0,o.setStyle)(a,"display","inline-flex"))}))},click(){(0,o.hasClass)(i,"art-lock")?((0,o.removeClass)(i,"art-lock"),this.isLock=!1,e.emit("lock",!1)):((0,o.addClass)(i,"art-lock"),this.isLock=!0,e.emit("lock",!0))}}),{name:"lock",get state(){return(0,o.hasClass)(i,"art-lock")}}}},{"../utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],lFrMF:[function(e,t,r){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",(()=>s));var i=e("./config"),a=o.interopDefault(i),n=e("./utils");class s{constructor(e){const{option:t,proxy:r,template:{$video:o}}=e;for(let t=0;t{e.emit(`video:${t.type}`,t)}));Object.keys(t.moreVideoAttr).forEach((e=>{o[e]=t.moreVideoAttr[e]})),o.controls=!0,t.muted&&(o.muted=t.muted),t.volume&&(o.volume=(0,n.clamp)(t.volume,0,1)),t.poster&&(o.poster=t.poster),t.autoplay&&(o.autoplay=t.autoplay),t.playsInline&&(o.playsInline=!0,o["webkit-playsinline"]=!0);const i=t.type||(0,n.getExt)(t.url),s=t.customType[i];i&&s?s(o,t.url,e):(o.src=t.url,e.emit("url",o.src))}}},{"./config":"1shlC","./utils":"7drL4","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}]},["4GL94"],"4GL94","parcelRequire4dc0");
\ No newline at end of file
diff --git a/packages/artplayer/package.json b/packages/artplayer/package.json
index 779ef967b..d7d116c3d 100644
--- a/packages/artplayer/package.json
+++ b/packages/artplayer/package.json
@@ -1,7 +1,7 @@
{
"license": "MIT",
"name": "artplayer",
- "version": "4.6.3",
+ "version": "5.0.0",
"main": "dist/artplayer.js",
"legacy": "dist/artplayer.legacy.js",
"types": "types/artplayer.d.ts",
@@ -24,4 +24,4 @@
"dependencies": {
"option-validator": "^2.0.6"
}
-}
+}
\ No newline at end of file
diff --git a/packages/artplayer/src/contextmenu/aspectRatio.js b/packages/artplayer/src/contextmenu/aspectRatio.js
index 52e0118f3..89142f698 100644
--- a/packages/artplayer/src/contextmenu/aspectRatio.js
+++ b/packages/artplayer/src/contextmenu/aspectRatio.js
@@ -6,13 +6,14 @@ export default function aspectRatio(option) {
i18n,
constructor: { ASPECT_RATIO },
} = art;
+
+ const html = ASPECT_RATIO.map(
+ (item) => `${item === 'default' ? i18n.get('Default') : item}`,
+ ).join('');
+
return {
...option,
- html: `${i18n.get('Aspect Ratio')}:
- ${ASPECT_RATIO.map(
- (item) => `${item === 'default' ? i18n.get('Default') : item}`,
- ).join('')}
- `,
+ html: `${i18n.get('Aspect Ratio')}: ${html}`,
click: (contextmenu, event) => {
const { value } = event.target.dataset;
if (value) {
@@ -22,7 +23,9 @@ export default function aspectRatio(option) {
},
mounted: ($panel) => {
const $default = query('[data-value="default"]', $panel);
- if ($default) inverseClass($default, 'art-current');
+ if ($default) {
+ inverseClass($default, 'art-current');
+ }
art.on('aspectRatio', (value) => {
const $current = queryAll('span', $panel).find((item) => item.dataset.value === value);
if ($current) {
diff --git a/packages/artplayer/src/contextmenu/flip.js b/packages/artplayer/src/contextmenu/flip.js
index eee61296c..fbfd45953 100644
--- a/packages/artplayer/src/contextmenu/flip.js
+++ b/packages/artplayer/src/contextmenu/flip.js
@@ -7,11 +7,11 @@ export default function flip(option) {
constructor: { FLIP },
} = art;
+ const html = FLIP.map((item) => `${i18n.get(capitalize(item))}`).join('');
+
return {
...option,
- html: `${i18n.get('Video Flip')}:
- ${FLIP.map((item) => `${i18n.get(capitalize(item))}`).join('')}
- `,
+ html: `${i18n.get('Video Flip')}: ${html}`,
click: (contextmenu, event) => {
const { value } = event.target.dataset;
if (value) {
@@ -21,7 +21,9 @@ export default function flip(option) {
},
mounted: ($panel) => {
const $default = query('[data-value="normal"]', $panel);
- if ($default) inverseClass($default, 'art-current');
+ if ($default) {
+ inverseClass($default, 'art-current');
+ }
art.on('flip', (value) => {
const $current = queryAll('span', $panel).find((item) => item.dataset.value === value);
if ($current) {
diff --git a/packages/artplayer/src/contextmenu/playbackRate.js b/packages/artplayer/src/contextmenu/playbackRate.js
index d077f789b..eef4ccf0a 100644
--- a/packages/artplayer/src/contextmenu/playbackRate.js
+++ b/packages/artplayer/src/contextmenu/playbackRate.js
@@ -7,13 +7,13 @@ export default function playbackRate(option) {
constructor: { PLAYBACK_RATE },
} = art;
+ const html = PLAYBACK_RATE.map(
+ (item) => `${item === 1 ? i18n.get('Normal') : item.toFixed(1)}`,
+ ).join('');
+
return {
...option,
- html: `${i18n.get('Play Speed')}:
- ${PLAYBACK_RATE.map(
- (item) => `${item === 1 ? i18n.get('Normal') : item}`,
- ).join('')}
- `,
+ html: `${i18n.get('Play Speed')}: ${html}`,
click: (contextmenu, event) => {
const { value } = event.target.dataset;
if (value) {
diff --git a/packages/artplayer/src/control/loop.js b/packages/artplayer/src/control/loop.js
index 95944becf..552dbe318 100644
--- a/packages/artplayer/src/control/loop.js
+++ b/packages/artplayer/src/control/loop.js
@@ -9,7 +9,7 @@ export default function loop(option) {
art.on('loop', (value) => {
if (value && value.length) {
- setStyle($control, 'display', 'block');
+ setStyle($control, 'display', 'flex');
setStyle($left, 'left', `calc(${(value[0] / art.duration) * 100}% - ${$left.clientWidth}px)`);
setStyle($right, 'left', `${(value[1] / art.duration) * 100}%`);
} else {
diff --git a/packages/artplayer/src/control/progress.js b/packages/artplayer/src/control/progress.js
index 9f7465573..a0099567b 100644
--- a/packages/artplayer/src/control/progress.js
+++ b/packages/artplayer/src/control/progress.js
@@ -32,6 +32,7 @@ export default function progress(options) {
...options,
html: `
+
@@ -41,22 +42,17 @@ export default function progress(options) {
`,
mounted: ($control) => {
let isDroging = false;
+ const $hover = query('.art-progress-hover', $control);
const $loaded = query('.art-progress-loaded', $control);
const $played = query('.art-progress-played', $control);
const $highlight = query('.art-progress-highlight', $control);
const $indicator = query('.art-progress-indicator', $control);
const $tip = query('.art-progress-tip', $control);
- const {
- PROGRESS_HEIGHT,
- INDICATOR_SIZE,
- INDICATOR_SIZE_ICON,
- INDICATOR_SIZE_MOBILE,
- INDICATOR_SIZE_MOBILE_ICON,
- } = art.constructor;
+ const { INDICATOR_SIZE, INDICATOR_SIZE_ICON, INDICATOR_SIZE_MOBILE, INDICATOR_SIZE_MOBILE_ICON } =
+ art.constructor;
- setStyle($control, 'height', `${PROGRESS_HEIGHT}px`);
- setStyle($played, 'backgroundColor', 'var(--theme)');
+ setStyle($played, 'backgroundColor', 'var(--art-theme)');
let indicatorSize = INDICATOR_SIZE;
@@ -65,7 +61,7 @@ export default function progress(options) {
append($indicator, icons.indicator);
} else {
setStyles($indicator, {
- backgroundColor: 'var(--theme)',
+ backgroundColor: 'var(--art-theme)',
});
}
@@ -120,14 +116,18 @@ export default function progress(options) {
}
}
+ function setHover(event) {
+ const { width } = getPosFromEvent(art, event);
+ setStyle($hover, 'width', `${width}px`);
+ setStyle($hover, 'display', 'flex');
+ }
+
art.on('video:loadedmetadata', () => {
for (let index = 0; index < option.highlight.length; index++) {
const item = option.highlight[index];
const left = (clamp(item.time, 0, art.duration) / art.duration) * 100;
- append(
- $highlight,
- `
`,
- );
+ const html = `
`;
+ append($highlight, html);
}
});
@@ -157,7 +157,8 @@ export default function progress(options) {
});
proxy($control, 'mousemove', (event) => {
- setStyle($tip, 'display', 'block');
+ setHover(event);
+ setStyle($tip, 'display', 'flex');
if (includeFromEvent(event, $highlight)) {
showHighlight(event);
} else {
@@ -167,6 +168,7 @@ export default function progress(options) {
proxy($control, 'mouseleave', () => {
setStyle($tip, 'display', 'none');
+ setStyle($hover, 'display', 'none');
});
proxy($control, 'mousedown', () => {
diff --git a/packages/artplayer/src/control/thumbnails.js b/packages/artplayer/src/control/thumbnails.js
index c7e010a94..4d5db52a1 100644
--- a/packages/artplayer/src/control/thumbnails.js
+++ b/packages/artplayer/src/control/thumbnails.js
@@ -46,7 +46,7 @@ export default function thumbnails(options) {
}
if (isLoad) {
- setStyle($control, 'display', 'block');
+ setStyle($control, 'display', 'flex');
showThumbnails(event);
}
});
diff --git a/packages/artplayer/src/control/time.js b/packages/artplayer/src/control/time.js
index f82750eb7..5a4d04a86 100644
--- a/packages/artplayer/src/control/time.js
+++ b/packages/artplayer/src/control/time.js
@@ -5,7 +5,7 @@ export default function time(option) {
...option,
style: {
cursor: 'auto',
- marginLeft: '10px',
+ margin: '0 10px',
},
mounted: ($control) => {
function getTime() {
diff --git a/packages/artplayer/src/control/volume.js b/packages/artplayer/src/control/volume.js
index 2cda6174a..5661f0009 100644
--- a/packages/artplayer/src/control/volume.js
+++ b/packages/artplayer/src/control/volume.js
@@ -1,72 +1,68 @@
-import { append, clamp, tooltip, setStyle, isMobile } from '../utils';
+import { append, setStyle, isMobile } from '../utils';
export default function volume(option) {
return (art) => ({
...option,
mounted: ($control) => {
- const { proxy, icons, i18n } = art;
+ const { proxy, icons } = art;
- let isDroging = false;
- const panelWidth = art.constructor.VOLUME_PANEL_WIDTH;
- const handleWidth = art.constructor.VOLUME_HANDLE_WIDTH;
const $volume = append($control, icons.volume);
- const $volumeClose = append($control, icons.volumeClose);
- const $volumePanel = append($control, '
');
- const $volumeHandle = append($volumePanel, '
');
- tooltip($volume, i18n.get('Mute'));
- setStyle($volumeClose, 'display', 'none');
+ const $close = append($control, icons.volumeClose);
+ const $panel = append($control, '
');
+ const $inner = append($panel, '
');
+ const $value = append($inner, `
`);
+ const $slider = append($inner, `
`);
+ const $handle = append($slider, `
`);
+ const $loaded = append($handle, `
`);
+ const $indicator = append($slider, `
`);
if (isMobile) {
- setStyle($volumePanel, 'display', 'none');
+ setStyle($panel, 'display', 'none');
}
- function volumeChangeFromEvent(event) {
- const { left: panelLeft } = $volumePanel.getBoundingClientRect();
- const percentage =
- clamp(event.pageX - panelLeft - handleWidth / 2, 0, panelWidth - handleWidth / 2) /
- (panelWidth - handleWidth);
- return percentage;
+ function getVolumeFromEvent(event) {
+ const { top, height } = $slider.getBoundingClientRect();
+ return 1 - (event.pageY - top) / height;
}
- function setVolumeHandle(percentage = 0.7) {
- if (art.muted || percentage === 0) {
+ function update() {
+ if (art.muted || art.volume === 0) {
setStyle($volume, 'display', 'none');
- setStyle($volumeClose, 'display', 'flex');
- setStyle($volumeHandle, 'left', '0');
+ setStyle($close, 'display', 'flex');
+ setStyle($indicator, 'top', '100%');
+ setStyle($loaded, 'top', '100%');
+ $value.innerText = 0;
} else {
- const width = (panelWidth - handleWidth) * percentage;
+ const percentage = art.volume * 100;
setStyle($volume, 'display', 'flex');
- setStyle($volumeClose, 'display', 'none');
- setStyle($volumeHandle, 'left', `${width}px`);
+ setStyle($close, 'display', 'none');
+ setStyle($indicator, 'top', `${100 - percentage}%`);
+ setStyle($loaded, 'top', `${100 - percentage}%`);
+ $value.innerText = Math.floor(percentage);
}
}
- setVolumeHandle(art.volume);
- art.on('video:volumechange', () => {
- setVolumeHandle(art.volume);
- });
+ update();
+ art.on('video:volumechange', update);
proxy($volume, 'click', () => {
art.muted = true;
});
- proxy($volumeClose, 'click', () => {
+ proxy($close, 'click', () => {
art.muted = false;
});
- proxy($volumePanel, 'click', (event) => {
- art.muted = false;
- art.volume = volumeChangeFromEvent(event);
- });
-
- proxy($volumeHandle, 'mousedown', () => {
+ let isDroging = false;
+ proxy($slider, 'mousedown', (event) => {
isDroging = true;
+ art.volume = getVolumeFromEvent(event);
});
- proxy($control, 'mousemove', (event) => {
+ proxy(document, 'mousemove', (event) => {
if (isDroging) {
art.muted = false;
- art.volume = volumeChangeFromEvent(event);
+ art.volume = getVolumeFromEvent(event);
}
});
diff --git a/packages/artplayer/src/icons/index.js b/packages/artplayer/src/icons/index.js
index c70b983a9..c1f1a56b2 100644
--- a/packages/artplayer/src/icons/index.js
+++ b/packages/artplayer/src/icons/index.js
@@ -1,4 +1,4 @@
-import { append, def, addClass, createElement } from '../utils';
+import { def, getIcon } from '../utils';
import loading from 'bundle-text:./loading.svg';
import state from 'bundle-text:./state.svg';
import check from 'bundle-text:./check.svg';
@@ -62,13 +62,7 @@ export default class Icons {
Object.keys(icons).forEach((key) => {
def(this, key, {
- get: () => {
- const icon = createElement('i');
- addClass(icon, 'art-icon');
- addClass(icon, `art-icon-${key}`);
- append(icon, icons[key]);
- return icon;
- },
+ get: () => getIcon(key, icons[key]),
});
});
}
diff --git a/packages/artplayer/src/icons/state.svg b/packages/artplayer/src/icons/state.svg
index 21538bfd6..2c2823b45 100644
--- a/packages/artplayer/src/icons/state.svg
+++ b/packages/artplayer/src/icons/state.svg
@@ -1,3 +1,3 @@
-
\ No newline at end of file
+
diff --git a/packages/artplayer/src/index.js b/packages/artplayer/src/index.js
index 492f719b7..32dfc6eb8 100644
--- a/packages/artplayer/src/index.js
+++ b/packages/artplayer/src/index.js
@@ -184,6 +184,7 @@ export default class Artplayer extends Emitter {
style: {},
escape: true,
encoding: 'utf-8',
+ onVttLoad: (vtt) => vtt,
},
moreVideoAttr: {
controls: false,
@@ -227,8 +228,6 @@ Artplayer.INDICATOR_SIZE = 14;
Artplayer.INDICATOR_SIZE_ICON = 16;
Artplayer.INDICATOR_SIZE_MOBILE = 18;
Artplayer.INDICATOR_SIZE_MOBILE_ICON = 20;
-Artplayer.VOLUME_PANEL_WIDTH = 60;
-Artplayer.VOLUME_HANDLE_WIDTH = 12;
Artplayer.RESIZE_TIME = 500;
Artplayer.SCROLL_TIME = 200;
Artplayer.SCROLL_GAP = 50;
@@ -248,7 +247,6 @@ Artplayer.FAST_FORWARD_TIME = 1000;
Artplayer.TOUCH_MOVE_RATIO = 0.5;
Artplayer.VOLUME_STEP = 0.1;
Artplayer.SEEK_STEP = 5;
-Artplayer.PROGRESS_HEIGHT = 6;
Artplayer.PLAYBACK_RATE = [0.5, 0.75, 1, 1.25, 1.5, 2];
Artplayer.ASPECT_RATIO = ['default', '4:3', '16:9'];
Artplayer.FLIP = ['normal', 'horizontal', 'vertical'];
diff --git a/packages/artplayer/src/player/loopMix.js b/packages/artplayer/src/player/loopMix.js
index 208542c19..d78abc2b1 100644
--- a/packages/artplayer/src/player/loopMix.js
+++ b/packages/artplayer/src/player/loopMix.js
@@ -16,6 +16,7 @@ export default function loopMix(art) {
} else {
interval = [];
}
+ art.emit('loop', interval);
},
});
diff --git a/packages/artplayer/src/player/miniMix.js b/packages/artplayer/src/player/miniMix.js
index 38379c191..e66e0106c 100644
--- a/packages/artplayer/src/player/miniMix.js
+++ b/packages/artplayer/src/player/miniMix.js
@@ -1,52 +1,105 @@
-import { append, setStyle, addClass, removeClass, hasClass, def, isInViewport } from '../utils';
+import { append, setStyle, addClass, removeClass, hasClass, def, isInViewport, createElement } from '../utils';
export default function miniMix(art) {
const {
- i18n,
- option,
- storage,
+ icons,
proxy,
- template: { $player, $miniClose, $miniTitle, $miniHeader },
+ storage,
+ template: { $player, $video },
} = art;
let isDroging = false;
let lastPageX = 0;
let lastPageY = 0;
- let lastPlayerLeft = 0;
- let lastPlayerTop = 0;
- proxy($miniHeader, 'mousedown', (event) => {
- isDroging = true;
- lastPageX = event.pageX;
- lastPageY = event.pageY;
- lastPlayerLeft = art.left;
- lastPlayerTop = art.top;
- });
-
- proxy(document, 'mousemove', (event) => {
- if (isDroging) {
- addClass($player, 'art-is-dragging');
- const top = lastPlayerTop + event.pageY - lastPageY;
- const left = lastPlayerLeft + event.pageX - lastPageX;
- setStyle($player, 'top', `${top}px`);
- setStyle($player, 'left', `${left}px`);
- storage.set('top', top);
- storage.set('left', left);
+ function hideMini() {
+ const { $mini } = art.template;
+ if ($mini) {
+ removeClass($player, 'art-mini');
+ setStyle($mini, 'display', 'none');
+ $player.prepend($video);
+ art.emit('mini', false);
}
- });
+ }
- proxy(document, 'mouseup', () => {
- isDroging = false;
- removeClass($player, 'art-is-dragging');
- });
+ function initState($play, $pause) {
+ if (art.playing) {
+ setStyle($play, 'display', `none`);
+ setStyle($pause, 'display', `flex`);
+ } else {
+ setStyle($play, 'display', `flex`);
+ setStyle($pause, 'display', `none`);
+ }
+ }
- proxy($miniClose, 'click', () => {
- art.mini = false;
- isDroging = false;
- removeClass($player, 'art-is-dragging');
- });
+ function createMini() {
+ const { $mini } = art.template;
+ if ($mini) {
+ append($mini, $video);
+ return setStyle($mini, 'display', 'flex');
+ } else {
+ const $mini = createElement('div');
+ addClass($mini, 'art-mini-popup');
+ append(document.body, $mini);
+ art.template.$mini = $mini;
+ append($mini, $video);
- append($miniTitle, option.title || i18n.get('Mini Player'));
+ const $close = append($mini, `
`);
+ append($close, icons.close);
+ proxy($close, 'click', hideMini);
+
+ const $state = append($mini, `
`);
+ const $play = append($state, icons.play);
+ const $pause = append($state, icons.pause);
+ proxy($play, 'click', () => art.play());
+ proxy($pause, 'click', () => art.pause());
+ initState($play, $pause);
+ art.on('video:playing', () => initState($play, $pause));
+ art.on('video:pause', () => initState($play, $pause));
+ art.on('video:timeupdate', () => initState($play, $pause));
+
+ proxy($mini, 'mousedown', (event) => {
+ isDroging = event.button === 0;
+ lastPageX = event.pageX;
+ lastPageY = event.pageY;
+ });
+
+ proxy(document, 'mousemove', (event) => {
+ if (isDroging) {
+ addClass($mini, 'art-mini-droging');
+ const x = event.pageX - lastPageX;
+ const y = event.pageY - lastPageY;
+ setStyle($mini, 'transform', `translate(${x}px, ${y}px)`);
+ }
+ });
+
+ proxy(document, 'mouseup', () => {
+ if (isDroging) {
+ isDroging = false;
+ removeClass($mini, 'art-mini-droging');
+ const rect = $mini.getBoundingClientRect();
+ storage.set('left', rect.left);
+ storage.set('top', rect.top);
+ setStyle($mini, 'left', `${rect.left}px`);
+ setStyle($mini, 'top', `${rect.top}px`);
+ setStyle($mini, 'transform', null);
+ }
+ });
+
+ return $mini;
+ }
+ }
+
+ function initMini() {
+ const { $mini } = art.template;
+ const rect = $mini.getBoundingClientRect();
+ const top = window.innerHeight - rect.height - 50;
+ const left = window.innerWidth - rect.width - 50;
+ storage.set('top', top);
+ storage.set('left', left);
+ setStyle($mini, 'top', `${top}px`);
+ setStyle($mini, 'left', `${left}px`);
+ }
def(art, 'mini', {
get() {
@@ -54,40 +107,22 @@ export default function miniMix(art) {
},
set(value) {
if (value) {
- art.normalSize = 'mini';
- art.autoSize = false;
addClass($player, 'art-mini');
+ const $mini = createMini();
const top = storage.get('top');
const left = storage.get('left');
if (top && left) {
- setStyle($player, 'top', `${top}px`);
- setStyle($player, 'left', `${left}px`);
- if (!isInViewport($miniHeader)) {
- storage.del('top');
- storage.del('left');
- art.mini = true;
+ setStyle($mini, 'top', `${top}px`);
+ setStyle($mini, 'left', `${left}px`);
+ if (!isInViewport($mini)) {
+ initMini();
}
} else {
- const top = window.innerHeight - art.height - 50;
- const left = window.innerWidth - art.width - 50;
- storage.set('top', top);
- storage.set('left', left);
- setStyle($player, 'top', `${top}px`);
- setStyle($player, 'left', `${left}px`);
+ initMini();
}
- art.aspectRatio = false;
- art.playbackRate = false;
- art.notice.show = '';
art.emit('mini', true);
} else {
- removeClass($player, 'art-mini');
- setStyle($player, 'top', null);
- setStyle($player, 'left', null);
- art.aspectRatio = false;
- art.playbackRate = false;
- art.autoSize = option.autoSize;
- art.notice.show = '';
- art.emit('mini', false);
+ hideMini();
}
},
});
diff --git a/packages/artplayer/src/player/themeMix.js b/packages/artplayer/src/player/themeMix.js
index a49613449..32c3828c9 100644
--- a/packages/artplayer/src/player/themeMix.js
+++ b/packages/artplayer/src/player/themeMix.js
@@ -8,11 +8,11 @@ export default function themeMix(art) {
def(art, 'theme', {
get() {
- return getComputedStyle($player).getPropertyValue('--theme');
+ return getComputedStyle($player).getPropertyValue('--art-theme');
},
set(theme) {
option.theme = theme;
- $player.style.setProperty('--theme', theme);
+ $player.style.setProperty('--art-theme', theme);
},
});
}
diff --git a/packages/artplayer/src/plugins/autoPlayback.js b/packages/artplayer/src/plugins/autoPlayback.js
index c18d0fe1d..e5b16e5ed 100644
--- a/packages/artplayer/src/plugins/autoPlayback.js
+++ b/packages/artplayer/src/plugins/autoPlayback.js
@@ -11,17 +11,17 @@ export default function autoPlayback(art) {
} = art;
const $autoPlayback = art.layers.add({
- name: 'autoPlayback',
+ name: 'auto-playback',
html: `
-
-
-
+
+
+
`,
});
- const $last = query('.art-autoPlayback-last', $autoPlayback);
- const $jump = query('.art-autoPlayback-jump', $autoPlayback);
- const $close = query('.art-autoPlayback-close', $autoPlayback);
+ const $last = query('.art-auto-playback-last', $autoPlayback);
+ const $jump = query('.art-auto-playback-jump', $autoPlayback);
+ const $close = query('.art-auto-playback-close', $autoPlayback);
art.on('video:timeupdate', () => {
const times = storage.get('times') || {};
@@ -63,7 +63,7 @@ export default function autoPlayback(art) {
});
return {
- name: 'autoPlayback',
+ name: 'auto-playback',
get times() {
return storage.get('times') || {};
},
diff --git a/packages/artplayer/src/plugins/miniProgressBar.js b/packages/artplayer/src/plugins/miniProgressBar.js
index 7ff5b8feb..3a11d6b51 100644
--- a/packages/artplayer/src/plugins/miniProgressBar.js
+++ b/packages/artplayer/src/plugins/miniProgressBar.js
@@ -1,7 +1,7 @@
export default function miniProgressBar(art) {
art.on('ready', () => {
art.layers.add({
- name: 'miniProgressBar',
+ name: 'mini-progress-bar',
mounted($progressBar) {
art.on('destroy', () => {
$progressBar.style.display = 'none';
@@ -21,6 +21,6 @@ export default function miniProgressBar(art) {
});
return {
- name: 'miniProgressBar',
+ name: 'mini-progress-bar',
};
}
diff --git a/packages/artplayer/src/scheme/index.js b/packages/artplayer/src/scheme/index.js
index 661818249..8886ff2fe 100644
--- a/packages/artplayer/src/scheme/index.js
+++ b/packages/artplayer/src/scheme/index.js
@@ -113,6 +113,7 @@ export default {
style: o,
escape: b,
encoding: s,
+ onVttLoad: f,
},
moreVideoAttr: o,
i18n: o,
diff --git a/packages/artplayer/src/setting/playbackRate.js b/packages/artplayer/src/setting/playbackRate.js
index fe65a91c2..082704e6e 100644
--- a/packages/artplayer/src/setting/playbackRate.js
+++ b/packages/artplayer/src/setting/playbackRate.js
@@ -8,7 +8,7 @@ export default function playbackRate(art) {
} = art;
function getI18n(value) {
- return value === 1.0 ? i18n.get('Normal') : value;
+ return value === 1.0 ? i18n.get('Normal') : value.toFixed(1);
}
function update($panel, $tooltip, value) {
diff --git a/packages/artplayer/src/style/artplayer.less b/packages/artplayer/src/style/artplayer.less
index a95de5726..9c4f40638 100644
--- a/packages/artplayer/src/style/artplayer.less
+++ b/packages/artplayer/src/style/artplayer.less
@@ -1,21 +1,22 @@
.art-video-player {
- display: flex;
position: relative;
margin: 0 auto;
- z-index: 20;
width: 100%;
height: 100%;
outline: 0;
zoom: 1;
- font-family: Roboto, Arial, Helvetica, sans-serif;
- color: #eee;
- background-color: #000;
+ color: #fff;
text-align: left;
direction: ltr;
font-size: 14px;
line-height: 1.3;
+ overflow: hidden;
user-select: none;
+ background-color: #000;
+ text-shadow: 0 0 2px rgba(0, 0, 0, 0.5);
+ font-family: PingFang SC, Helvetica Neue, Microsoft YaHei, Roboto, Arial, sans-serif;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+ -ms-touch-action: manipulation;
touch-action: manipulation;
-ms-high-contrast-adjust: none;
@@ -28,27 +29,17 @@
}
::-webkit-scrollbar {
- width: 5px;
- height: 5px;
+ width: var(--art-scrollbar-size);
+ height: var(--art-scrollbar-size);
+ border-radius: 3px;
}
::-webkit-scrollbar-thumb {
- background-color: #666;
+ background-color: var(--art-scrollbar-background);
}
::-webkit-scrollbar-thumb:hover {
- background-color: #ccc;
- }
-
- .art-icon {
- display: inline-flex;
- justify-content: center;
- align-items: center;
- line-height: 1.5;
-
- svg {
- fill: #fff;
- }
+ background-color: var(--art-scrollbar-background-hover);
}
img {
@@ -56,11 +47,12 @@
vertical-align: top;
}
- @supports ((-webkit-backdrop-filter: initial) or (backdrop-filter: initial)) {
- .art-backdrop-filter {
- -webkit-backdrop-filter: saturate(180%) blur(20px);
- backdrop-filter: saturate(180%) blur(20px);
- background-color: rgba(0, 0, 0, 0.7) !important;
- }
+ svg {
+ fill: #fff;
+ }
+
+ a {
+ color: #fff;
+ text-decoration: none;
}
}
diff --git a/packages/artplayer/src/style/autoSize.less b/packages/artplayer/src/style/autoSize.less
index fdc1dd90f..bd1a88ecd 100644
--- a/packages/artplayer/src/style/autoSize.less
+++ b/packages/artplayer/src/style/autoSize.less
@@ -1,9 +1,7 @@
.art-auto-size {
- display: flex;
- align-items: center;
- justify-content: center;
+ .art-center();
.art-video-player {
- transition: all 0.2s ease;
+ transition: width, height var(--art-duration) ease;
}
}
diff --git a/packages/artplayer/src/style/backdrop.less b/packages/artplayer/src/style/backdrop.less
new file mode 100644
index 000000000..860b66267
--- /dev/null
+++ b/packages/artplayer/src/style/backdrop.less
@@ -0,0 +1,10 @@
+ .art-video-player.art-backdrop {
+ .art-contextmenus,
+ .art-info,
+ .art-settings,
+ .art-layer-auto-playback,
+ .art-selector-list,
+ .art-volume-inner {
+ .art-backdrop-filter();
+ }
+ }
\ No newline at end of file
diff --git a/packages/artplayer/src/style/bottom.less b/packages/artplayer/src/style/bottom.less
index d3ed44e07..8f74518e3 100644
--- a/packages/artplayer/src/style/bottom.less
+++ b/packages/artplayer/src/style/bottom.less
@@ -2,338 +2,24 @@
.art-bottom {
display: flex;
flex-direction: column;
- justify-content: space-between;
- position: absolute;
- z-index: 60;
- left: 0;
- right: 0;
- bottom: 0;
- height: 100px;
- padding: 50px 10px 0;
+ justify-content: end;
+ .art-full(60);
+ top: auto;
+ gap: var(--art-bottom-gap);
+ bottom: var(--art-bottom-offset);
+ height: var(--art-bottom-height);
+ padding: 0 10px;
opacity: 0;
- visibility: hidden;
- transition: all 0.2s ease-in-out;
pointer-events: none;
- background-image: linear-gradient(to top, #000, rgb(0 0 0 / 40%), transparent);
- background-repeat: repeat-x;
- background-position: center bottom;
-
- .art-progress {
- flex: 1;
- position: relative;
- z-index: 0;
- pointer-events: auto;
-
- .art-control-progress {
- position: relative;
- display: flex;
- flex-direction: row;
- align-items: center;
- height: 4px;
- cursor: pointer;
-
- .art-control-progress-inner {
- display: flex;
- align-items: center;
- position: relative;
- height: 50%;
- width: 100%;
- transition: all 0.2s ease;
- background: rgba(255, 255, 255, 0.2);
-
- .art-progress-loaded {
- position: absolute;
- z-index: 10;
- left: 0;
- top: 0;
- right: 0;
- bottom: 0;
- height: 100%;
- width: 0;
- background: rgba(255, 255, 255, 0.4);
- }
-
- .art-progress-played {
- position: absolute;
- z-index: 20;
- left: 0;
- top: 0;
- right: 0;
- bottom: 0;
- height: 100%;
- width: 0;
- }
-
- .art-progress-highlight {
- position: absolute;
- z-index: 30;
- left: 0;
- top: 0;
- right: 0;
- bottom: 0;
- height: 100%;
- pointer-events: none;
-
- span {
- display: inline-block;
- position: absolute;
- left: 0;
- top: 0;
- width: 7px;
- height: 100%;
- background: rgba(255, 255, 255, 0.5);
- pointer-events: auto;
- }
- }
-
- .art-progress-indicator {
- visibility: hidden;
- align-items: center;
- justify-content: center;
- position: absolute;
- z-index: 40;
- border-radius: 50%;
- transform: scale(0.1, 0.1);
- transition: transform 0.1s ease-in-out;
-
- .art-icon {
- width: 100%;
- height: 100%;
- pointer-events: none;
- user-select: none;
- }
-
- &:hover {
- transform: scale(1.2, 1.2) !important;
- }
- }
-
- .art-progress-tip {
- display: none;
- position: absolute;
- z-index: 50;
- top: -25px;
- left: 0;
- height: 20px;
- padding: 0 5px;
- line-height: 20px;
- color: #fff;
- font-size: 12px;
- text-align: center;
- background: rgba(0, 0, 0, 0.7);
- border-radius: 3px;
- font-weight: bold;
- white-space: nowrap;
- }
- }
- }
-
- .art-control-thumbnails {
- display: none;
- position: absolute;
- bottom: 10px;
- left: 0;
- border-radius: 3px;
- pointer-events: none;
- background-color: rgba(0, 0, 0, 0.7);
- box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.2), 0 1px 2px -1px rgb(0 0 0 / 0.2);
- }
-
- .art-control-loop {
- display: none;
- position: absolute;
- width: 100%;
- height: 100%;
- left: 0;
- top: 0;
- right: 0;
- bottom: 0;
- pointer-events: none;
-
- .art-loop-point {
- position: absolute;
- left: 0;
- top: -2px;
- width: 2px;
- height: 8px;
- background: rgba(255, 255, 255, 0.75);
- }
- }
- }
-
- .art-controls {
- position: relative;
- z-index: 1;
- pointer-events: auto;
- display: flex;
- align-items: center;
- justify-content: space-between;
- height: 45px;
-
- .art-controls-left,
- .art-controls-right {
- display: flex;
- }
-
- .art-controls-center {
- flex: 1;
- height: 100%;
- display: flex;
- align-items: center;
- justify-content: center;
- padding: 0 10px;
- }
-
- .art-controls-right {
- justify-content: flex-end;
- }
-
- .art-control {
- display: flex;
- align-items: center;
- justify-content: center;
- opacity: 0.75;
- font-size: 12px;
- min-height: 36px;
- min-width: 36px;
- line-height: 1;
- text-align: center;
- cursor: pointer;
- white-space: nowrap;
- transition: opacity 0.1s ease-in-out;
- .art-icon {
- display: flex;
- align-items: center;
- justify-content: center;
- float: left;
- height: 36px;
- width: 36px;
- transform: scale(1);
- transition: transform 0.2s ease-in-out;
- &:active {
- transform: scale(0.85);
- }
- }
- &:hover {
- opacity: 1;
- }
- }
-
- .art-control-volume {
- .art-volume-panel {
- position: relative;
- float: left;
- width: 0;
- height: 100%;
- transition: margin 0.2s cubic-bezier(0.4, 0, 1, 1), width 0.2s cubic-bezier(0.4, 0, 1, 1);
- overflow: hidden;
-
- .art-volume-slider-handle {
- position: absolute;
- top: 50%;
- left: 0;
- width: 12px;
- height: 12px;
- border-radius: 12px;
- margin-top: -6px;
- background: #fff;
-
- &::before {
- left: -54px;
- background: #fff;
- }
-
- &::after {
- left: 6px;
- background: rgba(255, 255, 255, 0.2);
- }
-
- &::before,
- &::after {
- content: '';
- position: absolute;
- display: block;
- top: 50%;
- height: 3px;
- margin-top: -2px;
- width: 60px;
- }
- }
- }
-
- &:hover .art-volume-panel {
- width: 60px;
- }
- }
-
- .art-control-quality {
- position: relative;
- z-index: 30;
- .art-qualitys {
- display: none;
- position: absolute;
- bottom: 35px;
- width: 100px;
- padding: 5px 0;
- text-align: center;
- color: #fff;
- background: rgba(0, 0, 0, 0.8);
- border-radius: 3px;
- .art-quality-item {
- height: 30px;
- line-height: 30px;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- text-shadow: 0 0 2px rgba(0, 0, 0, 0.5);
- &:hover {
- background-color: rgba(255, 255, 255, 0.1);
- }
- }
- }
- &:hover .art-qualitys {
- display: block;
- }
- }
- }
-
- &:hover {
- .art-progress .art-control-progress .art-control-progress-inner {
- .art-progress-indicator {
- transform: scale(1, 1);
- visibility: visible;
- }
- }
- }
+ transition: all var(--art-duration) ease;
+ .art-bottom-gradient();
}
&.art-control-show,
&.art-hover {
.art-bottom {
+ bottom: 0;
opacity: 1;
- visibility: visible;
- }
- }
-
- &.art-error,
- &.art-destroy {
- .art-progress-indicator,
- .art-progress-tip {
- display: none !important;
- }
- }
-
- &.art-mobile {
- .art-bottom {
- height: 105px;
- padding: 50px 7px 0;
- .art-controls {
- height: 40px;
- }
- .art-progress-indicator {
- transform: scale(1, 1) !important;
- visibility: visible !important;
- }
}
}
}
diff --git a/packages/artplayer/src/style/contextmenu.less b/packages/artplayer/src/style/contextmenu.less
index 85a9568f4..a9a285cac 100644
--- a/packages/artplayer/src/style/contextmenu.less
+++ b/packages/artplayer/src/style/contextmenu.less
@@ -4,36 +4,24 @@
flex-direction: column;
position: absolute;
z-index: 120;
- left: 10px;
- top: 10px;
- min-width: 200px;
padding: 5px 0;
- background-color: rgba(0, 0, 0, 0.9);
border-radius: 3px;
+ font-size: 12px;
+ background-color: var(--art-background);
+ min-width: var(--art-contextmenus-min-width);
.art-contextmenu {
cursor: pointer;
- font-size: 12px;
- display: block;
- color: #fff;
+ display: flex;
padding: 10px 15px;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- text-shadow: 0 0 2px rgba(0, 0, 0, 0.5);
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
- a {
- color: #fff;
- text-decoration: none;
- }
-
span {
- display: inline-block;
- padding: 0 7px;
+ padding: 0 8px;
+
&:hover,
&.art-current {
- color: var(--theme);
+ color: var(--art-theme);
}
}
diff --git a/packages/artplayer/src/style/controls.less b/packages/artplayer/src/style/controls.less
new file mode 100644
index 000000000..5d7d035de
--- /dev/null
+++ b/packages/artplayer/src/style/controls.less
@@ -0,0 +1,52 @@
+.art-controls {
+ position: relative;
+ z-index: 10;
+ pointer-events: auto;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ height: var(--art-control-height);
+
+ .art-controls-left,
+ .art-controls-right {
+ display: flex;
+ height: 100%;
+ }
+
+ .art-controls-center {
+ .art-center(none);
+ flex: 1;
+ height: 100%;
+ padding: 0 10px;
+ }
+
+ .art-controls-right {
+ justify-content: flex-end;
+ }
+
+ .art-control {
+ .art-center();
+ flex-shrink: 0;
+ cursor: pointer;
+ white-space: nowrap;
+ opacity: var(--art-control-opacity);
+ min-height: var(--art-control-height);
+ min-width: var(--art-control-height);
+ transition: opacity var(--art-duration) ease;
+
+ .art-icon {
+ height: var(--art-control-icon-size);
+ width: var(--art-control-icon-size);
+ transform: scale(var(--art-control-icon-scale));
+ transition: transform var(--art-duration) ease;
+
+ &:active {
+ transform: scale(calc(var(--art-control-icon-scale) * 0.8));
+ }
+ }
+
+ &:hover {
+ opacity: 1;
+ }
+ }
+}
diff --git a/packages/artplayer/src/style/danmuku.less b/packages/artplayer/src/style/danmuku.less
index ebadfd186..21c4b33a2 100644
--- a/packages/artplayer/src/style/danmuku.less
+++ b/packages/artplayer/src/style/danmuku.less
@@ -1,14 +1,4 @@
-.art-video-player {
- .art-danmuku {
- position: absolute;
- z-index: 30;
- left: 0;
- top: 0;
- right: 0;
- bottom: 0;
- width: 100%;
- height: 100%;
- overflow: hidden;
- pointer-events: none;
- }
+.art-danmuku {
+ .art-full(30);
+ pointer-events: none;
}
diff --git a/packages/artplayer/src/style/fullscreenWeb.less b/packages/artplayer/src/style/fullscreenWeb.less
index e6b6aa457..9ef2e2fc3 100644
--- a/packages/artplayer/src/style/fullscreenWeb.less
+++ b/packages/artplayer/src/style/fullscreenWeb.less
@@ -1,12 +1,3 @@
-.art-video-player {
- &.art-fullscreen-web {
- position: fixed;
- z-index: 9999;
- width: 100%;
- height: 100%;
- left: 0;
- top: 0;
- right: 0;
- bottom: 0;
- }
+.art-fullscreen-web {
+ .art-full(9999, fixed);
}
diff --git a/packages/artplayer/src/style/hideCursor.less b/packages/artplayer/src/style/hideCursor.less
index bba8ecb9b..dd696775a 100644
--- a/packages/artplayer/src/style/hideCursor.less
+++ b/packages/artplayer/src/style/hideCursor.less
@@ -1,7 +1,3 @@
-.art-video-player {
- &.art-hide-cursor {
- * {
- cursor: none !important;
- }
- }
+.art-hide-cursor * {
+ cursor: none !important;
}
diff --git a/packages/artplayer/src/style/icon.less b/packages/artplayer/src/style/icon.less
new file mode 100644
index 000000000..816870ffc
--- /dev/null
+++ b/packages/artplayer/src/style/icon.less
@@ -0,0 +1,4 @@
+.art-icon {
+ line-height: 1;
+ .art-center();
+}
diff --git a/packages/artplayer/src/style/index.less b/packages/artplayer/src/style/index.less
index 2185d1bcc..a7d49a6e2 100644
--- a/packages/artplayer/src/style/index.less
+++ b/packages/artplayer/src/style/index.less
@@ -1,4 +1,8 @@
+@import './variables.less';
+@import './mixins.less';
@import './artplayer.less';
+@import './icon.less';
+@import './backdrop.less';
@import './video.less';
@import './poster.less';
@import './subtitle.less';
@@ -7,6 +11,9 @@
@import './mask.less';
@import './loading.less';
@import './bottom.less';
+@import './progress.less';
+@import './controls.less';
+@import './volume.less';
@import './notice.less';
@import './contextmenu.less';
@import './setting.less';
@@ -20,3 +27,4 @@
@import './plugins.less';
@import './selector.less';
@import './hint.less';
+@import './mobile.less';
diff --git a/packages/artplayer/src/style/info.less b/packages/artplayer/src/style/info.less
index 338bd133a..f0036d915 100644
--- a/packages/artplayer/src/style/info.less
+++ b/packages/artplayer/src/style/info.less
@@ -1,38 +1,35 @@
.art-video-player {
.art-info {
display: none;
- flex-direction: column;
position: absolute;
left: 10px;
top: 10px;
z-index: 100;
- width: 350px;
padding: 10px;
- color: #fff;
font-size: 12px;
- font-family: Noto Sans CJK SC DemiLight, Roboto, Segoe UI, Tahoma, Arial, Helvetica, sans-serif;
- -webkit-font-smoothing: antialiased;
- background-color: rgba(0, 0, 0, 0.9);
+ border-radius: 3px;
+ background-color: var(--art-background);
- .art-info-item {
+ .art-info-panel {
display: flex;
- margin-bottom: 5px;
- .art-info-title {
- width: 100px;
- text-align: right;
- }
+ flex-direction: column;
+ gap: 5px;
- .art-info-content {
- flex: 1;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- user-select: all;
- padding-left: 5px;
- }
+ .art-info-item {
+ display: flex;
+ align-items: center;
+ gap: 5px;
- &:last-child {
- margin-bottom: 0;
+ .art-info-title {
+ width: 100px;
+ text-align: right;
+ }
+
+ .art-info-content {
+ width: 250px;
+ .art-truncate();
+ user-select: all;
+ }
}
}
diff --git a/packages/artplayer/src/style/layers.less b/packages/artplayer/src/style/layers.less
index 7d5f77d1f..0fdee8b24 100644
--- a/packages/artplayer/src/style/layers.less
+++ b/packages/artplayer/src/style/layers.less
@@ -1,17 +1,9 @@
.art-video-player {
.art-layers {
+ .art-full(40);
display: none;
- position: absolute;
- z-index: 40;
- left: 0;
- top: 0;
- right: 0;
- bottom: 0;
- width: 100%;
- height: 100%;
- overflow: hidden;
pointer-events: none;
-
+
.art-layer {
pointer-events: auto;
}
@@ -19,7 +11,7 @@
&.art-layer-show {
.art-layers {
- display: block;
+ display: flex;
}
}
}
diff --git a/packages/artplayer/src/style/loading.less b/packages/artplayer/src/style/loading.less
index 730f5f87b..b3cd7d520 100644
--- a/packages/artplayer/src/style/loading.less
+++ b/packages/artplayer/src/style/loading.less
@@ -1,16 +1,7 @@
.art-video-player {
.art-loading {
- display: none;
- position: absolute;
- z-index: 70;
- left: 0;
- top: 0;
- right: 0;
- bottom: 0;
- width: 100%;
- height: 100%;
- align-items: center;
- justify-content: center;
+ .art-center(none);
+ .art-full(70);
pointer-events: none;
}
diff --git a/packages/artplayer/src/style/mask.less b/packages/artplayer/src/style/mask.less
index 7197e45c5..85a6384e9 100644
--- a/packages/artplayer/src/style/mask.less
+++ b/packages/artplayer/src/style/mask.less
@@ -1,43 +1,29 @@
.art-video-player {
.art-mask {
- display: none;
- align-items: center;
- justify-content: center;
- position: absolute;
- z-index: 50;
- left: 0;
- top: 0;
- right: 0;
- bottom: 0;
- width: 100%;
- height: 100%;
- overflow: hidden;
+ .art-center();
+ .art-full(50);
pointer-events: none;
.art-state {
- display: flex;
- justify-content: center;
- align-items: center;
- position: absolute;
- right: 30px;
- bottom: 65px;
- width: 60px;
- height: 60px;
- opacity: 0.85;
- cursor: pointer;
- pointer-events: auto;
+ .art-center();
+ opacity: 0;
+ transform: scale(2);
+ width: var(--art-state-size);
+ height: var(--art-state-size);
+ transition: all var(--art-duration) ease;
}
}
&.art-mask-show {
- .art-mask {
- display: flex;
+ .art-state {
+ opacity: var(--art-state-opacity);
+ transform: scale(1);
}
}
- &.art-mobile {
+ &.art-loading-show {
.art-state {
- position: static;
+ display: none;
}
}
}
diff --git a/packages/artplayer/src/style/mini.less b/packages/artplayer/src/style/mini.less
index 0389c176e..ab2474e8b 100644
--- a/packages/artplayer/src/style/mini.less
+++ b/packages/artplayer/src/style/mini.less
@@ -1,74 +1,62 @@
-.art-video-player {
- .art-mini-header {
- display: none;
+.art-mini-popup {
+ position: fixed;
+ z-index: 9999;
+ width: 320px;
+ height: 180px;
+ background: #000;
+ border-radius: 3px;
+ cursor: move;
+ user-select: none;
+ overflow: hidden;
+ transition: opacity 0.2s ease;
+ box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
+
+ svg {
+ fill: #fff;
+ }
+
+ .art-video {
+ pointer-events: none;
+ }
+
+ .art-mini-close {
position: absolute;
- z-index: 110;
- left: 0;
- top: 0;
- right: 0;
- height: 35px;
- line-height: 35px;
- color: #fff;
- background-color: rgba(0, 0, 0, 0.5);
- align-items: center;
- justify-content: space-between;
+ z-index: 20;
+ right: 10px;
+ top: 10px;
+ cursor: pointer;
opacity: 0;
- visibility: hidden;
- transition: all 0.2s ease-in-out;
- .art-mini-title {
- flex: 1;
- padding: 0 10px;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- cursor: move;
- }
- .art-mini-close {
- width: 35px;
- text-align: center;
- font-size: 22px;
+ transition: opacity 0.2s ease;
+ }
+
+ .art-mini-state {
+ .art-full(30);
+ .art-center();
+ pointer-events: none;
+ opacity: 0;
+ transition: opacity 0.2s ease;
+ background-color: rgba(0, 0, 0, 0.25);
+
+ .art-icon {
+ opacity: 0.75;
cursor: pointer;
- }
- }
+ transform: scale(3);
+ pointer-events: auto;
+ transition: transform 0.2s ease;
- &.art-is-dragging {
- opacity: 0.7;
- }
-
- &.art-mini {
- position: fixed;
- z-index: 9999;
- width: 400px;
- height: 225px;
- box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.2);
-
- .art-mini-header {
- display: flex;
- user-select: none;
- }
-
- &.art-hover {
- .art-mini-header {
- opacity: 1;
- visibility: visible;
+ &:active {
+ transform: scale(2.5);
}
}
+ }
- .art-mask {
- .art-state {
- position: static;
- }
- }
+ &.art-mini-droging {
+ opacity: 0.9;
+ }
- .art-contextmenu,
- .art-bottom,
- .art-danmu,
- .art-info,
- .art-layers,
- .art-notice,
- .art-settings,
- .art-subtitle {
- display: none !important;
+ &:hover {
+ .art-mini-close, .art-mini-state {
+ opacity: 1;
}
}
-}
+}
\ No newline at end of file
diff --git a/packages/artplayer/src/style/mixins.less b/packages/artplayer/src/style/mixins.less
new file mode 100644
index 000000000..5888c4c10
--- /dev/null
+++ b/packages/artplayer/src/style/mixins.less
@@ -0,0 +1,42 @@
+.art-center(@display: flex) {
+ display: @display;
+ justify-content: center;
+ align-items: center;
+}
+
+.art-full(@index: 0, @position: absolute) {
+ position: absolute;
+ inset: 0;
+ z-index: @index;
+ width: 100%;
+ height: 100%;
+}
+
+.art-bg-cover {
+ background-position: center center;
+ background-repeat: no-repeat;
+ background-size: cover;
+}
+
+.art-text-border {
+ text-shadow: #000 1px 0 1px, #000 0 1px 1px, #000 -1px 0 1px, #000 0 -1px 1px, #000 1px 1px 1px, #000 -1px -1px 1px,
+ #000 1px -1px 1px, #000 -1px 1px 1px;
+}
+
+.art-bottom-gradient {
+ background-image: linear-gradient(to top, #000, rgb(0 0 0 / 40%), transparent);
+ background-repeat: repeat-x;
+ background-position: center bottom;
+}
+
+.art-backdrop-filter {
+ -webkit-backdrop-filter: saturate(180%) blur(20px);
+ backdrop-filter: saturate(180%) blur(20px);
+ background-color: rgba(0, 0, 0, 0.75) !important;
+}
+
+.art-truncate {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
diff --git a/packages/artplayer/src/style/mobile.less b/packages/artplayer/src/style/mobile.less
new file mode 100644
index 000000000..e69de29bb
diff --git a/packages/artplayer/src/style/notice.less b/packages/artplayer/src/style/notice.less
index c372b72e0..6857b827b 100644
--- a/packages/artplayer/src/style/notice.less
+++ b/packages/artplayer/src/style/notice.less
@@ -1,7 +1,6 @@
.art-video-player {
.art-notice {
display: none;
- font-size: 14px;
position: absolute;
z-index: 80;
left: 0;
@@ -9,12 +8,13 @@
padding: 10px;
width: 100%;
pointer-events: none;
+
.art-notice-inner {
- display: inline-block;
- padding: 5px 10px;
- color: #fff;
- background-color: rgba(0, 0, 0, 0.6);
+ display: inline-flex;
+ padding: 5px;
+ line-height: 1;
border-radius: 3px;
+ background-color: var(--art-background);
}
}
diff --git a/packages/artplayer/src/style/plugins.less b/packages/artplayer/src/style/plugins.less
index 37e5a50aa..cd619f0d7 100644
--- a/packages/artplayer/src/style/plugins.less
+++ b/packages/artplayer/src/style/plugins.less
@@ -1,58 +1,48 @@
.art-video-player {
- .art-layer-miniProgressBar {
- display: block;
- position: absolute;
- left: 0;
- right: 0;
- bottom: 0;
+ .art-layer-mini-progress-bar {
+ display: flex;
+ .art-full();
+ top: auto;
height: 2px;
- background-color: var(--theme);
+ background-color: var(--art-theme);
}
.art-layer-lock {
- display: none;
- align-items: center;
- justify-content: center;
+ .art-center(none);
position: absolute;
left: 15px;
top: calc(50% - 17px);
height: 34px;
width: 34px;
- color: #fff;
border-radius: 50%;
- background-color: rgba(0, 0, 0, 0.5);
+ background-color: var(--art-background);
}
- .art-layer-autoPlayback {
+ .art-layer-auto-playback {
display: none;
+ gap: 10px;
align-items: center;
position: absolute;
- left: 20px;
- bottom: 60px;
+ left: 10px;
border-radius: 3px;
padding: 10px;
line-height: 1;
- background-color: rgb(0 0 0 / 80%);
+ bottom: calc(var(--art-control-height) + var(--art-bottom-gap) + 10px);
+ background-color: var(--art-background);
- .art-autoPlayback-close {
- display: flex;
- align-items: center;
- margin-right: 10px;
+ .art-auto-playback-close {
+ .art-center();
cursor: pointer;
svg {
width: 15px;
height: 15px;
- fill: var(--theme);
+ fill: var(--art-theme);
}
}
- .art-autoPlayback-last {
- margin-right: 10px;
- }
-
- .art-autoPlayback-jump {
- color: var(--theme);
+ .art-auto-playback-jump {
+ color: var(--art-theme);
cursor: pointer;
}
}
@@ -63,16 +53,16 @@
}
.art-subtitle {
- bottom: 10px !important;
+ bottom: var(--art-subtitle-bottom) !important;
}
- .art-layer-miniProgressBar {
- display: block !important;
+ .art-layer-mini-progress-bar {
+ display: flex !important;
}
}
&.art-control-show {
- .art-layer-miniProgressBar {
+ .art-layer-mini-progress-bar {
display: none;
}
diff --git a/packages/artplayer/src/style/poster.less b/packages/artplayer/src/style/poster.less
index 73ad6d2f8..7554fb2b2 100644
--- a/packages/artplayer/src/style/poster.less
+++ b/packages/artplayer/src/style/poster.less
@@ -1,17 +1,5 @@
-.art-video-player {
- .art-poster {
- position: absolute;
- z-index: 11;
- left: 0;
- top: 0;
- right: 0;
- bottom: 0;
- width: 100%;
- height: 100%;
- background-position: center center;
- background-repeat: no-repeat;
- background-size: cover;
- user-select: none;
- pointer-events: none;
- }
+.art-poster {
+ .art-full(11);
+ .art-bg-cover();
+ pointer-events: none;
}
diff --git a/packages/artplayer/src/style/progress.less b/packages/artplayer/src/style/progress.less
new file mode 100644
index 000000000..0355501d8
--- /dev/null
+++ b/packages/artplayer/src/style/progress.less
@@ -0,0 +1,130 @@
+.art-bottom {
+ .art-progress {
+ position: relative;
+ z-index: 0;
+ pointer-events: auto;
+
+ .art-control-progress {
+ position: relative;
+ .art-center();
+ cursor: pointer;
+ height: var(--art-progress-height);
+
+ .art-control-progress-inner {
+ display: flex;
+ align-items: center;
+ position: relative;
+ height: 50%;
+ width: 100%;
+ transition: height var(--art-duration) ease;
+ background-color: var(--art-progress-color);
+
+ .art-progress-hover {
+ display: none;
+ .art-full(0);
+ width: 0%;
+ background-color: var(--art-hover-color);
+ }
+
+ .art-progress-loaded {
+ .art-full(10);
+ width: 0%;
+ background-color: var(--art-loaded-color);
+ }
+
+ .art-progress-played {
+ .art-full(20);
+ width: 0%;
+ }
+
+ .art-progress-highlight {
+ .art-full(30);
+ pointer-events: none;
+
+ span {
+ .art-full();
+ right: auto;
+ pointer-events: auto;
+ width: var(--art-highlight-width);
+ transform: translateX(calc(var(--art-highlight-width) / -2));
+ background-color: var(--art-highlight-color);
+ }
+ }
+
+ .art-progress-indicator {
+ .art-center();
+ position: absolute;
+ z-index: 40;
+ border-radius: 50%;
+ transform: scale(0);
+ transition: transform var(--art-duration) ease;
+
+ .art-icon {
+ width: 100%;
+ height: 100%;
+ pointer-events: none;
+ }
+
+ &:hover {
+ transform: scale(1.2) !important;
+ }
+
+ &:active {
+ transform: scale(1) !important;
+ }
+ }
+
+ .art-progress-tip {
+ display: none;
+ position: absolute;
+ z-index: 50;
+ top: -25px;
+ left: 0;
+ padding: 3px 5px;
+ line-height: 1;
+ font-size: 12px;
+ border-radius: 3px;
+ white-space: nowrap;
+ background-color: var(--art-background);
+ }
+ }
+
+ &:hover {
+ .art-control-progress-inner {
+ height: 100%;
+ }
+ }
+ }
+
+ .art-control-thumbnails {
+ display: none;
+ position: absolute;
+ bottom: 10px;
+ left: 0;
+ border-radius: 3px;
+ pointer-events: none;
+ background-color: var(--art-background);
+ box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.2), 0 1px 2px -1px rgb(0 0 0 / 0.2);
+ }
+
+ .art-control-loop {
+ .art-full();
+ display: none;
+ pointer-events: none;
+
+ .art-loop-point {
+ .art-full();
+ left: 0%;
+ width: var(--art-loop-width);
+ background-color: var(--art-loop-color);
+ transform: translateX(calc(var(--art-loop-width) / -2)) scaleY(1.5);
+ }
+ }
+ }
+
+ &:hover {
+ .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator {
+ transform: scale(1);
+ }
+ }
+}
diff --git a/packages/artplayer/src/style/selector.less b/packages/artplayer/src/style/selector.less
index d94b94b4a..1fa9b01b8 100644
--- a/packages/artplayer/src/style/selector.less
+++ b/packages/artplayer/src/style/selector.less
@@ -1,38 +1,42 @@
-.art-video-player {
- .art-control-selector {
- position: relative;
- .art-selector-list {
- display: none;
- position: absolute;
- bottom: 35px;
- min-width: 100px;
- max-width: 200px;
- max-height: 200px;
- overflow: auto;
- padding: 5px 0;
- text-align: center;
- color: #fff;
- background-color: rgba(0, 0, 0, 0.8);
- border-radius: 3px;
- .art-selector-item {
- height: 30px;
- line-height: 30px;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- padding: 0 5px;
- text-shadow: 0 0 2px rgba(0, 0, 0, 0.5);
- &:hover {
- background-color: rgba(255, 255, 255, 0.1);
- }
- &:hover,
- &.art-current {
- color: var(--theme);
- }
+.art-control-selector {
+ position: relative;
+
+ .art-selector-list {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ text-align: center;
+ position: absolute;
+ border-radius: 3px;
+ bottom: var(--art-control-height);
+ background-color: var(--art-background);
+ opacity: 0;
+ transform: translateY(10px);
+ pointer-events: none;
+ transition: all var(--art-duration) ease;
+
+ .art-selector-item {
+ .art-center();
+ padding: 10px 15px;
+ flex-shrink: 0;
+ line-height: 1;
+
+ &:hover {
+ background-color: rgba(255, 255, 255, 0.1);
+ }
+
+ &:hover,
+ &.art-current {
+ color: var(--art-theme);
}
}
- &:hover .art-selector-list {
- display: block;
+ }
+
+ &:hover {
+ .art-selector-list {
+ opacity: 1;
+ transform: translateY(0);
+ pointer-events: auto;
}
}
-}
+}
\ No newline at end of file
diff --git a/packages/artplayer/src/style/setting.less b/packages/artplayer/src/style/setting.less
index fbfbd5301..3ea16a241 100644
--- a/packages/artplayer/src/style/setting.less
+++ b/packages/artplayer/src/style/setting.less
@@ -1,23 +1,21 @@
.art-video-player {
.art-settings {
display: none;
+ flex-direction: column;
position: absolute;
z-index: 90;
left: 0;
- bottom: 60px;
- height: auto;
- overflow: auto;
- font-size: 13px;
border-radius: 3px;
- max-height: 300px;
- transition: all 0.2s ease;
- background-color: rgba(0, 0, 0, 0.9);
+ bottom: var(--art-control-height);
+ transition: all var(--art-duration) ease;
+ background-color: var(--art-background);
.art-setting-panel {
display: none;
+ flex-direction: column;
&.art-current {
- display: block;
+ display: flex;
}
.art-setting-item {
@@ -29,7 +27,7 @@
line-height: 1;
cursor: pointer;
overflow: hidden;
- color: rgba(255, 255, 255, 0.8);
+ color: rgba(255, 255, 255, 0.75);
&:hover {
color: #fff;
@@ -37,15 +35,7 @@
}
&.art-current {
- color: var(--theme);
- }
-
- .art-icon {
- display: flex;
- justify-content: center;
- align-items: center;
- width: 30px;
- height: 30px;
+ color: var(--art-theme);
}
.art-icon-check {
@@ -58,35 +48,29 @@
}
.art-setting-item-left {
- display: flex;
- align-items: center;
- white-space: nowrap;
+ .art-center();
+ gap: 5px;
.art-setting-item-left-icon {
- display: flex;
- justify-content: center;
- align-items: center;
- height: 24px;
- width: 24px;
- margin-right: 10px;
+ .art-center();
+ height: var(--art-settings-icon-size);
+ width: var(--art-settings-icon-size);
}
}
.art-setting-item-right {
- display: flex;
- align-items: center;
+ .art-center();
+ gap: 5px;
+ font-size: 12px;
.art-setting-item-right-tooltip {
- font-size: 12px;
- margin-right: 5px;
white-space: nowrap;
color: rgba(255, 255, 255, 0.5);
}
.art-setting-item-right-icon {
- display: flex;
- justify-content: center;
- align-items: center;
+ .art-center();
+ min-width: 32px;
height: 24px;
}
@@ -108,13 +92,7 @@
&.art-setting-show {
.art-settings {
- display: block;
- }
- }
-
- &.art-mobile {
- .art-settings {
- max-height: 200px;
+ display: flex;
}
}
}
diff --git a/packages/artplayer/src/style/subtitle.less b/packages/artplayer/src/style/subtitle.less
index 2e68565f2..09a3bda36 100644
--- a/packages/artplayer/src/style/subtitle.less
+++ b/packages/artplayer/src/style/subtitle.less
@@ -1,36 +1,33 @@
.art-video-player {
.art-subtitle {
- display: none;
+ .art-center(none);
+ flex-direction: column;
position: absolute;
z-index: 20;
- bottom: 10px;
width: 100%;
- padding: 0 20px;
- text-align: center;
- color: #fff;
- font-size: 20px;
+ padding: 0 5%;
+ gap: var(--art-subtitle-gap);
+ bottom: var(--art-subtitle-bottom);
+ font-size: var(--art-subtitle-font-size);
pointer-events: none;
- transition: bottom 0.2s ease;
- text-shadow: #000 1px 0 1px, #000 0 1px 1px, #000 -1px 0 1px, #000 0 -1px 1px, #000 1px 1px 1px,
- #000 -1px -1px 1px, #000 1px -1px 1px, #000 -1px 1px 1px;
+ transition: bottom var(--art-duration) ease;
+ .art-text-border();
p {
word-break: break-all;
height: fit-content;
- margin: 5px 0 0;
- line-height: 1.2;
}
}
&.art-subtitle-show {
.art-subtitle {
- display: block;
+ display: flex;
}
}
&.art-control-show {
.art-subtitle {
- bottom: 50px;
+ bottom: calc(var(--art-control-height) + var(--art-subtitle-bottom));
}
}
}
diff --git a/packages/artplayer/src/style/variables.less b/packages/artplayer/src/style/variables.less
new file mode 100644
index 000000000..2a78948ab
--- /dev/null
+++ b/packages/artplayer/src/style/variables.less
@@ -0,0 +1,31 @@
+.art-video-player {
+ --art-theme: #f00;
+ --art-duration: 0.2s;
+ --art-state-size: 80px;
+ --art-state-opacity: 0.8;
+ --art-subtitle-font-size: 20px;
+ --art-subtitle-gap: 5px;
+ --art-subtitle-bottom: 15px;
+ --art-control-height: 46px;
+ --art-bottom-height: 100px;
+ --art-bottom-offset: -20px;
+ --art-bottom-gap: 5px;
+ --art-progress-height: 6px;
+ --art-highlight-width: 8px;
+ --art-loop-width: 2px;
+ --art-control-opacity: 0.75;
+ --art-control-icon-size: 36px;
+ --art-control-icon-scale: 1.1;
+ --art-volume-handle-size: 14px;
+ --art-background: rgba(0, 0, 0, 0.85);
+ --art-settings-icon-size: 24px;
+ --art-progress-color: rgba(255, 255, 255, 0.2);
+ --art-hover-color: rgba(255, 255, 255, 0.5);
+ --art-loaded-color: rgba(255, 255, 255, 0.2);
+ --art-highlight-color: rgba(255, 255, 255, 0.5);
+ --art-loop-color: rgba(255, 255, 255, 0.75);
+ --art-scrollbar-size: 5px;
+ --art-scrollbar-background: #666;
+ --art-scrollbar-background-hover: #ccc;
+ --art-contextmenus-min-width: 250px;
+}
diff --git a/packages/artplayer/src/style/video.less b/packages/artplayer/src/style/video.less
index b4f31b0c6..8b9f4abee 100644
--- a/packages/artplayer/src/style/video.less
+++ b/packages/artplayer/src/style/video.less
@@ -1,14 +1,4 @@
-.art-video-player {
- .art-video {
- position: absolute;
- z-index: 10;
- left: 0;
- top: 0;
- right: 0;
- bottom: 0;
- width: 100%;
- height: 100%;
- background-color: #000;
- cursor: pointer;
- }
+.art-video {
+ .art-full(10);
+ cursor: pointer;
}
diff --git a/packages/artplayer/src/style/volume.less b/packages/artplayer/src/style/volume.less
new file mode 100644
index 000000000..897919124
--- /dev/null
+++ b/packages/artplayer/src/style/volume.less
@@ -0,0 +1,84 @@
+.art-control-volume {
+ position: relative;
+
+ .art-volume-panel {
+ .art-center(flex);
+ position: absolute;
+ left: 0;
+ right: 0;
+ bottom: var(--art-control-height);
+ width: var(--art-control-height);
+ height: 120px;
+ padding: 0 5px;
+ font-size: 12px;
+ text-align: center;
+ cursor: default;
+ opacity: 0;
+ transform: translateY(10px);
+ pointer-events: none;
+ transition: all var(--art-duration) ease;
+
+ .art-volume-inner {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ gap: 10px;
+ height: 100%;
+ width: 100%;
+
+ padding: 10px 0 12px;
+ border-radius: 3px;
+ background-color: var(--art-background);
+
+ .art-volume-slider {
+ flex: 1;
+ width: 100%;
+ display: flex;
+ cursor: pointer;
+ position: relative;
+ justify-content: center;
+
+ .art-volume-handle {
+ position: relative;
+ display: flex;
+ justify-content: center;
+ width: 2px;
+ border-radius: 3px;
+ overflow: hidden;
+ background-color: rgba(255, 255, 255, 0.25);
+
+ .art-volume-loaded {
+ .art-full(0);
+ background-color: var(--art-theme);
+ }
+ }
+
+ .art-volume-indicator {
+ position: absolute;
+ width: var(--art-volume-handle-size);
+ height: var(--art-volume-handle-size);
+ margin-top: calc(var(--art-volume-handle-size) / -2);
+ flex-shrink: 0;
+ transform: scale(1);
+ border-radius: 100%;
+ background-color: var(--art-theme);
+ transition: transform var(--art-duration) ease;
+ }
+
+ &:active {
+ .art-volume-indicator {
+ transform: scale(0.9);
+ }
+ }
+ }
+ }
+ }
+
+ &:hover {
+ .art-volume-panel {
+ opacity: 1;
+ transform: translateY(0);
+ pointer-events: auto;
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/artplayer/src/subtitle.js b/packages/artplayer/src/subtitle.js
index d7f78e3d2..d470aa72d 100644
--- a/packages/artplayer/src/subtitle.js
+++ b/packages/artplayer/src/subtitle.js
@@ -116,15 +116,22 @@ export default class Subtitle extends Component {
.then((buffer) => {
const decoder = new TextDecoder(subtitleOption.encoding);
const text = decoder.decode(buffer);
-
this.art.emit('subtitleLoad', subtitleOption.url);
switch (subtitleOption.type || getExt(subtitleOption.url)) {
- case 'srt':
- return vttToBlob(srtToVtt(text));
- case 'ass':
- return vttToBlob(assToVtt(text));
- case 'vtt':
- return vttToBlob(text);
+ case 'srt': {
+ const vtt = srtToVtt(text);
+ const vttNew = subtitleOption.onVttLoad(vtt);
+ return vttToBlob(vttNew);
+ }
+ case 'ass': {
+ const vtt = assToVtt(text);
+ const vttNew = subtitleOption.onVttLoad(vtt);
+ return vttToBlob(vttNew);
+ }
+ case 'vtt': {
+ const vttNew = subtitleOption.onVttLoad(text);
+ return vttToBlob(vttNew);
+ }
default:
return subtitleOption.url;
}
diff --git a/packages/artplayer/src/template.js b/packages/artplayer/src/template.js
index 0e038435d..cac2bcf04 100644
--- a/packages/artplayer/src/template.js
+++ b/packages/artplayer/src/template.js
@@ -88,10 +88,6 @@ export default class Template {
[x]
-
`;
@@ -130,15 +126,10 @@ export default class Template {
this.$info = this.query('.art-info');
this.$infoPanel = this.query('.art-info-panel');
this.$infoClose = this.query('.art-info-close');
- this.$miniHeader = this.query('.art-mini-header');
- this.$miniTitle = this.query('.art-mini-title');
- this.$miniClose = this.query('.art-mini-close');
this.$contextmenu = this.query('.art-contextmenus');
if (option.backdrop) {
- addClass(this.$setting, 'art-backdrop-filter');
- addClass(this.$contextmenu, 'art-backdrop-filter');
- addClass(this.$info, 'art-backdrop-filter');
+ addClass(this.$player, 'art-backdrop');
}
if (isMobile) {
diff --git a/packages/artplayer/src/utils/component.js b/packages/artplayer/src/utils/component.js
index 130491b2f..1d0526de1 100644
--- a/packages/artplayer/src/utils/component.js
+++ b/packages/artplayer/src/utils/component.js
@@ -122,12 +122,10 @@ export default class Component {
append($list, list);
append($ref, $list);
- if (this.art.option.backdrop) {
- addClass($list, 'art-backdrop-filter');
- }
-
const setLeft = () => {
- const left = getStyle($ref, 'width') / 2 - getStyle($list, 'width') / 2;
+ const refWidth = getStyle($ref, 'width');
+ const listWidth = getStyle($list, 'width');
+ const left = refWidth / 2 - listWidth / 2;
$list.style.left = `${left}px`;
};
diff --git a/packages/artplayer/src/utils/dom.js b/packages/artplayer/src/utils/dom.js
index aa14950de..78259241b 100644
--- a/packages/artplayer/src/utils/dom.js
+++ b/packages/artplayer/src/utils/dom.js
@@ -87,3 +87,11 @@ export function replaceElement(newChild, oldChild) {
export function createElement(tag) {
return document.createElement(tag);
}
+
+export function getIcon(key = '', html = '') {
+ const icon = createElement('i');
+ addClass(icon, 'art-icon');
+ addClass(icon, `art-icon-${key}`);
+ append(icon, html);
+ return icon;
+}
diff --git a/packages/artplayer/types/events.d.ts b/packages/artplayer/types/events.d.ts
index 7468b053d..5232dddfe 100644
--- a/packages/artplayer/types/events.d.ts
+++ b/packages/artplayer/types/events.d.ts
@@ -62,4 +62,5 @@ export type Events = {
seek: [currentTime: number];
subtitleOffset: [offset: number];
restart: [];
+ loop: [start?: number, end?: number];
};
diff --git a/packages/artplayer/types/player.d.ts b/packages/artplayer/types/player.d.ts
index 9a1a410e4..7d31889c9 100644
--- a/packages/artplayer/types/player.d.ts
+++ b/packages/artplayer/types/player.d.ts
@@ -5,6 +5,7 @@ export type Flip = 'normal' | 'horizontal' | 'vertical' | (string & Record