/*! * artplayer-plugin-danmuku.js v5.2.0 * Github: https://github.com/zhw2590582/ArtPlayer * (c) 2017-2025 Harvey Zack * Released under the MIT License. */ !function(e,t,n,r,a,i,o,s){var l="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},u="function"==typeof l[r]&&l[r],c=u.i||{},d=u.cache||{},p="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(t,n){if(!d[t]){if(!e[t]){if(a[t])return a[t];var i="function"==typeof l[r]&&l[r];if(!n&&i)return i(t,!0);if(u)return u(t,!0);if(p&&"string"==typeof t)return p(t);var o=Error("Cannot find module '"+t+"'");throw o.code="MODULE_NOT_FOUND",o}c.resolve=function(n){var r=e[t][1][n];return null!=r?r:n},c.cache={};var s=d[t]=new f.Module(t);e[t][0].call(s.exports,c,s,s.exports,l)}return d[t].exports;function c(e){var t=c.resolve(e);if(!1===t)return{};if(Array.isArray(t)){var n={__esModule:!0};return t.forEach(function(e){var t=e[0],r=e[1],a=e[2]||e[0],i=f(r);"*"===t?Object.keys(i).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(n,e)||Object.defineProperty(n,e,{enumerable:!0,get:function(){return i[e]}})}):"*"===a?Object.defineProperty(n,t,{enumerable:!0,value:i}):Object.defineProperty(n,t,{enumerable:!0,get:function(){return"default"===a?i.__esModule?i.default:i:i[a]}})}),n}return f(t)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.require=p,this.exports={}},f.modules=e,f.cache=d,f.parent=u,f.distDir=void 0,f.publicUrl=void 0,f.devServer=void 0,f.i=c,f.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(f,"root",{get:function(){return l[r]}}),l[r]=f;for(var h=0;h=n.time&&n.time>=e-.1&&t.push(n)}),t}},{key:"visibles",get:function(){var e=this,t=[],n=this.$player.clientWidth,r=this.getLeft(this.$player);return this.filter("emit",function(a){var i=a.$ref.offsetTop,o=e.getLeft(a.$ref)-r,s=a.$ref.clientHeight,l=a.$ref.clientWidth,u=o+l,c=u/a.$restTime,d={};d.top=i,d.left=o,d.height=s,d.width=l,d.right=n-u,d.speed=c,d.distance=u,d.time=a.$restTime,d.mode=a.mode,t.push(d)}),t}},{key:"speed",get:function(){return this.option.synchronousPlayback&&this.art.playbackRate?this.option.speed/Number(this.art.playbackRate):this.option.speed}},{key:"load",value:function(e){return(0,i._)(function(){var t,n,r,a,i,o;return(0,c._)(this,function(s){switch(s.label){case 0:t=this.utils.errorHandle,n=[],r=e||this.option.danmuku,s.label=1;case 1:if(s.trys.push([1,13,,14]),"function"!=typeof r)return[3,3];return[4,r()];case 2:case 4:case 6:return n=s.sent(),[3,8];case 3:if(!(r instanceof Promise))return[3,5];return[4,r];case 5:if("string"!=typeof r)return[3,7];return[4,(0,f.bilibiliDanmuParseFromUrl)(r)];case 7:Array.isArray(r)&&(n=r),s.label=8;case 8:t(Array.isArray(n),"Danmuku need return an array as result"),void 0===e&&(this.reset(),this.queue=[],this.states={wait:[],ready:[],emit:[],stop:[]},this.$refs=[],this.$danmuku.textContent=""),a=0,s.label=9;case 9:if(!(a1&&void 0!==arguments[1]&&arguments[1],a=this.utils.clamp,i=this.art.template.$controlsCenter;return(Object.keys(t).some(function(e){return JSON.stringify(n.option[e])!==JSON.stringify(t[e])})||r)&&(this.option=Object.assign({},e.option,this.option,t),this.validator(this.option,e.scheme),this.option.mode=a(this.option.mode,0,2),this.option.speed=a(this.option.speed,1,10),this.option.opacity=a(this.option.opacity,0,1),this.option.lockTime=a(this.option.lockTime,1,60),this.option.maxLength=a(this.option.maxLength,1,1e3),this.option.mount=this.option.mount||i,t.fontSize&&this.reset(),this.option.visible?this.show():this.hide(),this.art.emit("artplayerPluginDanmuku:config",this.option)),this}},{key:"getLeft",value:function(e){var t=e.getBoundingClientRect();return this.isRotate?t.top:t.left}},{key:"postMessage",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new Promise(function(n){t.id=Date.now(),e.worker.postMessage(t),e.worker.onmessage=function(e){var r=e.data;r.id===t.id&&n(r)}})}},{key:"filter",value:function(e,t){for(var n=this.states[e]||[],r=0;rt.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,r=Object.getOwnPropertySymbols(e);at.indexOf(r[a])&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]]);return n}function c(e,t,n,r){var a,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(("undefined"==typeof Reflect?"undefined":(0,i._)(Reflect))==="object"&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var l=e.length-1;l>=0;l--)(a=e[l])&&(s=(o<3?a(s):o>3?a(t,n,s):a(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s}function d(e,t){return function(n,r){t(n,r,e)}}function p(e,t,n,r,a,o){function s(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var l,u=r.kind,c="getter"===u?"get":"setter"===u?"set":"value",d=!t&&e?r.static?e:e.prototype:null,p=t||(d?Object.getOwnPropertyDescriptor(d,r.name):{}),f=!1,h=n.length-1;h>=0;h--){var m={};for(var y in r)m[y]="access"===y?{}:r[y];for(var y in r.access)m.access[y]=r.access[y];m.addInitializer=function(e){if(f)throw TypeError("Cannot add initializers after decoration has completed");o.push(s(e||null))};var g=(0,n[h])("accessor"===u?{get:p.get,set:p.set}:p[c],m);if("accessor"===u){if(void 0===g)continue;if(null===g||(void 0===g?"undefined":(0,i._)(g))!=="object")throw TypeError("Object expected");(l=s(g.get))&&(p.get=l),(l=s(g.set))&&(p.set=l),(l=s(g.init))&&a.unshift(l)}else(l=s(g))&&("field"===u?a.unshift(l):p[c]=l)}d&&Object.defineProperty(d,r.name,p),f=!0}function f(e,t,n){for(var r=arguments.length>2,a=0;a0&&a[a.length-1])&&(6===u[0]||2===u[0])){i=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function k(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,a,i=n.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)o.push(r.value)}catch(e){a={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(a)throw a.error}}return o}function w(){for(var e=[],t=0;t1||s(e,t)})},t&&(r[e]=t(r[e])))}function s(e,t){try{var n;(n=a[e](t)).value instanceof O?Promise.resolve(n.value.v).then(l,u):c(i[0][2],n)}catch(e){c(i[0][3],e)}}function l(e){s("next",e)}function u(e){s("throw",e)}function c(e,t){e(t),i.shift(),i.length&&s(i[0][0],i[0][1])}}function M(e){var t,n;return t={},r("next"),r("throw",function(e){throw e}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,a){t[r]=e[r]?function(t){return(n=!n)?{value:O(e[r](t)),done:!1}:a?a(t):t}:a}}function P(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=x(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise(function(r,a){var i,o,s;i=r,o=a,s=(t=e[n](t)).done,Promise.resolve(t.value).then(function(e){i({value:e,done:s})},o)})}}}function D(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var E=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t},T=function(e){return(T=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(e)};function A(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=T(e),r=0;r=0;d-=1){var l=s[d],p=s[d+1],h=l.top+l.height;if(p.top-h>=t.height)return p.top-t.height}else for(var b=1;b=t.height)return y}for(var v=[],_=1;_e.time))})});return j&&j[0]?j[0].top:void 0;case 1:case 2:return}else{switch(t.mode){case 0:v.sort(function(e,t){var r,n,i=(r=Math).min.apply(r,(0,o._)(t.map(function(e){return e.right}))),u=(n=Math).min.apply(n,(0,o._)(e.map(function(e){return e.right})));return i*t.length-u*e.length});break;case 1:case 2:v.sort(function(e,t){var r,n,i=(r=Math).max.apply(r,(0,o._)(t.map(function(e){return e.width})));return(n=Math).max.apply(n,(0,o._)(e.map(function(e){return e.width})))*e.length-i*t.length})}return v[0][0].top}}onmessage=function(e){var t=e.data;t.id&&t.type&&globalThis.postMessage({result:(0,({getDanmuTop:i})[t.type])(t),id:t.id})}},{"@swc/helpers/cjs/_to_consumable_array.cjs":"i81N6"}],i81N6:[function(e,t,r,n){"use strict";var o=e("d402183024004bc7"),i=e("3209e2b12672cd18"),u=e("fc58adb8f1bff142"),f=e("5e213dc122a10171");r._=function(e){return o._(e)||i._(e)||f._(e)||u._()}},{d402183024004bc7:"hfQG0","3209e2b12672cd18":"fQrlQ",fc58adb8f1bff142:"fWabh","5e213dc122a10171":"fh7mx"}],hfQG0:[function(e,t,r,n){"use strict";var o=e("5bd5b10bf87fc8e");r._=function(e){if(Array.isArray(e))return o._(e)}},{"5bd5b10bf87fc8e":"1WOAB"}],"1WOAB":[function(e,t,r,n){"use strict";r._=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r]*?p="(?

[^"]+)"[^>]*>(?.*?)<\\/d>',"gs");return Array.from(e.matchAll(t)).map(function(e){var t=e.groups.p.split(",");return t.length>=8?{text:e.groups.text.trim().replaceAll(""",'"').replaceAll("'","'").replaceAll("<","<").replaceAll(">",">").replaceAll("&","&"),time:Number(t[0]),mode:s(Number(t[1])),fontSize:Number(t[2]),color:"#".concat(Number(t[3]).toString(16)),timestamp:Number(t[4]),pool:Number(t[5]),userID:t[6],rowID:Number(t[7])}:null}).filter(Boolean)}function u(e){var t=e.data,n=t.xml,r=t.id;r&&n&&globalThis.postMessage({danmus:l(n),id:r})}function c(e){return new Promise(function(t){return(0,i._)(function(){var n,r;return(0,o._)(this,function(a){switch(a.label){case 0:return[4,fetch(e)];case 1:return[4,a.sent().text()];case 2:n=a.sent();try{var i;i=new Blob(["\n ".concat(s.toString(),"\n ").concat(l.toString(),"\n onmessage = ").concat(u.toString(),"\n ")],{type:"application/javascript"}),(r=new Worker(URL.createObjectURL(i))).onmessage=function(e){var n=e.data,a=n.danmus;n.id&&a&&(t(a),r.terminate())},r.postMessage({xml:n,id:Date.now()})}catch(e){console.error("Error parsing Bilibili Danmu:",e),t(l(n))}return[2]}})})()})}},{"@swc/helpers/cjs/_async_to_generator.cjs":"cZn0e","@swc/helpers/cjs/_ts_generator.cjs":"eltGh","@parcel/transformer-js/src/esmodule-helpers.js":"qpMMf"}],hLPK6:[function(e,t,n,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(n),a.export(n,"default",function(){return l});var i=e("@swc/helpers/cjs/_to_consumable_array.cjs"),o=e("@swc/helpers/cjs/_type_of.cjs"),s=function(e,t,n,r,a){return(e-t)*(a-r)/(n-t)+r};function l(e,t,n){var r=e.constructor.utils.query;e.controls.add({name:"heatmap",position:"top",html:"",style:{position:"absolute",top:"-100px",left:"0px",right:"0px",height:"100px",width:"100%",pointerEvents:"none"},mounted:function(a){var l=null,u=null;function c(){var c,d,p=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(l=null,u=null,a.innerHTML="",e.duration&&!e.option.isLive){var f={w:a.offsetWidth,h:a.offsetHeight},h={xMin:0,xMax:f.w,yMin:0,yMax:128,scale:.25,opacity:.2,minHeight:Math.floor(.05*f.h),sampling:Math.floor(f.w/100),smoothing:.2,flattening:.2};(void 0===n?"undefined":(0,o._)(n))==="object"&&Object.assign(h,n);var m=[];if(Array.isArray(p)&&p.length)m=(0,i._)(p);else for(var y=function(e){var n=t.queue.filter(function(t){var n=t.time;return n>e*g&&n<=(e+h.sampling)*g}).length;m.push([e,n])},g=e.duration/f.w,v=0;v<=f.w;v+=h.sampling)y(v);if(0!==m.length){var b=m[m.length-1],_=b[0],x=b[1];_!==f.w&&m.push([f.w,x]);for(var k=m.map(function(e){return e[1]}),w=((c=Math).min.apply(c,(0,i._)(k))+(d=Math).max.apply(d,(0,i._)(k)))/2,j=0;jw?1+h.scale:1-h.scale)+h.minHeight}var S=function(e,t,n,r){var a,i,o=t||e,l=n||e,u={length:Math.sqrt(Math.pow(a=l[0]-o[0],2)+Math.pow(i=l[1]-o[1],2)),angle:Math.atan2(i,a)},c=s(Math.cos(u.angle)*h.flattening,0,1,1,0),d=u.angle*c+(r?Math.PI:0),p=u.length*h.smoothing;return[e[0]+Math.cos(d)*p,e[1]+Math.sin(d)*p]},M=function(e,t,n){var r=S(n[t-1],n[t-2],e),a=S(e,n[t-1],n[t+1],!0),i=t===n.length-1?" z":"";return"C ".concat(r[0],",").concat(r[1]," ").concat(a[0],",").concat(a[1]," ").concat(e[0],",").concat(e[1]).concat(i)},P=m.map(function(e){return[s(e[0],h.xMin,h.xMax,0,f.w),s(e[1],h.yMin,h.yMax,f.h,0)]}).reduce(function(e,t,n,r){return 0===n?"M ".concat(r[r.length-1][0],",").concat(f.h," L ").concat(t[0],",").concat(f.h," L ").concat(t[0],",").concat(t[1]):"".concat(e," ").concat(M(t,n,r))},"");a.innerHTML='\n\n\n\n\n\n\n\n\n\n\n\n '),l=r("#heatmap-start",a),u=r("#heatmap-stop",a),l.setAttribute("offset","".concat(100*e.played,"%")),u.setAttribute("offset","".concat(100*e.played,"%"))}}}e.on("video:timeupdate",function(){l&&u&&(l.setAttribute("offset","".concat(100*e.played,"%")),u.setAttribute("offset","".concat(100*e.played,"%")))}),e.on("setBar",function(e,t){l&&u&&"played"===e&&(l.setAttribute("offset","".concat(100*t,"%")),u.setAttribute("offset","".concat(100*t,"%")))}),e.on("ready",function(){return c()}),e.on("resize",function(){return c()}),e.on("artplayerPluginDanmuku:loaded",function(){return c()}),e.on("artplayerPluginDanmuku:points",function(e){return c(e)})}})}},{"@swc/helpers/cjs/_to_consumable_array.cjs":"i81N6","@swc/helpers/cjs/_type_of.cjs":"iXhRw","@parcel/transformer-js/src/esmodule-helpers.js":"qpMMf"}],i81N6:[function(e,t,n,r){"use strict";var a=e("d402183024004bc7"),i=e("3209e2b12672cd18"),o=e("fc58adb8f1bff142"),s=e("5e213dc122a10171");n._=function(e){return a._(e)||i._(e)||s._(e)||o._()}},{d402183024004bc7:"hfQG0","3209e2b12672cd18":"fQrlQ",fc58adb8f1bff142:"fWabh","5e213dc122a10171":"fh7mx"}],hfQG0:[function(e,t,n,r){"use strict";var a=e("5bd5b10bf87fc8e");n._=function(e){if(Array.isArray(e))return a._(e)}},{"5bd5b10bf87fc8e":"1WOAB"}],"1WOAB":[function(e,t,n,r){"use strict";n._=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n\n '.concat(A.default).concat(E.default,'\n\n

\n ').concat(g.default,'\n
\n
\n
\n 按类型屏蔽\n
\n
\n ').concat(b.default).concat(x.default,'\n
滚动
\n
\n
\n ').concat(w.default).concat($.default,'\n
顶部
\n
\n
\n ').concat(S.default).concat(P.default,'\n
底部
\n
\n
\n
\n
\n
\n ').concat(m.default).concat(f.default,'\n 防止弹幕重叠\n
\n
\n ').concat(m.default).concat(f.default,'\n 同步视频速度\n
\n
\n
\n 不透明度\n
\n
未知
\n
\n
\n 显示区域\n
\n
未知
\n
\n
\n 弹幕字号\n
\n
未知
\n
\n
\n 弹幕速度\n
\n
未知
\n
\n
\n
\n
\n
\n
\n ').concat(C.default,'\n
\n
\n
\n 模式\n
\n
\n ').concat(x.default,'\n
滚动
\n
\n
\n ').concat($.default,'\n
顶部
\n
\n
\n ').concat(P.default,'\n
底部
\n
\n
\n
\n
\n 颜色\n
\n ').concat(this.COLOR.map(function(e){return'
')}).join(""),'\n
\n
\n
\n
\n
\n\n
发送
\n
\n ')}},{key:"OPACITY",get:function(){return(0,l._)({min:0,max:100,steps:[]},this.option.OPACITY)}},{key:"FONT_SIZE",get:function(){return(0,l._)({min:12,max:120,steps:[]},this.option.FONT_SIZE)}},{key:"MARGIN",get:function(){return(0,l._)({min:0,max:3,steps:[{name:"1/4",value:[10,"75%"]},{name:"半屏",value:[10,"50%"]},{name:"3/4",value:[10,"25%"]},{name:"满屏",value:[10,10]}]},this.option.MARGIN)}},{key:"SPEED",get:function(){return(0,l._)({min:0,max:4,steps:[{name:"极慢",value:10},{name:"较慢",value:7.5,hide:!0},{name:"适中",value:5},{name:"较快",value:2.5,hide:!0},{name:"极快",value:1}]},this.option.SPEED)}},{key:"COLOR",get:function(){return this.option.COLOR.length?this.option.COLOR:["#FE0302","#FF7204","#FFAA02","#FFD302","#FFFF00","#A0EE00","#00CD00","#019899","#4266BE","#89D5FF","#CC0273","#222222","#9B9B9B","#FFFFFF"]}},{key:"query",value:function(e){return(0,this.utils.query)(e,this.template.$danmuku)}},{key:"append",value:function(e,t){var n=this.utils.append;(0,c._)(e.children).includes(t)||n(e,t)}},{key:"setData",value:function(e,t){var n=this.art.template.$player,r=this.template.$mount;n.dataset[e]=t,this.outside&&(r.dataset[e]=t)}},{key:"createTemplate",value:function(){var e=this.utils,t=e.createElement,n=e.tooltip,r=t("div");r.className="artplayer-plugin-danmuku",r.innerHTML=this.TEMPLATE,this.template.$danmuku=r,this.template.$toggle=this.query(".apd-toggle"),this.template.$config=this.query(".apd-config"),this.template.$configPanel=this.query(".apd-config-panel"),this.template.$configModes=this.query(".apd-config-mode .apd-modes"),this.template.$style=this.query(".apd-style"),this.template.$stylePanel=this.query(".apd-style-panel"),this.template.$styleModes=this.query(".apd-style-mode .apd-modes"),this.template.$colors=this.query(".apd-colors"),this.template.$antiOverlap=this.query(".apd-anti-overlap"),this.template.$syncVideo=this.query(".apd-sync-video"),this.template.$opacitySlider=this.query(".apd-config-opacity .apd-slider"),this.template.$opacityValue=this.query(".apd-config-opacity .apd-value"),this.template.$marginSlider=this.query(".apd-config-margin .apd-slider"),this.template.$marginValue=this.query(".apd-config-margin .apd-value"),this.template.$fontSizeSlider=this.query(".apd-config-fontSize .apd-slider"),this.template.$fontSizeValue=this.query(".apd-config-fontSize .apd-value"),this.template.$speedSlider=this.query(".apd-config-speed .apd-slider"),this.template.$speedValue=this.query(".apd-config-speed .apd-value"),this.template.$input=this.query(".apd-input"),this.template.$send=this.query(".apd-send");var a=this.template.$toggle;this.art.on("artplayerPluginDanmuku:show",function(){n(a,"关闭弹幕")}),this.art.on("artplayerPluginDanmuku:hide",function(){n(a,"打开弹幕")})}},{key:"createEvents",value:function(){var e=this,t=this.template,n=t.$toggle,r=t.$configModes,a=t.$styleModes,i=t.$colors,o=t.$antiOverlap,s=t.$syncVideo,l=t.$send,u=t.$input;this.art.proxy(n,"click",function(){e.danmuku.config({visible:!e.option.visible}),e.reset()}),this.art.proxy(r,"click",function(t){var n=t.target.closest(".apd-mode");if(n){var r=Number(n.dataset.mode);e.option.modes.includes(r)?e.danmuku.config({modes:e.option.modes.filter(function(e){return e!==r})}):e.danmuku.config({modes:(0,c._)(e.option.modes).concat([r])}),e.reset()}}),this.art.proxy(o,"click",function(){e.danmuku.config({antiOverlap:!e.option.antiOverlap}),e.reset()}),this.art.proxy(s,"click",function(){e.danmuku.config({synchronousPlayback:!e.option.synchronousPlayback}),e.reset()}),this.art.proxy(a,"click",function(t){var n=t.target.closest(".apd-mode");if(n){var r=Number(n.dataset.mode);e.danmuku.config({mode:r}),e.reset()}}),this.art.proxy(i,"click",function(t){var n=t.target.closest(".apd-color");n&&(e.danmuku.config({color:n.dataset.color}),e.reset())}),this.art.proxy(l,"click",function(){return e.emit()}),this.art.proxy(u,"keypress",function(t){"Enter"===t.key&&(t.preventDefault(),e.emit())})}},{key:"createSliders",value:function(){var e=this;this.slider.opacity=this.createSlider((0,u._)((0,l._)({},this.OPACITY),{container:this.template.$opacitySlider,findIndex:function(){return Math.round(100*e.option.opacity)},onChange:function(t){e.template.$opacityValue.textContent="".concat(t,"%"),e.danmuku.config({opacity:t/100})}})),this.slider.margin=this.createSlider((0,u._)((0,l._)({},this.MARGIN),{container:this.template.$marginSlider,findIndex:function(){return e.MARGIN.steps.findIndex(function(t){return t.value[0]===e.option.margin[0]&&t.value[1]===e.option.margin[1]})},onChange:function(t){var n=e.MARGIN.steps[t];n&&(e.template.$marginValue.textContent=n.name,e.danmuku.config({margin:n.value}))}})),this.slider.fontSize=this.createSlider((0,u._)((0,l._)({},this.FONT_SIZE),{container:this.template.$fontSizeSlider,findIndex:function(){return e.danmuku.fontSize},onChange:function(t){e.template.$fontSizeValue.textContent="".concat(t,"px"),t!==e.danmuku.fontSize&&e.danmuku.config({fontSize:t})}})),this.slider.speed=this.createSlider((0,u._)((0,l._)({},this.SPEED),{container:this.template.$speedSlider,findIndex:function(){return e.SPEED.steps.findIndex(function(t){return t.value===e.option.speed})},onChange:function(t){var n=e.SPEED.steps[t];n&&(e.template.$speedValue.textContent=n.name,e.danmuku.config({speed:n.value}))}}))}},{key:"createSlider",value:function(e){var t=this,n=e.min,r=e.max,a=e.container,i=e.findIndex,o=e.onChange,s=e.steps,l=void 0===s?[]:s,u=this.utils,c=u.query,d=u.clamp;(0,u.setStyle)(a,"touch-action","none"),a.innerHTML='\n
\n
\n '.concat(l.map(function(){return'
'}).join(""),'\n
\n
\n
\n
\n
\n ').concat(l.map(function(e){return e.hide?"":'
'.concat(e.name,"
")}).join(""),"\n
\n ");var p=c(".apd-slider-dot",a),f=c(".apd-slider-progress",a),h=!1;function m(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i();if(!(er)){var t=(e-n)/(r-n);p.style.left="".concat(100*t,"%"),0===l.length&&(f.style.width=p.style.left),o(e)}}function y(e){var t=a.getBoundingClientRect(),i=t.top,o=t.height,s=t.left,l=t.width;this.art.isRotate?m(Math.round(d(e.clientY-i,0,o)/o*(r-n)+n)):m(Math.round(d(e.clientX-s,0,l)/l*(r-n)+n))}return this.art.proxy(a,"click",function(e){y.call(t,e)}),this.art.proxy(a,"pointerdown",function(e){h=0===e.button}),this.art.on("document:pointermove",function(e){h&&y.call(t,e)}),this.art.on("document:pointerup",function(e){h&&(h=!1,y.call(t,e))}),{reset:m}}},{key:"onFullscreen",value:function(e){var t=this.template,n=t.$danmuku,r=t.$controlsCenter,a=t.$mount;this.outside?e?this.append(r,n):this.append(a,n):this.append(r,n)}},{key:"onMouseEnter",value:function(e){var t=e.$control,n=e.$panel,r=this.art.template.$player,a=t.getBoundingClientRect(),i=n.getBoundingClientRect(),o=r.getBoundingClientRect(),s=i.width/2-a.width/2,l=o.left-(a.left-s),u=a.right+s-o.right;l>0?n.style.left="".concat(-s+l,"px"):u>0?n.style.left="".concat(-s-u,"px"):n.style.left="".concat(-s,"px")}},{key:"emit",value:function(){return(0,i._)(function(){var e,t,n,r;return(0,d._)(this,function(a){switch(a.label){case 0:if(!(t=(e=this.template.$input).value.trim()).length||this.isLock||this.emitting)return[2];n={text:t,mode:this.option.mode,color:this.option.color,time:this.art.currentTime},a.label=1;case 1:return a.trys.push([1,3,,4]),this.emitting=!0,[4,this.option.beforeEmit(n)];case 2:if(r=a.sent(),this.emitting=!1,!0!==r)return[2];return n.border=!0,delete n.time,this.danmuku.emit(n),e.value="",this.lock(),[3,4];case 3:return console.error("Error emitting danmuku:",a.sent()),this.emitting=!1,[3,4];case 4:return[2]}})}).call(this)}},{key:"lock",value:function(){var e=this,t=this.utils.addClass,n=this.template.$send;this.isLock=!0;var r=this.option.lockTime;n.textContent=r,t(n,"apd-lock");var a=function(){e.timer=setTimeout(function(){0===r?e.unlock():(n.textContent=r-=1,a())},1e3)};a()}},{key:"unlock",value:function(){var e=this.utils.removeClass,t=this.template.$send;clearTimeout(this.timer),this.isLock=!1,t.textContent="发送",e(t,"apd-lock")}},{key:"resize",value:function(){if(!this.outside&&!this.art.fullscreen&&!this.art.fullscreenWeb){var e=this.art.template,t=e.$player,n=e.$controlsCenter,r=this.template.$danmuku;this.art.width'},{}],lVPfB:[function(e,t,n,r){t.exports=''},{}],a75dO:[function(e,t,n,r){t.exports=''},{}],e5Ndj:[function(e,t,n,r){t.exports=''},{}],fgakY:[function(e,t,n,r){t.exports=''},{}],"1rW7G":[function(e,t,n,r){t.exports=''},{}],"86V1z":[function(e,t,n,r){t.exports=''},{}],"8rkmQ":[function(e,t,n,r){t.exports=''},{}],bGZsR:[function(e,t,n,r){t.exports=''},{}],iO9LX:[function(e,t,n,r){t.exports=''},{}],abS9U:[function(e,t,n,r){t.exports=''},{}],g7T0K:[function(e,t,n,r){t.exports=''},{}],d3e2n:[function(e,t,n,r){t.exports='.artplayer-plugin-danmuku{z-index:99;color:#fff;flex-shrink:0;justify-content:center;align-items:center;gap:10px;width:100%;height:32px;font-size:12px;font-weight:300;display:flex;position:relative}.artplayer-plugin-danmuku .apd-icon{cursor:pointer;opacity:.75;fill:#fff;transition:all .2s}.artplayer-plugin-danmuku .apd-icon:hover{opacity:1}.artplayer-plugin-danmuku .apd-config{display:flex;position:relative}.artplayer-plugin-danmuku .apd-config .apd-config-panel{opacity:0;pointer-events:none;width:320px;padding:10px;position:absolute;bottom:24px;left:0}.artplayer-plugin-danmuku .apd-config .apd-config-panel .apd-config-panel-inner{background-color:rgba(0,0,0,.85);border-radius:3px;width:100%;padding:10px}.artplayer-plugin-danmuku .apd-config:hover .apd-config-panel{opacity:100;pointer-events:all}.artplayer-plugin-danmuku .apd-config-mode,.artplayer-plugin-danmuku .apd-config-slider,.artplayer-plugin-danmuku .apd-config-other,.artplayer-plugin-danmuku .apd-style-mode{margin-bottom:15px}.artplayer-plugin-danmuku .apd-modes{align-items:center;gap:20px;margin-top:5px;display:flex}.artplayer-plugin-danmuku .apd-modes .apd-mode{cursor:pointer;text-align:center}.artplayer-plugin-danmuku .apd-modes .apd-mode:hover{color:#00a1d6}.artplayer-plugin-danmuku .apd-config-slider{align-items:center;gap:12px;display:flex}.artplayer-plugin-danmuku .apd-config-slider .apd-value{text-align:right;width:32px}.artplayer-plugin-danmuku .apd-slider{cursor:pointer;flex:1;justify-content:center;align-items:center;height:20px;display:flex;position:relative}.artplayer-plugin-danmuku .apd-slider .apd-slider-line{background-color:rgba(255,255,255,.25);border-radius:3px;width:100%;height:2px;position:relative;overflow:hidden}.artplayer-plugin-danmuku .apd-slider .apd-slider-points{justify-content:space-between;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.artplayer-plugin-danmuku .apd-slider .apd-slider-points .apd-slider-point{background-color:rgba(255,255,255,.5);border-radius:50%;width:2px;height:2px}.artplayer-plugin-danmuku .apd-slider .apd-slider-progress{background-color:#00a1d6;width:0%;height:100%}.artplayer-plugin-danmuku .apd-slider .apd-slider-dot{background-color:#00a1d6;border-radius:50%;width:12px;height:12px;position:absolute;left:0%;transform:translate(-6px)}.artplayer-plugin-danmuku .apd-slider .apd-slider-steps{color:#777;justify-content:space-between;align-items:center;width:calc(100% + 32px);display:flex;position:absolute;bottom:-12px}.artplayer-plugin-danmuku .apd-slider .apd-slider-steps .apd-slider-step{text-align:center;flex-shrink:0;width:36px;scale:.95}.artplayer-plugin-danmuku .apd-config-other{align-items:center;gap:20px;display:flex}.artplayer-plugin-danmuku .apd-config-other .apd-check-off,.artplayer-plugin-danmuku .apd-config-other .apd-check-on{width:16px;height:16px}.artplayer-plugin-danmuku .apd-config-other .apd-other{cursor:pointer;align-items:center;gap:2px;display:flex}.artplayer-plugin-danmuku .apd-config-other .apd-other:hover{color:#00a1d6}.artplayer-plugin-danmuku .apd-emitter{background-color:rgba(255,255,255,.25);border-radius:5px;flex:1;align-items:center;height:100%;display:flex}.artplayer-plugin-danmuku .apd-style{justify-content:center;align-items:center;display:flex;position:relative}.artplayer-plugin-danmuku .apd-style .apd-style-panel{opacity:0;pointer-events:none;width:200px;padding:10px;position:absolute;bottom:24px;left:0}.artplayer-plugin-danmuku .apd-style .apd-style-panel .apd-style-panel-inner{background-color:rgba(0,0,0,.85);border-radius:3px;width:100%;padding:10px}.artplayer-plugin-danmuku .apd-style:hover .apd-style-panel{opacity:100;pointer-events:all}.artplayer-plugin-danmuku .apd-colors{flex-wrap:wrap;gap:8px;margin-top:5px;display:flex}.artplayer-plugin-danmuku .apd-colors .apd-color{cursor:pointer;border-radius:2px;width:16px;height:16px}.artplayer-plugin-danmuku .apd-colors .apd-color.apd-active{border:1px solid #000;box-shadow:0 0 0 1px #fff}.artplayer-plugin-danmuku .apd-input{color:#fff;background-color:transparent;border:none;outline:none;flex:1;width:auto;min-width:0;height:100%;line-height:1}.artplayer-plugin-danmuku .apd-input::placeholder{color:rgba(255,255,255,.5)}.artplayer-plugin-danmuku .apd-input::placeholder{color:rgba(255,255,255,.5)}.artplayer-plugin-danmuku .apd-send{cursor:pointer;width:60px;height:100%;text-shadow:none;background-color:#00a1d6;border-top-right-radius:5px;border-bottom-right-radius:5px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.artplayer-plugin-danmuku .apd-send.apd-lock{cursor:not-allowed;color:#666;background-color:#e7e7e7}.art-controls-center .apd-emitter{flex:none;width:260px}.art-fullscreen .artplayer-plugin-danmuku,.art-fullscreen-web .artplayer-plugin-danmuku{gap:16px;height:38px}.art-fullscreen .artplayer-plugin-danmuku .apd-config-icon,.art-fullscreen-web .artplayer-plugin-danmuku .apd-config-icon,.art-fullscreen .artplayer-plugin-danmuku .apd-toggle-off,.art-fullscreen-web .artplayer-plugin-danmuku .apd-toggle-off,.art-fullscreen .artplayer-plugin-danmuku .apd-toggle-on,.art-fullscreen-web .artplayer-plugin-danmuku .apd-toggle-on{width:28px;height:28px}.art-fullscreen .artplayer-plugin-danmuku .apd-emitter,.art-fullscreen-web .artplayer-plugin-danmuku .apd-emitter{flex:none;width:400px}.art-video-player>.artplayer-plugin-danmuku{padding:0 10px;position:absolute;bottom:-40px;left:0;right:0}.art-video-player:has(>.artplayer-plugin-danmuku){margin-bottom:40px}[data-danmuku-emitter=false] .apd-emitter{display:none!important}[data-danmuku-emitter=false] .art-controls-center .artplayer-plugin-danmuku{justify-content:flex-end;gap:18px}[data-danmuku-emitter=false].art-fullscreen .art-controls-center .artplayer-plugin-danmuku,[data-danmuku-emitter=false].art-fullscreen-web .art-controls-center .artplayer-plugin-danmuku{gap:24px}[data-danmuku-theme=light]>.artplayer-plugin-danmuku .apd-icon{fill:#333}[data-danmuku-theme=light]>.artplayer-plugin-danmuku .apd-emitter{background-color:#f1f2f3}[data-danmuku-theme=light]>.artplayer-plugin-danmuku .apd-input{color:#000}[data-danmuku-theme=light]>.artplayer-plugin-danmuku .apd-input::placeholder{color:rgba(0,0,0,.3)}[data-danmuku-theme=light]>.artplayer-plugin-danmuku .apd-input::placeholder{color:rgba(0,0,0,.3)}[data-danmuku-visible=false] .apd-toggle-off{display:block}[data-danmuku-visible=false] .apd-toggle-on,[data-danmuku-visible=true] .apd-toggle-off{display:none}[data-danmuku-visible=true] .apd-toggle-on{display:block}[data-danmuku-anti-overlap=false] .apd-anti-overlap .apd-check-on{display:none}[data-danmuku-anti-overlap=false] .apd-anti-overlap .apd-check-off,[data-danmuku-anti-overlap=true] .apd-anti-overlap .apd-check-on{display:block}[data-danmuku-anti-overlap=true] .apd-anti-overlap .apd-check-off,[data-danmuku-sync-video=false] .apd-sync-video .apd-check-on{display:none}[data-danmuku-sync-video=false] .apd-sync-video .apd-check-off,[data-danmuku-sync-video=true] .apd-sync-video .apd-check-on{display:block}[data-danmuku-sync-video=true] .apd-sync-video .apd-check-off{display:none}[data-danmuku-mode0=false] .apd-config-mode .apd-mode-0-off{display:block}[data-danmuku-mode0=false] .apd-config-mode .apd-mode-0-on{display:none}[data-danmuku-mode0=false] .art-danmuku [data-mode="0"]{opacity:0!important}[data-danmuku-mode0=true] .apd-config-mode .apd-mode-0-off{display:none}[data-danmuku-mode0=true] .apd-config-mode .apd-mode-0-on{display:block}[data-danmuku-mode="0"] .apd-style-mode [data-mode="0"]{color:#00a1d6}[data-danmuku-mode="0"] .apd-style-mode [data-mode="0"] path{fill:#00a1d6}[data-danmuku-mode1=false] .apd-config-mode .apd-mode-1-off{display:block}[data-danmuku-mode1=false] .apd-config-mode .apd-mode-1-on{display:none}[data-danmuku-mode1=false] .art-danmuku [data-mode="1"]{opacity:0!important}[data-danmuku-mode1=true] .apd-config-mode .apd-mode-1-off{display:none}[data-danmuku-mode1=true] .apd-config-mode .apd-mode-1-on{display:block}[data-danmuku-mode="1"] .apd-style-mode [data-mode="1"]{color:#00a1d6}[data-danmuku-mode="1"] .apd-style-mode [data-mode="1"] path{fill:#00a1d6}[data-danmuku-mode2=false] .apd-config-mode .apd-mode-2-off{display:block}[data-danmuku-mode2=false] .apd-config-mode .apd-mode-2-on{display:none}[data-danmuku-mode2=false] .art-danmuku [data-mode="2"]{opacity:0!important}[data-danmuku-mode2=true] .apd-config-mode .apd-mode-2-off{display:none}[data-danmuku-mode2=true] .apd-config-mode .apd-mode-2-on{display:block}[data-danmuku-mode="2"] .apd-style-mode [data-mode="2"]{color:#00a1d6}[data-danmuku-mode="2"] .apd-style-mode [data-mode="2"] path{fill:#00a1d6}'},{}]},["l3CkF"],"l3CkF","parcelRequire4dc0",{});