@videojs-player/vue
Version:
Video.js component for Vue
2 lines (1 loc) • 13 kB
JavaScript
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("vue"),require("video.js")):"function"==typeof define&&define.amd?define(["exports","vue","video.js"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).VueVideoPlayer={},e.Vue,e.videojs)}(this,(function(e,n,t){"use strict";function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=r(t);function a(e,n){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&n.indexOf(r)<0&&(t[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)n.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(t[r[o]]=e[r[o]])}return t}var i={src:{type:String,onChange:function(e,n){return e.src(n)}},width:{type:Number,onChange:function(e,n){return e.width(n)},onEvent:function(e,n){e.on(["playerresize","resize"],(function(){return n(e.width())}))}},height:{type:Number,onChange:function(e,n){return e.height(n)},onEvent:function(e,n){e.on(["playerresize","resize"],(function(){return n(e.height())}))}},preload:{type:String,onChange:function(e,n){return e.preload(n)}},loop:{type:Boolean,onChange:function(e,n){return e.loop(n)}},muted:{type:Boolean,onChange:function(e,n){return e.muted(n)},onEvent:function(e,n){return e.on("volumechange",(function(){return n(e.muted())}))}},poster:{type:String,onChange:function(e,n){return e.poster(n)},onEvent:function(e,n){return e.on("posterchange",(function(){return n(e.poster())}))}},controls:{type:Boolean,onChange:function(e,n){return e.controls(n)},onEvent:function(e,n){e.on("controlsenabled",(function(){return n(!0)})),e.on("controlsdisabled",(function(){return n(!1)}))}},autoplay:{type:[Boolean,String],onChange:function(e,n){return e.autoplay(n)}},crossorigin:{type:String,onChange:function(e,n){return e.crossOrigin(n)}},crossOrigin:{type:String,onChange:function(e,n){return e.crossOrigin(n)}},playsinline:{type:Boolean,onChange:function(e,n){return e.playsinline(n)}},playsInline:{type:Boolean,onChange:function(e,n){return e.playsinline(n)}}},u={id:{type:String},sources:{type:Array,onChange:function(e,n){return e.src(n)}},tracks:{type:Array,onChange:function(e,n){for(var t=e.remoteTextTracks(),r=(null==t?void 0:t.length)||0;r--;)e.removeRemoteTextTrack(t[r]);e.ready((function(){n.forEach((function(n){return e.addRemoteTextTrack(n,!1)}))}))}},textTrackSettings:{type:Object,onChange:function(e,n){return e.textTrackSettings.options(n)}},language:{type:String,onChange:function(e,n){return e.language(n)},onEvent:function(e,n){return e.on("languagechange",(function(){return n(e.language())}))}},languages:{type:Object},playbackRates:{type:Array,onChange:function(e,n){return e.playbackRates(null!=n?n:[])},onEvent:function(e,n){e.on("playbackrateschange",(function(){return n(e.playbackRates())}))}},audioOnlyMode:{type:Boolean,onChange:function(e,n){return e.audioOnlyMode(n)}},audioPosterMode:{type:Boolean,onChange:function(e,n){return e.audioPosterMode(n)}},responsive:{type:Boolean,onChange:function(e,n){return e.responsive(n)}},breakpoints:{type:Object,onChange:function(e,n){return e.breakpoints(n)}},fluid:{type:Boolean,onChange:function(e,n){return e.fluid(n)}},fill:{type:Boolean,onChange:function(e,n){return e.fill(n)}},aspectRatio:{type:String,onChange:function(e,n){return e.aspectRatio(n)}},fullscreen:{type:Object},liveui:{type:Boolean},liveTracker:{type:Object},disablePictureInPicture:{type:Boolean,onChange:function(e,n){return e.disablePictureInPicture(n)}},notSupportedMessage:{type:String},normalizeAutoplay:{type:Boolean},noUITitleAttributes:{type:Boolean},preferFullWindow:{type:Boolean},suppressNotSupportedError:{type:Boolean},techCanOverridePoster:{type:Boolean},reportTouchActivity:{type:Boolean},techOrder:{type:Array},inactivityTimeout:{type:Number},userActions:{type:Object},plugins:{type:Object},restoreEl:{type:[Boolean,Object]},"vtt.js":{type:String}},c={children:{type:[Array,Object]},controlBar:{type:Object,onChange:function(e,n){return e.controlBar.options(n)}}},l={html5:{type:Object}},s={volume:{type:Number,onChange:function(e,n){return e.volume(n)},onEvent:function(e,n){return e.on("volumechange",(function(){return n(e.volume())}))}},playbackRate:{type:Number,onChange:function(e,n){e.playbackRate(n),e.defaultPlaybackRate(n)},onEvent:function(e,n){e.on("ratechange",(function(){n(e.playbackRate())}))}},options:{type:Object}},p=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},i),u),c),l),s),d=Object.keys(p),g=Object.assign(Object.assign(Object.assign(Object.assign({},{loadstart:"onLoadStart",suspend:"onSuspend",abort:"onAbort",error:"onError",emptied:"onEmptied",stalled:"onStalled",loadedmetadata:"onLoadedMetadata",loadeddata:"onLoadedData",canplay:"onCanPlay",canplaythrough:"onCanPlayThrough",playing:"onPlaying",waiting:"onWaiting",seeking:"onSeeking",seeked:"onSeeked",ended:"onEnded",durationchange:"onDurationChange",timeupdate:"onTimeUpdate",progress:"onProgress",play:"onPlay",pause:"onpause",ratechange:"onRateChange",resize:"onResize",volumechange:"onVolumeChange"}),{posterchange:"onPosterChange",languagechange:"onLanguageChange",fullscreenchange:"onFullscreenChange",playbackrateschange:"onPlaybackRatesChange",controlsdisabled:"onControlsDisabled",controlsenabled:"onControlsEnabled",enterFullWindow:"onEnterFullWindow",exitFullWindow:"onExitFullWindow",enterpictureinpicture:"onEnterPictureInPicture",leavepictureinpicture:"onLeavePictureInPicture",sourceset:"onSourceSet",texttrackchange:"onTextTrackChange",textdata:"onTextData",useractive:"onUserActive",userinactive:"onUserInactive",usingcustomcontrols:"onUsingCustomControls",usingnativecontrols:"onUsingNativeControls",dispose:"onDispose"}),{beforepluginsetup:"onBeforePluginSetup",pluginsetup:"onPluginSetup"}),{componentresize:"onComponentResize",playerresize:"onPlayerResize",ready:"onReady",tap:"onTap"}),f=Object.keys(g);Object.values(g);var v=function(e){var n,t=null==e?void 0:e.trim().replace(/\s+/g," ");return t&&null!==(n=t.split(" "))&&void 0!==n?n:[]},y={src:{getter:function(e){return e.src()}},currentSrc:{getter:function(e){return e.currentSrc()}},currentSource:{getter:function(e){return e.currentSource()}},width:{events:["resize","playerresize"],getter:function(e){return e.width()}},height:{events:["resize","playerresize"],getter:function(e){return e.height()}},currentWidth:{events:["resize","playerresize"],getter:function(e){return e.currentWidth()}},currentHeight:{events:["resize","playerresize"],getter:function(e){return e.currentHeight()}},videoWidth:{events:["resize","playerresize"],getter:function(e){return e.videoWidth()}},videoHeight:{events:["resize","playerresize"],getter:function(e){return e.videoHeight()}},controls:{events:["controlsdisabled","controlsenabled"],getter:function(e){return e.controls()}},volume:{events:["volumechange"],getter:function(e){return e.volume()}},muted:{events:["volumechange"],getter:function(e){return e.muted()}},poster:{events:["posterchange"],getter:function(e){return e.poster()}},seeking:{events:["seeking"],getter:function(e){return e.seeking()}},paused:{events:["pause","play","playing"],getter:function(e){return e.paused()}},ended:{events:["ended","play"],getter:function(e){return e.ended()}},currentTime:{events:["timeupdate"],getter:function(e){return e.currentTime()}},duration:{events:["durationchange"],getter:function(e){return e.duration()}},playbackRate:{events:["ratechange"],getter:function(e){return e.playbackRate()}},playbackRates:{events:["playbackrateschange"],getter:function(e){return e.playbackRates()}},isFullscreen:{events:["fullscreenchange"],getter:function(e){return e.isFullscreen()}},isInPictureInPicture:{events:["enterpictureinpicture","leavepictureinpicture"],getter:function(e){return e.isInPictureInPicture()}},isLive:{getter:function(e){var n;return null===(n=e.liveTracker)||void 0===n?void 0:n.isLive()}},language:{events:["languagechange"],getter:function(e){return e.language()}},userActive:{events:["useractive","userinactive"],getter:function(e){return e.userActive()}},readyState:{events:["loadeddata"],getter:function(e){return e.readyState()}},networkState:{events:["loadeddata","error"],getter:function(e){return e.networkState()}},error:{events:["loadeddata","error"],getter:function(e){return e.error()}},buffered:{events:["progress"],getter:function(e){return e.buffered()}},bufferedPercent:{events:["progress"],getter:function(e){return e.bufferedPercent()}},played:{events:["timeupdate"],getter:function(e){return e.played()}},seekable:{events:["progress","seeked"],getter:function(e){return e.seekable()}},audioTracks:{getter:function(e){var n;return null===(n=e.audioTracks)||void 0===n?void 0:n.call(e)}},videoTracks:{getter:function(e){var n;return null===(n=e.videoTracks)||void 0===n?void 0:n.call(e)}},textTracks:{getter:function(e){var n;return null===(n=e.textTracks)||void 0===n?void 0:n.call(e)}}},h=d.filter((function(e){return Boolean(p[e].onEvent)})),b=function(e){return"update:"+e},m=f.concat(h.map(b)),O=d.reduce((function(e,n){var t,r=p[n],o=Array.isArray(r.type)?r.type:[r.type],a=Object.assign({},r);return o.includes(Boolean)&&(a.default=void 0),Object.assign(Object.assign({},e),((t={})[n]=a,t))}),{}),C="mounted",j="unmounted",k=n.defineComponent({name:"VueVideoPlayer",props:Object.assign(Object.assign({},O),{class:[String,Object,Array]}),emits:m.concat([C],[j]),setup:function(e,t){var r=n.toRaw(e),i=r.class,u=a(r,["class"]),c=n.shallowRef(!1),l=n.shallowRef(null),s=n.shallowRef(null),g=n.computed((function(){return s.value?s.value.player:null})),m=n.ref(null),O=n.computed((function(){return m.value?n.readonly(m.value):null}));return n.onMounted((function(){var r,i=function(e){var n,t=e.props,r=e.element,i=e.className,u=e.onEvent,c=t.options;void 0===c&&(c={});var l=a(t,["options"]),s={};Object.keys(l).forEach((function(e){var n=l[e];void 0!==n&&(s[e]=n)}));var d=Object.assign(Object.assign({},s),c),g=d.volume,y=d.playbackRate,h=a(d,["volume","playbackRate"]),b=Object.assign(Object.assign({},h),{playsinline:null!==(n=h.playsinline)&&void 0!==n?n:h.playsInline}),m=o.default(r,b,(function(){var e=this;f.forEach((function(n){e.on(n,(function(e){u(n,e)}))})),h.src&&!h.sources&&this.src(h.src),g&&Number.isFinite(g)&&this.volume(g),y&&Number.isFinite(y)&&(this.defaultPlaybackRate(y),setTimeout((function(){e.playbackRate(y)}),0))}));i&&v(i).map((function(e){return m.addClass(e)}));var O=function(e){var n;null===(n=m.options)||void 0===n||n.call(m,null!=e?e:{})};return{player:m,dispose:function(){return m.dispose()},updateClassNames:function(e,n){v(e).map((function(e){return m.removeClass(e)})),v(n).map((function(e){return m.addClass(e)}))},updateOptions:O,updatePropOption:function(e,n){var t,r,o;O(((t={})[e]=n,t)),null===(o=null===(r=p[e])||void 0===r?void 0:r.onChange)||void 0===o||o.call(r,m,n)}}}({element:l.value,props:u,onEvent:t.emit});r={player:i.player,onEvent:t.emit},h.forEach((function(e){var n,t;null===(t=null===(n=p[e])||void 0===n?void 0:n.onEvent)||void 0===t||t.call(n,r.player,(function(n){r.onEvent(b(e),n)}))})),n.watch((function(){return e.class}),(function(e,t){var r=n.normalizeClass(t),o=n.normalizeClass(e);i.updateClassNames(r,o)}),{immediate:!0}),n.watch((function(){return e.options}),(function(e){return i.updateOptions(null!=e?e:{})}),{deep:!0}),d.filter((function(e){return"options"!==e})).forEach((function(t){n.watch((function(){return e[t]}),(function(e){return i.updatePropOption(t,e)}),{deep:!0})})),function(e,n){var t=Object.keys(y),r=t.reduce((function(n,t){var r;return Object.assign(Object.assign({},n),((r={})[t]=y[t].getter(e),r))}),{playing:!1,waiting:!1}),o=function(e,t){r[e]=t,n.onUpdate(e,t,Object.assign({},r))};e.on(["pause","ended"],(function(){o("playing",!1)})),e.on(["play","playing"],(function(){o("playing",!0)})),e.on("waiting",(function(){o("waiting",!0);var n=e.currentTime(),t=function(){n!==e.currentTime()&&(o("waiting",!1),e.off("timeupdate",t))};e.on("timeupdate",t)})),t.forEach((function(n){var t,r=y[n];e.on(["loadstart","loadedmetadata"].concat(null!==(t=r.events)&&void 0!==t?t:[]),(function(){o(n,r.getter(e))}))})),n.onInit(Object.assign({},r))}(i.player,{onInit:function(e){m.value=e},onUpdate:function(e,n){m.value&&(m.value[e]=n)}}),s.value=i,c.value=!0,t.emit(C,{video:l.value,player:g.value,state:O.value})})),n.onBeforeUnmount((function(){s.value&&(s.value.dispose(),s.value=null,m.value=null,t.emit(j))})),function(){var e,r;return n.h("div",{"data-vjs-player":"",class:n.normalizeClass(i)},[n.h("video",{class:["video-js","v-video-player"],ref:l}),c.value&&(null===(r=(e=t.slots).default)||void 0===r?void 0:r.call(e,{video:l.value,player:g.value,state:O.value}))])}}}),P=k,S=function(e){e.component("VideoPlayer",k),e.component(k.name,k)},T={VideoPlayer:k,install:S};e.VideoPlayer=P,e.default=T,e.install=S,Object.defineProperty(e,"__esModule",{value:!0})}));//# sourceMappingURL=videojs-player.umd.js.map