UNPKG

@videojs-player/vue

Version:
2 lines (1 loc) 12.7 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var t=n(require("video.js"));function r(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 o={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)}}},a={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}},i={children:{type:[Array,Object]},controlBar:{type:Object,onChange:function(e,n){return e.controlBar.options(n)}}},u={html5:{type:Object}},c={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}},l=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},o),a),i),u),c),s=Object.keys(l),p=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"}),d=Object.keys(p);Object.values(p);var g=function(e){var n,t=null==e?void 0:e.trim().replace(/\s+/g," ");return t&&null!==(n=t.split(" "))&&void 0!==n?n:[]},f={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)}}},v=s.filter((function(e){return Boolean(l[e].onEvent)})),y=function(e){return"update:"+e},h=d.concat(v.map(y)),b=s.reduce((function(e,n){var t,r=l[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))}),{}),m=e.defineComponent({name:"VueVideoPlayer",props:Object.assign(Object.assign({},b),{class:[String,Object,Array]}),emits:h.concat(["mounted"],["unmounted"]),setup:function(n,o){var a=e.toRaw(n),i=a.class,u=r(a,["class"]),c=e.shallowRef(!1),p=e.shallowRef(null),h=e.shallowRef(null),b=e.computed((function(){return h.value?h.value.player:null})),m=e.ref(null),O=e.computed((function(){return m.value?e.readonly(m.value):null}));return e.onMounted((function(){var a,i=function(e){var n,o=e.props,a=e.element,i=e.className,u=e.onEvent,c=o.options;void 0===c&&(c={});var s=r(o,["options"]),p={};Object.keys(s).forEach((function(e){var n=s[e];void 0!==n&&(p[e]=n)}));var f=Object.assign(Object.assign({},p),c),v=f.volume,y=f.playbackRate,h=r(f,["volume","playbackRate"]),b=Object.assign(Object.assign({},h),{playsinline:null!==(n=h.playsinline)&&void 0!==n?n:h.playsInline}),m=t.default(a,b,(function(){var e=this;d.forEach((function(n){e.on(n,(function(e){u(n,e)}))})),h.src&&!h.sources&&this.src(h.src),v&&Number.isFinite(v)&&this.volume(v),y&&Number.isFinite(y)&&(this.defaultPlaybackRate(y),setTimeout((function(){e.playbackRate(y)}),0))}));i&&g(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){g(e).map((function(e){return m.removeClass(e)})),g(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=l[e])||void 0===r?void 0:r.onChange)||void 0===o||o.call(r,m,n)}}}({element:p.value,props:u,onEvent:o.emit});a={player:i.player,onEvent:o.emit},v.forEach((function(e){var n,t;null===(t=null===(n=l[e])||void 0===n?void 0:n.onEvent)||void 0===t||t.call(n,a.player,(function(n){a.onEvent(y(e),n)}))})),e.watch((function(){return n.class}),(function(n,t){var r=e.normalizeClass(t),o=e.normalizeClass(n);i.updateClassNames(r,o)}),{immediate:!0}),e.watch((function(){return n.options}),(function(e){return i.updateOptions(null!=e?e:{})}),{deep:!0}),s.filter((function(e){return"options"!==e})).forEach((function(t){e.watch((function(){return n[t]}),(function(e){return i.updatePropOption(t,e)}),{deep:!0})})),function(e,n){var t=Object.keys(f),r=t.reduce((function(n,t){var r;return Object.assign(Object.assign({},n),((r={})[t]=f[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=f[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)}}),h.value=i,c.value=!0,o.emit("mounted",{video:p.value,player:b.value,state:O.value})})),e.onBeforeUnmount((function(){h.value&&(h.value.dispose(),h.value=null,m.value=null,o.emit("unmounted"))})),function(){var n,t;return e.h("div",{"data-vjs-player":"",class:e.normalizeClass(i)},[e.h("video",{class:["video-js","v-video-player"],ref:p}),c.value&&(null===(t=(n=o.slots).default)||void 0===t?void 0:t.call(n,{video:p.value,player:b.value,state:O.value}))])}}}),O=m,C=function(e){e.component("VideoPlayer",m),e.component(m.name,m)},k={VideoPlayer:m,install:C};exports.VideoPlayer=O,exports.default=k,exports.install=C;//# sourceMappingURL=videojs-player.cjs.js.map