@quasar/quasar-ui-qmediaplayer 2.0.0-beta.4 → 2.0.0-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/icon-set/bootstrap-icons.umd.js +1 -1
- package/dist/icon-set/eva-icons.umd.js +1 -1
- package/dist/icon-set/fontawesome-v5-pro.umd.js +1 -1
- package/dist/icon-set/fontawesome-v5.umd.js +1 -1
- package/dist/icon-set/ionicons-v4.umd.js +1 -1
- package/dist/icon-set/ionicons-v5.umd.js +1 -1
- package/dist/icon-set/line-awesome.umd.js +1 -1
- package/dist/icon-set/material-icons-outlined.umd.js +1 -1
- package/dist/icon-set/material-icons-round.umd.js +1 -1
- package/dist/icon-set/material-icons-sharp.umd.js +1 -1
- package/dist/icon-set/material-icons.umd.js +1 -1
- package/dist/icon-set/mdi-v3.umd.js +1 -1
- package/dist/icon-set/mdi-v4.umd.js +1 -1
- package/dist/icon-set/mdi-v5.umd.js +1 -1
- package/dist/icon-set/mdi-v6.umd.js +1 -1
- package/dist/icon-set/svg-bootstrap-icons.umd.js +1 -1
- package/dist/icon-set/svg-eva-icons.umd.js +1 -1
- package/dist/icon-set/svg-fontawesome-v5.umd.js +1 -1
- package/dist/icon-set/svg-ionicons-v4.umd.js +1 -1
- package/dist/icon-set/svg-ionicons-v5.umd.js +1 -1
- package/dist/icon-set/svg-line-awesome.umd.js +1 -1
- package/dist/icon-set/svg-material-icons-outlined.umd.js +1 -1
- package/dist/icon-set/svg-material-icons-round.umd.js +1 -1
- package/dist/icon-set/svg-material-icons-sharp.umd.js +1 -1
- package/dist/icon-set/svg-material-icons.umd.js +1 -1
- package/dist/icon-set/svg-mdi-v4.umd.js +1 -1
- package/dist/icon-set/svg-mdi-v5.umd.js +1 -1
- package/dist/icon-set/svg-mdi-v6.umd.js +1 -1
- package/dist/icon-set/svg-themify.umd.js +1 -1
- package/dist/icon-set/themify.umd.js +1 -1
- package/dist/index.common.js +40 -14
- package/dist/index.common.min.js +2 -2
- package/dist/index.css +1 -1
- package/dist/index.esm.js +22 -14
- package/dist/index.esm.min.js +2 -2
- package/dist/index.min.css +1 -1
- package/dist/index.rtl.css +1 -1
- package/dist/index.rtl.min.css +1 -1
- package/dist/index.umd.js +22 -14
- package/dist/index.umd.min.js +2 -2
- package/dist/lang/ar.umd.js +1 -1
- package/dist/lang/az-Latn.umd.js +1 -1
- package/dist/lang/bg.umd.js +1 -1
- package/dist/lang/bn.umd.js +1 -1
- package/dist/lang/ca.umd.js +1 -1
- package/dist/lang/cs.umd.js +1 -1
- package/dist/lang/da.umd.js +1 -1
- package/dist/lang/de.umd.js +1 -1
- package/dist/lang/el.umd.js +1 -1
- package/dist/lang/en-GB.umd.js +1 -1
- package/dist/lang/en-US.umd.js +1 -1
- package/dist/lang/eo.umd.js +1 -1
- package/dist/lang/es.umd.js +1 -1
- package/dist/lang/et.umd.js +1 -1
- package/dist/lang/fa-IR.umd.js +1 -1
- package/dist/lang/fa.umd.js +1 -1
- package/dist/lang/fi.umd.js +1 -1
- package/dist/lang/fr.umd.js +1 -1
- package/dist/lang/gn.umd.js +1 -1
- package/dist/lang/he.umd.js +1 -1
- package/dist/lang/hr.umd.js +1 -1
- package/dist/lang/hu.umd.js +1 -1
- package/dist/lang/id.umd.js +1 -1
- package/dist/lang/is.umd.js +1 -1
- package/dist/lang/it.umd.js +1 -1
- package/dist/lang/ja.umd.js +1 -1
- package/dist/lang/km.umd.js +1 -1
- package/dist/lang/ko-KR.umd.js +1 -1
- package/dist/lang/kur-CKB.umd.js +1 -1
- package/dist/lang/lt.umd.js +1 -1
- package/dist/lang/lu.umd.js +1 -1
- package/dist/lang/lv.umd.js +1 -1
- package/dist/lang/ml.umd.js +1 -1
- package/dist/lang/ms.umd.js +1 -1
- package/dist/lang/nb-NO.umd.js +1 -1
- package/dist/lang/nl.umd.js +1 -1
- package/dist/lang/pl.umd.js +1 -1
- package/dist/lang/pt-BR.umd.js +1 -1
- package/dist/lang/pt.umd.js +1 -1
- package/dist/lang/ro.umd.js +1 -1
- package/dist/lang/ru.umd.js +1 -1
- package/dist/lang/sk.umd.js +1 -1
- package/dist/lang/sl.umd.js +1 -1
- package/dist/lang/sr-CYR.umd.js +1 -1
- package/dist/lang/sr.umd.js +1 -1
- package/dist/lang/sv.umd.js +1 -1
- package/dist/lang/ta.umd.js +1 -1
- package/dist/lang/th.umd.js +1 -1
- package/dist/lang/tr.umd.js +1 -1
- package/dist/lang/ug.umd.js +1 -1
- package/dist/lang/uk.umd.js +1 -1
- package/dist/lang/vi.umd.js +1 -1
- package/dist/lang/zh-CN.umd.js +1 -1
- package/dist/lang/zh-TW.umd.js +1 -1
- package/package.json +1 -1
- package/src/QMediaPlayer.js +2 -2
- package/src/components/QMediaPlayer.js +21 -13
- package/src/components/icon-set/svg-bootstrap-icons.js +1 -1
- package/src/components/icon-set/svg-eva-icons.js +1 -1
- package/src/components/icon-set/svg-fontawesome-v5.js +1 -1
- package/src/components/icon-set/svg-ionicons-v4.js +1 -1
- package/src/components/icon-set/svg-ionicons-v5.js +1 -1
- package/src/components/icon-set/svg-line-awesome.js +1 -1
- package/src/components/icon-set/svg-material-icons-outlined.js +1 -1
- package/src/components/icon-set/svg-material-icons-round.js +1 -1
- package/src/components/icon-set/svg-material-icons-sharp.js +1 -1
- package/src/components/icon-set/svg-material-icons.js +1 -1
- package/src/components/icon-set/svg-mdi-v4.js +1 -1
- package/src/components/icon-set/svg-mdi-v5.js +1 -1
- package/src/components/icon-set/svg-mdi-v6.js +1 -1
- package/src/components/icon-set/svg-themify.js +1 -1
- package/src/index.js +2 -2
- package/src/version.js +1 -1
package/dist/index.common.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @quasar/quasar-ui-qmediaplayer v2.0.0-beta.
|
|
2
|
+
* @quasar/quasar-ui-qmediaplayer v2.0.0-beta.5
|
|
3
3
|
* (c) 2021 Jeff Galbraith <jeff@quasar.dev>
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -9,6 +9,24 @@
|
|
|
9
9
|
var vue = require('vue');
|
|
10
10
|
var quasar = require('quasar');
|
|
11
11
|
|
|
12
|
+
function _interopNamespace(e) {
|
|
13
|
+
if (e && e.__esModule) return e;
|
|
14
|
+
var n = Object.create(null);
|
|
15
|
+
if (e) {
|
|
16
|
+
Object.keys(e).forEach(function (k) {
|
|
17
|
+
if (k !== 'default') {
|
|
18
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
19
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
get: function () { return e[k]; }
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
n["default"] = e;
|
|
27
|
+
return Object.freeze(n);
|
|
28
|
+
}
|
|
29
|
+
|
|
12
30
|
/* Google Material Design Icons */
|
|
13
31
|
const matClose = 'M0 0h24v24H0z@@fill:none;&&M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z';
|
|
14
32
|
|
|
@@ -786,12 +804,12 @@ var QMediaPlayer = vue.defineComponent({
|
|
|
786
804
|
}
|
|
787
805
|
}
|
|
788
806
|
|
|
789
|
-
function __setupLang () {
|
|
807
|
+
async function __setupLang () {
|
|
790
808
|
const isoName = $q.lang.isoName || 'en-US';
|
|
791
809
|
let language;
|
|
792
810
|
try {
|
|
793
811
|
// language = require(`./lang/${isoName}`)
|
|
794
|
-
language = __loadLang(isoName);
|
|
812
|
+
language = await __loadLang(isoName);
|
|
795
813
|
}
|
|
796
814
|
catch (e) {
|
|
797
815
|
}
|
|
@@ -803,7 +821,7 @@ var QMediaPlayer = vue.defineComponent({
|
|
|
803
821
|
}
|
|
804
822
|
}
|
|
805
823
|
|
|
806
|
-
function __loadLang (lang) {
|
|
824
|
+
async function __loadLang (lang) {
|
|
807
825
|
let langList = {};
|
|
808
826
|
if (lang) {
|
|
809
827
|
// detect if UMD version is installed
|
|
@@ -814,36 +832,40 @@ var QMediaPlayer = vue.defineComponent({
|
|
|
814
832
|
}
|
|
815
833
|
else {
|
|
816
834
|
/* eslint-disable-next-line no-console */
|
|
817
|
-
console.error(`[QMediaPlayer]:
|
|
835
|
+
console.error(`[QMediaPlayer]: No language loaded called '${ lang }'`);
|
|
818
836
|
/* eslint-disable-next-line no-console */
|
|
819
837
|
console.error('[QMediaPlayer]: Be sure to load the UMD version of the language in a script tag before using with UMD');
|
|
820
838
|
}
|
|
821
839
|
}
|
|
822
840
|
else {
|
|
823
841
|
try {
|
|
824
|
-
|
|
842
|
+
const result = await (function (t) { return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(t)); }); })(
|
|
843
|
+
/* webpackChunkName: "[request]" */
|
|
844
|
+
`@quasar/quasar-ui-qmediaplayer/src/components/lang/${ lang }.js`
|
|
845
|
+
);
|
|
846
|
+
langList = result.default;
|
|
825
847
|
}
|
|
826
848
|
catch (e) {
|
|
827
849
|
/* eslint-disable-next-line no-console */
|
|
828
|
-
console.error(`[QMediaPlayer]:
|
|
850
|
+
console.error(`[QMediaPlayer]: Cannot find language file called '${ lang }'`);
|
|
829
851
|
}
|
|
830
852
|
}
|
|
831
853
|
}
|
|
832
854
|
return langList
|
|
833
855
|
}
|
|
834
856
|
|
|
835
|
-
function __setupIcons () {
|
|
857
|
+
async function __setupIcons () {
|
|
836
858
|
const iconSetName = $q.iconSet.name || 'material-icons';
|
|
837
859
|
let icnSet;
|
|
838
860
|
try {
|
|
839
|
-
icnSet = __loadIconSet(iconSetName);
|
|
861
|
+
icnSet = await __loadIconSet(iconSetName);
|
|
840
862
|
}
|
|
841
863
|
catch (e) {
|
|
842
864
|
}
|
|
843
865
|
icnSet !== void 0 && icnSet.name !== void 0 && (iconSet.mediaPlayer = { ...icnSet.mediaPlayer });
|
|
844
866
|
}
|
|
845
867
|
|
|
846
|
-
function __loadIconSet (set) {
|
|
868
|
+
async function __loadIconSet (set) {
|
|
847
869
|
let iconsList = {};
|
|
848
870
|
if (set) {
|
|
849
871
|
// detect if UMD version is installed
|
|
@@ -854,18 +876,22 @@ var QMediaPlayer = vue.defineComponent({
|
|
|
854
876
|
}
|
|
855
877
|
else {
|
|
856
878
|
/* eslint-disable-next-line no-console */
|
|
857
|
-
console.error(`[QMediaPlayer]:
|
|
879
|
+
console.error(`[QMediaPlayer]: No icon set loaded called '${ set }'`);
|
|
858
880
|
/* eslint-disable-next-line no-console */
|
|
859
881
|
console.error('[QMediaPlayer]:Be sure to load the UMD version of the icon set in a script tag before using with UMD');
|
|
860
882
|
}
|
|
861
883
|
}
|
|
862
884
|
else {
|
|
863
885
|
try {
|
|
864
|
-
|
|
886
|
+
const result = await (function (t) { return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(t)); }); })(
|
|
887
|
+
/* webpackChunkName: "[request]" */
|
|
888
|
+
`@quasar/quasar-ui-qmediaplayer/src/components/icon-set/${ set }.js`
|
|
889
|
+
);
|
|
890
|
+
iconsList = result.default;
|
|
865
891
|
}
|
|
866
892
|
catch (e) {
|
|
867
893
|
/* eslint-disable-next-line no-console */
|
|
868
|
-
console.error(`[QMediaPlayer]:
|
|
894
|
+
console.error(`[QMediaPlayer]: Cannot find icon set file called '${ set }'`);
|
|
869
895
|
}
|
|
870
896
|
}
|
|
871
897
|
}
|
|
@@ -2006,7 +2032,7 @@ var QMediaPlayer = vue.defineComponent({
|
|
|
2006
2032
|
}
|
|
2007
2033
|
});
|
|
2008
2034
|
|
|
2009
|
-
const version = '2.0.0-beta.
|
|
2035
|
+
const version = '2.0.0-beta.5';
|
|
2010
2036
|
|
|
2011
2037
|
var Plugin = {
|
|
2012
2038
|
version,
|
package/dist/index.common.min.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @quasar/quasar-ui-qmediaplayer v2.0.0-beta.
|
|
2
|
+
* @quasar/quasar-ui-qmediaplayer v2.0.0-beta.5
|
|
3
3
|
* (c) 2021 Jeff Galbraith <jeff@quasar.dev>
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
6
|
-
"use strict";var vue=require("vue"),quasar=require("quasar");const matClose="M0 0h24v24H0z@@fill:none;&&M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z";function hSlot(e,a){return void 0!==e?e():a}const padTime=e=>{e=Math.floor(e);if(e<10)return"0"+e;return e+""},timeParse=e=>{let a=0;a=Math.floor(e/60);e-=60*a;return padTime(a)+":"+padTime(e)};var QMediaPlayer=vue.defineComponent({name:"QMediaPlayer",directives:{ClosePopup:quasar.ClosePopup,Ripple:quasar.Ripple},props:{type:{type:String,required:!1,default:"video",validator:e=>["video","audio"].includes(e)},mobileMode:Boolean,source:String,sources:{type:Array,default:()=>[]},poster:{type:String,default:""},tracks:{type:Array,default:()=>[]},dense:Boolean,autoplay:Boolean,crossOrigin:{type:[String],default:null,validator:e=>null===e||["anonymous","use-credentials"].includes(e)},volume:{type:Number,default:60,validator:e=>e>=0&&e<=100},hideVolumeSlider:Boolean,hideVolumeBtn:Boolean,hidePlayBtn:Boolean,hideSettingsBtn:Boolean,hideFullscreenBtn:Boolean,disabledSeek:Boolean,preload:{type:String,default:"metadata",validator:e=>["none","metadata","auto"].includes(e)},noVideo:Boolean,muted:Boolean,playsinline:Boolean,loop:Boolean,trackLanguage:{type:String,default:"off"},showTooltips:Boolean,showBigPlayButton:{type:Boolean,default:!0},showSpinner:{type:Boolean,default:!0},spinnerSize:String,noControls:Boolean,nativeControls:Boolean,bottomControls:{type:Boolean,default:!1},controlsDisplayTime:{type:Number,default:4e3},playbackRates:Array,playbackRate:{type:Number,default:1},dark:Boolean,radius:{type:[Number,String],default:0},contentStyle:[String,Object],contentClass:[String,Object],contentWidth:Number,contentHeight:Number},emits:["mediaPlayer","playbackRate","trackLanguage","showControls","volume","muted","fullscreen","networkState","abort","ready","canplaythrough","duration","emptied","ended","error","loadeddata","loadedmetadata","stalled","suspend","loadstart","paused","play","playing","timeupdate","waiting"],setup(o,{slots:l,emit:t,expose:e}){const a=vue.getCurrentInstance(),n=quasar.useQuasar()||a.proxy.$q||a.ctx.$q,r=vue.ref(!1),i=vue.reactive({mediaPlayer:{}}),u=vue.reactive({mediaPlayer:{}}),s=vue.ref(null),d=vue.ref(null),c=vue.ref(null),v=vue.reactive({hideControlsTimer:null}),m=vue.reactive({errorText:null,controls:!1,showControls:!0,inControls:!1,volume:60,muted:!1,currentTime:.01,duration:1,durationTime:"00:00",remainingTime:"00:00",displayTime:"00:00",inFullscreen:!1,loading:!0,playReady:!1,playing:!1,playbackRates:[{label:".5x",value:.5},{label:"Normal",value:1},{label:"1.5x",value:1.5},{label:"2x",value:2}],playbackRate:1,trackLanguage:"Off",showBigPlayButton:!0,metadataLoaded:!1,spinnerSize:"5em",bottomControls:!1}),p=vue.ref(!1),y=["abort","canplay","canplaythrough","durationchange","emptied","ended","error","interruptbegin","interruptend","loadeddata","loadedmetadata","loadedstart","pause","play","playing","progress","ratechange","seeked","timeupdate","volumechange","waiting"],h=vue.computed(()=>{return{"q-media__fullscreen":m.inFullscreen,"q-media__fullscreen--window":m.inFullscreen}}),g=vue.computed(()=>{return{"q-media--player":!0,"q-media--player--bottom-controls--standard":!o.dense&&m.bottomControls&&m.inFullscreen,"q-media--player--bottom-controls--dense":o.dense&&m.bottomControls&&m.inFullscreen}}),f=vue.computed(()=>{return{"q-media__controls--dense":!l.controls&&(m.showControls||o.mobileMode)&&o.dense,"q-media__controls--standard":!l.controls&&(m.showControls||o.mobileMode)&&!o.dense,"q-media__controls--hidden":!m.showControls,"q-media__controls--bottom-controls":m.bottomControls}}),b=vue.computed(()=>{return{"q-media__controls--dense":o.dense,"q-media__controls--standard":!o.dense,"q-media__controls--bottom-controls":m.bottomControls}}),w=vue.computed(()=>{const e={};!0!==m.inFullscreen&&(Object.assign(e,ne("style",o.contentStyle)),!0===o.bottomControls&&void 0===e.height&&(e.height=`calc(100% - ${R.value}px)`),void 0===e.height&&(e.height="100%"));return e}),C=vue.computed(()=>{return m.volume>1&&m.volume<70&&!m.muted?u.mediaPlayer.volumeDown:m.volume>=70&&!m.muted?u.mediaPlayer.volumeUp:u.mediaPlayer.volumeOff}),k=vue.computed(()=>{const a=[];const t={};t.label=i.mediaPlayer.trackLanguageOff;t.value="off";a.push(t);for(let e=0;e<o.tracks.length;++e){const t={};t.label=t.value=o.tracks[e].label,a.push(t)}return a}),P=vue.computed(()=>s.value&&void 0!==s.value.volume),T=vue.computed(()=>{return"audio"===o.type}),q=vue.computed(()=>{return"video"===o.type}),B=vue.computed(()=>{let a="";m.playbackRates.forEach(e=>{e.value===m.playbackRate&&(a=e.label)});return a}),R=vue.computed(()=>{if(d.value)return d.value.clientHeight;return o.dense?40:80});function _(e){if(e&&!0===P.value){if("[object FileList]"===Object.prototype.toString.call(e)){const a=new FileReader;return a.onload=e=>{s.value.src=e.target.result;j();ae();s.value.load();m.loading=!1},a.readAsDataURL(e[0]),!0}console.error("[QMediaPlayer]: loadFileBlob method requires a FileList")}return!1}function S(){m.noControls?m.showControls=!1:m.bottomControls?m.showControls=!0:(v.hideControlsTimer&&(clearTimeout(v.hideControlsTimer),v.hideControlsTimer=null),m.showControls=!0,ie(),-1!==o.controlsDisplayTime&&!o.mobileMode&&q.value&&(v.hideControlsTimer=setTimeout(()=>{we()||!0===m.inControls?S():(m.showControls=!1,v.hideControlsTimer=null,ie())},o.controlsDisplayTime)))}function Q(){m.inControls||(m.noControls?m.showControls=!1:m.bottomControls?m.showControls=!0:(v.hideControlsTimer&&clearTimeout(v.hideControlsTimer),-1!==o.controlsDisplayTime&&(m.showControls=!1,ie()),v.hideControlsTimer=null))}function x(){m.bottomControls||(m.showControls?Q:S)()}function M(){if(!0===P.value&&!0===m.playReady){const e="undefined"!==typeof s.value.play();e?s.value.play().then(()=>{m.showBigPlayButton=!1;m.playing=!0;ve();return!0}).catch(e=>{}):(s.value.play(),m.showBigPlayButton=!1,m.playing=!0,ve())}}function L(){!0===P.value&&!0===m.playReady&&m.playing&&(s.value.pause(),m.showBigPlayButton=!0,m.playing=!1)}function F(){m.muted=!0,!0===P.value&&(s.value.muted=!0===m.muted)}function A(){m.muted=!1,!0===P.value&&(s.value.muted=!0!==m.muted)}function z(e){if(W(e),!0===P.value&&!0===m.playReady)if(m.playing)s.value.pause(),m.showBigPlayButton=!0,m.playing=!1;else{const a="undefined"!==typeof s.value.play();a?s.value.play().then(()=>{m.showBigPlayButton=!1;m.playing=!0;ve();return!0}).catch(e=>{}):(s.value.play(),m.showBigPlayButton=!1,m.playing=!0,ve())}}function E(e){W(e),m.muted=!m.muted,!0===P.value&&(s.value.muted=!0===m.muted)}function N(e){q.value&&(W(e),(m.inFullscreen?V:O)(),t("fullscreen",m.inFullscreen))}function O(){!0!==o.hideFullscreenBtn&&q.value&&!m.inFullscreen&&void 0!==n.fullscreen&&(m.inFullscreen=!0,n.fullscreen.request(s.value.parentNode),document.body.classList.add("no-scroll"))}function V(){!0!==o.hideFullscreenBtn&&q.value&&m.inFullscreen&&void 0!==n.fullscreen&&(m.inFullscreen=!1,n.fullscreen.exit(),document.body.classList.remove("no-scroll"))}function D(){return!0===P.value&&!0===m.playReady?s.value.currentTime:-1}function I(e){m.playReady&&!0===P.value&&isFinite(s.value.duration)&&e>=0&&e<=s.value.duration&&(m.currentTime=s.value.currentTime=e)}function U(e){e>=0&&e<=100&&(m.volume=e)}function j(){v.hideControlsTimer&&!m.bottomControls&&clearTimeout(v.hideControlsTimer),v.hideControlsTimer=null,m.errorText=null,m.currentTime=.01,m.durationTime="00:00",m.remainingTime="00:00",m.displayTime="00:00",m.duration=1,m.playReady=!1,m.playing=!1,m.loading=!0,m.metadataLoaded=!1,Te(),S()}function $(){H(m.trackLanguage)}function H(a){if(!0===P.value&&q.value)for(let e=0;e<s.value.textTracks.length;++e)s.value.textTracks[e].label===a?(s.value.textTracks[e].mode="showing",s.value.textTracks[e].oncuechange=re):(s.value.textTracks[e].mode="hidden",s.value.textTracks[e].oncuechange=null)}function W(e){e&&(!1!==e.cancelable&&e.preventDefault(),e.stopPropagation())}function K(){const e=n.lang.isoName||"en-US";let a;try{a=G(e)}catch(e){}void 0!==a&&void 0!==a.lang&&(i.mediaPlayer={...a.mediaPlayer},qe(),Te())}function G(a){let e={};if(a)if(window&&window.QMediaPlayer&&window.QMediaPlayer.Component){const t=a.replace(/-([a-z])/g,e=>e[1].toUpperCase());window.QMediaPlayer.lang&&window.QMediaPlayer.lang[t]?e=window.QMediaPlayer.lang[t]:(console.error(`[QMediaPlayer]: no language loaded called '${a}'`),console.error("[QMediaPlayer]: Be sure to load the UMD version of the language in a script tag before using with UMD"))}else try{e=require(`@quasar/quasar-ui-qmediaplayer/src/components/lang/${a}.js`).default}catch(e){console.error(`[QMediaPlayer]: cannot find language file called '${a}'`)}return e}function J(){const e=n.iconSet.name||"material-icons";let a;try{a=X(e)}catch(e){}void 0!==a&&void 0!==a.name&&(u.mediaPlayer={...a.mediaPlayer})}function X(a){let e={};if(a)if(window&&window.QMediaPlayer&&window.QMediaPlayer.Component){const t=a.replace(/-([a-z])/g,e=>e[1].toUpperCase());window.QMediaPlayer.iconSet&&window.QMediaPlayer.iconSet[t]?e=window.QMediaPlayer.iconSet[t]:(console.error(`[QMediaPlayer]: no icon set loaded called '${a}'`),console.error("[QMediaPlayer]:Be sure to load the UMD version of the icon set in a script tag before using with UMD"))}else try{e=require(`@quasar/quasar-ui-qmediaplayer/src/components/icon-set/${a}.js`).default}catch(e){console.error(`[QMediaPlayer]: cannot find icon set file called '${a}'`)}return e}function Y(){m.bottomControls=o.bottomControls,m.noControls=o.noControls,!0===o.nativeControls&&(m.noControls=!0),Te(),Re(),Qe(),Ce(),ke(),Pe(),qe(),Be(),o.crossOrigin&&!0===P.value&&s.value.setAttribute("crossorigin",o.crossOrigin),!0===P.value&&(s.value.controls=!1),Z(),ae(),$()}function Z(){!0===P.value&&y.forEach(e=>{s.value.addEventListener(e,le)})}function ee(){!0===P.value&&y.forEach(e=>{s.value.removeEventListener(e,le)})}function ae(){if(!0===P.value){const a=s.value.querySelectorAll("source");for(let e=0;e<a.length;++e)a[e].addEventListener("error",oe)}}function te(){if(!0===P.value){const a=s.value.querySelectorAll("source");for(let e=0;e<a.length;++e)a[e].removeEventListener("error",oe)}}function oe(e){const a=3;!0===P.value&&s.value.networkState===a&&(m.errorText=q.value?i.mediaPlayer.noLoadVideo:i.mediaPlayer.noLoadAudio,m.loading=!1),t("networkState",e)}function le(e){if("abort"===e.type)t("abort");else if("canplay"===e.type)m.playReady=!0,m.displayTime=timeParse(s.value.currentTime),S(),t("ready");else if("canplaythrough"===e.type)t("canplaythrough");else if("durationchange"===e.type)isFinite(s.value.duration)&&(m.duration=s.value.duration,m.durationTime=timeParse(s.value.duration),t("duration",s.value.duration));else if("emptied"===e.type)t("emptied");else if("ended"===e.type)m.playing=!1,t("ended");else if("error"===e.type){const a=s.value.error;m.errorText=a&&a.message?a.message:null,m.playing=!1,m.loading=!1,t("error",a)}else"interruptbegin"===e.type||"interruptend"===e.type||("loadeddata"===e.type?(m.loading=!1,t("loadeddata")):"loadedmetadata"===e.type?(m.metadataLoaded=!0,Qe(),Te(),$(),t("loadedmetadata")):"stalled"===e.type?t("stalled"):"suspend"===e.type?t("suspend"):"loadstart"===e.type?t("loadstart"):"pause"===e.type?(m.playing=!1,t("paused")):"play"===e.type?t("play"):"playing"===e.type?(m.playing=!0,t("playing")):"progress"===e.type||"ratechange"===e.type||"seeked"===e.type||("timeupdate"===e.type?(m.currentTime=s.value.currentTime,t("timeupdate",s.value.currentTime,m.remainingTime)):"volumechange"===e.type||"waiting"===e.type&&t("waiting")))}function ne(e,a){const t={};if(void 0!==a)if("string"===typeof a){if("style"===e){const o=a.replace(/\s+/g,"").split(";");o.forEach(e=>{if(""!==e){const a=e.split(":");t[a[0]]=a[1]}})}else if("class"===e){const l=a.split(" ");l.forEach(e=>{""!==e.replace(/\s+/g,"")&&(t[e]=!0)})}}else Object.assign(t,a);return t}function re(e){}function ie(){!0===P.value&&(m.inFullscreen&&m.playing&&!m.showControls?(s.value.classList.remove("cursor-inherit"),s.value.classList.add("cursor-none")):(s.value.classList.remove("cursor-none"),s.value.classList.add("cursor-inherit")))}function ue(){const e=c.value;e&&setTimeout(()=>{e.updatePosition()},350)}function se(e){W(e),!0!==o.mobileMode&&z()}function de(e){W(e),o.mobileMode&&Q(),z()}function ce(e){p.value=e}function ve(e){e.relatedTarget&&"q-pa-md"===e.relatedTarget.className&&(o.bottomControls||o.mobileMode||T.value||!0===m.inControls||Q())}function me(e){o.bottomControls||o.mobileMode||T.value||ye(e)}function pe(e,a){return e?e.className.startsWith(a)?e:pe(e.offsetParent,a):null}function ye(e){const a=s.value.getBoundingClientRect(),t=pe(e.target,"q-media");if(t){e=t.getBoundingClientRect();return!(!a||!e)&&(e.left===a.left&&e.top===a.top&&e.height===a.height&&e.width===a.width&&(S(),!0))}}function he(e){S(),!0===P.value&&s.value.duration&&e&&e>0&&e<=m.duration&&s.value.currentTime!==e&&(m.currentTime=s.value.currentTime=e)}function ge(e){S(),m.volume=e}function fe(e){m.trackLanguage!==e&&(m.trackLanguage=e)}function be(e){m.playbackRate!==e&&(m.playbackRate=e)}function we(){return p.value}function Ce(){m.showBigPlayButton!==o.showBigPlayButton&&(m.showBigPlayButton=o.showBigPlayButton)}function ke(){m.volume!==o.volume&&(m.volume=o.volume)}function Pe(){m.muted!==o.muted&&(m.muted=o.muted,!0===P.value&&(s.value.muted=m.muted))}function Te(){m.trackLanguage===o.trackLanguage&&!i.mediaPlayer.trackLanguageOff||(m.trackLanguage=o.trackLanguage||i.mediaPlayer.trackLanguageOff)}function qe(){o.playbackRates&&o.playbackRates.length>0?m.playbackRates=[...o.playbackRates]:(m.playbackRates.splice(0,m.playbackRates.length),m.playbackRates.push({label:i.mediaPlayer.ratePoint5,value:.5}),m.playbackRates.push({label:i.mediaPlayer.rateNormal,value:1}),m.playbackRates.push({label:i.mediaPlayer.rate1Point5,value:1.5}),m.playbackRates.push({label:i.mediaPlayer.rate2,value:2})),m.trackLanguage=i.mediaPlayer.trackLanguageOff}function Be(){m.playbackRate!==o.playbackRate&&(m.playbackRate=o.playbackRate)}function Re(){_e(),Se()}function _e(){if(!0===P.value){te(),s.value.pause(),s.value.src="",s.value.currentTime&&(s.value.currentTime=0);const a=s.value.childNodes;for(let e=a.length-1;e>=0;--e)"SOURCE"===a[e].tagName&&s.value.removeChild(a[e]);s.value.load()}}function Se(){if(!0===P.value){let t=!1;o.source&&o.source.length>0?(s.value.src=o.source,t=!0):o.sources.length>0&&o.sources.forEach(e=>{const a=document.createElement("SOURCE");a.src=e.src||"";a.type=e.type||"";s.value.appendChild(a);!t&&e.src&&(s.value.src=e.src,t=!0)}),j(),ae(),s.value.load()}}function Qe(){xe(),Me()}function xe(){if(!0===P.value){const a=s.value.childNodes;for(let e=a.length-1;e>=0;--e)"TRACK"===a[e].tagName&&s.value.removeChild(a[e])}}function Me(){q.value&&!0===P.value&&(o.tracks.forEach(e=>{const a=document.createElement("TRACK");a.kind=e.kind||"";a.label=e.label||"";a.src=e.src||"";a.srclang=e.srclang||"";s.value.appendChild(a)}),vue.nextTick(()=>{$()}))}function Le(){!0===P.value&&o.poster&&(s.value.poster=o.poster)}function Fe(){return s.value?s.value.clientTop+(s.value.clientHeight/2).toFixed(2)-24+"px":"50%"}function Ae(){m.inControls=!0}function ze(){m.inControls=!1}function Ee(){const e=l.oldbrowser,a={poster:o.poster||!1,preload:o.preload,playsinline:!0===o.playsinline,loop:!0===o.loop,autoplay:!0===o.autoplay,muted:!0===o.muted,width:o.contentWidth||void 0,height:o.contentHeight||void 0};return vue.nextTick(()=>{P.value&&!0===o.nativeControls&&(s.value.controls=!0)}).catch(e=>console.error(e)),vue.h("video",{ref:s,class:{...g.value,...ne("class",o.contentClass)},style:{...w.value},...a},hSlot(e,vue.h("p",i.mediaPlayer.oldBrowserVideo)))}function Ne(){const e=l.oldbrowser,a={poster:o.poster||!1,preload:o.preload,playsinline:!0===o.playsinline,loop:!0===o.loop,autoplay:!0===o.autoplay,muted:!0===o.muted,width:o.contentWidth||void 0,height:o.contentHeight||void 0};return vue.nextTick(()=>{P.value&&!0===o.nativeControls&&(s.value.controls=!0)}).catch(e=>console.error(e)),vue.h(!0===o.noVideo?"audio":"video",{ref:s,class:{"q-media--player":!0,...ne("class",o.contentClass)},style:o.contentStyle,...a},hSlot(e,vue.h("p",i.mediaPlayer.oldBrowserAudio)))}function Oe(){if(l.overlay)return vue.h("div",{class:"q-media__overlay-window fit"},l.overlay())}function Ve(){return vue.h(quasar.QBtn,{class:"q-media__error-window--button",onClick:()=>{m.errorText=null},icon:matClose,flat:!0,size:"sm"})}function De(){const e=l.errorWindow;return vue.h("div",{class:"q-media__error-window"},hSlot(e,vue.h("span",[m.errorText,Ve()])))}function Ie(){if(!0!==o.hidePlayBtn){const e=l.play,a={icon:m.playing?u.mediaPlayer.pause:u.mediaPlayer.play,size:"1rem",disable:!m.playReady,flat:!0,padding:"4px"},t={onClick:z};return e&&e()||vue.h(quasar.QBtn,{class:"q-media__controls--button play-button",...a,...t},()=>[o.showTooltips&&m.playing&&vue.h(quasar.QTooltip,()=>i.mediaPlayer.pause),o.showTooltips&&!m.playing&&m.playReady&&vue.h(quasar.QTooltip,()=>i.mediaPlayer.play)])}}function Ue(){const e=l.controls,a={onClick:W,onMouseenter:Ae,onMouseleave:ze};return e?vue.h("div",{ref:d,class:{"q-media__controls":!0,"q-media__controls--overlay":!0===q.value&&!0!==m.bottomControls,...f.value},...a},e()):vue.h("div",{ref:d,class:{"q-media__controls":!0,"q-media__controls--overlay":!0===q.value&&!0!==m.bottomControls,...f.value},...a},[o.dense&&vue.h("div",{class:"q-media__controls--row row col content-start items-center"},[vue.h("div",[Ie(),o.showTooltips&&!m.playReady&&vue.h(quasar.QTooltip,()=>i.mediaPlayer.waitingVideo)]),$e(),He(),Ye(),Xe(),Ze(),We(),void 0!==n.fullscreen&&!0!==o.hideFullscreenBtn&&Ke()]),!o.dense&&vue.h("div",{class:"q-media__controls--row row col items-center justify-between"},[Ye(),Xe(),Ze()]),!o.dense&&vue.h("div",{class:"q-media__controls--row row col content-start items-center"},[vue.h("div",{class:"row col"},[vue.h("div",[Ie(),o.showTooltips&&!m.playReady&&vue.h(quasar.QTooltip,()=>i.mediaPlayer.waitingVideo)]),$e(),He()]),vue.h("div",[We(),void 0!==n.fullscreen&&!0!==o.hideFullscreenBtn&&Ke()])])])}function je(){const e=l.controls;return e&&e()||vue.h("div",{ref:d,class:{"q-media__controls":!0,...b.value}},[o.dense&&vue.h("div",{class:"q-media__controls--row row col content-start items-center"},[vue.h("div",[Ie(),o.showTooltips&&!m.playReady&&vue.h(quasar.QTooltip,()=>i.mediaPlayer.waitingAudio)]),$e(),He(),Ye(),Xe(),Ze()]),!o.dense&&vue.h("div",{class:"q-media__controls--row row col items-center justify-between"},[Ye(),Xe(),Ze()]),!o.dense&&vue.h("div",{class:"q-media__controls--row row col content-start items-center"},[vue.h("div",[Ie(),o.showTooltips&&!m.playReady&&vue.h(quasar.QTooltip,()=>i.mediaPlayer.waitingAudio)]),$e(),He()])])}function $e(){if(!0!==o.hideVolumeBtn){const e=l.volume,a={icon:C.value,size:"1rem",disable:!m.playReady,flat:!0,padding:"4px"},t={onClick:E};return e&&e()||vue.h(quasar.QBtn,{class:"q-media__controls--button volume-button",style:{color:!0===o.dark||n.dark.isActive?"var(--mediaplayer-color-dark)":"var(--mediaplayer-color)"},...a,...t},()=>[!0===o.showTooltips?!0===m.muted?vue.h(quasar.QTooltip,()=>i.mediaPlayer.unmute):vue.h(quasar.QTooltip,()=>i.mediaPlayer.mute):void 0])}}function He(){if(!0!==o.hideVolumeSlider&&!0!==o.hideVolumeBtn){const e=l.volumeSlider,a={modelValue:m.volume,dark:o.dark,min:0,max:100,disable:!m.playReady||m.muted},t={onChange:ge};return e&&e()||vue.h(quasar.QSlider,{class:"col",style:{width:"20%",margin:"0 0.5rem",minWidth:o.dense?"20px":"50px",maxWidth:o.dense?"50px":"200px",color:!0===o.dark||n.dark.isActive?"var(--mediaplayer-color-dark)":"var(--mediaplayer-color)"},...a,...t})}}function We(){if(!0!==o.hideSettingsBtn){const e=l.settings,a={icon:u.mediaPlayer.settings,size:"1rem",disable:!m.playReady,flat:!0,padding:"4px"};return e&&e()||vue.h(quasar.QBtn,{class:"q-media__controls--button settings-button",...a},()=>[!0!==o.showTooltips||p.value?void 0:vue.h(quasar.QTooltip,()=>i.mediaPlayer.settings),aa()])}}function Ke(){const e=l.fullscreen,a={icon:m.inFullscreen?u.mediaPlayer.fullscreenExit:u.mediaPlayer.fullscreen,size:"1rem",disable:!m.playReady,flat:!0,padding:"4px"},t={onClick:N};return e&&e()||vue.h(quasar.QBtn,{class:"q-media__controls--button fullscreen-button",...a,...t},()=>[!0===o.showTooltips?vue.h(quasar.QTooltip,()=>i.mediaPlayer.toggleFullscreen):void 0])}function Ge(){void 0===o.spinnerSize?q.value?m.spinnerSize="3em":m.spinnerSize="1.5em":m.spinnerSize=o.spinnerSize;const e=l.spinner;return e&&e()||vue.h("div",{class:q.value?"q-media__loading--video":"q-media__loading--audio"},[vue.h(quasar.QSpinner,{size:m.spinnerSize})])}function Je(){const e=l.bigPlayButton,a={onClick:de};return e&&e()||vue.h("div",{class:{"q-media--big-button q-media--big-button-bottom-controls":!0===m.bottomControls,"q-media--big-button":!0!==m.bottomControls},style:{top:Fe()}},[vue.h(quasar.QIcon,{name:u.mediaPlayer.bigPlayButton,class:"q-media--big-button-icon",...a})])}function Xe(){const e=l.positionSlider,a={modelValue:m.currentTime,dark:o.dark,min:0,max:m.duration||1,disable:!m.playReady||o.disabledSeek},t={onChange:he};return e&&e()||vue.h(quasar.QSlider,{class:"col",style:{margin:"0 0.5rem",color:!0===o.dark||n.dark.isActive?"var(--mediaplayer-color-dark)":"var(--mediaplayer-color)"},...a,...t})}function Ye(){const e=l.displayTime;return e&&e()||vue.h("span",{class:"q-media__controls--video-time-text text-left",style:{color:!0===o.dark||n.dark.isActive?"var(--mediaplayer-color-dark)":"var(--mediaplayer-color)"}},m.displayTime)}function Ze(){if(!0===P.value){const e=l.durationTime,a=!isFinite(s.value.duration);return e&&e()||vue.h("span",{class:"q-media__controls--video-time-text text-right",style:{width:a?"30px":"auto",color:!0===o.dark||n.dark.isActive?"var(--mediaplayer-color-dark)":"var(--mediaplayer-color)"}},[!0===P.value&&!0!==a&&m.durationTime,!0===P.value&&!0===a&&ea()])}}function ea(){return vue.h("svg",{height:"16",viewbox:"0 0 16 16"},[vue.h("path",{fill:"none",color:!0===o.dark||n.dark.isActive?"var(--mediaplayer-color-dark)":"var(--mediaplayer-color)",strokeWidth:"2",d:"M8,8 C16,0 16,16 8,8 C0,0 0,16 8,8z"})])}function aa(){const e=l.settingsMenu,a={anchor:"top right",self:"bottom right"},t={onShow:()=>{ce(!0)},onHide:()=>{ce(!1)}};return vue.h(quasar.QMenu,{ref:c,...a,...t},()=>[e&&e()||vue.h("div",[m.playbackRates.length>0&&vue.h(quasar.QExpansionItem,{group:"settings-menu",expandSeparator:!0,icon:u.mediaPlayer.speed,label:i.mediaPlayer.speed,caption:B.value,onShow:ue,onHide:ue},()=>[vue.h(quasar.QList,{highlight:!0},()=>[m.playbackRates.map(a=>{return vue.withDirectives(vue.h(quasar.QItem,{key:a.value,clickable:!0,dense:!0,onClick:e=>{W(e);be(a.value)}},()=>[vue.h(quasar.QItemSection,{avatar:!0},()=>[a.value===m.playbackRate&&vue.h(quasar.QIcon,{name:u.mediaPlayer.selected})]),vue.h(quasar.QItemSection,()=>a.label)]),[[quasar.ClosePopup]])})])]),k.value.length>1&&vue.h(quasar.QExpansionItem,{group:"settings-menu",expandSeparator:!0,icon:u.mediaPlayer.language,label:i.mediaPlayer.language,caption:m.trackLanguage,onShow:ue,onHide:ue},()=>[vue.h(quasar.QList,{highlight:!0},()=>[k.value.map(a=>{return vue.withDirectives(vue.h(quasar.QItem,{key:a.value,clickable:!0,dense:!0,onClick:e=>{W(e);fe(a.value)}},()=>[vue.h(quasar.QItemSection,{avatar:!0},()=>[a.value===m.trackLanguage&&vue.h(quasar.QIcon,{name:u.mediaPlayer.selected})]),vue.h(quasar.QItemSection,()=>a.label)]),[[quasar.ClosePopup]])})])])])])}function ta(){const e={onMousemove:me,onMouseleave:ve,onClick:se};return vue.h("div",{class:{"q-media--dark":!0===o.dark,"q-media":!0,...h.value},style:{borderRadius:m.inFullscreen?0:o.radius,height:q.value?"auto":o.dense?"40px":"80px"},...e},!0===r.value?[q.value&&Ee(),T.value&&Ne(),Oe(),m.errorText&&De(),q.value&&!m.noControls&&!m.errorText&&Ue(),T.value&&!m.noControls&&!m.errorText&&je(),!0===o.showSpinner&&m.loading&&!m.playReady&&!m.errorText&&Ge(),q.value&&o.showBigPlayButton&&m.playReady&&!m.playing&&Je()]:void 0)}return vue.watch(()=>s.value,()=>{Y();t("mediaPlayer",s.value)}),vue.watch(()=>o.poster,()=>{Le()}),vue.watch(()=>o.sources,()=>{Re()},{deep:!0}),vue.watch(()=>o.source,()=>{Re()}),vue.watch(()=>o.tracks,()=>{Qe()},{deep:!0}),vue.watch(()=>o.volume,()=>{ke()}),vue.watch(()=>o.muted,()=>{Pe()}),vue.watch(()=>o.trackLanguage,()=>{Te()}),vue.watch(()=>o.showBigPlayButton,()=>{Ce()}),vue.watch(()=>o.playbackRates,()=>{qe()}),vue.watch(()=>o.playbackRate,()=>{Be()}),vue.watch(n.lang,e=>{K()}),vue.watch(n.iconSet,e=>{J()}),vue.watch(()=>n.fullscreen.isActive,e=>{!e&&q.value&&m.inFullscreen&&V()}),vue.watch(()=>m.playbackRate,e=>{e&&!0===P.value&&(s.value.playbackRate=parseFloat(e),t("playbackRate",e))}),vue.watch(()=>m.trackLanguage,e=>{$();t("trackLanguage",e)}),vue.watch(()=>m.showControls,e=>{q.value&&!m.noControls&&t("showControls",e)}),vue.watch(()=>m.volume,e=>{if(!0===P.value){const a=parseFloat(e/100);s.value.volume!==a&&(s.value.volume=a,t("volume",e))}}),vue.watch(()=>m.muted,e=>{t("muted",e)}),vue.watch(()=>m.currentTime,e=>{!0===P.value&&m.playReady&&(isFinite(s.value.duration)&&(m.remainingTime=timeParse(s.value.duration-s.value.currentTime)),m.displayTime=timeParse(s.value.currentTime))}),vue.watch(()=>o.bottomControls,e=>{m.bottomControls=e;e&&(m.showControls=!0)}),vue.watch(()=>o.noControls,e=>{m.noControls=e;!0===o.nativeControls&&(m.noControls=!0)}),vue.onBeforeMount(()=>{r.value=void 0!==window;!0===r.value&&(K(),J())}),vue.onBeforeUnmount(()=>{!0===r.value&&(V(),document.body.classList.remove("no-scroll"),te(),ee(),xe(),_e(),s.value=null)}),e({loadFileBlob:_,showControls:S,hideControls:Q,toggleControls:x,play:M,pause:L,mute:F,unmute:A,togglePlay:z,toggleMuted:E,toggleFullscreen:N,setFullscreen:O,exitFullscreen:V,currentTime:D,setCurrentTime:I,setVolume:U,$media:s}),()=>ta()}});const version="2.0.0-beta.4";var Plugin={version:version,QMediaPlayer:QMediaPlayer,install(e){e.component(QMediaPlayer.name,QMediaPlayer)}};module.exports=Plugin;
|
|
6
|
+
"use strict";var vue=require("vue"),quasar=require("quasar");function _interopNamespace(t){if(t&&t.__esModule)return t;var o=Object.create(null);return t&&Object.keys(t).forEach(function(e){var a;"default"!==e&&(a=Object.getOwnPropertyDescriptor(t,e),Object.defineProperty(o,e,a.get?a:{enumerable:!0,get:function(){return t[e]}}))}),o["default"]=t,Object.freeze(o)}const matClose="M0 0h24v24H0z@@fill:none;&&M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z";function hSlot(e,a){return void 0!==e?e():a}const padTime=e=>{e=Math.floor(e);if(e<10)return"0"+e;return e+""},timeParse=e=>{let a=0;a=Math.floor(e/60);e-=60*a;return padTime(a)+":"+padTime(e)};var QMediaPlayer=vue.defineComponent({name:"QMediaPlayer",directives:{ClosePopup:quasar.ClosePopup,Ripple:quasar.Ripple},props:{type:{type:String,required:!1,default:"video",validator:e=>["video","audio"].includes(e)},mobileMode:Boolean,source:String,sources:{type:Array,default:()=>[]},poster:{type:String,default:""},tracks:{type:Array,default:()=>[]},dense:Boolean,autoplay:Boolean,crossOrigin:{type:[String],default:null,validator:e=>null===e||["anonymous","use-credentials"].includes(e)},volume:{type:Number,default:60,validator:e=>e>=0&&e<=100},hideVolumeSlider:Boolean,hideVolumeBtn:Boolean,hidePlayBtn:Boolean,hideSettingsBtn:Boolean,hideFullscreenBtn:Boolean,disabledSeek:Boolean,preload:{type:String,default:"metadata",validator:e=>["none","metadata","auto"].includes(e)},noVideo:Boolean,muted:Boolean,playsinline:Boolean,loop:Boolean,trackLanguage:{type:String,default:"off"},showTooltips:Boolean,showBigPlayButton:{type:Boolean,default:!0},showSpinner:{type:Boolean,default:!0},spinnerSize:String,noControls:Boolean,nativeControls:Boolean,bottomControls:{type:Boolean,default:!1},controlsDisplayTime:{type:Number,default:4e3},playbackRates:Array,playbackRate:{type:Number,default:1},dark:Boolean,radius:{type:[Number,String],default:0},contentStyle:[String,Object],contentClass:[String,Object],contentWidth:Number,contentHeight:Number},emits:["mediaPlayer","playbackRate","trackLanguage","showControls","volume","muted","fullscreen","networkState","abort","ready","canplaythrough","duration","emptied","ended","error","loadeddata","loadedmetadata","stalled","suspend","loadstart","paused","play","playing","timeupdate","waiting"],setup(o,{slots:l,emit:t,expose:e}){const a=vue.getCurrentInstance(),n=quasar.useQuasar()||a.proxy.$q||a.ctx.$q,r=vue.ref(!1),i=vue.reactive({mediaPlayer:{}}),u=vue.reactive({mediaPlayer:{}}),s=vue.ref(null),d=vue.ref(null),c=vue.ref(null),v=vue.reactive({hideControlsTimer:null}),m=vue.reactive({errorText:null,controls:!1,showControls:!0,inControls:!1,volume:60,muted:!1,currentTime:.01,duration:1,durationTime:"00:00",remainingTime:"00:00",displayTime:"00:00",inFullscreen:!1,loading:!0,playReady:!1,playing:!1,playbackRates:[{label:".5x",value:.5},{label:"Normal",value:1},{label:"1.5x",value:1.5},{label:"2x",value:2}],playbackRate:1,trackLanguage:"Off",showBigPlayButton:!0,metadataLoaded:!1,spinnerSize:"5em",bottomControls:!1}),p=vue.ref(!1),y=["abort","canplay","canplaythrough","durationchange","emptied","ended","error","interruptbegin","interruptend","loadeddata","loadedmetadata","loadedstart","pause","play","playing","progress","ratechange","seeked","timeupdate","volumechange","waiting"],h=vue.computed(()=>{return{"q-media__fullscreen":m.inFullscreen,"q-media__fullscreen--window":m.inFullscreen}}),g=vue.computed(()=>{return{"q-media--player":!0,"q-media--player--bottom-controls--standard":!o.dense&&m.bottomControls&&m.inFullscreen,"q-media--player--bottom-controls--dense":o.dense&&m.bottomControls&&m.inFullscreen}}),f=vue.computed(()=>{return{"q-media__controls--dense":!l.controls&&(m.showControls||o.mobileMode)&&o.dense,"q-media__controls--standard":!l.controls&&(m.showControls||o.mobileMode)&&!o.dense,"q-media__controls--hidden":!m.showControls,"q-media__controls--bottom-controls":m.bottomControls}}),b=vue.computed(()=>{return{"q-media__controls--dense":o.dense,"q-media__controls--standard":!o.dense,"q-media__controls--bottom-controls":m.bottomControls}}),w=vue.computed(()=>{const e={};!0!==m.inFullscreen&&(Object.assign(e,ne("style",o.contentStyle)),!0===o.bottomControls&&void 0===e.height&&(e.height=`calc(100% - ${_.value}px)`),void 0===e.height&&(e.height="100%"));return e}),C=vue.computed(()=>{return m.volume>1&&m.volume<70&&!m.muted?u.mediaPlayer.volumeDown:m.volume>=70&&!m.muted?u.mediaPlayer.volumeUp:u.mediaPlayer.volumeOff}),k=vue.computed(()=>{const a=[];const t={};t.label=i.mediaPlayer.trackLanguageOff;t.value="off";a.push(t);for(let e=0;e<o.tracks.length;++e){const t={};t.label=t.value=o.tracks[e].label,a.push(t)}return a}),P=vue.computed(()=>s.value&&void 0!==s.value.volume),T=vue.computed(()=>{return"audio"===o.type}),q=vue.computed(()=>{return"video"===o.type}),B=vue.computed(()=>{let a="";m.playbackRates.forEach(e=>{e.value===m.playbackRate&&(a=e.label)});return a}),_=vue.computed(()=>{if(d.value)return d.value.clientHeight;return o.dense?40:80});function R(e){if(e&&!0===P.value){if("[object FileList]"===Object.prototype.toString.call(e)){const a=new FileReader;return a.onload=e=>{s.value.src=e.target.result;U();ae();s.value.load();m.loading=!1},a.readAsDataURL(e[0]),!0}console.error("[QMediaPlayer]: loadFileBlob method requires a FileList")}return!1}function S(){m.noControls?m.showControls=!1:m.bottomControls?m.showControls=!0:(v.hideControlsTimer&&(clearTimeout(v.hideControlsTimer),v.hideControlsTimer=null),m.showControls=!0,ie(),-1!==o.controlsDisplayTime&&!o.mobileMode&&q.value&&(v.hideControlsTimer=setTimeout(()=>{we()||!0===m.inControls?S():(m.showControls=!1,v.hideControlsTimer=null,ie())},o.controlsDisplayTime)))}function Q(){m.inControls||(m.noControls?m.showControls=!1:m.bottomControls?m.showControls=!0:(v.hideControlsTimer&&clearTimeout(v.hideControlsTimer),-1!==o.controlsDisplayTime&&(m.showControls=!1,ie()),v.hideControlsTimer=null))}function x(){m.bottomControls||(m.showControls?Q:S)()}function M(){if(!0===P.value&&!0===m.playReady){const e="undefined"!==typeof s.value.play();e?s.value.play().then(()=>{m.showBigPlayButton=!1;m.playing=!0;ve();return!0}).catch(e=>{}):(s.value.play(),m.showBigPlayButton=!1,m.playing=!0,ve())}}function L(){!0===P.value&&!0===m.playReady&&m.playing&&(s.value.pause(),m.showBigPlayButton=!0,m.playing=!1)}function F(){m.muted=!0,!0===P.value&&(s.value.muted=!0===m.muted)}function O(){m.muted=!1,!0===P.value&&(s.value.muted=!0!==m.muted)}function N(e){if(W(e),!0===P.value&&!0===m.playReady)if(m.playing)s.value.pause(),m.showBigPlayButton=!0,m.playing=!1;else{const a="undefined"!==typeof s.value.play();a?s.value.play().then(()=>{m.showBigPlayButton=!1;m.playing=!0;ve();return!0}).catch(e=>{}):(s.value.play(),m.showBigPlayButton=!1,m.playing=!0,ve())}}function z(e){W(e),m.muted=!m.muted,!0===P.value&&(s.value.muted=!0===m.muted)}function A(e){q.value&&(W(e),(m.inFullscreen?j:E)(),t("fullscreen",m.inFullscreen))}function E(){!0!==o.hideFullscreenBtn&&q.value&&!m.inFullscreen&&void 0!==n.fullscreen&&(m.inFullscreen=!0,n.fullscreen.request(s.value.parentNode),document.body.classList.add("no-scroll"))}function j(){!0!==o.hideFullscreenBtn&&q.value&&m.inFullscreen&&void 0!==n.fullscreen&&(m.inFullscreen=!1,n.fullscreen.exit(),document.body.classList.remove("no-scroll"))}function D(){return!0===P.value&&!0===m.playReady?s.value.currentTime:-1}function V(e){m.playReady&&!0===P.value&&isFinite(s.value.duration)&&e>=0&&e<=s.value.duration&&(m.currentTime=s.value.currentTime=e)}function I(e){e>=0&&e<=100&&(m.volume=e)}function U(){v.hideControlsTimer&&!m.bottomControls&&clearTimeout(v.hideControlsTimer),v.hideControlsTimer=null,m.errorText=null,m.currentTime=.01,m.durationTime="00:00",m.remainingTime="00:00",m.displayTime="00:00",m.duration=1,m.playReady=!1,m.playing=!1,m.loading=!0,m.metadataLoaded=!1,Te(),S()}function $(){H(m.trackLanguage)}function H(a){if(!0===P.value&&q.value)for(let e=0;e<s.value.textTracks.length;++e)s.value.textTracks[e].label===a?(s.value.textTracks[e].mode="showing",s.value.textTracks[e].oncuechange=re):(s.value.textTracks[e].mode="hidden",s.value.textTracks[e].oncuechange=null)}function W(e){e&&(!1!==e.cancelable&&e.preventDefault(),e.stopPropagation())}async function K(){const e=n.lang.isoName||"en-US";let a;try{a=await G(e)}catch(e){}void 0!==a&&void 0!==a.lang&&(i.mediaPlayer={...a.mediaPlayer},qe(),Te())}async function G(a){let e={};if(a)if(window&&window.QMediaPlayer&&window.QMediaPlayer.Component){const t=a.replace(/-([a-z])/g,e=>e[1].toUpperCase());window.QMediaPlayer.lang&&window.QMediaPlayer.lang[t]?e=window.QMediaPlayer.lang[t]:(console.error(`[QMediaPlayer]: No language loaded called '${a}'`),console.error("[QMediaPlayer]: Be sure to load the UMD version of the language in a script tag before using with UMD"))}else try{const o=await function(e){return Promise.resolve().then(function(){return _interopNamespace(require(e))})}(`@quasar/quasar-ui-qmediaplayer/src/components/lang/${a}.js`);e=o.default}catch(e){console.error(`[QMediaPlayer]: Cannot find language file called '${a}'`)}return e}async function J(){const e=n.iconSet.name||"material-icons";let a;try{a=await X(e)}catch(e){}void 0!==a&&void 0!==a.name&&(u.mediaPlayer={...a.mediaPlayer})}async function X(a){let e={};if(a)if(window&&window.QMediaPlayer&&window.QMediaPlayer.Component){const t=a.replace(/-([a-z])/g,e=>e[1].toUpperCase());window.QMediaPlayer.iconSet&&window.QMediaPlayer.iconSet[t]?e=window.QMediaPlayer.iconSet[t]:(console.error(`[QMediaPlayer]: No icon set loaded called '${a}'`),console.error("[QMediaPlayer]:Be sure to load the UMD version of the icon set in a script tag before using with UMD"))}else try{const o=await function(e){return Promise.resolve().then(function(){return _interopNamespace(require(e))})}(`@quasar/quasar-ui-qmediaplayer/src/components/icon-set/${a}.js`);e=o.default}catch(e){console.error(`[QMediaPlayer]: Cannot find icon set file called '${a}'`)}return e}function Y(){m.bottomControls=o.bottomControls,m.noControls=o.noControls,!0===o.nativeControls&&(m.noControls=!0),Te(),_e(),Qe(),Ce(),ke(),Pe(),qe(),Be(),o.crossOrigin&&!0===P.value&&s.value.setAttribute("crossorigin",o.crossOrigin),!0===P.value&&(s.value.controls=!1),Z(),ae(),$()}function Z(){!0===P.value&&y.forEach(e=>{s.value.addEventListener(e,le)})}function ee(){!0===P.value&&y.forEach(e=>{s.value.removeEventListener(e,le)})}function ae(){if(!0===P.value){const a=s.value.querySelectorAll("source");for(let e=0;e<a.length;++e)a[e].addEventListener("error",oe)}}function te(){if(!0===P.value){const a=s.value.querySelectorAll("source");for(let e=0;e<a.length;++e)a[e].removeEventListener("error",oe)}}function oe(e){const a=3;!0===P.value&&s.value.networkState===a&&(m.errorText=q.value?i.mediaPlayer.noLoadVideo:i.mediaPlayer.noLoadAudio,m.loading=!1),t("networkState",e)}function le(e){if("abort"===e.type)t("abort");else if("canplay"===e.type)m.playReady=!0,m.displayTime=timeParse(s.value.currentTime),S(),t("ready");else if("canplaythrough"===e.type)t("canplaythrough");else if("durationchange"===e.type)isFinite(s.value.duration)&&(m.duration=s.value.duration,m.durationTime=timeParse(s.value.duration),t("duration",s.value.duration));else if("emptied"===e.type)t("emptied");else if("ended"===e.type)m.playing=!1,t("ended");else if("error"===e.type){const a=s.value.error;m.errorText=a&&a.message?a.message:null,m.playing=!1,m.loading=!1,t("error",a)}else"interruptbegin"===e.type||"interruptend"===e.type||("loadeddata"===e.type?(m.loading=!1,t("loadeddata")):"loadedmetadata"===e.type?(m.metadataLoaded=!0,Qe(),Te(),$(),t("loadedmetadata")):"stalled"===e.type?t("stalled"):"suspend"===e.type?t("suspend"):"loadstart"===e.type?t("loadstart"):"pause"===e.type?(m.playing=!1,t("paused")):"play"===e.type?t("play"):"playing"===e.type?(m.playing=!0,t("playing")):"progress"===e.type||"ratechange"===e.type||"seeked"===e.type||("timeupdate"===e.type?(m.currentTime=s.value.currentTime,t("timeupdate",s.value.currentTime,m.remainingTime)):"volumechange"===e.type||"waiting"===e.type&&t("waiting")))}function ne(e,a){const t={};if(void 0!==a)if("string"===typeof a){if("style"===e){const o=a.replace(/\s+/g,"").split(";");o.forEach(e=>{if(""!==e){const a=e.split(":");t[a[0]]=a[1]}})}else if("class"===e){const l=a.split(" ");l.forEach(e=>{""!==e.replace(/\s+/g,"")&&(t[e]=!0)})}}else Object.assign(t,a);return t}function re(e){}function ie(){!0===P.value&&(m.inFullscreen&&m.playing&&!m.showControls?(s.value.classList.remove("cursor-inherit"),s.value.classList.add("cursor-none")):(s.value.classList.remove("cursor-none"),s.value.classList.add("cursor-inherit")))}function ue(){const e=c.value;e&&setTimeout(()=>{e.updatePosition()},350)}function se(e){W(e),!0!==o.mobileMode&&N()}function de(e){W(e),o.mobileMode&&Q(),N()}function ce(e){p.value=e}function ve(e){e.relatedTarget&&"q-pa-md"===e.relatedTarget.className&&(o.bottomControls||o.mobileMode||T.value||!0===m.inControls||Q())}function me(e){o.bottomControls||o.mobileMode||T.value||ye(e)}function pe(e,a){return e?e.className.startsWith(a)?e:pe(e.offsetParent,a):null}function ye(e){const a=s.value.getBoundingClientRect(),t=pe(e.target,"q-media");if(t){e=t.getBoundingClientRect();return!(!a||!e)&&(e.left===a.left&&e.top===a.top&&e.height===a.height&&e.width===a.width&&(S(),!0))}}function he(e){S(),!0===P.value&&s.value.duration&&e&&e>0&&e<=m.duration&&s.value.currentTime!==e&&(m.currentTime=s.value.currentTime=e)}function ge(e){S(),m.volume=e}function fe(e){m.trackLanguage!==e&&(m.trackLanguage=e)}function be(e){m.playbackRate!==e&&(m.playbackRate=e)}function we(){return p.value}function Ce(){m.showBigPlayButton!==o.showBigPlayButton&&(m.showBigPlayButton=o.showBigPlayButton)}function ke(){m.volume!==o.volume&&(m.volume=o.volume)}function Pe(){m.muted!==o.muted&&(m.muted=o.muted,!0===P.value&&(s.value.muted=m.muted))}function Te(){m.trackLanguage===o.trackLanguage&&!i.mediaPlayer.trackLanguageOff||(m.trackLanguage=o.trackLanguage||i.mediaPlayer.trackLanguageOff)}function qe(){o.playbackRates&&o.playbackRates.length>0?m.playbackRates=[...o.playbackRates]:(m.playbackRates.splice(0,m.playbackRates.length),m.playbackRates.push({label:i.mediaPlayer.ratePoint5,value:.5}),m.playbackRates.push({label:i.mediaPlayer.rateNormal,value:1}),m.playbackRates.push({label:i.mediaPlayer.rate1Point5,value:1.5}),m.playbackRates.push({label:i.mediaPlayer.rate2,value:2})),m.trackLanguage=i.mediaPlayer.trackLanguageOff}function Be(){m.playbackRate!==o.playbackRate&&(m.playbackRate=o.playbackRate)}function _e(){Re(),Se()}function Re(){if(!0===P.value){te(),s.value.pause(),s.value.src="",s.value.currentTime&&(s.value.currentTime=0);const a=s.value.childNodes;for(let e=a.length-1;e>=0;--e)"SOURCE"===a[e].tagName&&s.value.removeChild(a[e]);s.value.load()}}function Se(){if(!0===P.value){let t=!1;o.source&&o.source.length>0?(s.value.src=o.source,t=!0):o.sources.length>0&&o.sources.forEach(e=>{const a=document.createElement("SOURCE");a.src=e.src||"";a.type=e.type||"";s.value.appendChild(a);!t&&e.src&&(s.value.src=e.src,t=!0)}),U(),ae(),s.value.load()}}function Qe(){xe(),Me()}function xe(){if(!0===P.value){const a=s.value.childNodes;for(let e=a.length-1;e>=0;--e)"TRACK"===a[e].tagName&&s.value.removeChild(a[e])}}function Me(){q.value&&!0===P.value&&(o.tracks.forEach(e=>{const a=document.createElement("TRACK");a.kind=e.kind||"";a.label=e.label||"";a.src=e.src||"";a.srclang=e.srclang||"";s.value.appendChild(a)}),vue.nextTick(()=>{$()}))}function Le(){!0===P.value&&o.poster&&(s.value.poster=o.poster)}function Fe(){return s.value?s.value.clientTop+(s.value.clientHeight/2).toFixed(2)-24+"px":"50%"}function Oe(){m.inControls=!0}function Ne(){m.inControls=!1}function ze(){const e=l.oldbrowser,a={poster:o.poster||!1,preload:o.preload,playsinline:!0===o.playsinline,loop:!0===o.loop,autoplay:!0===o.autoplay,muted:!0===o.muted,width:o.contentWidth||void 0,height:o.contentHeight||void 0};return vue.nextTick(()=>{P.value&&!0===o.nativeControls&&(s.value.controls=!0)}).catch(e=>console.error(e)),vue.h("video",{ref:s,class:{...g.value,...ne("class",o.contentClass)},style:{...w.value},...a},hSlot(e,vue.h("p",i.mediaPlayer.oldBrowserVideo)))}function Ae(){const e=l.oldbrowser,a={poster:o.poster||!1,preload:o.preload,playsinline:!0===o.playsinline,loop:!0===o.loop,autoplay:!0===o.autoplay,muted:!0===o.muted,width:o.contentWidth||void 0,height:o.contentHeight||void 0};return vue.nextTick(()=>{P.value&&!0===o.nativeControls&&(s.value.controls=!0)}).catch(e=>console.error(e)),vue.h(!0===o.noVideo?"audio":"video",{ref:s,class:{"q-media--player":!0,...ne("class",o.contentClass)},style:o.contentStyle,...a},hSlot(e,vue.h("p",i.mediaPlayer.oldBrowserAudio)))}function Ee(){if(l.overlay)return vue.h("div",{class:"q-media__overlay-window fit"},l.overlay())}function je(){return vue.h(quasar.QBtn,{class:"q-media__error-window--button",onClick:()=>{m.errorText=null},icon:matClose,flat:!0,size:"sm"})}function De(){const e=l.errorWindow;return vue.h("div",{class:"q-media__error-window"},hSlot(e,vue.h("span",[m.errorText,je()])))}function Ve(){if(!0!==o.hidePlayBtn){const e=l.play,a={icon:m.playing?u.mediaPlayer.pause:u.mediaPlayer.play,size:"1rem",disable:!m.playReady,flat:!0,padding:"4px"},t={onClick:N};return e&&e()||vue.h(quasar.QBtn,{class:"q-media__controls--button play-button",...a,...t},()=>[o.showTooltips&&m.playing&&vue.h(quasar.QTooltip,()=>i.mediaPlayer.pause),o.showTooltips&&!m.playing&&m.playReady&&vue.h(quasar.QTooltip,()=>i.mediaPlayer.play)])}}function Ie(){const e=l.controls,a={onClick:W,onMouseenter:Oe,onMouseleave:Ne};return e?vue.h("div",{ref:d,class:{"q-media__controls":!0,"q-media__controls--overlay":!0===q.value&&!0!==m.bottomControls,...f.value},...a},e()):vue.h("div",{ref:d,class:{"q-media__controls":!0,"q-media__controls--overlay":!0===q.value&&!0!==m.bottomControls,...f.value},...a},[o.dense&&vue.h("div",{class:"q-media__controls--row row col content-start items-center"},[vue.h("div",[Ve(),o.showTooltips&&!m.playReady&&vue.h(quasar.QTooltip,()=>i.mediaPlayer.waitingVideo)]),$e(),He(),Ye(),Xe(),Ze(),We(),void 0!==n.fullscreen&&!0!==o.hideFullscreenBtn&&Ke()]),!o.dense&&vue.h("div",{class:"q-media__controls--row row col items-center justify-between"},[Ye(),Xe(),Ze()]),!o.dense&&vue.h("div",{class:"q-media__controls--row row col content-start items-center"},[vue.h("div",{class:"row col"},[vue.h("div",[Ve(),o.showTooltips&&!m.playReady&&vue.h(quasar.QTooltip,()=>i.mediaPlayer.waitingVideo)]),$e(),He()]),vue.h("div",[We(),void 0!==n.fullscreen&&!0!==o.hideFullscreenBtn&&Ke()])])])}function Ue(){const e=l.controls;return e&&e()||vue.h("div",{ref:d,class:{"q-media__controls":!0,...b.value}},[o.dense&&vue.h("div",{class:"q-media__controls--row row col content-start items-center"},[vue.h("div",[Ve(),o.showTooltips&&!m.playReady&&vue.h(quasar.QTooltip,()=>i.mediaPlayer.waitingAudio)]),$e(),He(),Ye(),Xe(),Ze()]),!o.dense&&vue.h("div",{class:"q-media__controls--row row col items-center justify-between"},[Ye(),Xe(),Ze()]),!o.dense&&vue.h("div",{class:"q-media__controls--row row col content-start items-center"},[vue.h("div",[Ve(),o.showTooltips&&!m.playReady&&vue.h(quasar.QTooltip,()=>i.mediaPlayer.waitingAudio)]),$e(),He()])])}function $e(){if(!0!==o.hideVolumeBtn){const e=l.volume,a={icon:C.value,size:"1rem",disable:!m.playReady,flat:!0,padding:"4px"},t={onClick:z};return e&&e()||vue.h(quasar.QBtn,{class:"q-media__controls--button volume-button",style:{color:!0===o.dark||n.dark.isActive?"var(--mediaplayer-color-dark)":"var(--mediaplayer-color)"},...a,...t},()=>[!0===o.showTooltips?!0===m.muted?vue.h(quasar.QTooltip,()=>i.mediaPlayer.unmute):vue.h(quasar.QTooltip,()=>i.mediaPlayer.mute):void 0])}}function He(){if(!0!==o.hideVolumeSlider&&!0!==o.hideVolumeBtn){const e=l.volumeSlider,a={modelValue:m.volume,dark:o.dark,min:0,max:100,disable:!m.playReady||m.muted},t={onChange:ge};return e&&e()||vue.h(quasar.QSlider,{class:"col",style:{width:"20%",margin:"0 0.5rem",minWidth:o.dense?"20px":"50px",maxWidth:o.dense?"50px":"200px",color:!0===o.dark||n.dark.isActive?"var(--mediaplayer-color-dark)":"var(--mediaplayer-color)"},...a,...t})}}function We(){if(!0!==o.hideSettingsBtn){const e=l.settings,a={icon:u.mediaPlayer.settings,size:"1rem",disable:!m.playReady,flat:!0,padding:"4px"};return e&&e()||vue.h(quasar.QBtn,{class:"q-media__controls--button settings-button",...a},()=>[!0!==o.showTooltips||p.value?void 0:vue.h(quasar.QTooltip,()=>i.mediaPlayer.settings),aa()])}}function Ke(){const e=l.fullscreen,a={icon:m.inFullscreen?u.mediaPlayer.fullscreenExit:u.mediaPlayer.fullscreen,size:"1rem",disable:!m.playReady,flat:!0,padding:"4px"},t={onClick:A};return e&&e()||vue.h(quasar.QBtn,{class:"q-media__controls--button fullscreen-button",...a,...t},()=>[!0===o.showTooltips?vue.h(quasar.QTooltip,()=>i.mediaPlayer.toggleFullscreen):void 0])}function Ge(){void 0===o.spinnerSize?q.value?m.spinnerSize="3em":m.spinnerSize="1.5em":m.spinnerSize=o.spinnerSize;const e=l.spinner;return e&&e()||vue.h("div",{class:q.value?"q-media__loading--video":"q-media__loading--audio"},[vue.h(quasar.QSpinner,{size:m.spinnerSize})])}function Je(){const e=l.bigPlayButton,a={onClick:de};return e&&e()||vue.h("div",{class:{"q-media--big-button q-media--big-button-bottom-controls":!0===m.bottomControls,"q-media--big-button":!0!==m.bottomControls},style:{top:Fe()}},[vue.h(quasar.QIcon,{name:u.mediaPlayer.bigPlayButton,class:"q-media--big-button-icon",...a})])}function Xe(){const e=l.positionSlider,a={modelValue:m.currentTime,dark:o.dark,min:0,max:m.duration||1,disable:!m.playReady||o.disabledSeek},t={onChange:he};return e&&e()||vue.h(quasar.QSlider,{class:"col",style:{margin:"0 0.5rem",color:!0===o.dark||n.dark.isActive?"var(--mediaplayer-color-dark)":"var(--mediaplayer-color)"},...a,...t})}function Ye(){const e=l.displayTime;return e&&e()||vue.h("span",{class:"q-media__controls--video-time-text text-left",style:{color:!0===o.dark||n.dark.isActive?"var(--mediaplayer-color-dark)":"var(--mediaplayer-color)"}},m.displayTime)}function Ze(){if(!0===P.value){const e=l.durationTime,a=!isFinite(s.value.duration);return e&&e()||vue.h("span",{class:"q-media__controls--video-time-text text-right",style:{width:a?"30px":"auto",color:!0===o.dark||n.dark.isActive?"var(--mediaplayer-color-dark)":"var(--mediaplayer-color)"}},[!0===P.value&&!0!==a&&m.durationTime,!0===P.value&&!0===a&&ea()])}}function ea(){return vue.h("svg",{height:"16",viewbox:"0 0 16 16"},[vue.h("path",{fill:"none",color:!0===o.dark||n.dark.isActive?"var(--mediaplayer-color-dark)":"var(--mediaplayer-color)",strokeWidth:"2",d:"M8,8 C16,0 16,16 8,8 C0,0 0,16 8,8z"})])}function aa(){const e=l.settingsMenu,a={anchor:"top right",self:"bottom right"},t={onShow:()=>{ce(!0)},onHide:()=>{ce(!1)}};return vue.h(quasar.QMenu,{ref:c,...a,...t},()=>[e&&e()||vue.h("div",[m.playbackRates.length>0&&vue.h(quasar.QExpansionItem,{group:"settings-menu",expandSeparator:!0,icon:u.mediaPlayer.speed,label:i.mediaPlayer.speed,caption:B.value,onShow:ue,onHide:ue},()=>[vue.h(quasar.QList,{highlight:!0},()=>[m.playbackRates.map(a=>{return vue.withDirectives(vue.h(quasar.QItem,{key:a.value,clickable:!0,dense:!0,onClick:e=>{W(e);be(a.value)}},()=>[vue.h(quasar.QItemSection,{avatar:!0},()=>[a.value===m.playbackRate&&vue.h(quasar.QIcon,{name:u.mediaPlayer.selected})]),vue.h(quasar.QItemSection,()=>a.label)]),[[quasar.ClosePopup]])})])]),k.value.length>1&&vue.h(quasar.QExpansionItem,{group:"settings-menu",expandSeparator:!0,icon:u.mediaPlayer.language,label:i.mediaPlayer.language,caption:m.trackLanguage,onShow:ue,onHide:ue},()=>[vue.h(quasar.QList,{highlight:!0},()=>[k.value.map(a=>{return vue.withDirectives(vue.h(quasar.QItem,{key:a.value,clickable:!0,dense:!0,onClick:e=>{W(e);fe(a.value)}},()=>[vue.h(quasar.QItemSection,{avatar:!0},()=>[a.value===m.trackLanguage&&vue.h(quasar.QIcon,{name:u.mediaPlayer.selected})]),vue.h(quasar.QItemSection,()=>a.label)]),[[quasar.ClosePopup]])})])])])])}function ta(){const e={onMousemove:me,onMouseleave:ve,onClick:se};return vue.h("div",{class:{"q-media--dark":!0===o.dark,"q-media":!0,...h.value},style:{borderRadius:m.inFullscreen?0:o.radius,height:q.value?"auto":o.dense?"40px":"80px"},...e},!0===r.value?[q.value&&ze(),T.value&&Ae(),Ee(),m.errorText&&De(),q.value&&!m.noControls&&!m.errorText&&Ie(),T.value&&!m.noControls&&!m.errorText&&Ue(),!0===o.showSpinner&&m.loading&&!m.playReady&&!m.errorText&&Ge(),q.value&&o.showBigPlayButton&&m.playReady&&!m.playing&&Je()]:void 0)}return vue.watch(()=>s.value,()=>{Y();t("mediaPlayer",s.value)}),vue.watch(()=>o.poster,()=>{Le()}),vue.watch(()=>o.sources,()=>{_e()},{deep:!0}),vue.watch(()=>o.source,()=>{_e()}),vue.watch(()=>o.tracks,()=>{Qe()},{deep:!0}),vue.watch(()=>o.volume,()=>{ke()}),vue.watch(()=>o.muted,()=>{Pe()}),vue.watch(()=>o.trackLanguage,()=>{Te()}),vue.watch(()=>o.showBigPlayButton,()=>{Ce()}),vue.watch(()=>o.playbackRates,()=>{qe()}),vue.watch(()=>o.playbackRate,()=>{Be()}),vue.watch(n.lang,e=>{K()}),vue.watch(n.iconSet,e=>{J()}),vue.watch(()=>n.fullscreen.isActive,e=>{!e&&q.value&&m.inFullscreen&&j()}),vue.watch(()=>m.playbackRate,e=>{e&&!0===P.value&&(s.value.playbackRate=parseFloat(e),t("playbackRate",e))}),vue.watch(()=>m.trackLanguage,e=>{$();t("trackLanguage",e)}),vue.watch(()=>m.showControls,e=>{q.value&&!m.noControls&&t("showControls",e)}),vue.watch(()=>m.volume,e=>{if(!0===P.value){const a=parseFloat(e/100);s.value.volume!==a&&(s.value.volume=a,t("volume",e))}}),vue.watch(()=>m.muted,e=>{t("muted",e)}),vue.watch(()=>m.currentTime,e=>{!0===P.value&&m.playReady&&(isFinite(s.value.duration)&&(m.remainingTime=timeParse(s.value.duration-s.value.currentTime)),m.displayTime=timeParse(s.value.currentTime))}),vue.watch(()=>o.bottomControls,e=>{m.bottomControls=e;e&&(m.showControls=!0)}),vue.watch(()=>o.noControls,e=>{m.noControls=e;!0===o.nativeControls&&(m.noControls=!0)}),vue.onBeforeMount(()=>{r.value=void 0!==window;!0===r.value&&(K(),J())}),vue.onBeforeUnmount(()=>{!0===r.value&&(j(),document.body.classList.remove("no-scroll"),te(),ee(),xe(),Re(),s.value=null)}),e({loadFileBlob:R,showControls:S,hideControls:Q,toggleControls:x,play:M,pause:L,mute:F,unmute:O,togglePlay:N,toggleMuted:z,toggleFullscreen:A,setFullscreen:E,exitFullscreen:j,currentTime:D,setCurrentTime:V,setVolume:I,$media:s}),()=>ta()}});const version="2.0.0-beta.5";var Plugin={version:version,QMediaPlayer:QMediaPlayer,install(e){e.component(QMediaPlayer.name,QMediaPlayer)}};module.exports=Plugin;
|
package/dist/index.css
CHANGED