cloudinary-video-player 2.6.0 → 2.6.1-edge.1

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.
Files changed (92) hide show
  1. package/README.md +14 -16
  2. package/dist/adaptive-streaming.js +36927 -0
  3. package/dist/adaptive-streaming.min.js +3 -0
  4. package/dist/adaptive-streaming.min.js.LICENSE.txt +3 -0
  5. package/dist/chapters.js +1 -1
  6. package/dist/chapters.min.js +1 -1
  7. package/dist/cld-video-player.css +200 -11
  8. package/dist/cld-video-player.js +37548 -79684
  9. package/dist/cld-video-player.light.js +197 -662
  10. package/dist/cld-video-player.light.min.js +4 -3
  11. package/dist/cld-video-player.min.css +1 -1
  12. package/dist/cld-video-player.min.js +1 -1
  13. package/dist/cld-video-player.min.js.LICENSE.txt +16 -14
  14. package/dist/colors.js +86 -0
  15. package/dist/colors.min.js +2 -0
  16. package/dist/dash.js +62 -2
  17. package/dist/dash.min.js +1 -1
  18. package/dist/debug.js +140 -90
  19. package/dist/debug.min.js +1 -1
  20. package/dist/ima.js +66 -3
  21. package/dist/ima.min.js +1 -1
  22. package/dist/interaction-areas.js +87 -4
  23. package/dist/interaction-areas.min.js +1 -1
  24. package/dist/playlist.js +9 -9
  25. package/dist/playlist.min.js +1 -1
  26. package/dist/recommendations-overlay.js +7 -7
  27. package/dist/recommendations-overlay.min.js +1 -1
  28. package/dist/shoppable.js +7 -7
  29. package/dist/shoppable.min.js +1 -1
  30. package/dist/srt-text-tracks.js +208 -0
  31. package/dist/srt-text-tracks.min.js +2 -0
  32. package/dist/visual-search.js +4 -4
  33. package/dist/visual-search.min.js +1 -1
  34. package/lib/adaptive-streaming.js +3 -0
  35. package/lib/adaptive-streaming.js.LICENSE.txt +3 -0
  36. package/lib/all.js +1 -1
  37. package/lib/all.js.LICENSE.txt +18 -12
  38. package/lib/chapters.js +1 -1
  39. package/lib/cld-video-player.js +1 -1
  40. package/lib/cld-video-player.js.LICENSE.txt +16 -14
  41. package/lib/cld-video-player.min.css +2 -2
  42. package/lib/colors.js +2 -0
  43. package/lib/dash.js +1 -1
  44. package/lib/debug.js +1 -1
  45. package/lib/ima.js +1 -1
  46. package/lib/interaction-areas.js +1 -1
  47. package/lib/player.js +1 -1
  48. package/lib/player.js.LICENSE.txt +16 -14
  49. package/lib/playlist.js +1 -1
  50. package/lib/recommendations-overlay.js +1 -1
  51. package/lib/shoppable.js +1 -1
  52. package/lib/srt-text-tracks.js +2 -0
  53. package/lib/videoPlayer.js +1 -1
  54. package/lib/videoPlayer.js.LICENSE.txt +16 -14
  55. package/lib/visual-search.js +1 -1
  56. package/package.json +10 -23
  57. package/dist/chapters.light.js +0 -233
  58. package/dist/chapters.light.min.js +0 -2
  59. package/dist/cld-video-player.light.css +0 -2428
  60. package/dist/cld-video-player.light.min.css +0 -2
  61. package/dist/cld-video-player.light.min.js.LICENSE.txt +0 -21
  62. package/dist/dash.light.js +0 -70036
  63. package/dist/dash.light.min.js +0 -3
  64. package/dist/dash.light.min.js.LICENSE.txt +0 -1842
  65. package/dist/debug.light.js +0 -383
  66. package/dist/debug.light.min.js +0 -2
  67. package/dist/ima.light.js +0 -7110
  68. package/dist/ima.light.min.js +0 -2
  69. package/dist/interaction-areas.light.js +0 -646
  70. package/dist/interaction-areas.light.min.js +0 -2
  71. package/dist/node_modules_lodash_throttle_js.light.js +0 -449
  72. package/dist/playlist.light.js +0 -1788
  73. package/dist/playlist.light.min.js +0 -2
  74. package/dist/recommendations-overlay.light.js +0 -464
  75. package/dist/recommendations-overlay.light.min.js +0 -2
  76. package/dist/shoppable.light.js +0 -853
  77. package/dist/shoppable.light.min.js +0 -2
  78. package/dist/visual-search.light.js +0 -317
  79. package/dist/visual-search.light.min.js +0 -2
  80. package/lib/light/chapters.js +0 -2
  81. package/lib/light/cld-video-player.light.min.css +0 -21
  82. package/lib/light/dash.js +0 -3
  83. package/lib/light/dash.js.LICENSE.txt +0 -1842
  84. package/lib/light/debug.js +0 -2
  85. package/lib/light/ima.js +0 -2
  86. package/lib/light/index.js +0 -3
  87. package/lib/light/index.js.LICENSE.txt +0 -21
  88. package/lib/light/interaction-areas.js +0 -2
  89. package/lib/light/playlist.js +0 -2
  90. package/lib/light/recommendations-overlay.js +0 -2
  91. package/lib/light/shoppable.js +0 -2
  92. package/lib/light/visual-search.js +0 -2
@@ -1,2 +0,0 @@
1
- (self.cloudinaryVideoPlayerChunkLoading=self.cloudinaryVideoPlayerChunkLoading||[]).push([[33],{5826:(t,e,s)=>{"use strict";s.d(e,{default:()=>K});var i=s(4679),n=s.n(i),r=s(5871),o=s(1104),l=s(9388),a=s(3686),c=s.n(a);const d=[1,4,5,6,7,10,11],p=["created_at","updated_at"],h=t=>{const e={};return n()(t)?(Object.keys(t).reduce(((e,s)=>{const i=c()(s);return-1!==p.indexOf(s)?e[i]=new Date(function(t){let e=0,s=0,i=0;if(s=/^(\d{4}|[+\-]\d{6})(?:-(\d{2})(?:-(\d{2}))?)?(?:T(\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{3}))?)?(?:(Z)|([+\-])(\d{2})(?::(\d{2}))?)?)?$/.exec(t)){for(let t,e=0;t=d[e];++e)s[t]=+s[t]||0;s[2]=(+s[2]||1)-1,s[3]=+s[3]||1,"Z"!==s[8]&&void 0!==s[9]&&(i=60*s[10]+s[11],"+"===s[9]&&(i=0-i)),e=Date.UTC(s[1],s[2],s[3],s[4],s[5]+i,s[6],s[7])}else e=NaN;return e}(t[s])):e[i]=h(t[s]),e}),e),e):Array.isArray(t)?t.map((t=>h(t))):t};var u=s(5381),m=s(4466),g=s.n(m),y=s(6673),_=s.n(y);const v=_().dom||_(),f=_().getComponent("Component"),C=_().getComponent("ClickableComponent");class x extends C{static DISABLE_TRANSITION_CLASS="disable-transition";static VJS_UPCOMING_VIDEO_SHOW="vjs-upcoming-video-show";constructor(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];super(t,...s),this._setEvents(t)}_setEvents(t){t.on(o.f.UP_COMING_VIDEO_SHOW,this._show),t.on(o.f.UP_COMING_VIDEO_HIDE,this._hide),t.on(o.f.PLAYLIST_ITEM_CHANGED,this._onPlaylistItemChange)}_hide=()=>{this.removeClass(x.VJS_UPCOMING_VIDEO_SHOW)};_disableTransition(t){this.addClass(x.DISABLE_TRANSITION_CLASS),t(),this.removeClass(x.DISABLE_TRANSITION_CLASS)}_onPlaylistItemChange=(t,e)=>{this._hide(),this._disableTransition((()=>{e.next&&this.setItem(e.next)}))};_show=()=>{const t=this.player().ima,e="object"===t&&t.getAdsManager();e&&e.getCurrentAd()&&!e.getCurrentAd().isLinear()||this.addClass(x.VJS_UPCOMING_VIDEO_SHOW)};setTitle(t){this.getChild("upcomingVideoOverlayContent").getChild("upcomingVideoOverlayBar").getChild("upcomingVideoOverlayTitle").setContent(t.info().title||t.publicId())}setItem(t){this._source=t;const e=parseInt(window.getComputedStyle(this.el(),null).getPropertyValue("max-width"),10),s={crop:"pad",background:"auto:predominant",width:e,height:Math.round(e*(9/16))},i=this.getChild("upcomingVideoOverlayContent");this.setTitle(t),i.el().style.backgroundImage=`url("${this._source.poster().url({transformation:s})}")`}handleClick(){super.handleClick(event),this.player().cloudinary.playlist().playNext()}createEl(){return super.createEl("div",{className:"vjs-upcoming-video"})}}class I extends f{createEl(){return super.createEl("div",{className:"upcoming-video-overlay aspect-ratio-content"})}}class w extends f{createEl(){return super.createEl("div",{className:"vjs-upcoming-video-bar"})}}x.prototype.options_={children:["upcomingVideoOverlayContent"]},_().registerComponent("upcomingVideoOverlay",x),I.prototype.options_={children:["upcomingVideoOverlayBar"]},_().registerComponent("upcomingVideoOverlayContent",I),w.prototype.options_={children:["upcomingVideoOverlayTitle","playlistNextButton"]},_().registerComponent("upcomingVideoOverlayBar",w),_().registerComponent("upcomingVideoOverlayTitle",class extends f{setContent(t){this._contentSpan.innerText=t}createEl(){const t=super.createEl("div",{className:"vjs-control vjs-upcoming-video-title"}),e=v.createEl("div",{className:"vjs-upcoming-video-title-display",innerHTML:'<span class="vjs-control-text">Next up</span>Next up: '});return this._contentSpan=v.createEl("span",{className:"vjs-upcoming-video-title-display-label"}),e.appendChild(this._contentSpan),t.appendChild(e),t}});const A=_().getComponent("ClickableComponent");const E=class extends A{constructor(t,e){super(t,e);const s=e.type;if(!s&&"previous"!==s&&"next"!==s)throw new Error("Type must be either 'previous' or 'next'")}createEl(){const t=this.options_.type,e=`vjs-icon-${t}-item`;return _().dom.createEl("button",{className:`vjs-control vjs-playlist-button vjs-button ${e}`,ariaLabel:`Playlist ${t} item`})}};class T extends E{constructor(t){super(t,{type:"next"})}handleClick(t){t.stopPropagation(),super.handleClick(t),this.player().cloudinary.playlist().playNext()}}_().registerComponent("PlaylistNextButton",T);class b extends E{constructor(t){super(t,{type:"previous"})}handleClick(t){super.handleClick(t),this.player().cloudinary.playlist().playPrevious()}}_().registerComponent("PlaylistPreviousButton",b);const N={fluid:!1,show:!0,direction:"vertical",total:4,selector:!1,renderTo:[]};const S=class{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],{repeat:s=!1,autoAdvance:i=!1,presentUpcoming:n=!1}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this._context=t,this._sources=[],this._defaultRecResolverCache={},this._currentIndex=null,this._recommendationsHandler=null,this._autoAdvance=null,this._presentUpcoming=null,this.addUiComponents(),this.resetState=()=>{this.repeat(s),this.autoAdvance(i),this.presentUpcoming(n)},e.forEach((t=>this.enqueue(t))),this.resetState()}list(){return this._sources}player(){return this._context.player}addUiComponents(){const t=this.player().getChild("ControlBar"),e=t.children();t.addChild("playlistPreviousButton",{},e.findIndex((t=>"PlayToggle"===t.name_))),t.addChild("playlistNextButton",{},e.findIndex((t=>"PlayToggle"===t.name_))+1),this.player().addChild("upcomingVideoOverlay")}presentUpcoming(t){if(this._presentUpcoming=this._presentUpcoming||{},void 0===t)return this._presentUpcoming.delay;if(!0===t)t=10;else if(!1===t)t=!1;else if(!g()(t)||t<0)throw new Error("presentUpcoming 'delay' must be either a boolean or a positive integer.");return this._presentUpcoming.delay=t,this._setupPresentUpcoming(),this._presentUpcoming.delay}autoAdvance(t){if(this._autoAdvance=this._autoAdvance||{},void 0===t)return this._autoAdvance.delay;if(!0===t)t=0;else if(!1===t)t=!1;else if(!g()(t)||t<0)throw new Error("Auto advance 'delay' must be either a boolean or a positive integer.");return this._autoAdvance.delay=t,this._setupAutoAdvance(),this._autoAdvance.delay}_setupAutoAdvance(){this._resetAutoAdvance();const t=this._autoAdvance.delay;if(!1===t)return;this._autoAdvance={delay:t,trigger:()=>{this.player().ended()&&(this._autoAdvance.timeout=setTimeout((()=>{this.playNext()}),1e3*t))}},this._context.on("ended",this._autoAdvance.trigger)}dispose(){this._resetAutoAdvance(),this._resetPresentUpcoming(),this._resetRecommendations()}_resetPresentUpcoming(){this.player().trigger("upcomingvideohide"),this._presentUpcoming||(this._presentUpcoming={}),this._presentUpcoming.trigger&&this._context.off("timeupdate",this._presentUpcoming.trigger),this._presentUpcoming.trigger=null,this._presentUpcoming.showTriggered=!1}_setupPresentUpcoming(){this._resetPresentUpcoming();!1!==this._presentUpcoming.delay&&(this._presentUpcoming.trigger=()=>{const t=this.player().currentTime(),e=this.player().duration()-t;e<1.5?this._presentUpcoming.showTriggered&&(this.player().trigger("upcomingvideohide"),this._presentUpcoming.showTriggered=!1):e<=this._presentUpcoming.delay&&!this._presentUpcoming.showTriggered&&!this.player().loop()?(this.player().trigger("upcomingvideoshow"),this._presentUpcoming.showTriggered=!0):this._presentUpcoming.showTriggered&&(e>this._presentUpcoming.delay||this.player().loop())&&(this.player().trigger("upcomingvideohide"),this._presentUpcoming.showTriggered=!1)},this._context.on("timeupdate",this._presentUpcoming.trigger))}_resetAutoAdvance(){this._autoAdvance||(this._autoAdvance={}),this._autoAdvance.timeout&&clearTimeout(this._autoAdvance.timeout),this._autoAdvance.trigger&&this._context.off("ended",this._autoAdvance.trigger),this._autoAdvance.timeout=null,this._autoAdvance.trigger=null}_resetRecommendations(){this._recommendationsHandler&&this._context.off("ended",this._recommendationsHandler)}_refreshRecommendations(){this._resetRecommendations(),this._recommendationsHandler=()=>{!1===this.autoAdvance()&&this._context.autoShowRecommendations()&&this.player().trigger("recommendationsshow")},this._context.on("ended",this._recommendationsHandler)}_refreshTextTracks(){this.player().trigger("refreshTextTracks",this.currentSource().textTracks())}_recommendationItemBuilder(t){const e=this._defaultRecResolverCache[t.objectId];if(!t.recommendations()||e&&t.recommendations()===e)return t=>({source:t,action:()=>this.playItem(t)})}currentIndex(t){if(void 0===t)return this._currentIndex;if(t>=this.length()||t<0)throw new Error("Invalid playlist index.");this._currentIndex=t;const e=this.currentSource(),s=this._recommendationItemBuilder(e);e.recommendations()||e.recommendations(this._defaultRecommendationsResolver(e)),this._context.source(e,{recommendationOptions:{disableAutoShow:!0,itemBuilder:s}});const i={playlist:this,current:e,next:this.next()};return this.player().trigger("playlistitemchanged",i),this._refreshRecommendations(),this._refreshTextTracks(),e}_defaultRecommendationsResolver(t){const e=this._defaultRecResolverCache[t.objectId];return e||(this._defaultRecResolverCache[t.objectId]=()=>{let e=this.list().indexOf(t);const s=[],i=Math.min(4,this.length()-1);for(;s.length<i&&(e=this.nextIndex(e),-1!==e);){const t=this.list()[e];s.push(t)}return s},this._defaultRecResolverCache[t.objectId])}buildSource(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this._context.buildSource(t,e)}enqueue(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const s=t instanceof u.A?t:this.buildSource(t,e);return this._sources.push(s),s}playItem(t){let e=this.list().indexOf(t);if(-1===e)throw new Error("Invalid playlist item.");this.playAtIndex(e)}playAtIndex(t){return this.currentIndex(t),this.player().play(),this.currentSource()}currentSource(){return this.list()[this.currentIndex()]}removeAt(t){if(t>=this.length()||t<0)throw new Error("Invalid playlist index.");return this._sources.splice(t,1),this}repeat(t){return void 0===t||(this._repeat=!!t),this._repeat}first(){return this.list()[0]}last(){return this.list()[this.length()-1]}next(){const t=this.nextIndex();return-1===t?null:this.list()[t]}nextIndex(t){if((t=void 0!==t?t:this.currentIndex())>=this.length()||t<0)throw new Error("Invalid playlist index.");let e=t+1;if(t===this.length()-1){if(!this.repeat())return-1;e=0}return e}previousIndex(){return this.isFirst()?-1:this.currentIndex()-1}playFirst(){return this.playAtIndex(0)}playLast(){const t=this.list().length-1;return this.playAtIndex(t)}isLast(){return this.currentIndex()>=this.length()-1}isFirst(){return 0===this.currentIndex()}length(){return this.list().length}playNext(){let t=this.nextIndex();return-1===t?null:this.playAtIndex(t)}playPrevious(){let t=this.previousIndex();return-1===t?null:this.playAtIndex(t)}playlistByTag=(()=>{var t=this;return function(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t.player().sourcesByTag(e,s).then((e=>t.player().playlist(e,s)))}})()},P=(t,e)=>(t.parentNode.insertBefore(e,t),e.appendChild(t),e);var U=s(3066);const L=_().dom||_(),O=_().getComponent("Component"),k={wrap:!1};class j extends O{constructor(t,e){const s={...k,...e};super(t,s),this.player_=t;const i=(t,e)=>{this.options_.fluid=e,this.removeCls(),this.setCls()},n=()=>{const t=this.el();this.videoWrap_=L.createEl("div",{className:"cld-plw-col-player"}),this.contentEl_=this.contentEl_=L.createEl("div",{className:"cld-plw-col-list"}),P(this.player().el(),t),t.appendChild(this.videoWrap_),t.appendChild(this.contentEl_),P(this.player().el(),this.videoWrap_)};s.wrap&&n(),t.on(o.f.FLUID,i),this.addChild(o.f.PLAYLIST_PANEL,this.options_),this.setCls(),this.dispose=()=>{this.removeLayout(),super.dispose(),t.off(o.f.FLUID,i)}}getCls(){let t=["cld-video-player","cld-plw-layout"];return t.push((0,U.skinClassPrefix)(this.player())),t.push((0,U.playerClassPrefix)(this.player())),this.options_.fluid&&t.push("cld-plw-layout-fluid"),t}setCls(){this.removeClass((0,U.skinClassPrefix)(this.player())),this.getCls().forEach((t=>{this.addClass(t)}))}removeCls(){this.getCls().forEach((t=>{this.removeClass(t)}))}update(t,e){this.options(e),this.removeChild("PlaylistPanel"),this.addChild("PlaylistPanel",this.options_),this.trigger("playlistlayoutupdate")}removeLayout(){const t=this.el().parentElement;t&&t.appendChild(this.player().el())}createEl(){const t=super.createEl("div");return t.style.fontFamily=this.player().el().style.fontFamily,t}}_().registerComponent("playlistLayout",j);const D=j;const R=class extends D{constructor(t,e){e.wrap=!0,super(t,e)}getCls(){const t=super.getCls();return t.push("cld-plw-horizontal"),t}};const V=class extends D{constructor(t,e){e.wrap=!0,super(t,e)}getCls(){const t=super.getCls();return t.push("cld-plw-vertical"),t}};const B=class extends D{getCls(){let t=super.getCls();return t.push("cld-plw-custom"),t}createEl(){const t=super.createEl();return this.options_.renderTo.appendChild(t),t}};const H=class{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e=((t,e)=>{const s={...N,...e};if(s.show&&"string"==typeof s.selector&&(s.useDefaultLayout=!1,s.useCustomLayout=!0,s.renderTo=document.querySelector(s.selector),s.showAll=!0,0===!s.renderTo.length))throw new Error(`Couldn't find element(s) by selector '${s.selector}' for playlist`);return s.show&&!s.selector&&(s.useDefaultLayout=!0,s.useCustomLayout=!1),s.direction="horizontal"===s.direction.toLowerCase()?"horizontal":"vertical",s.skin=t.options_.skin,s})(t,e),this.options_=e,this.player_=t,this.render();const s=(t,e)=>{this.options_.fluid=e};t.on(o.f.FLUID,s),this.options=e=>e?(this.options_=_().obj.merge(this.options_,e),t.trigger("playlistwidgetoption",this.options_.playlistWidget),this.options_):this.options_,this.dispose=()=>{this.layout_.dispose(),t.off(o.f.FLUID,s)}}render(){this.options_.useDefaultLayout&&("horizontal"===this.options_.direction?this.layout_=new R(this.player_,this.options_):this.layout_=new V(this.player_,this.options_)),this.options_.useCustomLayout&&(this.layout_=new B(this.player_,this.options_))}getLayout(){return this.layout_}update(t,e){this.options(e),"direction"===t?(this.layout_.removeLayout(),this.layout_.dispose(),this.render()):this.layout_.update(t,this.options_)}setSkin(){this.layout_.setCls()}total(){const t=parseInt(arguments.length>0&&void 0!==arguments[0]?arguments[0]:N.total,10);return t!==this.options_.total&&"number"==typeof t&&t>0&&this.update("total",{total:t}),this}direction(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:N.direction;return"horizontal"!==t&&"vertical"!==t||this.update("direction",{direction:t}),this}},F=_().getComponent("ClickableComponent"),M={item:null,transformation:{width:300,aspect_ratio:"16:9",crop:"pad",background:"black"}};const W=class extends F{constructor(t,e){super(t,_().obj.merge(M,e))}getItem(){return this.options_.item}getTitle(){return this.getItem().info().title}getDuration(){return" "}getThumbnail(){return this.getItem().poster().url({transformation:this.options_.transformation})}handleClick(t){t.preventDefault()}createControlTextEl(){}createEl(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"a";const e=super.createEl(t,{className:"cld-thumbnail",href:"#"}),s=super.createEl("img",{className:"cld-thumbnail-img",src:this.getThumbnail()});return e.appendChild(s),e.style.backgroundImage=`url('${this.getThumbnail()}')`,e}},$=_().dom||_(),G={source:null,next:!1};class z extends W{constructor(t,e){super(t,_().obj.merge(G,e))}handleClick(t){super.handleClick(t),this.play()}play(){const t=this.getItem(),e=this.player().cloudinary.playlist().list().indexOf(t);if(-1===e)throw new Error("Invalid playlist item...");this.player().cloudinary.playlist().playAtIndex(e)}isCurrent(){return this.options_.current}getTitle(){return super.getTitle()}getDuration(){return super.getDuration()}createEl(){const t=super.createEl();t.classList.add("cld-plw-panel-item");const e=$.createEl("div",{className:"cld-plw-item-info-wrap"}),s=$.createEl("div",{className:"cld-plw-item-title"});if(this.isCurrent()){t.classList.add("cld-plw-panel-item-active");const e=$.createEl("span",{className:"cld-plw-item-title-curr"},{},"Now Playing: ");s.appendChild(e)}const i=$.createEl("span",{className:"cld-plw-item-title"},{},this.getTitle());s.appendChild(i);const n=$.createEl("div",{className:"cld-plw-item-duration"},{},this.getDuration());return e.appendChild(s),e.appendChild(n),t&&t.appendChild(e),t.appendChild(e),t}}_().registerComponent("playlistPanelItem",z);const Y=z,q=_().getComponent("Component");class J extends q{constructor(t){super(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{});const e=()=>{this.render()};t.on(o.f.PLAYLIST_ITEM_CHANGED,e),this.render(),this.dispose=()=>{super.dispose(),t.off(o.f.PLAYLIST_ITEM_CHANGED,e)}}createEl(){const t=super.createEl();return t.classList.add("cld-plw-panel"),t}removeAll(){const t=this.children();for(let e=t.length-1;e>=0;--e)this.removeChild(t[e])}getItems(){const t=this.player().cloudinary.playlist(),e=t._repeat;if(this.options_.showAll)return t.list();const s=[],i=this.options_.total;let n=t.currentIndex(),r=t.list()[n];for(s.push(r);s.length<i;){if(n=t.nextIndex(n),-1===n){if(!e&&s.length>0)break;n=0}r=t.list()[n],s.push(r)}return s}render(){const t=this.getItems();this.removeAll(),t.forEach(((t,e)=>{const s=new Y(this.player(),_().obj.merge(this.options_,{item:t,next:1===e,current:0===e}));this.addChild(s)}))}}_().registerComponent("playlistPanel",J);const Z={format:"json",resource_type:"video",type:"list"},K=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const s=(0,r.sliceProperties)(e,"chainTarget").chainTarget;let i=null,a=null,c=null;const d=()=>{t.on(o.f.PLAYLIST_CREATED,(()=>{c&&c.dispose(),n()(e.playlistWidget)&&(t.fluid_&&(e.playlistWidget.fluid=!0),t.cloudinary.fontFace&&(e.playlistWidget.fontFace=t.cloudinary.fontFace),c=new H(t,e.playlistWidget))}))},p=(e,s)=>{e instanceof S?(i=e,i.resetState(),i.currentIndex(i.currentIndex())):(i=new S(t.cloudinary,e,s),i.currentIndex(0)),d(),a=(()=>{const e=()=>{i&&!i.currentSource().contains(t.currentSource())&&t.disposePlaylist()};return t.on("cldsourcechanged",e),e})(),t.addClass("vjs-playlist")};return t.cloudinary.sourcesByTag=async function(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=(0,l.KA)(e,Object.assign({},t.cloudinary.cloudinaryConfig(),Z)),n=await fetch(i),r=await n.json(),o=h(r.resources);s.sorter&&o.sort(s.sorter);return o.map((e=>{let i=s.sourceParams||{};"function"==typeof i&&(i=i(e));const n=e.context&&e.context.custom||{},r=Object.assign({info:n},i,{publicId:e.publicId});return t.cloudinary.buildSource(r)}))},function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return void 0===e?i:(i&&(t.removeClass("vjs-playlist"),i=void 0,t.playlist().dispose(),t.off("cldsourcechanged",a)),p(e,n),t.trigger("playlistcreated"),s)}}},8812:(t,e,s)=>{var i=s(2140),n=/^\s+/;t.exports=function(t){return t?t.slice(0,i(t)+1).replace(n,""):t}},2140:t=>{var e=/\s/;t.exports=function(t){for(var s=t.length;s--&&e.test(t.charAt(s)););return s}},4466:(t,e,s)=>{var i=s(9445);t.exports=function(t){return"number"==typeof t&&t==i(t)}},4764:(t,e,s)=>{var i=s(5378),n=1/0;t.exports=function(t){return t?(t=i(t))===n||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}},9445:(t,e,s)=>{var i=s(4764);t.exports=function(t){var e=i(t),s=e%1;return e==e?s?e-s:e:0}},5378:(t,e,s)=>{var i=s(8812),n=s(8953),r=s(5414),o=/^[-+]0x[0-9a-f]+$/i,l=/^0b[01]+$/i,a=/^0o[0-7]+$/i,c=parseInt;t.exports=function(t){if("number"==typeof t)return t;if(r(t))return NaN;if(n(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=n(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=i(t);var s=l.test(t);return s||a.test(t)?c(t.slice(2),s?2:8):o.test(t)?NaN:+t}}}]);
2
- //# sourceMappingURL=playlist.light.min.js.map
@@ -1,464 +0,0 @@
1
- "use strict";
2
- (self["cloudinaryVideoPlayerChunkLoading"] = self["cloudinaryVideoPlayerChunkLoading"] || []).push([["recommendations-overlay"],{
3
-
4
- /***/ "./components/recommendations-overlay/recommendations-overlay-content.js":
5
- /*!*******************************************************************************!*\
6
- !*** ./components/recommendations-overlay/recommendations-overlay-content.js ***!
7
- \*******************************************************************************/
8
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
9
-
10
- __webpack_require__.r(__webpack_exports__);
11
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
12
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
13
- /* harmony export */ });
14
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! video.js */ "../node_modules/video.js/dist/alt/video.core-exposed.js");
15
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(video_js__WEBPACK_IMPORTED_MODULE_0__);
16
- /* harmony import */ var _recommendations_overlay_primary_item__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./recommendations-overlay-primary-item */ "./components/recommendations-overlay/recommendations-overlay-primary-item.js");
17
- /* harmony import */ var _recommendations_overlay_secondary_items_container__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./recommendations-overlay-secondary-items-container */ "./components/recommendations-overlay/recommendations-overlay-secondary-items-container.js");
18
-
19
-
20
-
21
- const Component = video_js__WEBPACK_IMPORTED_MODULE_0___default().getComponent('Component');
22
- class RecommendationsOverlayContent extends Component {
23
- constructor(player) {
24
- for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
25
- args[_key - 1] = arguments[_key];
26
- }
27
- super(player, ...args);
28
- this._content = new AspectRatioContent(player);
29
- this.addChild(this._content);
30
- }
31
- setItems(primary) {
32
- for (var _len2 = arguments.length, secondary = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
33
- secondary[_key2 - 1] = arguments[_key2];
34
- }
35
- this._content.setItems(primary, ...secondary);
36
- }
37
- clearItems() {
38
- this._content._primary.clearItem();
39
- this._content._secondaryContainer.clearItems();
40
- }
41
- createEl() {
42
- return super.createEl('div', {
43
- className: 'vjs-recommendations-overlay-content'
44
- });
45
- }
46
- }
47
- class AspectRatioContent extends Component {
48
- constructor(player) {
49
- for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
50
- args[_key3 - 1] = arguments[_key3];
51
- }
52
- super(player, ...args);
53
- this._primary = new _recommendations_overlay_primary_item__WEBPACK_IMPORTED_MODULE_1__["default"](player);
54
- this._secondaryContainer = new _recommendations_overlay_secondary_items_container__WEBPACK_IMPORTED_MODULE_2__["default"](player);
55
- this.addChild(this._primary);
56
- this.addChild(this._secondaryContainer);
57
- }
58
- setItems(primary) {
59
- this._primary.setItem(primary);
60
- for (var _len4 = arguments.length, secondary = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {
61
- secondary[_key4 - 1] = arguments[_key4];
62
- }
63
- this._secondaryContainer.setItems(...secondary);
64
- }
65
- createEl() {
66
- return super.createEl('div', {
67
- className: 'aspect-ratio-content'
68
- });
69
- }
70
- }
71
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (RecommendationsOverlayContent);
72
-
73
- /***/ }),
74
-
75
- /***/ "./components/recommendations-overlay/recommendations-overlay-hide-button.js":
76
- /*!***********************************************************************************!*\
77
- !*** ./components/recommendations-overlay/recommendations-overlay-hide-button.js ***!
78
- \***********************************************************************************/
79
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
80
-
81
- __webpack_require__.r(__webpack_exports__);
82
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
83
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
84
- /* harmony export */ });
85
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! video.js */ "../node_modules/video.js/dist/alt/video.core-exposed.js");
86
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(video_js__WEBPACK_IMPORTED_MODULE_0__);
87
-
88
- const ClickableComponent = video_js__WEBPACK_IMPORTED_MODULE_0___default().getComponent('ClickableComponent');
89
- class RecommendationOverlayHideButton extends ClickableComponent {
90
- createEl() {
91
- return super.createEl('span', {
92
- className: 'vjs-recommendations-overlay-hide vjs-icon-close'
93
- });
94
- }
95
- handleClick() {
96
- this.options_.clickHandler();
97
- }
98
- }
99
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (RecommendationOverlayHideButton);
100
-
101
- /***/ }),
102
-
103
- /***/ "./components/recommendations-overlay/recommendations-overlay-item.js":
104
- /*!****************************************************************************!*\
105
- !*** ./components/recommendations-overlay/recommendations-overlay-item.js ***!
106
- \****************************************************************************/
107
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
108
-
109
- __webpack_require__.r(__webpack_exports__);
110
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
111
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
112
- /* harmony export */ });
113
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! video.js */ "../node_modules/video.js/dist/alt/video.core-exposed.js");
114
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(video_js__WEBPACK_IMPORTED_MODULE_0__);
115
-
116
- const ClickableComponent = video_js__WEBPACK_IMPORTED_MODULE_0___default().getComponent('ClickableComponent');
117
- class RecommendationsOverlayItem extends ClickableComponent {
118
- setItem(item) {
119
- const {
120
- action,
121
- source
122
- } = item;
123
- this.source = source;
124
- const info = source.info();
125
- this.setTitle(info.title || source.publicId());
126
- this.setPoster(this.source.poster().url({
127
- transformation: {
128
- aspect_ratio: '16:9',
129
- crop: 'pad',
130
- background: 'black'
131
- }
132
- }));
133
- this.setAction(action);
134
- }
135
- setTitle(text) {
136
- this.title.innerText = text;
137
- }
138
- setAction(action) {
139
- this.action = action;
140
- }
141
- handleClick() {
142
- super.handleClick();
143
- this.player().trigger('recommendationshide');
144
- this.action();
145
- }
146
- }
147
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (RecommendationsOverlayItem);
148
-
149
- /***/ }),
150
-
151
- /***/ "./components/recommendations-overlay/recommendations-overlay-primary-item.js":
152
- /*!************************************************************************************!*\
153
- !*** ./components/recommendations-overlay/recommendations-overlay-primary-item.js ***!
154
- \************************************************************************************/
155
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
156
-
157
- __webpack_require__.r(__webpack_exports__);
158
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
159
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
160
- /* harmony export */ });
161
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! video.js */ "../node_modules/video.js/dist/alt/video.core-exposed.js");
162
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(video_js__WEBPACK_IMPORTED_MODULE_0__);
163
- /* harmony import */ var _recommendations_overlay_item__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./recommendations-overlay-item */ "./components/recommendations-overlay/recommendations-overlay-item.js");
164
- /* harmony import */ var components_component_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! components/component-utils */ "./components/component-utils.js");
165
- /* harmony import */ var components_component_utils__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(components_component_utils__WEBPACK_IMPORTED_MODULE_2__);
166
-
167
-
168
-
169
-
170
- // support VJS5 & VJS6 at the same time
171
- const dom = (video_js__WEBPACK_IMPORTED_MODULE_0___default().dom) || (video_js__WEBPACK_IMPORTED_MODULE_0___default());
172
- class RecommendationsOverlayPrimaryItem extends _recommendations_overlay_item__WEBPACK_IMPORTED_MODULE_1__["default"] {
173
- setItem(item) {
174
- super.setItem(item);
175
- const info = this.source.info();
176
- this.setTitle(info.title);
177
- this.setSubtitle(info.subtitle);
178
- if (info.description) {
179
- const descLength = 300;
180
- const description = info.description.length > descLength ? info.description.substring(0, descLength) + '...' : info.description;
181
- this.setDescription(description);
182
- }
183
- }
184
- setPoster(url) {
185
- this.poster.style.backgroundImage = `url('${url}')`;
186
- }
187
- setTitle(text) {
188
- components_component_utils__WEBPACK_IMPORTED_MODULE_2___default().setText(this.title, text);
189
- this.setAriaCheck(this.title, !!text);
190
- }
191
- setSubtitle(text) {
192
- components_component_utils__WEBPACK_IMPORTED_MODULE_2___default().setText(this.subtitle, text);
193
- this.setAriaCheck(this.subtitle, !!text);
194
- }
195
- setDescription(text) {
196
- components_component_utils__WEBPACK_IMPORTED_MODULE_2___default().setText(this.description, text);
197
- this.setAriaCheck(this.description, !!text);
198
- }
199
- setAriaCheck(element) {
200
- let active = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
201
- if (active) {
202
- element.removeAttribute('aria-hidden');
203
- } else {
204
- element.setAttribute('aria-hidden', 'true');
205
- }
206
- }
207
- clearItem() {
208
- this.setTitle('');
209
- this.setSubtitle('');
210
- this.setDescription('');
211
- this.poster.style.backgroundImage = null;
212
- }
213
- createEl() {
214
- const el = super.createEl('div', {
215
- className: 'vjs-recommendations-overlay-item vjs-recommendations-overlay-item-primary'
216
- });
217
- this.poster = dom.createEl('div', {
218
- className: 'vjs-recommendations-overlay-item-primary-image'
219
- });
220
- this.title = dom.createEl('h2', {
221
- ariaLabel: 'Recmmendation Title'
222
- });
223
- this.setAriaCheck(this.title, false);
224
- this.title.innerHTML = '';
225
- this.subtitle = dom.createEl('h3', {
226
- ariaLabel: 'Recmmendation Subtitle'
227
- });
228
- this.setAriaCheck(this.subtitle, false);
229
- this.subtitle.innerHTML = '';
230
- this.description = dom.createEl('p');
231
- this.setAriaCheck(this.description, false);
232
- this.description.innerHTML = '';
233
- this.content = dom.createEl('div', {
234
- className: 'vjs-recommendations-overlay-item-info vjs-recommendations-overlay-item-primary-content'
235
- });
236
- this.content.appendChild(this.title);
237
- this.content.appendChild(this.subtitle);
238
- this.content.appendChild(this.description);
239
- el.appendChild(this.poster);
240
- el.appendChild(this.content);
241
- return el;
242
- }
243
- }
244
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (RecommendationsOverlayPrimaryItem);
245
-
246
- /***/ }),
247
-
248
- /***/ "./components/recommendations-overlay/recommendations-overlay-secondary-item.js":
249
- /*!**************************************************************************************!*\
250
- !*** ./components/recommendations-overlay/recommendations-overlay-secondary-item.js ***!
251
- \**************************************************************************************/
252
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
253
-
254
- __webpack_require__.r(__webpack_exports__);
255
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
256
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
257
- /* harmony export */ });
258
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! video.js */ "../node_modules/video.js/dist/alt/video.core-exposed.js");
259
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(video_js__WEBPACK_IMPORTED_MODULE_0__);
260
- /* harmony import */ var _recommendations_overlay_item__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./recommendations-overlay-item */ "./components/recommendations-overlay/recommendations-overlay-item.js");
261
-
262
-
263
-
264
- // support VJS5 & VJS6 at the same time
265
- const dom = (video_js__WEBPACK_IMPORTED_MODULE_0___default().dom) || (video_js__WEBPACK_IMPORTED_MODULE_0___default());
266
- class RecommendationsOverlaySecondaryItem extends _recommendations_overlay_item__WEBPACK_IMPORTED_MODULE_1__["default"] {
267
- setItem(item) {
268
- super.setItem(item);
269
- this.setDuration('');
270
- }
271
- setPoster(url) {
272
- this.el().style.backgroundImage = `url('${url}')`;
273
- }
274
- setDuration(text) {
275
- this.duration.innerText = text;
276
- }
277
- createEl() {
278
- const el = super.createEl('div', {
279
- className: 'vjs-recommendations-overlay-item vjs-recommendations-overlay-item-secondary'
280
- });
281
- this.title = dom.createEl('span', {
282
- className: 'vjs-recommendations-overlay-item-secondary-title'
283
- });
284
- this.title.innerHTML = '';
285
- this.duration = dom.createEl('span', {
286
- className: 'vjs-recommendations-overlay-item-secondary-duration'
287
- });
288
- this.duration.innerHTML = '';
289
- const caption = dom.createEl('div', {
290
- className: 'vjs-recommendations-overlay-item-info'
291
- });
292
- caption.appendChild(this.title);
293
- caption.appendChild(this.duration);
294
- el.appendChild(caption);
295
- return el;
296
- }
297
- handleClick() {
298
- super.handleClick();
299
- this.action();
300
- }
301
- }
302
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (RecommendationsOverlaySecondaryItem);
303
-
304
- /***/ }),
305
-
306
- /***/ "./components/recommendations-overlay/recommendations-overlay-secondary-items-container.js":
307
- /*!*************************************************************************************************!*\
308
- !*** ./components/recommendations-overlay/recommendations-overlay-secondary-items-container.js ***!
309
- \*************************************************************************************************/
310
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
311
-
312
- __webpack_require__.r(__webpack_exports__);
313
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
314
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
315
- /* harmony export */ });
316
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! video.js */ "../node_modules/video.js/dist/alt/video.core-exposed.js");
317
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(video_js__WEBPACK_IMPORTED_MODULE_0__);
318
- /* harmony import */ var _recommendations_overlay_secondary_item__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./recommendations-overlay-secondary-item */ "./components/recommendations-overlay/recommendations-overlay-secondary-item.js");
319
-
320
-
321
- const Component = video_js__WEBPACK_IMPORTED_MODULE_0___default().getComponent('Component');
322
- class RecommendationsOverlaySecondaryItemsContainer extends Component {
323
- setItems() {
324
- for (var _len = arguments.length, items = new Array(_len), _key = 0; _key < _len; _key++) {
325
- items[_key] = arguments[_key];
326
- }
327
- this.clearItems();
328
- if (!items) {
329
- return;
330
- }
331
- items.forEach(item => {
332
- const component = new _recommendations_overlay_secondary_item__WEBPACK_IMPORTED_MODULE_1__["default"](this.player());
333
- component.setItem(item);
334
- this.addChild(component);
335
- });
336
- }
337
- clearItems() {
338
- this.children().forEach(() => {
339
- this.removeChild(this.children()[0]);
340
- });
341
- }
342
- createEl() {
343
- return super.createEl('div', {
344
- className: 'vjs-recommendations-overlay-item-secondary-container'
345
- });
346
- }
347
- }
348
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (RecommendationsOverlaySecondaryItemsContainer);
349
-
350
- /***/ }),
351
-
352
- /***/ "./components/recommendations-overlay/recommendations-overlay.js":
353
- /*!***********************************************************************!*\
354
- !*** ./components/recommendations-overlay/recommendations-overlay.js ***!
355
- \***********************************************************************/
356
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
357
-
358
- __webpack_require__.r(__webpack_exports__);
359
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
360
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
361
- /* harmony export */ });
362
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! video.js */ "../node_modules/video.js/dist/alt/video.core-exposed.js");
363
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(video_js__WEBPACK_IMPORTED_MODULE_0__);
364
- /* harmony import */ var _recommendations_overlay_content__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./recommendations-overlay-content */ "./components/recommendations-overlay/recommendations-overlay-content.js");
365
- /* harmony import */ var _recommendations_overlay_hide_button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./recommendations-overlay-hide-button */ "./components/recommendations-overlay/recommendations-overlay-hide-button.js");
366
- /* harmony import */ var _recommendations_overlay_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./recommendations-overlay.scss */ "./components/recommendations-overlay/recommendations-overlay.scss");
367
-
368
-
369
-
370
-
371
- const MAXIMUM_ITEMS = 4;
372
- const Component = video_js__WEBPACK_IMPORTED_MODULE_0___default().getComponent('Component');
373
-
374
- // TODO: Use Video.js's ModalDialog instead. It handles clicking block logic.
375
- class RecommendationsOverlay extends Component {
376
- constructor(player, options) {
377
- for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
378
- args[_key - 2] = arguments[_key];
379
- }
380
- super(player, ...args);
381
- this._content = new _recommendations_overlay_content__WEBPACK_IMPORTED_MODULE_1__["default"](player);
382
- this.addChild(this._content);
383
- this.addChild(new _recommendations_overlay_hide_button__WEBPACK_IMPORTED_MODULE_2__["default"](player, {
384
- clickHandler: () => {
385
- this.close();
386
- }
387
- }, ...args));
388
- this.setEvents(player);
389
- this.doNotOpen = false;
390
- }
391
- setEvents(player) {
392
- this.on(player, 'recommendationschanged', (_, eventData) => {
393
- this.setItems(...eventData.items);
394
- });
395
- this.on(player, 'recommendationsnoshow', this.setDoNotOpen);
396
- this.on(player, 'recommendationsshow', this.open);
397
- this.on(player, 'recommendationshide', this.close);
398
- this.on(player, 'cldsourcechanged', () => {
399
- this.clearItems();
400
- this.close();
401
- });
402
- }
403
- setDoNotOpen() {
404
- this.doNotOpen = true;
405
- }
406
- open() {
407
- if (!this.doNotOpen) {
408
- // Only show controls on close if they were visible from the first place
409
- this._showControlsOnClose = this.player().controls();
410
- this.player().controls(false);
411
- this.el().style.visibility = 'visible';
412
- }
413
- }
414
- clearItems() {
415
- this._content.clearItems();
416
- }
417
- close() {
418
- this.el().style.visibility = 'hidden';
419
- if (this._showControlsOnClose) {
420
- this.player().controls(true);
421
- }
422
- }
423
- createEl() {
424
- const recommendationsOverlayClass = 'vjs-recommendations-overlay';
425
- const el = super.createEl('div', {
426
- className: recommendationsOverlayClass
427
- });
428
- video_js__WEBPACK_IMPORTED_MODULE_0___default().dom.addClass(el, recommendationsOverlayClass);
429
- return el;
430
- }
431
- setItems(primary) {
432
- for (var _len2 = arguments.length, secondary = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
433
- secondary[_key2 - 1] = arguments[_key2];
434
- }
435
- this.doNotOpen = false;
436
- secondary = secondary.slice(0, MAXIMUM_ITEMS - 1);
437
- this._content.setItems(primary, ...secondary);
438
- }
439
- handleClick() {
440
- this.stopPropagation();
441
- }
442
- dispose() {
443
- super.dispose();
444
- }
445
- }
446
- video_js__WEBPACK_IMPORTED_MODULE_0___default().registerComponent('recommendationsOverlay', RecommendationsOverlay);
447
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (RecommendationsOverlay);
448
-
449
- /***/ }),
450
-
451
- /***/ "./components/recommendations-overlay/recommendations-overlay.scss":
452
- /*!*************************************************************************!*\
453
- !*** ./components/recommendations-overlay/recommendations-overlay.scss ***!
454
- \*************************************************************************/
455
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
456
-
457
- __webpack_require__.r(__webpack_exports__);
458
- // extracted by mini-css-extract-plugin
459
-
460
-
461
- /***/ })
462
-
463
- }]);
464
- //# sourceMappingURL=recommendations-overlay.light.js.map
@@ -1,2 +0,0 @@
1
- "use strict";(self.cloudinaryVideoPlayerChunkLoading=self.cloudinaryVideoPlayerChunkLoading||[]).push([[410],{7604:(e,t,s)=>{s.r(t),s.d(t,{default:()=>k});var i=s(6673),n=s.n(i);const o=n().getComponent("ClickableComponent");const r=class extends o{setItem(e){const{action:t,source:s}=e;this.source=s;const i=s.info();this.setTitle(i.title||s.publicId()),this.setPoster(this.source.poster().url({transformation:{aspect_ratio:"16:9",crop:"pad",background:"black"}})),this.setAction(t)}setTitle(e){this.title.innerText=e}setAction(e){this.action=e}handleClick(){super.handleClick(),this.player().trigger("recommendationshide"),this.action()}};var a=s(7878),c=s.n(a);const l=n().dom||n();const h=class extends r{setItem(e){super.setItem(e);const t=this.source.info();if(this.setTitle(t.title),this.setSubtitle(t.subtitle),t.description){const e=300,s=t.description.length>e?t.description.substring(0,e)+"...":t.description;this.setDescription(s)}}setPoster(e){this.poster.style.backgroundImage=`url('${e}')`}setTitle(e){c().setText(this.title,e),this.setAriaCheck(this.title,!!e)}setSubtitle(e){c().setText(this.subtitle,e),this.setAriaCheck(this.subtitle,!!e)}setDescription(e){c().setText(this.description,e),this.setAriaCheck(this.description,!!e)}setAriaCheck(e){!(arguments.length>1&&void 0!==arguments[1])||arguments[1]?e.removeAttribute("aria-hidden"):e.setAttribute("aria-hidden","true")}clearItem(){this.setTitle(""),this.setSubtitle(""),this.setDescription(""),this.poster.style.backgroundImage=null}createEl(){const e=super.createEl("div",{className:"vjs-recommendations-overlay-item vjs-recommendations-overlay-item-primary"});return this.poster=l.createEl("div",{className:"vjs-recommendations-overlay-item-primary-image"}),this.title=l.createEl("h2",{ariaLabel:"Recmmendation Title"}),this.setAriaCheck(this.title,!1),this.title.innerHTML="",this.subtitle=l.createEl("h3",{ariaLabel:"Recmmendation Subtitle"}),this.setAriaCheck(this.subtitle,!1),this.subtitle.innerHTML="",this.description=l.createEl("p"),this.setAriaCheck(this.description,!1),this.description.innerHTML="",this.content=l.createEl("div",{className:"vjs-recommendations-overlay-item-info vjs-recommendations-overlay-item-primary-content"}),this.content.appendChild(this.title),this.content.appendChild(this.subtitle),this.content.appendChild(this.description),e.appendChild(this.poster),e.appendChild(this.content),e}},d=n().dom||n();const m=class extends r{setItem(e){super.setItem(e),this.setDuration("")}setPoster(e){this.el().style.backgroundImage=`url('${e}')`}setDuration(e){this.duration.innerText=e}createEl(){const e=super.createEl("div",{className:"vjs-recommendations-overlay-item vjs-recommendations-overlay-item-secondary"});this.title=d.createEl("span",{className:"vjs-recommendations-overlay-item-secondary-title"}),this.title.innerHTML="",this.duration=d.createEl("span",{className:"vjs-recommendations-overlay-item-secondary-duration"}),this.duration.innerHTML="";const t=d.createEl("div",{className:"vjs-recommendations-overlay-item-info"});return t.appendChild(this.title),t.appendChild(this.duration),e.appendChild(t),e}handleClick(){super.handleClick(),this.action()}},p=n().getComponent("Component");const u=class extends p{setItems(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];this.clearItems(),t&&t.forEach((e=>{const t=new m(this.player());t.setItem(e),this.addChild(t)}))}clearItems(){this.children().forEach((()=>{this.removeChild(this.children()[0])}))}createEl(){return super.createEl("div",{className:"vjs-recommendations-overlay-item-secondary-container"})}},v=n().getComponent("Component");class y extends v{constructor(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),i=1;i<t;i++)s[i-1]=arguments[i];super(e,...s),this._primary=new h(e),this._secondaryContainer=new u(e),this.addChild(this._primary),this.addChild(this._secondaryContainer)}setItems(e){this._primary.setItem(e);for(var t=arguments.length,s=new Array(t>1?t-1:0),i=1;i<t;i++)s[i-1]=arguments[i];this._secondaryContainer.setItems(...s)}createEl(){return super.createEl("div",{className:"aspect-ratio-content"})}}const C=class extends v{constructor(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),i=1;i<t;i++)s[i-1]=arguments[i];super(e,...s),this._content=new y(e),this.addChild(this._content)}setItems(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),i=1;i<t;i++)s[i-1]=arguments[i];this._content.setItems(e,...s)}clearItems(){this._content._primary.clearItem(),this._content._secondaryContainer.clearItems()}createEl(){return super.createEl("div",{className:"vjs-recommendations-overlay-content"})}},g=n().getComponent("ClickableComponent");const I=class extends g{createEl(){return super.createEl("span",{className:"vjs-recommendations-overlay-hide vjs-icon-close"})}handleClick(){this.options_.clickHandler()}},b=n().getComponent("Component");class E extends b{constructor(e,t){for(var s=arguments.length,i=new Array(s>2?s-2:0),n=2;n<s;n++)i[n-2]=arguments[n];super(e,...i),this._content=new C(e),this.addChild(this._content),this.addChild(new I(e,{clickHandler:()=>{this.close()}},...i)),this.setEvents(e),this.doNotOpen=!1}setEvents(e){this.on(e,"recommendationschanged",((e,t)=>{this.setItems(...t.items)})),this.on(e,"recommendationsnoshow",this.setDoNotOpen),this.on(e,"recommendationsshow",this.open),this.on(e,"recommendationshide",this.close),this.on(e,"cldsourcechanged",(()=>{this.clearItems(),this.close()}))}setDoNotOpen(){this.doNotOpen=!0}open(){this.doNotOpen||(this._showControlsOnClose=this.player().controls(),this.player().controls(!1),this.el().style.visibility="visible")}clearItems(){this._content.clearItems()}close(){this.el().style.visibility="hidden",this._showControlsOnClose&&this.player().controls(!0)}createEl(){const e="vjs-recommendations-overlay",t=super.createEl("div",{className:e});return n().dom.addClass(t,e),t}setItems(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),i=1;i<t;i++)s[i-1]=arguments[i];this.doNotOpen=!1,s=s.slice(0,3),this._content.setItems(e,...s)}handleClick(){this.stopPropagation()}dispose(){super.dispose()}}n().registerComponent("recommendationsOverlay",E);const k=E}}]);
2
- //# sourceMappingURL=recommendations-overlay.light.min.js.map